Project structure
The repository is a monorepo managed with pnpm workspaces.
Applications
- Web app: the console, the API, and the host for the editor. This is the service you deploy. The editor is served under
/editor. - Public site: the marketing site.
- Editor: the vanilla, no-bundler design editor, served by the web app.
Shared packages
- Database: the schema and queries, built with Drizzle on Postgres.
- UI: the design tokens and shared components.
- Config: environment validation, so a bad configuration fails at boot.
- Blocks: the content blocks used by the CMS-driven pages.
Notes
The editor is intentionally kept out of the bundler and TypeScript build. It is plain browser JavaScript loaded with script tags, and the web app serves a copy of it. Keep that in mind when you work across the boundary between the app and the editor.
To run it locally, see Local development.