Skip to main content
The active API lives in crates/control-plane. apps/console contains the Vite React Console and account UI. The previous TypeScript platform applications are archived under legacy/ and excluded from the active Bun workspace.

Install and start

These commands require a native source revision containing crates/control-plane and Tiltfile. Check the revision after checkout; an older TypeScript branch has different setup commands.
Use the repository’s pinned Rust toolchain and Bun 1.4.3, with Docker, Tilt and protoc available:
Tilt prepares restricted local database roles and native migrations, then starts the Rust services and the browser development servers. Console uses port 3121, account pages use localhost:3125, and Core uses 3130. Private local state belongs in .dev-local/. Consult crates/control-plane/README.md for first-run configuration and local HTTPS. For individually configured processes, run these in separate terminals:
The separate public website uses bun run dev:web.

Verify changes

Use the quality gate required by the matching source revision. Its Rust, frontend and contract checks are separate from opt-in browser, database and cluster acceptance. Use disposable local PostgreSQL and Kubernetes fixtures only. Never use customer data, production configuration or real mail in tests; local mail goes only to Mailpit.

Repository map

Filesystem changes do not alter OAuth issuers, MCP audiences or registered clients. The loopback bootstrap fixture does not reproduce every hosted Managed Auth, provider or release gate. Current hosted identity is Neon Managed Auth with Core security. Source: Tiltfile, root commands and native runtime (crates/control-plane).