Skip to content

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.