Skip to content

Engineering Overview

Cosella is a pnpm workspace monorepo managed by Turborepo.

apps/
dashboard – React web app (sales rep daily driver)
admin – React web app (org management)
desktop – Electron overlay (real-time assist during calls)
marketing – Astro static site
docs – Astro + Starlight (this site)
packages/
ui – Radix-based component library
tokens – Design tokens (CSS @theme + JS constants)
domain – Zod schemas + inferred TypeScript types
api-client – openapi-fetch typed client + TanStack Query hooks
realtime – WebSocket client with exponential-backoff reconnect
auth – Auth context stub (to be wired to backend)
permissions – Pure permission functions (role-based)
testing – MSW server + handlers + fixtures
apps → packages (one-way only)
packages/ui → packages/tokens
packages/api-client → packages/domain
packages/realtime → packages/domain
packages/auth → packages/domain
packages/permissions → packages/domain
packages/testing → packages/domain

Enforced at lint time by eslint-plugin-boundaries.

See the ADR index for recorded architectural decisions.