As I mentioned previously here: http://pakahuszar.blogspot.com/2019/07/chain-of-events.html
I started to write a program for KiCAD ot package the projects and overcome the problems when I share my designs.
Released a working (but probably buggy, and incomplete code) here: https://gitlab.com/suf/packagekicad. Please use the 0.2Beta tag
It is able to build a new symbol library (others come later) from the current environment with all of the used components in the current design, replace them in the schematic file. So when you move the project trough source control or other way, anybody can open it without missing components. Yes, the rescue lib can handle this, but asks questions, and the original KiCAD gitignore remove the cache used for rescue lib. Also doesn't handle the unintentional library upgrades.
The documentation is not yet exists. So I just write the usage here:
dotnet PackageKiCAD.dll <project name/directory>
-cl Clear local symbol table. Keep only the packaged library on the list.
I'm using TortoiseGIT for my projects. It allows to automate the packaging. So the project gets packaged before every commit, if configured.
This is what I've done:
Opened the TortoiseGIT interface and selected Hook Scripts
Added a new script:
The "Run when working tree path is under" should point to the repository root in question. That's it.
Further development is coming.