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.4.tar.gz (78.6 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.4-py3-none-any.whl (67.9 kB view details)

Uploaded Python 3

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

Hashes for drommage-1.0.4.tar.gz
Algorithm Hash digest
SHA256 751ee6ae7dd9e092f086c5b0ac0e69b158b4644d9f798319791e9f89714497a5
MD5 744a32af9c8cb74fa072b30e43e13123
BLAKE2b-256 78aa3d18c4e73d8d4525bb903dbb6410fd27f983414eb9f4713c226211082ffd

See more details on using hashes here.

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

Hashes for drommage-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e360c163f8a10032a0f8092844bfcc887ad8f2bc1fd0f44471838bccd800d20f
MD5 dff9662108b5fc5e1ff9a35811a93151
BLAKE2b-256 bee6898468b4c7e53c2b827498307b9af1e1231940624f2ab094eb64eb283b76

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