🔍 Code Review Automation
Automated code review for GitHub pull requests using Claude LLM
Automatically analyze GitHub pull requests, provide intelligent code reviews, security scanning, and style checking using Claude AI.
✨ Features
- PR Listing - View all pull requests in a repository
- PR Details - Get comprehensive information about any PR
- File Changes - See exactly what files changed
- PR Search - Search PRs by keyword
- Repository Info - Get general repository statistics
- Claude Analysis - AI-powered code review using Claude LLM
- Code Quality Scoring - Automated quality assessment (0-100)
- Security Scanning - Automated security vulnerability detection
- Style Checking - Automated style and linting checks
- Full Review - Complete review with all checks
- Configurable - Custom rules via
.reviewrc
🚀 Quick Start
1. Install Dependencies
uv pip install PyGithub anthropic rich typer python-dotenv
2. Setup GitHub API Token
Get your GitHub Personal Access Token:
- Go to GitHub Settings → Developer settings → Personal access tokens
- Generate a new token with
reposcope - Create
.envfile:
GITHUB_TOKEN=your_github_pat_here
3. Review Pull Requests
# List open PRs
code-review list-prs owner/repo
# Show PR details
code-review pr-info owner/repo 123
# Show files changed
code-review pr-files owner/repo 123
# Analyze PR with Claude AI
code-review review-pr owner/repo 123
📋 Commands
list-prs
List pull requests from a repository.
code-review list-prs owner/repo
Options:
--state: PR state (open, closed, all) - default: open--limit: Maximum PRs to show - default: 10
pr-info
Show detailed information about a specific PR.
code-review pr-info owner/repo 123
Shows:
- Title and description
- Author and timestamps
- File change statistics
- Labels and merge status
pr-files
Show files changed in a PR.
code-review pr-files owner/repo 123
Shows:
- Changed files
- Status (added, modified, deleted)
- Additions and deletions per file
search-prs
Search pull requests by keyword.
code-review search-prs owner/repo --query "bug"
Options:
--query: Search keyword (required)--state: PR state (open, closed, all) - default: open--limit: Maximum PRs to show - default: 10
repo-info
Show general repository information.
code-review repo-info owner/repo
Shows:
- Repository name and description
- Programming language
- Stars and forks count
- Open issues and PRs
- Creation and update dates
review-pr
Analyze a pull request using Claude AI.
code-review review-pr owner/repo 123
Shows:
- AI-powered code review
- Code quality score (0-100)
- Security considerations
- Best practices
- Specific recommendations
Requires:
GITHUB_TOKENin.envANTHROPIC_API_KEYin.env
security-scan
Scan a pull request for security vulnerabilities.
code-review security-scan owner/repo 123
Detects:
- Exposed secrets (API keys, tokens, passwords)
- SQL injection vulnerabilities
- Command injection vulnerabilities
- Hardcoded credentials
- Weak cryptography (MD5, SHA1, RC4, DES)
- Unsafe deserialization (pickle)
Options:
--config: Configuration file path
style-check
Check a pull request for style and linting issues.
code-review style-check owner/repo 123
Checks:
- Line length violations
- Naming convention violations
- Import order
- Blank lines
- Whitespace issues
- Missing docstrings
Options:
--config: Configuration file path
full-review
Run full code review (LLM + Security + Style) on a pull request.
code-review full-review owner/repo 123
Combines:
- LLM analysis (code quality score)
- Security scanning
- Style checking
Options:
--config: Configuration file path--skip-llm: Skip LLM analysis--skip-security: Skip security scan--skip-style: Skip style check
config-init
Initialize a default configuration file.
code-review config-init --output .reviewrc
Creates a .reviewrc file with customizable settings for:
- Security scanning rules
- Style checking rules
- LLM analysis settings
🔧 Technical Details
GitHub API Integration
- Uses PyGithub library
- Authenticates with Personal Access Token
- Rate limit handled automatically
LLM Integration
- Claude API for code analysis
- Intelligent code review comments
- Context-aware suggestions
- Code quality scoring
Security Scanning
- Static analysis for common vulnerabilities
- Pattern-based detection
- Severity-based categorization
- Configurable rules
Style Checking
- PEP8 compliance checks
- Naming convention validation
- Line length enforcement
- Import order verification
- Whitespace checks
Configuration
- YAML/JSON config files
- Project-specific settings
- Customizable thresholds
.reviewrcsupport
📊 Examples
# Run full review
code-review full-review facebook/react 34567
# Security scan only
code-review security-scan owner/repo 123
# Style check only
code-review style-check owner/repo 123
# AI analysis only
code-review review-pr owner/repo 123
# List all closed PRs
code-review list-prs owner/repo --state closed --limit 20
# Initialize config
code-review config-init
🔐 Security
- GitHub PAT stored in
.envfile (never committed) - No secrets logged or displayed
- IP whitelist recommended
🚧 Roadmap
v0.2.0 - Claude Integration (Completed)
- Claude API integration
- Automated PR analysis
- Intelligent review comments
- Code quality scoring
v0.3.0 - Security & Style (Current)
- Security vulnerability scanning
- Style and linting checks
- Automated fix suggestions
- Configuration file support
- Full review command
v1.0.0 (Planned)
- Multi-platform support (GitLab, Bitbucket)
- CI/CD integration
- Team collaboration features
- Review dashboard
📄 License
MIT
🙋 Support
For issues or questions:
- Check the documentation
- Open an issue on GitHub