DiffScribe – Universal AI Code Review Bridge
VSCode Extension for Git Diff Export | AI Code Review Tool | ChatGPT Claude Gemini Compatible
One button. Any AI. Complete code review.
Transform your Git commits and staged changes into AI-readable Markdown with a single click. Export git diff for AI code review with Claude, ChatGPT, GPT-4, Gemini, Grok, Copilot, and any LLM assistant – no MCP setup required.
🇰🇷 For Korean version → 한국어 README 보기
🔍 Keywords for Search
git diff export
ai code review
chatgpt code review
claude code review
gemini code review
vscode git extension
markdown diff export
ai pair programming
code review automation
git commit export
staged changes export
llm code review
copilot alternative
🎯 Why DiffScribe?
The Problem
When AI assists with coding, getting another AI to review the changes is powerful but tedious. You need to manually copy git diffs, format them properly, and provide context for code review.
The Solution
DiffScribe bridges this gap with one-click git diff export:
- Universal AI Compatibility: Works with ChatGPT, Claude, Gemini, GPT-4, Grok, Copilot, and any LLM
- No MCP Setup Required: Unlike MCP tools, works instantly with all AI platforms
- Mobile-Friendly: Review code changes on your phone via any AI chat app
- Smart Context Management: Perfect with Repomix – provide initial codebase context, then use hunks mode for efficient incremental AI reviews
- AI-Optimized Markdown: Git diff format designed for maximum LLM comprehension
🚀 Key Features
- Export Commit Diffs: Export selected commits as Markdown files
- Export Staged Changes: Export currently staged changes as Markdown
- Two Output Modes:
- Full-context mode: Shows complete file content with diff highlighting
- Hunks-only mode: Shows only changed lines (+/-) to save space
- File Metadata: Includes file status, language detection, rename info
- Binary File Handling: Automatically detects and summarizes binary files
- Bilingual Support: English/Korean interface
📥 Installation
From VS Code Marketplace
- Open VS Code Extensions (Ctrl+Shift+X)
- Search for "DiffScribe"
- Click "Install"
From VSIX file
code --install-extension diffscribe-0.1.1.vsix
🎯 Usage
Export Commit Diffs
- Open Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
- Run "DiffScribe: Commit Diff: Export as Markdown"
- Select commits to export (multi-select enabled)
- Choose output mode (Full-context or Hunks-only)
- Check the generated Markdown files
Export Staged Changes
- Stage your files (
git add
)
- Run "DiffScribe: Staged Diff: Export as Markdown"
- Choose output mode
- Check the generated Markdown file
Quick Export Commands
- Quick Commit Export: Uses your default settings
- Quick Staged Export: Uses your default settings
⚙️ Configuration
Access settings via: File → Preferences → Settings → Extensions → DiffScribe
Setting |
Default |
Description |
diffscribe.defaultMode |
hunks |
Default export mode: full or hunks |
diffscribe.singleFile |
true |
Export all commits to single file |
diffscribe.outputDirectory |
diffscribe |
Output directory (relative to workspace) |
diffscribe.maxFileBytes |
2000000 |
Max file size before truncation |
diffscribe.detectBinary |
true |
Detect and summarize binary files |
diffscribe.language |
en |
Interface language (en /ko ) |
💡 Perfect Workflow for AI Code Review
- Initial Context: Use Repomix to provide full codebase context to AI
- Iterative Review: Use DiffScribe hunks mode to show only changes
- Cross-Platform: Works with any AI assistant on any device
- No Dependencies: No MCP, no special setup - just export and paste
📋 Example Output
Full Mode
# Commit: feat: add user authentication
**Author**: John Doe | **Date**: 2024-01-22 10:30:00
**Files changed**: 3 | **Insertions**: +45 | **Deletions**: -12
## File: src/auth.js (Modified)
**Language**: JavaScript | **Size**: 1.2KB
[Complete file content with diff highlighting]
Hunks Mode
# Commit: feat: add user authentication
**Changes**: +45, -12 lines across 3 files
## src/auth.js
```diff
@@ -10,4 +10,8 @@
function validateUser(email, password) {
+ if (!email || !password) {
+ throw new Error('Email and password required');
+ }
return bcrypt.compare(password, hashedPassword);
}
🛠️ Development
This project is primarily a personal tool. External contributions are not expected at this stage.
☕ Support
If you find DiffScribe helpful for your AI-assisted development workflow, consider supporting its development!
☕ Support on Ko-fi
📄 License
MIT License - See LICENSE file for details
🐛 Issues & Feedback
Found a bug or have a suggestion? Please open an issue on GitHub.
🙏 Acknowledgments
Special thanks to all contributors and users who help improve DiffScribe!