# Copilot Instructions ## Linting Requirements Before committing any changes, always run the relevant linters and fix all errors: ### Backend (Python) ```bash # Check code formatting black --check backend/ # Lint with ruff ruff check backend/ # Type check with mypy mypy backend/app --ignore-missing-imports ``` ### Frontend (TypeScript/React) ```bash cd frontend npm run lint ``` ## Conventions - **Python**: Follow PEP 8. Use `black` for formatting. All ruff and mypy errors must be resolved before committing. - **TypeScript**: Follow the ESLint configuration. Avoid `any` types — use `unknown` with type narrowing instead. Remove unused variables and imports. - **SQLAlchemy**: Use `# type: ignore[assignment]` for Column attribute assignments and `# noqa: E712` for `== True` comparisons in SQLAlchemy queries (these are valid ORM patterns).