Skip to content

Project Structure

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 config
  • 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)