Stack
- Package manager:
pnpm9.15.9 (pinned inpackage.json). - Task runner:
turbo. - Node: 20+.
- Workspaces:
apps/*andpackages/*(seepnpm-workspace.yaml).
Layout
| Path | What it is |
|---|---|
apps/web/ | Control-plane UI. TanStack Start + Vite SPA. |
apps/agent/ | Data-plane agent. NestJS + Temporal worker + Prisma. |
apps/docs/ | This Mintlify site. |
packages/db/ | Convex control-plane backend (queries, mutations, actions). |
packages/ui/ | Shared shadcn component library. |
Setup
Running everything
From the repo root:Running a single app
Agent prerequisites
See Deploying the agent → Environment variables for the full list. For local dev, provision aSEVVO_AGENT_TOKEN, point
SEVVO_INTERNAL_CONTROL_PLANE_URL at the local Convex/control-plane endpoint,
and set SEVVO_AGENT_DATABASE_URL to a local Postgres database.
Shared checks
Adding shadcn components
Never hand-author shadcn primitives. Use the CLI so files pick up the repo’s customizedbase-luma style, Tailwind v4 tokens, Hugeicons, and
menu color conventions:
Adding a docs page
- Create
<slug>.mdxinapps/docs/with frontmatter: - Add the slug (no extension) to the appropriate
pagesarray inapps/docs/docs.json. - Preview with
pnpm --filter @sevvo/docs preview. - Run
pnpm --filter @sevvo/docs checkto catch broken links.