Relocate Edit and Delete buttons from the header row into the tab bar, grouping them with tab navigation to reduce mouse travel. Adds Pencil and Trash2 icons for quick visual recognition. Header now only shows part number, type badge, and close button. Closes #119
Kindred Silo
Item database and part management system.
Overview
Kindred Silo is an R&D-oriented item database with:
- Configurable part number generation via YAML schemas
- Revision tracking with append-only history, rollback, comparison, and status labels
- BOM management with multi-level expansion, flat BOM flattening, assembly costing, where-used queries, CSV/ODS export
- Authentication with local (bcrypt), LDAP/FreeIPA, and OIDC/Keycloak backends
- Role-based access control (admin > editor > viewer) with API tokens and sessions
- ODS import/export for items, BOMs, and project sheets
- Audit/completeness scoring with weighted per-category property validation
- Web UI — React SPA (Vite + TypeScript, Catppuccin Mocha theme) for item browsing, project management, schema editing, and audit
- CAD integration via REST API (silo-mod, silo-calc)
- Physical inventory tracking with hierarchical locations (schema ready)
Components
silo/
├── cmd/
│ ├── silo/ # CLI tool
│ └── silod/ # API server
├── internal/
│ ├── api/ # HTTP handlers and routes (78 endpoints)
│ ├── auth/ # Authentication (local, LDAP, OIDC)
│ ├── config/ # Configuration loading
│ ├── db/ # PostgreSQL repositories
│ ├── migration/ # Property migration utilities
│ ├── odoo/ # Odoo ERP integration
│ ├── ods/ # ODS spreadsheet library
│ ├── partnum/ # Part number generation
│ ├── schema/ # YAML schema parsing
│ ├── storage/ # MinIO file storage
│ └── testutil/ # Test helpers
├── web/ # React SPA (Vite + TypeScript)
│ └── src/
│ ├── api/ # API client and type definitions
│ ├── components/ # Reusable UI components
│ ├── context/ # Auth context provider
│ ├── hooks/ # Custom React hooks
│ ├── pages/ # Page components (Items, Projects, Schemas, Settings, Audit, Login)
│ └── styles/ # Catppuccin Mocha theme and global styles
├── migrations/ # Database migrations (11 files)
├── schemas/ # Part numbering schemas (YAML)
├── deployments/ # Docker Compose and systemd configs
├── scripts/ # Deployment and setup scripts
└── docs/ # Documentation
Quick Start
See the Installation Guide for complete setup instructions.
Docker Compose (quickest — includes PostgreSQL, MinIO, OpenLDAP, and Silo):
./scripts/setup-docker.sh
docker compose -f deployments/docker-compose.allinone.yaml up -d
Development (local Go + Docker services):
make docker-up # Start PostgreSQL + MinIO in Docker
make run # Run silo locally with Go
When auth is enabled, a default admin account is created on first startup using the credentials in config.yaml under auth.local.default_admin_username and auth.local.default_admin_password.
# CLI usage
go run ./cmd/silo register --schema kindred-rd --category F01
Configuration
See config.example.yaml for all options.
Authentication
Silo supports three authentication backends, configured in config.yaml:
| Backend | Description |
|---|---|
| Local | Built-in accounts with bcrypt passwords |
| LDAP | FreeIPA / Active Directory integration |
| OIDC | Keycloak / OpenID Connect providers |
Roles: admin (full access) > editor (create/modify items) > viewer (read-only).
API tokens provide programmatic access for scripts and CAD clients. Set auth.enabled: false for development without authentication.
See docs/AUTH.md for full details.
Client Integrations
CAD and spreadsheet integrations are maintained in separate repositories:
The server provides the REST API and ODS endpoints consumed by these clients.
Documentation
| Document | Description |
|---|---|
| docs/INSTALL.md | Installation guide (Docker Compose and daemon) |
| docs/SPECIFICATION.md | Full design specification and API reference |
| docs/STATUS.md | Implementation status |
| docs/DEPLOYMENT.md | Production deployment and operations guide |
| docs/CONFIGURATION.md | Configuration reference (all config.yaml options) |
| docs/AUTH.md | Authentication system design |
| docs/AUTH_USER_GUIDE.md | User guide for login, tokens, and roles |
| docs/GAP_ANALYSIS.md | Gap analysis and revision control roadmap |
| docs/COMPONENT_AUDIT.md | Component audit tool design |
| docs/ROADMAP.md | Platform roadmap, dependency tiers, and gap summary |
| frontend-spec.md | React SPA frontend specification |
License
MIT License - Copyright (c) 2026 Kindred Systems LLC
See LICENSE for details.