pythonasyncioapiasyncfastapiframeworkjsonjson-schemaopenapiopenapi3pydanticpython-typespython3redocreststarletteswaggerswagger-uiuvicornweb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
879 B
40 lines
879 B
---
|
|
description: Governance rules for fastapi — quality gates, security, conventions
|
|
globs:
|
|
- "**/*.py"
|
|
alwaysApply: true
|
|
---
|
|
|
|
# Governance — fastapi
|
|
|
|
> Generated from governance.md by crag. Regenerate: `crag compile --target cursor`
|
|
|
|
**Stack:** python
|
|
|
|
## Quality Gates
|
|
|
|
Run these checks in order before committing:
|
|
### Lint
|
|
- `uv run mypy .`
|
|
|
|
### Test
|
|
- `uv run pytest`
|
|
|
|
### Build
|
|
- `python -m build`
|
|
|
|
### Ci (inferred from workflow)
|
|
- `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`
|
|
## Security
|
|
|
|
- No hardcoded secrets — grep for sk_live, AKIA, password= before commit
|
|
|
|
## Conventions
|
|
|
|
- Follow project commit conventions
|
|
- Runtimes: python
|
|
|