Skip to main content

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

  1. DiffTracker: Tracks document regions through versions using semantic hashing
  2. LLMAnalyzer: Interfaces with Ollama for intelligent analysis
  3. RegionAnalyzer: Identifies volatile vs stable document sections
  4. Interface: Beautiful terminal interface with real-time updates

๐Ÿ”ฌ How It Works

  1. Region Detection: Documents are parsed into semantic regions
  2. Change Tracking: Each region gets a unique hash and is tracked across versions
  3. Smart Analysis: When you request analysis, the LLM examines:
    • What changed (text diff)
    • Why it changed (semantic analysis)
    • What it means (impact assessment)
  4. 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 Q to 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

drommage-1.0.1.tar.gz (77.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

drommage-1.0.1-py3-none-any.whl (66.8 kB view details)

Uploaded Python 3

File details

Details for the file drommage-1.0.1.tar.gz.

File metadata

  • Download URL: drommage-1.0.1.tar.gz
  • Upload date:
  • Size: 77.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for drommage-1.0.1.tar.gz
Algorithm Hash digest
SHA256 fc018b95a6f63c70e2eefb090d65d8202dabf630e41af1977e832ab5843e2a91
MD5 5ef899bfe02fd94335ab76730173f1e1
BLAKE2b-256 6298c95417be40cbb45877934148979c3b6cab7bb2ea0dd485518599d80d36d7

See more details on using hashes here.

File details

Details for the file drommage-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: drommage-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 66.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for drommage-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e28963c1d5ffe9c96a48791f996588895028a22933c21982bf4df648f1c1d995
MD5 5f9a550ce5469daeb8a19c4f7f83c93c
BLAKE2b-256 8415152e8eb38d6058e6155efb15eaaf36e6987fb337c0d4d579cf8747eed675

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page