explaingit

jomocoder/gitblame-insights

16ShellAudience · developerComplexity · 2/5ActiveSetup · easy

TLDR

CLI tool that runs git blame across an entire repo and produces ownership, contribution, and churn reports in Markdown, JSON, or HTML.

Mindmap

mindmap
  root((gitblame-insights))
    Inputs
      Git repository
      Config yaml
      Time window
    Outputs
      Ownership table
      Churn list
      HTML report
    Use Cases
      Find code owners
      Spot hot files
      Track contributions
    Tech Stack
      Shell
      Git
      Node.js

Things people build with this

USE CASE 1

Generate an ownership map of a codebase to identify who effectively owns each module.

USE CASE 2

Find the files with the most churn in the last 90 days to target refactoring effort.

USE CASE 3

Produce an HTML or Markdown report for an engineering manager covering contribution percentages per developer.

USE CASE 4

Limit analysis to a single directory to scope onboarding documents for a new hire.

Tech stack

ShellGitNode.jsJavaScript

Getting it running

Difficulty · easy Time to first run · 5min

README is short and the achievement-related shell scripts in the repo are not documented, so confirm exact behaviour by reading source.

In plain English

gitblame-insights is a command-line tool that walks through a git repository and summarises what git blame would tell you, but across every file at once. The result is a set of reports about code ownership, contribution percentages, and which files change the most often. The README pitches it as a way for a team to see who effectively owns each part of a codebase, and where the activity is concentrated, without running blame on every file by hand. The README lists a small number of subcommands. The analyze command produces an ownership breakdown for an entire repository or for a specific directory. The owners command can group results by module. The churn command lists the files that have changed most often, with an option to show only the top N. Reports can be written as Markdown, JSON, or HTML, and the project supports a .gitblame-insights.yml configuration file plus time-windowed analysis covering the last 30, 90, or 365 days. The sample output in the README shows two tables. The first lists files in a src/ tree alongside an owner name and a coverage percentage. The second lists the most-changed files over a 90-day window with a count of how many changes each one had. The README also mentions per-developer contribution percentages as an output, though no sample of that view is included. The repository also ships a folder of shell scripts named after popular GitHub profile achievements, including quickdraw.sh, yolo.sh, publicist.sh, pull-shark.sh, and pair-extraordinaire.sh, plus an achievement-tracker.js file. The README does not explain in detail what these scripts do or how they relate to the main blame-analysis tool. The README is short overall, so anyone evaluating the project will likely need to read the scripts and source files directly to confirm exact behaviour.

Copy-paste prompts

Prompt 1
Run gitblame-insights analyze on my monorepo and produce an HTML ownership report scoped to packages/api over the last 90 days.
Prompt 2
Write a .gitblame-insights.yml config that excludes generated files, vendored dependencies, and the docs/ folder from analysis.
Prompt 3
Use gitblame-insights churn to list the top 20 most-changed files over the last 365 days, then explain why each one is volatile.
Prompt 4
Generate a Markdown report from gitblame-insights owners grouped by module, and post it as a weekly summary in our team channel.
Prompt 5
Diff this week's gitblame-insights churn output against last week's and flag any new file that entered the top 10.
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.