Opened a two-year-old KiCad project last week and it just worked — schematic, layout, even the 3D models. This is not luck; it's the residue of rules I adopted after older projects rotted. Writing them down:

Vendor everything into the repo. Symbols, footprints, and 3D models get copied into project-local libraries (lib.pretty/, lib.kicad_sym) the moment they're used. Global libraries drift; the project must not care.

The BOM lives in the schematic. Every part gets MPN, Manufacturer, and LCSC fields filled in at schematic time, not in a spreadsheet three weeks later. The spreadsheet is generated, never edited.

One directory, one board, one git repo section. Gerbers are build artifacts — generated by a documented export preset, never hand-tweaked, and committed anyway (they're what actually got manufactured; the source can lie about that).

A fab/ folder that answers "what did I actually order?" Zipped gerbers, the exact BOM CSV, the placement file, and a text note with the fab house, date, and options. Boards come back weeks later; the note remembers what my enthusiasm didn't.

DRC clean or annotated. Zero errors, and every waived warning gets a comment in the project notes explaining why it's waived. A warning without a reason attached is a future emergency.

None of this is clever. All of it is the difference between "archive" and "landfill."