Getting Started
Development Commands
Code Style
Python (Backend)
- Ruff for linting and formatting (88-char lines, double quotes)
- Type hints required
- Config in
backend/pyproject.toml B008is intentionally ignored (FastAPIDepends()pattern)
TypeScript (Frontend)
- ESLint + Prettier
- Components in
PascalCase.tsx - Hooks start with
use - Utilities in
camelCase.ts
Testing
- Tests use
asyncio_mode = "auto"— no need for@pytest.mark.asyncio - Mock LLM calls to avoid API costs
- Fixtures in
backend/tests/conftest.py
Database Migrations
Pull Requests
- Fork the repository
- Create a feature branch
- Make your changes with tests
- Run
make lintandmake format - Submit a PR with a clear description