colbymchenry / codegraph
Code health
This codebase scores 5.4 out of 10 for code health, which we rate needs work. It also scores maintainability 6.8 and static performance 9.6 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 74 of 538 files are git hotspots, and they average 3.4 — which is where the fixes pay off most.
Do next
2 suggested
3 things worth doing this quarter, 1 of them now.
Worth planning
Update the decision “Unwrap hard-wrapped CHANGELOG bullets for GitHub release Markdown”: the code it governs has moved on
Agents and reviewers still follow it, so they are steered by a rule the code no longer keeps.
- status
- Accepted, drifting
Small effort, worth a checkDelete 109 unused symbols and files (1,154 lines)
Nothing in the graph reaches them, across 24 files; every reader and agent pays to skip them.
- symbols
- 109
- lines
- 1,154
- safe to delete
- Yes(inferred)
Medium effort
Improve what Repowise can see
Add a test coverage report
Without one, Repowise cannot tell tested code from untested code, so every test-related action says “unknown”.
- line coverage
- Unknown, no report
Small effort
- Lines of code
- 141.3K
Recent activity
All commitsCommits
- 49c11fc2Self-hosted telemetry on Cloudflare D1 + password-gated admin dashboard (CG-7) (#1497)2mo ago
- f6ac7b36fix(mcp): blast radius follows caller chains before claiming no test coverage (#1475) (#1494)2mo ago
- 38580e0bfix(python): bare class references produce references edges to classes (#1478) (#1493)2mo ago
- f2a5df34fix(mcp): never serve a mis-sliced symbol body from a file that drifted from its index (#1474) (#1492)2mo ago
- 02c0e2c9fix(db): stop watchdog-killed sessions from leaking the SQLite WAL without bound (#1431) (#1490)2mo ago
- 0682137afix(installer): write the Claude prompt hook as codegraph.cmd on Windows (#1466) (#1489)2mo ago
Decisions
- Unwrap hard-wrapped CHANGELOG bullets for GitHub release Markdownactive · 2mo ago
- Add codegraph.json extension-to-language overridesproposed · 2mo ago
- Improve Go extraction for multi-module reposproposed · 2mo ago
- Add Erlang language supportproposed · 2mo ago
- Fix baseline checkout when files changed since baselineproposed · 2mo ago
- Surface dynamic-dispatch boundaries instead of guessing edgesproposed · 2mo ago
Everything we found
3,696 open
Every detector's open count by area, each with its worst example. An inventory, not a to-do list: the actions above are the part worth doing.
- worst item is critical severity. Code health2,638Untested hotspot · src/index.ts36 findings · 10.0 deducted
- worst item is medium severity. Refactoring387parse+1.5 health, S effort · scripts/agent-eval/parse-bench-readme.mjs
- worst item is high severity. Decisions139Unwrap hard-wrapped CHANGELOG bullets for GitHub release Markdown1 drifting from the code · 64 awaiting review · 74 hotspots ungoverned
- worst item is medium severity. Ownership417__tests__/resolution.test.ts87% single-owner concentration, 51 commits in 90d
- worst item is low severity. Dead code115ensureSubdirectoryUnreachable function (12 lines)
Composition
Open the graph- typescript76%
- shell8%
- javascript7%
- rust5%
- cpp3%
- Other1%
Explore this codebase
- Docs587 pages across 9 modules
- ChatAsk this codebase a question and get an answer with its sources.
- Files538 files with per-file docs, health and history
- ArchitectureDependency graph, layers, and 47 entry points
- Code healthPer-file scores, 2,927 open findings, coverage and refactoring targets
- Knowledge graphEntities, communities, and the paths between them
- Change couplingFiles that keep changing together, mined from commit history
- CommitsChange-risk ranked history with agent provenance
- ContributorsBus factor, per-file maintainers, and the human/agent split
- StatsSize class, origin, lifetime churn, rhythm and records
- CostsWhat indexing this snapshot cost, by model and by run.