diffscope-0.4.1 is not a library.
DiffScope
A composable code review engine for automated diff analysis.
Features
- Model Agnostic: Works with OpenAI, Anthropic Claude 4, Ollama, and any OpenAI-compatible API
- Git Integration: Review uncommitted, staged, or branch changes directly
- PR Reviews: Analyze and comment on GitHub pull requests
- Smart Prompting: Advanced prompt engineering with examples, XML structure, and chain-of-thought
- Commit Messages: AI-powered commit message suggestions following conventional commits
- Composable Architecture: Modular components that work together
- Plugin System: Extensible pre-analyzers and post-processors
- Multiple Outputs: JSON, patch, or markdown formats
- CI/CD Ready: GitHub Action, GitLab CI, and Docker support
- Smart Review: Enhanced analysis with confidence scoring, fix effort estimation, and executive summaries
Quick Start
Install via Homebrew (macOS/Linux)
Install from crates.io
Docker
Usage
Basic Usage
# Review your current changes
|
# Review a specific file diff
# Get enhanced analysis with smart review
|
Git Integration
# Review what you're about to commit
# Review all uncommitted changes
# Compare your branch to main
# Get AI-powered commit message suggestions
Pull Request Review
# Review the current PR
# Review a specific PR number
# Post review comments directly to GitHub
Smart Review (Enhanced Analysis)
# Get professional-grade analysis with confidence scoring
|
# Generate executive summary report
# Review with specific AI model
|
AI Model Configuration
# OpenAI (default)
|
# Anthropic Claude
|
# Local Ollama
|
Supported Models
OpenAI: gpt-4o, gpt-4-turbo, gpt-3.5-turbo
Anthropic:
- Claude 4: claude-opus-4-20250514, claude-sonnet-4-20250514
- Claude 3.5: claude-3-5-sonnet-20241022, claude-3-5-haiku-20240307
- Claude 3: claude-3-opus-20240229, claude-3-haiku-20240307
Ollama: Any locally installed model (codellama, llama3.2, mistral, etc.)
Output Formats
# JSON output (default)
|
# Markdown report
|
# Inline patch comments
|
GitHub Action
name: AI Code Review
on:
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: haasonsaas/diffscope@v1
with:
model: gpt-4o
openai-api-key: ${{ secrets.OPENAI_API_KEY }}
post-comments: true
Configuration
Create a .diffscope.yml file in your repository:
model: gpt-4o
temperature: 0.2
max_tokens: 4000
system_prompt: "Focus on security vulnerabilities, performance issues, and best practices"
Plugin Development
Create custom analyzers:
export interface PreAnalyzer {
id: string
run(diff: UnifiedDiff, repoPath: string): Promise<LLMContextChunk[]>
}
export interface PostProcessor {
id: string
run(comments: Comment[], repoPath: string): Promise<Comment[]>
}
Architecture
graph LR
A[git diff] --> B(core-engine)
subgraph core-engine
B1[Diff Parser]
B2[Context Fetcher]
B3[Prompt Builder]
B4[LLM Adapter]
B5[Comment Synthesizer]
end
B -->|JSON| C(output)
License
Apache-2.0 License. See LICENSE for details.
Example Output
Standard Review
Smart Review Output
🟡 **Code Quality Score:** 8.2/10
📝 **Total Issues Found:** 4
🚨 **Critical Issues:** 1
📁 **Files Analyzed:** 3
1. 2.
**💡 Recommended Fix:**
Use parameterized queries to prevent SQL injection attacks.
**🔧 Code Example:**
```diff
- ++
🟡 High Priority Issues
⚡ src/models.py:28 - 🟡 Moderate Effort Performance
Confidence: 87% | Tags: performance, n+1-query
N+1 query problem detected in user retrieval loop.
💡 Recommended Fix: Use eager loading or bulk queries to reduce database calls.
### Commit Message Suggestion
feat(auth): add JWT-based authentication system
## Author
Jonathan Haas <jonathan@haas.holdings>
## Contributing
Contributions are welcome! Please open an issue first to discuss what you would like to change.
## Support
- GitHub Issues: [github.com/Haasonsaas/diffscope/issues](https://github.com/Haasonsaas/diffscope/issues)