Add ./roe-cli format, lint CI gate, and format codebase#55
Conversation
- Add ./roe-cli with a format command (ruff format + ruff check --fix) - Add a dedicated lint CI job (ruff check + ruff format --check) that runs on every PR and on pushes to main - Make scripts/generate-sdk ruff-format generated wrappers so formatting never introduces codegen drift (ruff added to the codegen group) - Document ./roe-cli format in the README - Format the codebase with ruff format Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Greptile SummaryThis PR introduces a
Confidence Score: 5/5Safe to merge — all source changes are pure reformats with no logic modifications, and the new tooling is additive. Every change to src/ and examples/ is a line-wrapping reformat only. The new roe-cli, CI lint job, and codegen formatting step are straightforward additions that don't touch runtime behaviour. The one UX quirk in roe-cli (format step skipped when unfixable lint errors exist) doesn't affect correctness or CI. No files require special attention; the only non-trivial new file is roe-cli. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
PR[Pull Request / Push to main] --> LINT[lint job\nuv sync --group dev]
PR --> TEST[test job\nuv sync --group dev]
PR --> CODEGEN[check-codegen-drift job\nuv sync --group codegen]
LINT --> RC[ruff check --output-format=github .]
LINT --> RF[ruff format --check --diff .]
TEST --> PT[uv run pytest]
CODEGEN --> GS[bash scripts/generate-sdk]
GS --> GEN[openapi-python-client generate]
GEN --> WP[python scripts/generate_wrappers.py]
WP --> FMT[ruff format src/roe/api]
CODEGEN --> DIFF[git diff --exit-code\nREADME.md openapi/ src/roe/_generated src/roe/api]
DEV[Developer: ./roe-cli format] --> FIX[ruff check --fix .]
FIX --> FORMAT[ruff format .]
Reviews (2): Last reviewed commit: "Run Ruff fixes before formatting" | Re-trigger Greptile |
Summary
./roe-cliwith aformatcommand (ruff format+ruff check --fix), mirroring roe-main's./roe-cli formatruff check+ruff format --check) that runs on every PR and on pushes tomainscripts/generate-sdkruff-format generated wrappers (src/roe/api) so running the formatter never introduces codegen drift (ruffadded to thecodegendependency group)./roe-cli formatin the README (Development section)ruff format(9 files)Test plan
./roe-cli formatthenruff format --check .andruff check .→ cleanuv run pytest→ 39 passedbash scripts/generate-sdkthen drift diff on the CI-checked paths → clean🤖 Generated with Claude Code