From the repo quality assessment (CI/CD scored 53/100).
Status update (2026-07-12)
The CI half of this issue shipped in the v1.12.0 cleanup:
A PR that fails lint or type-check is now visibly red in CI. What remains is only the local pre-commit config.
Remaining scope
- Create
.pre-commit-config.yaml wiring ruff (lint + format) and basic hygiene hooks (pre-commit is already in dev-deps); mirror what CI enforces so local commits fail for the same reasons PRs would.
- Document
pre-commit install in docs/7-DEVELOPMENT/development-setup.md.
Acceptance criteria
pre-commit install + a commit runs ruff locally.
- Hook config matches the CI gates (no "passes locally, fails in CI" drift for the covered tools).
From the repo quality assessment (CI/CD scored 53/100).
Status update (2026-07-12)
The CI half of this issue shipped in the v1.12.0 cleanup:
ruff,eslintand the frontend buildmypy(with anignore_errorsburn-down started)A PR that fails lint or type-check is now visibly red in CI. What remains is only the local pre-commit config.
Remaining scope
.pre-commit-config.yamlwiring ruff (lint + format) and basic hygiene hooks (pre-commitis already in dev-deps); mirror what CI enforces so local commits fail for the same reasons PRs would.pre-commit installindocs/7-DEVELOPMENT/development-setup.md.Acceptance criteria
pre-commit install+ a commit runs ruff locally.