<!-- crag:auto-start -->
# Continue Rules — flask

> 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 ruff check .
  - uv run ruff format --check .
  - uv run mypy .
  - uv run tox run
  - python -m build
  - uv run --locked --no-default-groups --group pre-commit pre-commit run --show-diff-on-failure --color=always --all-files
  - uv run --locked --no-default-groups --group dev tox run
  - uv run --locked --no-default-groups --group dev tox run -e typing

## 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`.

<!-- crag:auto-end -->
