# Kindred Silo Item database and part management system for Kindred Create. ## Overview Kindred Silo is an R&D-oriented item database with: - **Configurable part number generation** via YAML schemas - **FreeCAD integration** with git-like commands (checkout, commit, status) - **Revision tracking** with append-only history - **BOM management** with reference designators and alternates - **Physical inventory** tracking with hierarchical locations ## Components ``` silo/ ├── cmd/ │ ├── silo/ # CLI tool │ └── silod/ # API server ├── internal/ │ ├── api/ # HTTP handlers, routes, and templates │ ├── config/ # Configuration loading │ ├── db/ # PostgreSQL access │ ├── migration/ # Property migration utilities │ ├── partnum/ # Part number generation │ ├── schema/ # YAML schema parsing │ └── storage/ # MinIO file storage ├── pkg/ │ └── freecad/ # FreeCAD workbench (Python) ├── migrations/ # Database migration SQL scripts ├── schemas/ # Part numbering schema definitions (YAML) ├── deployments/ # Docker Compose and systemd configs ├── scripts/ # Deployment and setup scripts └── docs/ # Documentation ``` ## Quick Start ```bash # Database setup psql -h psql.kindred.internal -U silo -d silo -f migrations/001_initial.sql # Configure cp config.example.yaml config.yaml # Edit config.yaml with your settings # Run server go run ./cmd/silod # CLI usage go run ./cmd/silo register --schema kindred-rd --category F01 ``` ## Configuration See `config.example.yaml` for all options. ## Kindred Create Integration Install the workbench: ```bash ln -s $(pwd)/pkg/freecad ~/.local/share/FreeCAD/Mod/KindredSilo ``` Then in Kindred Create, use the Silo workbench toolbar commands: - **Pull** - Download an item by part number - **Commit** - Save current state as a new revision with comment - **Push** - Batch upload modified files - **Info** - View revision history ## License MIT License - Copyright (c) 2026 Kindred Systems LLC See [LICENSE](LICENSE) for details.