chore: add ruff pre-commit, commitizen, and CI lint gate - #69
Merged
tomtranjr merged 4 commits intoAug 3, 2026
Merged
Conversation
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.
summary
Adds developer tooling on top of the uv migration (#67): a local pre-commit hook that auto-fixes lint/format, a commit-msg hook that enforces Conventional Commits (which python-semantic-release now depends on), and a CI lint gate that only checks (never fixes).
.pre-commit-config.yaml: ruffv0.15.21(ruff-check --fix+ruff-format) at the pre-commit stage, commitizen at the commit-msg stage.default_install_hook_typeswires both up with onepre-commit install.pyproject.toml:ruff==0.15.21(pinned to match the hook) +pre-commitadded to thedevgroup; minimal[tool.ruff]using defaults,recycling_bin/excluded as dead code..github/workflows/release.yml: newlintjob (ruff check .+ruff format --check ., no--fix);releasenow needs[lint, test].docs/contributing.md: pre-commit setup step + note that CI enforces the same checks.style:commits apply ruff format + autofixes;fix:commit resolves the 15 non-auto-fixable lint errors (unused vars, bare excepts, ambiguous name, mid-file imports,== True).why draft / base branch
Based on #67's branch, not
main, since #67 rewritespyproject.tomland the CI workflow this touches. Draft for teammate visibility while #67 is in review. Retarget base tomainafter #67 merges.division of labor
ruff check --fix(fixes)ruff check(fails, no fix)ruff-format(rewrites)ruff format --check(fails)test plan
uv run ruff check .anduv run ruff format --check .cleanuv run pytest— 65 passeduv run pre-commit run --all-filespasses