AI-powered git commit analysis tool for developers and teams
Project description
๐ DRommage - Intelligent Documentation Version Control
Where git meets AI to understand not just what changed, but why it matters
๐ฏ What is DRommage?
DRommage is a revolutionary documentation versioning system that combines git-style region tracking with LLM-powered semantic analysis. It doesn't just show you diffs - it explains them, analyzes their impact, and provides actionable insights.
โจ Key Features
๐ง Intelligent Diff Analysis
- Semantic Understanding: Goes beyond line-by-line diffs to understand meaning
- Multi-Level Analysis: Brief summaries to deep technical breakdowns
- Risk Assessment: Identifies potential issues and breaking changes
- Smart Recommendations: Suggests next steps and improvements
๐จ Beautiful Terminal UI
- Golden Ratio Layout: Aesthetically pleasing proportions
- Unicode Box Drawing: Modern, clean interface design
- Real-time Status Updates: Never wonder what's happening
- Color-Coded Regions: Instantly see volatile vs stable areas
โก Performance & Efficiency
- SQLite Caching: Lightning-fast repeated analyses
- Local LLM Support: Privacy-first with Ollama integration
- Region Tracking: Efficiently monitors document evolution
- Incremental Analysis: Only analyzes what changed
๐ ๏ธ Installation
Prerequisites
# Python 3.8+
python --version
# Ollama for local LLM (recommended)
# macOS:
brew install ollama
# Linux:
curl -fsSL https://ollama.ai/install.sh | sh
# Pull the Mistral model
ollama pull mistral
Quick Start
# Clone the repository
git clone git@github.com:yoursteacup/Drommage.git
cd Drommage
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Run DRommage
python drommage.py
๐ฎ Usage
Keyboard Controls
| Key | Action |
|---|---|
โโ |
Navigate commits |
SPACE |
Toggle analysis mode (PAT โ BRIEF โ DEEP) |
D |
Run analysis for current mode |
Q/E |
Flip through pages |
R/F |
Scroll analysis results |
โโ |
Scroll diff view |
H |
Help |
Q |
Quit |
Analysis Modes
๐ PAT Analysis (Pattern)
Quick pattern-based analysis without LLM - works offline, shows file types and basic metrics.
๐ BRIEF Analysis (AI-powered)
Quick AI summary of changes - perfect for scanning through commits.
๐ฌ DEEP Analysis (AI-powered)
Comprehensive analysis including:
- Change type classification (feature/fix/docs/etc.)
- Impact assessment
- Detailed explanation
- Potential risks
- Actionable recommendations
๐๏ธ Architecture
DRommage/
โโโ README.md # Comprehensive documentation
โโโ drommage.py # Main entry point
โโโ requirements.txt # Dependencies (none!)
โโโ drommage/ # Core package
โ โโโ __init__.py
โ โโโ core/
โ โโโ diff_tracker.py # Git-style region tracking
โ โโโ llm_analyzer.py # LLM integration & analysis
โ โโโ region_analyzer.py # Region volatility tracking
โ โโโ interface.py # Terminal UI implementation
โโโ test_docs/ # Sample documents
โโโ test_scripts/ # Helper scripts
โโโ old_refs/ # Version history
Core Components
- DiffTracker: Tracks document regions through versions using semantic hashing
- LLMAnalyzer: Interfaces with Ollama for intelligent analysis
- RegionAnalyzer: Identifies volatile vs stable document sections
- Interface: Beautiful terminal interface with real-time updates
๐ฌ How It Works
- Region Detection: Documents are parsed into semantic regions
- Change Tracking: Each region gets a unique hash and is tracked across versions
- Smart Analysis: When you request analysis, the LLM examines:
- What changed (text diff)
- Why it changed (semantic analysis)
- What it means (impact assessment)
- Caching: Results are stored for instant retrieval
๐ก Use Cases
- API Documentation: Track breaking changes and compatibility
- Technical Specs: Monitor requirement evolution
- Knowledge Bases: Understand content drift over time
- Compliance Docs: Ensure critical sections remain stable
- Team Documentation: See who changed what and why
๐ฆ Status Indicators
During analysis, you'll see:
๐ Analyzing: X lines, Y chars diff- Diff metrics๐ Prompt size: X chars, Level: brief/detailed- LLM prompt info๐ค Starting LLM inference...- Processingโ Analysis complete (X.Xs)- Done with timing๐ฆ Using cached analysis- Retrieved from cache
๐จ Visual Design
The interface uses carefully chosen visual elements:
- Colors: 11-color palette for different change types
- Icons: Semantic icons (๐ feature, ๐ bugfix, ๐ docs, etc.)
- Layout: Golden ratio (0.382) for panel sizing
- Borders: Unicode box drawing for clean lines
๐ง Configuration
Using Different LLM Models
# In main_v8.py, modify:
llm = LLMAnalyzer(model="mistral:latest") # Change model here
Adjusting Cache Location
# Default: .llm_cache/
llm = LLMAnalyzer(cache_dir="custom_cache_path")
๐ Troubleshooting
Ollama Not Found
# Check installation
ollama list
# If not installed, see Prerequisites section
Analysis Seems Stuck
- Check status bar for progress updates
- Default timeout is 30 seconds
- Press
Qto quit if needed
Cache Issues
# Clear cache if corrupted
rm -rf .llm_cache/
๐ Future Roadmap
- Cloud LLM fallback (OpenAI/Claude API)
- Web UI version
- Collaborative features
- Export to CHANGELOG.md
- Git hooks integration
- VS Code extension
๐ค Contributing
We welcome contributions! Whether it's:
- Bug reports
- Feature requests
- Code improvements
- Documentation updates
Feel free to open an issue or submit a PR.
๐ License
MIT License - See LICENSE file for details
๐ Acknowledgments
- Built with Anthropic's Claude
- Powered by Ollama and Mistral
- Inspired by the need for smarter documentation tools
Remember: DRommage doesn't just track changes - it understands them. ๐ง โจ
Happy documenting!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file drommage-1.0.4.tar.gz.
File metadata
- Download URL: drommage-1.0.4.tar.gz
- Upload date:
- Size: 78.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
751ee6ae7dd9e092f086c5b0ac0e69b158b4644d9f798319791e9f89714497a5
|
|
| MD5 |
744a32af9c8cb74fa072b30e43e13123
|
|
| BLAKE2b-256 |
78aa3d18c4e73d8d4525bb903dbb6410fd27f983414eb9f4713c226211082ffd
|
File details
Details for the file drommage-1.0.4-py3-none-any.whl.
File metadata
- Download URL: drommage-1.0.4-py3-none-any.whl
- Upload date:
- Size: 67.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e360c163f8a10032a0f8092844bfcc887ad8f2bc1fd0f44471838bccd800d20f
|
|
| MD5 |
dff9662108b5fc5e1ff9a35811a93151
|
|
| BLAKE2b-256 |
bee6898468b4c7e53c2b827498307b9af1e1231940624f2ab094eb64eb283b76
|