diff --git a/.druks/house_rules/config.yml b/.druks/house_rules/config.yml new file mode 100644 index 0000000..2da4e98 --- /dev/null +++ b/.druks/house_rules/config.yml @@ -0,0 +1,10 @@ +rules: [R14, R28, R27, rule-3, rule-2, rule-1, R21, R23, R5, R25, R39] + +exclude: [uv.lock, api-tests/package-lock.json, alembic/versions/**] + +R21: + modules: [fastapi, sqlalchemy, pydantic] + +exceptions: + rule-3: [src/providers/*/api.py, src/core/settings.py] + R5: [src/diagnostics/*.py] diff --git a/AGENTS.md b/AGENTS.md index 9bf45b5..82cfc00 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -32,6 +32,10 @@ documented in this repo. - Read this file and the relevant source before changing behavior. - The checklist and craft gate every change is held to: `.druks/review/checklist.md`. +- Before you push, run `druks-house-rules check --base origin/main`. Druks runs + the same check on every pull request with `.druks/house_rules/config.yml`. + Install it with + `uv tool install git+https://github.com/getdruks/druks-house-rules@v0.0.5`. - `docs/` holds the conceptual and operational docs. Update them when behavior they describe changes. - For Python code, tests, or tooling changes, follow the style and verification