Skip to main content

AI-powered Git repository analytics tool. Get insights on code churn, complexity, and security.

Project description

Git Analytics CLI

Tests PyPI version License: MIT

Git Analytics is a powerful, AI-driven command-line tool that transforms your Git repository history into insightful, easy-to-read reports. It intelligently summarizes commits, groups them by theme, and provides high-level executive summaries, helping you understand project progress at a glance.


Features

  • 🤖 AI-Powered Summaries: Uses advanced AI models to generate detailed, code-aware summaries for each commit.
  • 🧩 Thematic Analysis: Automatically categorizes commits into themes like Features, Bug Fixes, Documentation, and Refactoring.
  • 📄 Executive Summaries: Generates a high-level, multi-sentence summary of the entire analysis period, perfect for reports and stakeholder updates.
  • 📊 Contributor Analysis: Generate reports summarizing work by author to see who is contributing what.
  • 🩺 Code Health Insights: Identify high-churn files and analyze their complexity to flag potential technical debt.
  • 🌿 Branch Selection: Analyze any branch in your repository, not just the one you have checked out, using the --branch option.
  • ⚡️ Smart Caching: Caches results to provide near-instantaneous reports on subsequent runs and to minimize API calls.
  • 💰 Cost Monitoring: Tracks API token usage and provides an estimated cost for each analysis run, giving you full visibility.
  • 📝 Multiple Formats: Generate reports in both Markdown and JSON formats.

Installation

This project is managed with uv, a fast and modern Python package manager.

  1. Clone the repository:

    git clone https://github.com/your-username/gitanalytics.git
    cd gitanalytics
    
  2. Create and activate a virtual environment:

    uv venv
    source .venv/bin/activate  # On Windows, use `.venv\Scripts\activate`
    
  3. Install the package:

    uv pip install -e .
    

    The tool is now available as the gitanalytics command.

Configuration

The tool requires an API key from an OpenAI-compatible service like OpenRouter.

  1. Create a .env file in the root of the project by copying the example file:

    cp .env.example .env
    
  2. Edit the .env file and add your API key:

    # .env
    OPENROUTER_API_KEY="your-secret-key-goes-here"
    OPENROUTER_MODEL_NAME="qwen/qwen-2.5-72b-chat"
    

Usage

The main command is analyze. It analyzes the repository in the current directory by default.

gitanalytics analyze [OPTIONS] [REPO_PATH]

Examples

  • Analyze the current repository:

    gitanalytics analyze
    
  • Analyze a specific repository path:

    gitanalytics analyze /path/to/your/repo
    
  • Analyze a specific branch:

    gitanalytics analyze --branch feature/new-login
    
  • Analyze commits within a date range:

    gitanalytics analyze --start-date 2023-01-01 --end-date 2023-01-31
    
  • Generate a JSON report:

    gitanalytics analyze --output json
    
  • Force a fresh analysis by ignoring the cache:

    gitanalytics analyze --no-cache
    
  • Generate a report summarized by author:

    gitanalytics analyze --by-author
    
  • Include a code health summary in the report:

    gitanalytics analyze --code-health
    

Development

To set up a development environment with all testing dependencies, run:

uv pip install -e ".[dev]"

To run the automated test suite:

pytest

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

ai_gitanalytics_cli-0.5.0.tar.gz (525.1 kB view details)

Uploaded Source

Built Distribution

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

ai_gitanalytics_cli-0.5.0-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

Details for the file ai_gitanalytics_cli-0.5.0.tar.gz.

File metadata

  • Download URL: ai_gitanalytics_cli-0.5.0.tar.gz
  • Upload date:
  • Size: 525.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for ai_gitanalytics_cli-0.5.0.tar.gz
Algorithm Hash digest
SHA256 0ae6a594ddf7d6b5d7db70333aefc5a1c3e43b27f7832513e9feaee209b4c0df
MD5 eede3ee1e4da0a2a9f44de1d6dd4fb8f
BLAKE2b-256 4583d6544855ec2485262341e8dc5e37ee5c383dd4892af999a0717452b45602

See more details on using hashes here.

File details

Details for the file ai_gitanalytics_cli-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_gitanalytics_cli-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 64721151ab675bb6dd45b68cb89b873c576d14db36486278185982c0c90a1d78
MD5 5f2f9d575206189ba641bc6d6aff19bf
BLAKE2b-256 8107b8508ac94a91dd2c2fdf6d401957236c9989c4cae49a2013c876df686db2

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