Creating Libraries

According to the developer documentation, any KiCad libraries seeking to be part of the official repositories should be structured as in the code block below. That being said there are some alternative approaches and additional recommendations.

└───directory
│   └───symbols
│       └───lib.lib
│   └───footprints
│       └───lib.pretty
│           └───lib.kicad_mod
│   └───3dmodels
│       └───part.step

Our library repositories should be structured as in the standard above.

While we work to further define our internal standards, the following repositories are recommended as examples for good practice in KiCad projects and libraries.

https://github.com/Skyhawkson/Forerunner-Cubic-Mainboard

https://github.com/Skyhawkson/Skyhawkson-KiCAD-Libraries

Managing Library Dependencies

We use vcstool to manage versions of libraries so that all project contributors can easily import the dependencies for projects.

└───directory
│   └───board
│       └───project.kicad_pro
│       └───project.kicad_sch
│       └───project.kicad_pcb
│       └───...
│   └───libraries
│       └───libraries.repos