Your coding fingerprint โ local git analytics dashboard for all your repos.
Project description
Scan every git repo on your machine. Get streaks, heatmaps, language trends, project health scores, and more โ all in one interactive terminal dashboard.
WakaTime costs $9/mo. GitHub Wrapped is once a year. huntd is free, local, instant, and sees everything.
Install
pip install huntd
Quick Start
# Interactive TUI dashboard
huntd ~/code
# One-shot summary (no TUI)
huntd ~/code --summary
# JSON output (pipe to jq, scripts, etc.)
huntd ~/code --json
# Scan current directory
huntd
What You Get
โญโโโโโโโโโโโโโโโโโโโโโโ huntd โ your coding fingerprint โโโโโโโโโโโโโโโโโโโโโโโโฎ
โ Repos: 14 Commits: 4,847 Languages: 8 โ
โ Current streak: 14 days Longest: 31 days โ
โ Most active: Tuesdays at 10pm Avg: 3.2/day โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Top Repos
โโโโโโโโโโโโโโโโณโโโโโโโโโโณโโโโโโโโโโโโณโโโโโโโโโโโโโโโโณโโโโโโโโโโณโโโโโโโโโ
โ Repo โ Commits โ Language โ Health โ +Lines โ -Lines โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ cloud-dash โ 847 โ Python โ โโโโโโโโโโ 95 โ +15,847 โ -1,204 โ
โ pulse-mobile โ 623 โ Go โ โโโโโโโโโโ 85 โ +8,619 โ -820 โ
โ data-engine โ 412 โ Rust โ โโโโโโโโโโ 80 โ +6,074 โ -503 โ
โ api-gateway โ 203 โ TypeScriptโ โโโโโโโโโโ 70 โ +2,876 โ -118 โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโ
Languages
โโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Language โ Lines Changed โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Python โ 15,823 โ โโโโโโโโโโโโโโโโโโโโ 62% โ
โ Go โ 5,628 โ โโโโโโโโโโโโโโโโโโโโ 22% โ
โ Rust โ 2,519 โ โโโโโโโโโโโโโโโโโโโโ 9% โ
โ TypeScript โ 827 โ โโโโโโโโโโโโโโโโโโโโ 3% โ
โโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Features
| Feature | Description |
|---|---|
| Multi-repo scanning | Recursively finds every git repo under a directory |
| Coding streaks | Current and longest streak computed from local commits |
| Contribution heatmap | GitHub-style activity grid across all repos (TUI mode) |
| Language breakdown | Lines changed per language with trend bars |
| Project health scores | 0-100 score based on recency, README, branches, cleanliness |
| Activity patterns | Busiest day, busiest hour, average commits per day |
| Top repos ranking | Sorted by commit count with language and health |
| Interactive TUI | Navigate panels with keyboard (Textual-powered) |
| Summary mode | --summary for a quick Rich-formatted printout |
| JSON export | --json for scripting and pipelines |
How It Works
- Scan โ Recursively finds all
.gitdirectories under the target path - Extract โ Runs optimized
git logcommands in parallel (8 threads) across all repos - Analyze โ Computes streaks, heatmaps, language stats, health scores, and activity patterns
- Display โ Renders an interactive dashboard or summary
All data comes from local git history. No API keys. No accounts. No cloud. No cost.
Output Modes
# Interactive dashboard (default)
huntd ~/code
# Static summary โ great for screenshots
huntd ~/code --summary
# JSON โ pipe to jq, save to file, feed to scripts
huntd ~/code --json
huntd ~/code --json | jq '.repos[] | select(.commits > 100)'
# Version
huntd --version
Health Score
Each repo gets a 0-100 health score based on:
| Factor | Points | Criteria |
|---|---|---|
| Commit recency | 0-40 | Last commit within 7d (40), 30d (30), 90d (20), 1yr (10) |
| Total commits | 0-20 | 100+ (20), 50+ (15), 10+ (10), 1+ (5) |
| Has README | 0-15 | README file present in repo root |
| Branch hygiene | 0-15 | 1-5 branches (15), 6-10 (10), 11+ (5) |
| Clean tree | 0-10 | No uncommitted changes |
Why Not X?
| Tool | Limitation |
|---|---|
| WakaTime | Cloud-only, $9/mo, tracks editor time not git history |
| GitHub Wrapped | Annual only, GitHub repos only, no local/private repos |
| onefetch | Single repo snapshot, not interactive |
| git-quick-stats | Single repo, text dump, no dashboard |
| tokei / scc | Line counting only, no history or trends |
huntd is the first tool to combine multi-repo scanning + streaks + heatmaps + language trends + health scores in one interactive dashboard. Free. Local. Instant.
Development
git clone https://github.com/TRINITY-21/huntd.git
cd huntd
pip install -e ".[dev]"
python -m pytest tests/ -v
Support
If this project is useful to you, consider supporting it.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file huntd-0.2.0.tar.gz.
File metadata
- Download URL: huntd-0.2.0.tar.gz
- Upload date:
- Size: 24.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d330be6fd19ec8b7e9cac922d2c9477c9dcf95c13b01c2158ab36f359f85f596
|
|
| MD5 |
8fed765b53d7f50e1f573b7863095c16
|
|
| BLAKE2b-256 |
2e5e921196f73ea6454c583f50ce0134f3457b25ba86093ce57a8ccd46addb46
|
File details
Details for the file huntd-0.2.0-py3-none-any.whl.
File metadata
- Download URL: huntd-0.2.0-py3-none-any.whl
- Upload date:
- Size: 21.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc03705e4f0ab161e16d7379b1c1adbcf4d970995b03da8494e2ef6b5c4a11c9
|
|
| MD5 |
896ad1fcf6c5b833641e4dd59d43cbc2
|
|
| BLAKE2b-256 |
48a90533ed27da56a497927ad866f6c30462e08c41d214f66182657357a41600
|