forbes-0023 a88e104d94 feat(templates): document templating system with Save as Template command
Add a template system that lets users create new items from pre-configured
.kc template files and save existing documents as reusable templates.

Template use (New Item form):
- templates.py: discovery, filtering, TemplateInfo dataclass
- schema_form.py: template combo picker filtered by type/category
- silo_commands.py: SiloSync.create_document_from_template() copies
  template .kc, strips identity, stamps Silo properties

Template creation (Save as Template):
- SaveAsTemplateDialog: captures name, description, item types,
  categories, author, and tags
- Silo_SaveAsTemplate command: copies doc, strips Silo identity,
  injects silo/template.json, optionally uploads to Silo
- Registered in Silo menu via InitGui.py

Template search paths (3-tier, later shadows earlier by name):
1. mods/silo/freecad/templates/ (system)
2. ~/.local/share/FreeCAD/Templates/ (personal, sister to Macro/)
3. ~/projects/templates/ (org-shared)
2026-02-21 09:06:26 -06:00

silo-mod

FreeCAD workbench for the Silo parts database. Provides item management, revision control, BOM editing, and file synchronization within Kindred Create.

Structure

silo-mod/
├── silo-client/       [submodule] shared Python API client
├── freecad/           FreeCAD workbench package
│   ├── Init.py        Console initialization (adds silo-client to sys.path)
│   ├── InitGui.py     Workbench registration
│   ├── silo_commands.py   14 commands + SiloSync + auth dock widget
│   ├── silo_origin.py     FileOrigin adapter for unified origin system
│   ├── package.xml        Workbench metadata
│   └── resources/icons/   SVG icons (Catppuccin Mocha palette)
├── Makefile           Install/uninstall targets
└── LICENSE

Installation

For standalone use (outside Kindred Create):

git clone --recurse-submodules https://git.kindred-systems.com/kindred/silo-mod.git
cd silo-mod
make install-freecad

Within Kindred Create, this repo is included as a submodule at mods/silo/ and loaded automatically by src/Mod/Create/Init.py.

License

MIT

Description
No description provided
Readme MIT 2 MiB
Languages
Python 99.2%
Makefile 0.8%