|
3 | 3 | ## Build/Lint/Test Commands |
4 | 4 | - `bun run dev` - Start all apps in development mode |
5 | 5 | - `bun run build` - Build all applications |
6 | | -- `bun run check` - Run Biome linting |
| 6 | +- `bun run check` - Run Biome linting across all workspaces |
7 | 7 | - `bun run check:fix` - Auto-fix Biome linting issues |
8 | | -- `bun run check:types` - TypeScript type checking |
| 8 | +- `bun run check:types` - TypeScript type checking across all workspaces |
9 | 9 | - `bun run dashboard` - Open Convex dashboard |
10 | | -- App-specific: `bun run --filter <app-name> <command>` |
| 10 | +- **Single app**: `bun run --filter <app-name> <command>` (e.g., `bun run --filter web dev`) |
| 11 | +- **Tests**: No test suite currently configured in this project |
11 | 12 |
|
12 | 13 | ## Code Style |
13 | | -- **Formatter**: Biome with 2-space indentation, double quotes |
14 | | -- **Imports**: Auto-organized by Biome, use `@/` for app-relative paths |
15 | | -- **Types**: TypeScript strict mode, explicit return types for functions |
16 | | -- **Components**: React functional components with TypeScript props interface |
17 | | -- **Naming**: camelCase for variables/functions, PascalCase for components |
18 | | -- **Error Handling**: Use proper TypeScript error types and Result patterns |
19 | | -- **CSS**: TailwindCSS with `cn()` utility from `clsx` + `tailwind-merge` |
| 14 | +- **Formatter**: Biome with 2-space indentation, double quotes, auto-organize imports |
| 15 | +- **Imports**: Use `@/` for app-relative paths; imports auto-sorted by Biome |
| 16 | +- **Types**: TypeScript strict mode; use explicit return types for exported functions |
| 17 | +- **Components**: React functional components with intersection types for props (e.g., `React.ComponentProps<"button"> & VariantProps<...>`) |
| 18 | +- **Naming**: camelCase for variables/functions, PascalCase for components/types |
| 19 | +- **Error Handling**: Leverage TypeScript's type system; avoid throwing errors in query/mutation handlers |
| 20 | +- **CSS**: TailwindCSS v4 with `cn()` utility (`clsx` + `tailwind-merge`) for conditional classes |
| 21 | +- **Patterns**: Use `class-variance-authority` (cva) for component variants; Convex helpers for auth/data |
20 | 22 |
|
21 | 23 | ## Project Structure |
22 | | -- Monorepo with Turbo, Bun package manager |
23 | | -- Apps: `web` (Next.js), `chrome` (extension), `scraper` (Cloudflare Worker) |
24 | | -- Server: Convex backend in `packages/server` |
25 | | -- Use workspace dependencies with `workspace:*` syntax |
| 24 | +- **Monorepo**: Turbo + Bun package manager; workspaces in `apps/*` and `packages/*` |
| 25 | +- **Apps**: `web` (Next.js 15 + Clerk), `chrome` (extension), `scraper` (Cloudflare Worker + Drizzle) |
| 26 | +- **Server**: Convex backend in `packages/server` with protected queries/mutations |
| 27 | +- **Dependencies**: Use `workspace:*` for internal packages; Doppler for environment variables |
| 28 | +- **Database**: Convex for main data; Cloudflare D1 + Drizzle for scraper operations |
0 commit comments