DEV Community

ke jia
ke jia

Posted on

Git Analytics Without Leaving Your Terminal

I used to open GitHub → Insights → Contributors → wait for load → squint at tiny graphs. Now I just type one command.

npx @wuchunjie/gitpulse
Enter fullscreen mode Exit fullscreen mode

What You Get

  📊  GITPULSE

  📝  Total commits: 847
  👤  Contributors:  4
  📅  Active days:   89
  📂  Files touched:  320

  👥  Top Contributors
    Alice              ██████████████░░  487
    Bob                ██████████░░░░░░  312
    Charlie            ███░░░░░░░░░░░░░   38
    You                █░░░░░░░░░░░░░░░   10

  📂  File Type Breakdown
    .js                 ██████████████░░  140
    .ts                 ██████████░░░░░░   97
    .css                ████░░░░░░░░░░░░   38
    .json               ██░░░░░░░░░░░░░░   22
    .md                 ██░░░░░░░░░░░░░░   18

  🔥  Recent Activity
    2026-05-11  ██████████████████████  12
    2026-05-12  ████████████░░░░░░░░░░░   6
    2026-05-13  ██████████████████░░░░░   9
    2026-05-14  ██████████████████████  11
    2026-05-15  ██████████████████████  13
    2026-05-16  ██████████░░░░░░░░░░░░░   5
    2026-05-17  ████████████████░░░░░░░   8
Enter fullscreen mode Exit fullscreen mode

All in your terminal. In under a second.

Why Terminal-First?

  1. No context switch — stay in the flow
  2. Scriptable — pipe into grep, awk, whatever
  3. Works anywhere — local, SSH, CI
  4. Zero deps — single Node.js file, nothing to install

Real Use Cases

Daily Standup Prep

npx @wuchunjie/gitpulse | head -20
Enter fullscreen mode Exit fullscreen mode

Quick stats on what happened yesterday.

New Repo Assessment

git clone https://github.com/some/project
cd project
npx @wuchunjie/gitpulse
Enter fullscreen mode Exit fullscreen mode

Is this repo actively maintained? Who's doing the work?

Sprint Retro

npx @wuchunjie/gitpulse > retro-stats.txt
Enter fullscreen mode Exit fullscreen mode

Hard data for your retro board.

How It Works

Pure git log under the hood. No external APIs, no analytics tracking, no data leaving your machine.

# It basically runs:
git log --format="%an|%ad|%s" --date=short --all
git log --format="" --name-only --all
# Then parses, aggregates, and renders in your terminal
Enter fullscreen mode Exit fullscreen mode

Try It

npx @wuchunjie/gitpulse
Enter fullscreen mode Exit fullscreen mode

⭐ Star on GitHub | npm


More terminal tools at ko-fi.com/wuchunjie

Top comments (0)