commit-grapher pulls your history from GitHub, Azure DevOps and more into a single interactive network graph, a contribution heatmap, and a stats dashboard. Your code is never cloned.
Your code lives on GitHub, your work items in Jira or Azure Boards? commit-grapher pulls every version-control host and your issue trackers together — all your scattered activity under one framework.
Connect an account and the first thing you see is the graph. Then drill anywhere.
Accounts → repos → branches → PRs → commits as an Obsidian-style WebGL graph. Physics, zoom, drag, focus, and deep filtering across every dimension.
A GitHub-style calendar combined across every provider. Click any day to drill into a real git-graph — branch & merge lanes, clickable commits.
KPIs, night-owl hours, code besties, the repo graveyard, stars/forks/releases — with cross-filtering, so one click reshapes every view.
Everyone who's touched your repos, ranked — with a human-vs-AI breakdown, so you can see how much your agents actually wrote.
GitHub, Azure DevOps, GitLab, Bitbucket, Gitea and Codeberg on one adapter — plus Jira issues matched to your commits. Public usernames or private repos with a token.
Runs on your machine on a local port. No account, no cloud, no telemetry. Tokens live in your OS keychain, never on disk.
Real screenshots from the app — dark theme, your data.
A physics-driven map of your entire git footprint.
commit-grapher reads only metadata — commit messages, branch names, PR titles, timestamps — through each provider's REST API. It never clones a repository or reads a single line of source. Tokens live in your OS keychain.
Python ≥ 3.13 backend, Vite/React frontend. Nothing to deploy. One script does it all.
# clone, then one command — venv + install + build + serve on :8000
git clone https://github.com/fxerkan/commit-grapher && cd commit-grapher
# macOS / Linux
./start.sh # → http://localhost:8000
./start.sh dev # hot reload: backend :8000 + Vite :5173
# Windows (PowerShell, or double-click start.bat)
.\start.ps1 # → http://localhost:8000
.\start.ps1 dev # hot reload: backend :8000 + Vite :5173
Two-minute guides with the exact token scopes — and the gotchas most people hit.
read_api scope, self-managed host URLs.