# Continue Rules — fastapi > Generated from governance.md by crag. Regenerate: `crag compile --target continue` ## Project Context - **Stack:** python - **Runtimes:** python - **Governance source:** `.claude/governance.md` (single source of truth) ## Coding Rules Always follow these when generating or modifying code: 1. **Run gates before committing.** Every change must pass the mandatory gates below. 2. **Classifications matter:** - `MANDATORY` — must pass (default) - `OPTIONAL` — should pass, warn on failure - `ADVISORY` — informational only 3. **Path-scoped gates** run from their declared directory. 4. **Conditional gates** only run when their referenced file exists. 5. **No secrets.** - No hardcoded secrets — grep for sk_live, AKIA, password= before commit 6. Follow project commit conventions. ## Quality Gates - uv run mypy . - uv run pytest - python -m build - python -m build --sdist - uv run --no-sync bash scripts/test-cov.sh - uv run --no-sync pytest tests/benchmarks --codspeed - uv run coverage combine coverage - uv run coverage html --title "Coverage for ${{ github.sha }}" - uv run coverage report --fail-under=100 ## Boundaries - All file operations stay within this repository - No destructive shell commands - No new dependencies without justification - Prefer editing existing files over creating new ones ## Powered by crag This rule file is auto-generated from a single `governance.md` via **crag** (https://www.npmjs.com/package/@whitehatd/crag). To update, edit governance.md and re-run `crag compile --target continue`.