CI runs pytest but never lints the Python source itself (verified — no ruff/flake8/black anywhere in .github/workflows/ci.yml or pyproject.toml).
Steps:
- Add
ruff to requirements-dev.txt (pinned)
- Add
[tool.ruff] config to pyproject.toml — start permissive: default rules, line-length matching existing style; fix or noqa existing findings in the same PR
- Add a fast lint job to
.github/workflows/ci.yml (single ubuntu leg) and wire it into the gate: ci-ok becomes needs: [test, lint]
- Optional follow-up PR:
.pre-commit-config.yaml with ruff + trailing-whitespace hooks
Good first issue for someone who has set up ruff before. Keep the first PR small — config + green CI, not a style crusade.
CI runs pytest but never lints the Python source itself (verified — no ruff/flake8/black anywhere in
.github/workflows/ci.ymlor pyproject.toml).Steps:
rufftorequirements-dev.txt(pinned)[tool.ruff]config topyproject.toml— start permissive: default rules, line-length matching existing style; fix ornoqaexisting findings in the same PR.github/workflows/ci.yml(single ubuntu leg) and wire it into the gate:ci-okbecomesneeds: [test, lint].pre-commit-config.yamlwith ruff + trailing-whitespace hooksGood first issue for someone who has set up ruff before. Keep the first PR small — config + green CI, not a style crusade.