Skip to content

Repository files navigation

git-pulse

CIcrates.iolicense

Instant health check for any git repository.

git-pulse demo

What it shows

git-pulse scans git history and builds a compact engineering-health report:

  • Churn hotspots: files changed most often, with risk hints.
  • Bus factor: ownership concentration, inactive key contributors, single-owner risks.
  • Bug clusters: files frequently touched in bug-fix commits.
  • Team velocity: monthly activity trend and sharp drop/growth anomalies.
  • Crisis patterns: revert, hotfix, emergency, rollback event density.
  • Temporal coupling: files that repeatedly change together.
  • Health score: explainable penalties + prioritized actions.

Why git-pulse

  • Built for terminal-first workflows: TUI, plain text, JSON, Markdown.
  • Deterministic JSON contract for CI integrations.
  • Fast enough for very large repositories via lazy diff loading + caching.
  • Policy mode for release gates (check --min-health, --fail-on, etc.).

Install

Cargo (recommended)

# from crates.io
cargo install git-pulse
# or from source checkout
cargo install --path .

Homebrew (HEAD formula)

brew install --HEAD ./Formula/git-pulse.rb

Nix

# run once
nix run .# install to profile
nix profile install .

curl installer

curl -fsSL https://raw.githubusercontent.com/balyakin/git-pulse/main/scripts/install.sh | sh

Usage

# Interactive TUI
git-pulse
# Plain output
git-pulse --format plain
# JSON for CI
git-pulse --format json --no-color
# Markdown report to file
git-pulse --format markdown -o report.md
# Analyze a specific branch and period
git-pulse --branch main --period 6m

Baseline and delta

git-pulse --save-baseline .gitpulse-baseline.json
git-pulse --compare-baseline .gitpulse-baseline.json

CI gate mode

git-pulse check --fail-on critical
git-pulse check --min-health 70
git-pulse check --max-high-risk-files 3

Policy failure exits with code 2.

Comparison

Featuregit-pulsegit-quick-statsherculesgitinspector
Interactive TUI dashboard
Deterministic JSON contract⚠️ partial
CI policy gate mode
Explainable health score
Temporal coupling analyzer
Crisis-pattern detection

Config

Optional .gitpulse.toml in repository root:

[ignore]
patterns = ["*.generated.ts", "vendor/*"]
[analysis]
period = "12m"top = 20include_merges = falsedetect_squash = true
[authors.aliases]
"john@company.com" = ["john.doe@company.com"]
[thresholds]
bus_factor_critical = 0.60bus_factor_warning = 0.40crisis_rate_warning = 2crisis_rate_critical = 4velocity_drop_warning = 0.50
[bugs]
extra_keywords = ["patch", "workaround", "hack"]

License

MIT

About

A CLI utility for rapid codebase diagnostics using git metadata.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages