# Development Instructions ## Current milestone This repository implements the platform foundation milestone: - workspace scaffolding - local auth and RBAC - company settings and branding - file attachment storage - Dockerized single-container deployment - Puppeteer PDF pipeline foundation ## Workflow 1. Update the roadmap before starting large features. 2. Keep backend and frontend modules grouped by domain. 3. Add Prisma models and migrations for all persisted schema changes. 4. Keep uploaded files on disk under `/app/data/uploads`; never store blobs in SQLite. 5. Reuse shared DTOs and permission keys from the `shared` package. 6. Any UI that looks up items by SKU or item name must use a searchable picker/autocomplete, not a long dropdown. ## Operational notes - Run `npm run prisma:generate` after schema changes. - Run `npm run prisma:migrate` during development to create versioned migrations. - Use `npm run prisma:deploy` in production environments. - Prefer Node 22 locally when running Prisma migration commands to match the Docker runtime. - Branding defaults live in the frontend theme token layer and are overridden by the persisted company profile. - Back up the whole `/app/data` volume to capture both the database and attachments. - Treat searchable SKU lookup as a standing UX requirement for inventory, BOM, sales, purchasing, and manufacturing flows. ## Next roadmap candidates - CRM entity detail pages and search - inventory and BOM management - sales orders, purchase orders, and document templates - shipping workflows and printable logistics documents - manufacturing gantt scheduling with live project data