HexSleeves / happy
Code health
Hotspots average 4.3, the place fixes pay off most.
Explore this codebase
- Code health map126hotspots across 1,430 files
- Ownership793sole-owned files: one author, no second reader
- Architecture7modules, 35 entry points
- Decisions36recorded, of which 0 accepted and 36 awaiting review
- Refactoring128open opportunities, one per file
- TestsNo coverage report yet. Run your tests with coverage on, then add the report:
AlsoDocsChatFilesKnowledge graphChange couplingCommitsStatsCosts
Do next · 3
3 things worth doing in the week to Aug 28, the last indexed commit.
Worth planning
Start breaking up reducer (CCN 210, 699 lines): first lift lines 748-851
packages/happy-app/sources/sync/reducer/reducer.ts:748
reducer nests deeply; easier to read and change once split, which also removes a duplicate; function changed in 39 commits; its file is imported by 4 files, changed 5 times in 90 days.
- gain
- up to +1.6 health on this file(inferred)
- finding
- Nested complexity
- size
- CCN 210, 699 lines, nests 9 deep
- severity
- high
Medium effort, worth a checkStart breaking up startDaemon (CCN 114, 704 lines): first lift lines 62-1032
packages/happy-cli/src/daemon/run.ts:62
startDaemon nests deeply; easier to read and change once split, which also removes a duplicate; function changed in 52 commits; its file is imported by 7 files, changed 8 times in 90 days.
- gain
- up to +1.8 health on this file(inferred)
- finding
- Nested complexity
- size
- CCN 114, 704 lines, nests 7 deep
- severity
- high
Medium effort, worth a checkStart breaking up runCodex (CCN 138, 786 lines): first lift lines 143-156
packages/happy-cli/src/codex/runCodex.ts:143
runCodex nests deeply; easier to read and change once split, which also removes a duplicate; function changed in 52 commits; its file is imported by 1 file, changed 14 times in 90 days.
- gain
- up to +1.1 health on this file(inferred)
- finding
- Nested complexity
- size
- CCN 138, 786 lines, nests 5 deep
- severity
- high
Medium effort, worth a check
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
Everything we found
5 areas
Every detector's open count by area. The actions above are the part worth doing.
- Code health1,999 open findingsCriticalUntested hotspot · packages/happy-cli/src/daemon/run.ts12 findings · 9.7 deducted
- Refactoring128 open opportunitiesMedium_extract_user_assistant_text+1.5 health, S effort · .agents/skills/sessions/scripts/extract-metadata.py
- Decisions36 to reviewMediumpackages/happy-app/sources/app/(app)/new/index.tsx36 awaiting review, 0 drifting from the code
- Ownership793 sole-owned filesMediumpackages/happy-app/sources/components/FlatSessionRow.tsxOne author, no second reader
- Dead code162LowchatListAtomUnreachable variable (4 lines)