Skip to content

Latest commit

 

History

74 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Big Board

A cyberpunk-themed TUI for assessing contributor volumes across git repositories. Inspired by Hiro Protagonist's Big Board from Neal Stephenson's Snow Crash.

Install

Big Board requires the git command-line client on PATH.

From Source

go install github.com/richhaase/bigboard/cmd/bigboard@latest

Usage

Big Board is TUI-first: preferences live in the config file, and the CLI has exactly four flags.

# Analyze current directory
bigboard

# Analyze specific repos or scan directories for repos
bigboard ~/src/repo1 ~/src/repo2
bigboard ~/src/

# Use a named group from your config
bigboard --group backend

# Print contributor stats as JSON and exit (all-time window)
bigboard --export ~/src/ > board.json

# Use an alternate config file
bigboard --config ./bigboard.json

# Print version and exit
bigboard --version

The time range is chosen interactively (←/→) and defaults to 14 days. Set since in the config to choose the initial range. --export always covers all time; per-contributor first/last commit dates are included for downstream filtering.

Accuracy notes

  • Author identity is resolved by git's native .mailmap (honored automatically for %aN/%aE), then grouped by email and exact name. Substring name merging (which can collapse distinct people like Daniel / Daniela) is off by default — enable it with "fuzzy": true. Add a .mailmap to a repo to canonicalize names/emails precisely.
  • AI authorship is detected from Co-authored-by trailers and AI author identities, including agent accounts that commit via GitHub (Copilot, claude[bot], devin-ai-integration[bot], google-labs-jules[bot], …). Add your own agents' emails or @domains under ai_identities.
  • Bots are counted, not hidden. Bot accounts (dependabot[bot], renovate[bot], your own agents via bot_identities) rank on the leaderboard with a BOT tag; press b to toggle them out of view.
  • Generated & vendored files (lockfiles, vendor/, node_modules/, dist/, *.min.*, *.snap, go.sum, …) are excluded from line counts by default so they don't inflate scores. Set "all_files": true to count everything.
  • Scope is each repo's default branch, --no-merges. Squash-merge workflows credit the merger; rename/copy churn is normalized via -M -C.

Controls

Key Action
↑/↓ j/k Navigate rows
←/→ h/l Cycle time range (1d / 7d / 14d / 30d / 90d / 1y / all)
Enter Drill into selected contributor
Esc Back / Quit
s Cycle sort column (commits / added / removed / net / ai / total)
S Reverse sort direction
/ Filter contributors by name (incremental)
b Toggle bot contributors in/out
r Open repo inclusion/exclusion overlay
space Toggle a repo in/out (within the repo overlay)
R Refresh (re-scan all repos)
q Quit (clears an active filter first)

In the contributor detail view, ↑/↓ step to the previous/next contributor.

Config file

Optional, at ~/.config/bigboard/config.json (override with --config).

{
  "paths": ["~/src"],
  "exclude": ["vendor-*", "org-a/api"],
  "sort": "net",
  "since": "90d",
  "theme": "dark",
  "fuzzy": false,
  "all_files": false,
  "depth": 2,
  "groups": {
    "backend": ["~/src/api", "~/src/workers"],
    "frontend": ["~/src/web"]
  },
  "ai_identities": ["my-agent@example.com", "@agents.example.com"],
  "bot_identities": ["my-agent@example.com"]
}
  • since takes a preset label: 1d, 7d, 14d, 30d, 90d, 1y, or all.
  • exclude entries match a repo basename, a unique display name like org-a/api (for duplicate basenames), or a glob of either.
  • ai_identities marks commits by those authors (or co-authors) as AI-assisted; entries are exact emails or @domain suffixes.
  • bot_identities tags contributors as bots; entries are exact emails, @domain suffixes, or exact author names.
  • Select a group with --group backend. Author identities can also be canonicalized with a standard git .mailmap in each repo.

Features

  • ASCII art banner with vertical color gradient
  • Streaming repository-scan loader that surfaces unreadable repos as they load
  • Gradient impact bars with trailing glow; gold/silver/bronze rank styling
  • AI-authorship as a first-class metric: leaderboard AI% column, per-month AI share, per-repo AI %
  • Bot contributors counted and tagged (BOT), with a one-key toggle to hide them
  • Per-contributor drill-down: repo breakdown, gap-aware monthly timeline, neon contribution heatmap, and derived metrics (active days, first/last commit, churn)
  • Scrollable, height-aware leaderboard with incremental / search — every contributor reachable
  • Headless --export (JSON, same pipeline and identity policy as the TUI), config file with named --groups, glob excludes, and recursive scan depth
  • Accurate-by-default: native .mailmap, generated/vendored files excluded, deterministic ordering, rename/copy-aware churn
  • Git worktree detection (automatically skipped during repo discovery); symlinked repo directories are followed and deduplicated

License

MIT

About

Cyberpunk-themed TUI for assessing contributor volumes across git repositories. Inspired by Snow Crash.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages