AI-powered Git repository analytics tool. Get insights on code churn, complexity, and security.
Project description
Git Analytics CLI
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, andRefactoring. - 📄 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
--branchoption. - ⚡️ 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.
-
Clone the repository:
git clone https://github.com/your-username/gitanalytics.git cd gitanalytics
-
Create and activate a virtual environment:
uv venv source .venv/bin/activate # On Windows, use `.venv\Scripts\activate`
-
Install the package:
uv pip install -e .
The tool is now available as the
gitanalyticscommand.
Configuration
The tool requires an API key from an OpenAI-compatible service like OpenRouter.
-
Create a
.envfile in the root of the project by copying the example file:cp .env.example .env
-
Edit the
.envfile 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
Release history Release notifications | RSS feed
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ae6a594ddf7d6b5d7db70333aefc5a1c3e43b27f7832513e9feaee209b4c0df
|
|
| MD5 |
eede3ee1e4da0a2a9f44de1d6dd4fb8f
|
|
| BLAKE2b-256 |
4583d6544855ec2485262341e8dc5e37ee5c383dd4892af999a0717452b45602
|
File details
Details for the file ai_gitanalytics_cli-0.5.0-py3-none-any.whl.
File metadata
- Download URL: ai_gitanalytics_cli-0.5.0-py3-none-any.whl
- Upload date:
- Size: 23.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64721151ab675bb6dd45b68cb89b873c576d14db36486278185982c0c90a1d78
|
|
| MD5 |
5f2f9d575206189ba641bc6d6aff19bf
|
|
| BLAKE2b-256 |
8107b8508ac94a91dd2c2fdf6d401957236c9989c4cae49a2013c876df686db2
|