Conversation
- Add CLAUDE.md (engineering standards, replaces GEMINI.md) - Add tools/code_review_agent.py: fetches PR diff, reviews against CLAUDE.md via Claude API, posts review to GitHub PR - Add .github/workflows/code-review.yml: triggers on PRs to main, requires ANTHROPIC_API_KEY repo secret Closes #3
- Replace code_review_agent.py with ruff, mypy, and bandit in CI - Add tool configs to pyproject.toml (ruff, mypy, bandit) - Update CLAUDE.md: fix Python version note (3.9+), add Section 7 with mandatory local quality gate commands to run before every commit or push Closes #3
Ruff: - Replace deprecated typing.Dict/List with dict/list builtins (UP035/UP006) - Fix mutable default argument in get_milestones (B006) - Remove bare try/except/pass in analysis_utils and find_checkin (S110) - Add usedforsecurity=False to hashlib.md5 (S324) - Add timeout=30 to requests.get (S113) - Add per-file E501 ignore for record_flythrough.py (embedded JS f-strings) - Trim long comment and string literals in analysis_utils, autobiographer, visualize Mypy: - Add return type annotations to all untyped functions across all source files - Add from __future__ import annotations to find_checkin, record_flythrough - Scope mypy to source files only via [tool.mypy] files config - Add overrides to skip third-party packages (streamlit, pydeck, plotly, etc.) - Fix None-guard before Autobiographer() constructor call - Fix create_recording_assets unpack of possibly-None return value - Fix sanitize_native return type (Any instead of object) pyproject.toml: - Fix mypy exclude to use files= instead of exclude= (Windows path compat) - Add [[tool.mypy.overrides]] for third-party packages
- Merge python-tests.yml and code-review.yml into ci.yml - Drop bandit (covered by ruff S rules) - Single quality job: one checkout, one pip install, ruff + mypy + pytest - Reduces from 5 jobs / 2 files to 2 jobs / 1 file
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
GEMINI.mdwithCLAUDE.md(same engineering standards, Claude-native format)tools/code_review_agent.py: fetches the PR diff from GitHub API, sends it toclaude-sonnet-4-6withCLAUDE.mdas system context, posts a structured review back to the PR.github/workflows/code-review.yml: runs on every PR tomainReview output format
Each review contains:
Setup required
Add
ANTHROPIC_API_KEYas a repository secret in Settings → Secrets and variables → Actions before merging.Test plan
ANTHROPIC_API_KEYsecret to the repoCloses #3
🤖 Generated with Claude Code