hercules

hercules is a tool for fast, insightful and highly customizable Git history analysis: it replays a repository’s entire commit history in a single pass and extracts analyses from it — project burndown, code ownership, churn, coupling, bus factor, structural hotness, and more.

A revival

The original src-d/hercules was left behind when the company behind it wound down. My fork brings it back to life: a modernized Go toolchain, working CI, a GitHub Action, analysis presets, caching, and a stream of fixes and new analyses on top of the original engine.

Eating my own dog food

The plotting side is where my projects converge: charts are rendered through matplotlib-go, my own plotting library, and labours-go reimplements the original Python companion tool in Go. The chart below is hercules analyzing its own repository — ten years of history, including the point where the revival begins:

Project burndown chart of the hercules repository, rendered with matplotlib-go
hercules analyzing itself: project burndown over ten years of history