Project Structure
Workspace layout
Section titled “Workspace layout”red-boilerplate/├── apps/│ ├── web/ # React frontend (routes, app-specific code)│ │ ├── src/│ │ │ ├── app/ # Routes, providers, entry point│ │ │ ├── components/ # App-specific components (chat UI)│ │ │ └── features/ # App-specific feature logic (AI hooks)│ │ └── package.json│ └── docs/ # This documentation site├── packages/│ ├── backend/│ │ ├── src/convex/ # Convex functions│ │ │ ├── modules/ # Feature modules│ │ │ │ ├── core/ # Auth, billing, email, org│ │ │ │ └── ai/ # AI agent module│ │ │ ├── schema.ts # Database schema│ │ │ └── _generated/ # Convex codegen output│ │ └── tests/ # Integration tests│ ├── web-core/ # Shared utilities, hooks, auth client, validators│ ├── web-ui/ # shadcn/ui component library│ ├── web-shell/ # App shell, layout, settings modals, shared components│ └── web-admin/ # Global admin portal pages├── turbo.json # Turborepo pipeline config└── package.json # Root workspace configKey conventions
Section titled “Key conventions”- Absolute imports — App-local code uses
@/..., shared packages use@red/web-core/...,@red/web-ui/...,@red/web-shell/...,@red/web-admin/..., backend uses@red/backend/... - Module pattern — Each backend module is self-contained with its own table definitions, queries, mutations, and actions
- No semicolons — TypeScript files omit semicolons per project style
- Biome — Linting and formatting via Biome (not ESLint/Prettier)