Find the riskiest code
in any repo.
Know which functions to fix before your next incident. One command, any codebase, no config.
TypeScript · JavaScript · Rust · Go · Python · Java
$ hotspots analyze scripts/
18.8 send_digest.py send_digest critical
14.4 core.py _load_content critical
6.9 enrich_git.py _rel_path moderate Install in 30 seconds
One command. No daemon. No config file required.
$ brew install Stephen-Collins-tech/tap/hotspots $ hotspots analyze scripts/ Top risk functions
18.8 send_digest.py send_digest critical
14.4 core.py _load_content critical
6.9 enrich_git.py _rel_path moderate What you get
In under a minute, on any repo.
Block complexity regressions
Run in delta mode with --policy. CI fails if a PR introduces a new critical function or spikes an existing one.
Prioritize with a risk score
Every function gets a numeric score. No guessing — a ranked list you can act on in the next sprint.
Find what's causing incidents
Combines cyclomatic complexity with churn history to surface functions that are hard to understand and frequently changing.
Recent analyses
Browse all →actix/actix-web
actix-web's HTTP/1 dispatcher tops the risk list — five functions to address first
Sep 11, 2026
rust-lang/rust-clippy
Rust-clippy's lint-check logic tops activity risk — 5 functions to fix first
Sep 11, 2026
spf13/afero
afero's structural debt: 5 dormant functions carry the highest refactor risk
Sep 10, 2026
Real output. Real repos.
Every analysis on this site was run automatically against a real open-source repo — same tool, same command, nightly. You can reproduce any post locally in one command.
100+
repos analyzed
nightly
new analyses added
1 cmd
to reproduce any post
$ hotspots analyze <path> --mode snapshot --format json --explain-patterns --force