- Build all:
npm run build
- Build client:
npm run build-client
- Build server:
npm run build-server
- Development mode:
npm run dev
(usenpm run dev:windows
on Windows) - Format code:
npm run prettier-fix
- Client lint:
cd client && npm run lint
- Use TypeScript with proper type annotations
- Follow React functional component patterns with hooks
- Use ES modules (import/export) not CommonJS
- Use Prettier for formatting (auto-formatted on commit)
- Follow existing naming conventions:
- camelCase for variables and functions
- PascalCase for component names and types
- kebab-case for file names
- Use async/await for asynchronous operations
- Implement proper error handling with try/catch blocks
- Use Tailwind CSS for styling in the client
- Keep components small and focused on a single responsibility
The project is organized as a monorepo with workspaces:
client/
: React frontend with Vite, TypeScript and Tailwindserver/
: Express backend with TypeScriptbin/
: CLI scripts