Why
No formatter or linter is currently enforced. Style will drift as external contributors open PRs. Add ruff + pre-commit with a narrow rule set that is safe to enable in one shot.
What
Acceptance
ruff check --select E,F,I clawloop tests examples exits 0.
ruff format --check clawloop tests examples exits 0.
- Pre-commit hook runs after
pre-commit install.
Out of scope
- Broader semantic lint rule sets such as
UP, B, and SIM.
- CI lint gating; that can be added separately after the first formatting pass lands.
Why
No formatter or linter is currently enforced. Style will drift as external contributors open PRs. Add ruff + pre-commit with a narrow rule set that is safe to enable in one shot.
What
[tool.ruff]config topyproject.tomlwith line length 99, targetpy311, andE,F,Ilint rules.ruff>=0.4,<0.5andpre-commit>=3.6to thedevextra..pre-commit-config.yamlwithruffandruff-formathooks pinned to a known version.CONTRIBUTING.md.Acceptance
ruff check --select E,F,I clawloop tests examplesexits 0.ruff format --check clawloop tests examplesexits 0.pre-commit install.Out of scope
UP,B, andSIM.