chore(dev): add pre-commit config mirroring the CI gates - #1129
Merged
Conversation
Create .pre-commit-config.yaml with ruff (lint + format), mypy and basic hygiene hooks so local commits fail for the same reasons PRs would. - Ruff lint (--fix for local convenience, no drift vs CI's ruff check .) - Ruff format check (not yet gated in CI but zero drift — same tool) - Mypy via language:system/uv to match CI's uv run python -m mypy . - Hygiene: large files, merge conflicts, YAML/TOML syntax, trailing whitespace, EOF newlines - Updated development-setup.md with install/run/skip/update docs Closes #940
lfnovo
approved these changes
Jul 14, 2026
lfnovo
left a comment
Owner
There was a problem hiding this comment.
Clean dev-tooling PR. Hooks mirror the CI gates faithfully — ruff pin matches pyproject, mypy runs through uv exactly as CI does, mypy is skippable for fast commits. Well documented. Approving.
This was referenced Jul 14, 2026
Closed
lfnovo
added a commit
that referenced
this pull request
Jul 14, 2026
build-regular is a required status check that ran a full (several-minute) Docker build on every PR, including docs/config-only PRs where the image is byte-for-byte identical (#1134, surfaced merging #1129). Add a paths-filter 'changes' job and gate build-regular's build steps on 'push to main OR image-affecting paths changed'. The job itself always runs, so the required check always reports — avoiding the 'path-filtered required check never reports -> merge deadlock' trap (a workflow-level paths filter would have caused exactly that). Docs/config PRs now report build-regular green in seconds; PRs touching Dockerfile/deps/app/frontend build as before. Release build (build-and-release) is untouched. Closes #1134
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
From the repo quality assessment (CI/CD scored 53/100).
The CI half of this issue shipped in v1.12.0 (#1068, #1076). This PR covers what remains: the local pre-commit config.
Changes:
.pre-commit-config.yamlwith ruff (lint + format), mypy (vialanguage: system/uv to match CI environment), and basic hygiene hooksdevelopment-setup.mdwith install/run/skip/update instructionsCloses #940