Yes, I think this is undervalued feature, which should be used more in professional contexts.
- being able to tag a commit, which automatically updates silkscreen with tag name/board revision and commit date.
- being able to run automated checks on outputs (are part numbers defined for all components? are they valid? are they in stock?)
- not being able to produce outputs if DRC fails (I have messed up real bad by exporting gerbers in Altium with shelved polygons)
- all of the outputs are produced at the same time (I have messed up with re-exporting gerbers but not BOM)
- making sure that design is atomic/does not depend on libraries present only on a particular machine
I recently went one step further and set up CI job to check symbols in my personal library using kicad-library-utils (which performs the same checks as for the symbols in official kicad libraries, which ensures consistent style and allows for custom checks (e.g. MPN/Manufacturer fields present).
- being able to tag a commit, which automatically updates silkscreen with tag name/board revision and commit date.
- being able to run automated checks on outputs (are part numbers defined for all components? are they valid? are they in stock?)
- not being able to produce outputs if DRC fails (I have messed up real bad by exporting gerbers in Altium with shelved polygons)
- all of the outputs are produced at the same time (I have messed up with re-exporting gerbers but not BOM)
- making sure that design is atomic/does not depend on libraries present only on a particular machine
I recently went one step further and set up CI job to check symbols in my personal library using kicad-library-utils (which performs the same checks as for the symbols in official kicad libraries, which ensures consistent style and allows for custom checks (e.g. MPN/Manufacturer fields present).