bun dev- Start development serverbun build- Production build with type checkingbun typecheck- Run TypeScript type checkingbun check- Run Biome linting and formattingbun lint:fix- Auto-fix linting issuesbun format- Format code with Biomebun lingui:extract- Extract translatable stringsbun lingui:compile- Compile translation catalogs- No test framework configured - verify changes manually
- Formatting: 2-space indentation, double quotes, Biome formatter
- Imports: Use
@/path aliases, organize imports automatically, prefer type imports withimport type - Types: Strict TypeScript, avoid
any, use Zod for validation, preferconstoverlet - Naming: camelCase for variables/functions, PascalCase for components/types
- Error Handling: Use tRPC error handling, avoid try/catch where possible
- React: Functional components, React Hook Form + Zod validation, optimistic updates
- Database: Drizzle ORM with PostgreSQL, schema-first approach
- Styling: Tailwind CSS v4, Shadcn/ui components,
cn()utility for class merging - i18n: Use
<Trans>for JSX text,useLingui().tfor dynamic text, extract/compile translations regularly
- Keep functions single-purpose unless composable/reusable
- Avoid unnecessary destructuring and else statements
- Prefer single-word variable names where possible
- Use Bun APIs (e.g.,
Bun.file()) over Node.js equivalents - Always run
bun typecheckafter editing files
See CLAUDE.md for comprehensive project overview, architecture patterns, and development workflow details.