Skip to content

Architecture overview

  • App: SvelteKit in src/. REST API under src/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.

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.