Architecture overview
- App: SvelteKit in
src/. REST API undersrc/routes/api/v1/. - CLI and MCP server:
cli/, thin HTTP clients of the API. - Packages in
packages/:api-contracts,gpu-core,gpu-text,shader-fx,feega-motion-react,site-analysis. A package never imports the app (packages/no-app-imports.test.ts). - Database: Supabase Postgres with row-level security. See Data model.
- Canvas drawing: a display list drawn by the GPU core (ADR 0020, ADR 0019).
- All decisions: Decision records.
Rules for code
Section titled “Rules for code”From CLAUDE.md: dependencies point inward; the failing test comes first; reorder and change behaviour in separate commits; no cyclic dependencies; every change a user can notice updates two changelogs; PRs target dev. Also Lessons.