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.
# backend
python -m venv .venv && source .venv/bin/activate
pip install -e backend
uvicorn app.main:app --app-dir backend --reload # http://localhost:8000
# frontend (dev, hot reload)
cd frontend && npm install && npm run dev # http://localhost:5173
# ...or build once and let the backend serve it:
cd frontend && npm run build
Two-minute guides with the exact token scopes — and the gotchas most people hit.
read_api scope, self-managed host URLs.