dev-tools 5 min read

RepoSquirrel - Git Analytics Dashboard

Self-hosted Git analytics dashboard for engineering teams: tracks contributions, subsystem ownership, and code evolution across multiple repos via Docker.

By
Share: X in
RepoSquirrel developer analytics dashboard showing contribution charts

TL;DR

TL;DR: RepoSquirrel is an open-source, self-hosted web dashboard that visualizes developer contributions, subsystem ownership, and code evolution across multiple Git repositories — deploy it on any server with a single Docker command.

Source and Accuracy Notes

⚠️ This section is MANDATORY. All links must be verified from actual source, not guessed.

What Is RepoSquirrel?

RepoSquirrel is an open-source, self-hosted Git analytics tool built for engineering teams that manage multiple repositories. It gives a bird’s-eye view of who owns what, where development effort is concentrated, and how codebases evolve over time — without sending data to a third-party SaaS.

The tool is particularly useful for large codebases or organizations where code ownership is distributed across many teams. It integrates with PagerDuty to correlate active incidents with development activity.

Setup Workflow

Prerequisites

  • Docker installed on your server
  • Python 3.9+ and Git (for manual setup)
  • tokei for language statistics — install via cargo install tokei --features all or your system package manager

The fastest path is a single Docker command:

docker run -p 5000:5000 -v repos:/app/repos -v stats:/app/stats -v configuration:/app/configuration ghcr.io/reposquirrel/reposquirrel:latest

Then open http://localhost:5000 to configure your repositories, teams, subsystems, and aliases, and trigger the first analysis run.

Manual Setup

git clone https://github.com/reposquirrel/reposquirrel.git
cd reposquirrel
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python dashboard_server.py

Then visit http://localhost:5000.

Features

Developer Analytics

  • Contribution tracking — lines added, removed, and modified per developer, with monthly and yearly historical trends
  • Ownership metrics — current code ownership computed via git blame analysis
  • Team organization — group developers into teams for collective insights
  • User aliases — consolidate statistics for users with multiple Git identities (e.g., [email protected] and jsmith@github)

Subsystem and Service Analysis

  • Multi-repository support — analyze multiple repositories simultaneously from a single dashboard
  • Path-based subsystem definitions — define services by directory paths and track contributions per subsystem
  • Unified statistics — aggregate data across related subsystems

Code Evolution and Language Tracking

  • Historical analysis — track how contribution patterns change over months and years
  • Language detection — use tokei to break down contributions by programming language

PagerDuty Integration

RepoSquirrel has a dedicated Alerts dashboard tab that visualizes PagerDuty incidents alongside repo metrics:

  • Automatic ingestion of the last 12 months of incidents using a configured API token
  • Open incident history, opened vs. closed trends, and severity breakdown
  • Responder leaderboard — match PagerDuty resolvers to developer profiles and drill into per-responder timelines
  • Useful for correlating support load with development activity

Kiosk Mode

Loop curated repo metrics and PagerDuty responder boards on hallway displays via /kiosk. Designed for engineering room screens or management visibility.

Additional Capabilities

  • Ignore lists — filter out bots and automated accounts from statistics
  • Real-time updates — live progress tracking for long-running analysis jobs
  • Interactive web UI — configure repositories, teams, subsystems, and aliases without editing config files

Practical Evaluation Checklist

  • Can clone and run with one Docker command on a fresh Ubuntu VM
  • Correctly attributes commits across multiple repositories
  • Subsystem path-based filtering works as documented
  • PagerDuty integration pulls incident data correctly with a valid API token
  • Kiosk mode renders cleanly on a 1080p display
  • Ignores bots and duplicate user identities when aliases are configured

Security Notes

RepoSquirrel is fully self-hosted. All data (Git repositories, statistics caches, PagerDuty credentials) stays on your own infrastructure. The PagerDuty integration requires a read-only API token, which is stored locally in the app’s configuration — not transmitted anywhere else.

Review the AGPL-3.0 license before deploying in commercial environments. A commercial license exception is available if AGPL obligations are a blocker — see COMMERCIAL_LICENSE_EXCEPTIONS.md in the repo.

FAQ

Q: How does RepoSquirrel track code ownership? A: It runs git blame on the configured branches and tallies the number of lines each developer is responsible for per file and subsystem. It does not require any instrumentation or agents installed in the repositories themselves.

Q: Can it analyze private GitHub or GitLab repositories? A: Yes — give RepoSquirrel SSH or HTTPS access to your private repos the same way you would from a local machine (SSH key, deploy token, or credentials), and it will clone and analyze them locally.

Q: Does it work with GitHub Enterprise or GitLab self-hosted? A: RepoSquirrel works with any Git server accessible from the machine it runs on — GitHub, GitLab, Bitbucket, Gitea, or a custom Git server. The PagerDuty integration requires a standard PagerDuty account with API access.

Q: How often does it update statistics? A: You trigger updates manually via the “Run Update” button in the UI. Each update pulls fresh data from all configured repositories and PagerDuty. There is no automatic scheduled refresh built in — for that, you would need a simple cron job calling the update endpoint.

Q: What is the difference between Kiosk mode and the main dashboard? A: Kiosk mode loops a curated set of visualizations (repo metrics, PagerDuty responders) in fullscreen, suitable for a wall-mounted display. The main dashboard is interactive and lets you configure repositories, teams, and subsystems.

Conclusion

RepoSquirrel fills a specific gap for engineering teams running multiple Git repositories who want visibility into code ownership and contribution patterns without using a SaaS analytics product. Its PagerDuty integration is a practical touch for correlating on-call activity with development work. The one-line Docker deployment makes it genuinely easy to self-host.

If you need to understand who owns what across a large, fragmented codebase, RepoSquirrel is worth a Docker container on any server you already have running.

Project page: reposquirrel.com | Source: github.com/reposquirrel/reposquirrel