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 versions
B Brief analysis (quick summary)
D Deep analysis (detailed with risks/recommendations)
R Region details (see specific text regions)
PgUp/Dn Scroll document
ESC Go back
Q Quit

Analysis Levels

๐Ÿ“ Brief Analysis (B)

Quick one-line summary of changes - perfect for scanning through versions.

๐Ÿ” Deep Analysis (D)

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.0.tar.gz (77.3 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.0-py3-none-any.whl (66.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: drommage-1.0.0.tar.gz
  • Upload date:
  • Size: 77.3 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.0.tar.gz
Algorithm Hash digest
SHA256 38f11b95596b1875e52feaeaa0345eed0e61fc32c4b2afa7f10b6c9e54fe0168
MD5 8b43fb6040fd6c2f43316d41b574a6de
BLAKE2b-256 6609575400cc2afed25a4d1f1acafedc37fe1c2f11bfe56ae29bba38601f292e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: drommage-1.0.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9f280ec205dd218002fcb05f85f6ed0c1e6379d3ccf5c454a97edceb1de83e80
MD5 2c21495d093b86b5b3840eef0260ef0d
BLAKE2b-256 29126d5296ce86c65215ba1d8e264963ca99b7bd097dbc4b748da06f42d79021

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