Skip to content

Repository files navigation

GitIntel

CI PyPI Python Version License

GitIntel is a command-line repository intelligence tool that helps developers understand repository history, ownership, and risk hotspots.

Overview

GitIntel analyzes commit history, contributor contributions, and file ownership to help teams make informed maintenance and review decisions.

Key Features

  • Analyze Git history and contributor activity across a repository
  • Report file ownership by modifications, lines changed, and last touch
  • Identify hotspot files with risk and contributor concentration insights
  • Export reports as table, json, or markdown
  • Support local repositories and remote GitHub URLs
  • Provide a lightweight alias: gitit

Installation

From PyPI

For the recommended command-line installation, use pipx:

pipx install gitintel

This makes gitintel available globally without requiring you to activate a virtual environment.

Alternatively, install with pip:

python -m pip install gitintel

From source

git clone git@github.com:ThePhoenix77/GitIntel.git
cd GitIntel
python -m pip install -e .

Quick setup

For development, create a Python 3.11+ virtual environment and install the developer tools:

python -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev]"

The convenience script is also available:

make setup

Quick Start

Analyze a repository:

gitintel analyze .

Use the alias:

gitit analyze .

No account or configuration is required. Run gitintel --help to see all commands, or pass a GitHub repository URL directly:

gitintel hotspots https://github.com/ThePhoenix77/GitIntel

CLI Reference

analyze

Analyze repository history and summary metrics.

gitintel analyze <path> [--format table|json|markdown]

Example:

gitintel analyze . --format markdown

ownership

Inspect file ownership and contributor activity.

gitintel ownership <path> [--all] [--file <path>] [--format table|json|markdown]

Examples:

gitintel ownership .
gitintel ownership . --all
gitintel ownership . --file src/gitintel/cli.py --format markdown

hotspots

Identify hotspot files that may need review.

gitintel hotspots <path> [--format table|json|markdown]

Example:

gitintel hotspots . --format json

Options

  • --format, -f — Output format: table, json, or markdown
  • --all — Include all ownership results instead of the default top files
  • --file — Filter ownership results to a specific file path
  • --quiet, -q — Suppress progress output

Development

Create and activate a local virtual environment:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .

Run tests:

python -m pytest -q

Project Structure

  • src/gitintel/cli.py — CLI entrypoint and command definitions
  • src/gitintel/git/ — Git repository access, diffs, and commit resolution
  • src/gitintel/analysis/ — analysis pipeline, ownership, and hotspot logic
  • src/gitintel/reports/ — terminal and markdown reporting

Contributing

Contributions are welcome. Please:

  1. Fork the repository
  2. Create a descriptive feature branch
  3. Open a pull request with tests and examples

Read the full contribution guidelines in CONTRIBUTING.md.

License

MIT License. See LICENSE for details.

About

Git repository intelligence CLI for uncovering contributor ownership, maintenance hotspots, and codebase risk.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages