Monorepo
Runnable services in apps/, shared libraries in packages/.
There are two top-level folders. apps/ holds the runnable services: the web editor,
the HTTP server, the WebSocket server, and the flush worker. packages/ holds the
shared libraries they all build on: element models and protocols, the drawing engine,
server-only collaboration helpers, the database client, authentication, Redis access,
validation schemas, UI primitives, and the shared tooling configs.
Each service is started and checked with its own workspace filter command, and the root dev command starts everything together with build dependencies. See the apps/ overview and the packages/ overview for who depends on whom.
Shared tooling
The root manifest holds only development tooling — the orchestrator, the compiler, and the formatter every workspace builds through:
No runtime dependencies.
Development and tooling (3)
| Library | Version range | Why it is used here |
|---|---|---|
| TypeScript | 7.0.2 | Compiles the workspace and type-checks every package. |
| Prettier | 3.9.6 | Formats TypeScript and Markdown behind the format script. |
| Turbo | ^2.10.12 | Orchestrates workspace builds, tests, and development. |
Dependencies as of commit b0026d9.
Sources: README.md, apps/README.md (documented at commit b0026d9)