5: Submitting the part as a pull request

The library changes through pull requests on github.com/uwrealitylabs/kicad-library. One pull request per part (a connector family with the same drawing counts as one). A team member reviews it against the datasheet and merges it. Nobody pushes to main.

The rules the reviewer applies are in CONTRIBUTING.md; this document is the sequence of commands.

Branch inside the submodule

The library is its own repository. Everything here happens inside kicad-library/, not in the board project.

cd kicad-library
git checkout main
git pull origin main
git checkout -b part/ap2210k-3.3-<your-github-username>

Branch names: part/<mpn-lowercase> for a new part, fix/<what> for a correction. The onboarding part is the one exception: everyone makes the same AP2210K-3.3, so add your GitHub username to the branch. The reference for it is pull request #5, which stays open as the example and is never merged.

Validate

python3 scripts/validate.py

It must end with 0 errors. It checks that every symbol's Footprint resolves, every footprint's 3D path exists and starts with ${KIPRJMOD}/kicad-library/3dmodels/, names are unique, and KiCad can load every file. Warnings (a missing LCSC field, a shop link in Datasheet) are worth fixing on your part but do not block. The same script runs in CI on the pull request.

Commit

git add symbols/UWRL_Regulator.kicad_sym
git add footprints/UWRL_Regulator.pretty/SOT-23-5_AP2210K.kicad_mod
git add 3dmodels/UWRL_Regulator.3dshapes/SOT-23-5.step
git status
git commit -m "add AP2210K-3.3 (Diodes, 300 mA LDO, SOT-23-5) with footprint and STEP"

Add the three paths by name so a stray backup or a lock file does not go in. The message says what the part is, who makes it, and which package: the log is the changelog.

Push and open the pull request

git push -u origin part/ap2210k-3.3-<your-github-username>

Open the link Git prints (or go to the repository, Pull requests, New pull request, pick your branch). The pull request template asks for: