go Code Health

13 open-source go repositories analyzed by activity-weighted risk — complexity × recent commit frequency. Sorted highest risk first.

Repositories 13
Avg Top Risk 18.6
Top Patterns exit_heavygod_functionlong_function
MHSanaei/3x-ui risk 21.0

3x-ui's bot and inbound paths carry the highest risk — 5 functions to address first

Five functions in 3x-ui are both structurally complex and actively changing right now — one with a cyclomatic complexity of 101. That combination is a live regression risk, not a cleanup backlog item.

complex_branchingexit_heavy
Read →
go-gorm/gorm risk 20.2

go-gorm/gorm's schema debt leads the risk list — 5 functions to address first

gorm's highest-risk functions are mostly quiet right now, but they carry heavy structural debt: schema field setup, condition building, association saving, schema parsing, and create-value conversion all combine high branching with deep nesting or broad fan-out. The next change in these paths will inherit months of dormancy plus dense control flow.

complex_branchingdeeply_nested
Read →
AlistGo/alist risk 17.8

alist's WebDAV XML layer carries the highest activity risk — 3 functions to address first

Four of alist's top five hotspots sit in the internal WebDAV XML implementation; unmarshal leads with CC 36 and fan-out 66, while UploadByMultipart's fan-out of 48 makes it the clearest storage-driver refactoring target.

exit_heavygod_function
Read →
juanfont/headscale risk 17.4

headscale's policy/v2 layer carries the highest activity risk — 2 functions to address first

headscale's policy engine is where structural complexity meets live development pressure: the two highest-risk functions are both actively changing right now, making them live regression risks rather

exit_heavygod_function
Read →
labstack/echo risk 16.7

echo's binding layer carries the highest activity-weighted risk — 5 functions to address

echo's request binding owns the top two risk slots — `bindData` calls 41 distinct functions while `bindValue` branches across 29 execution paths, both in actively committed code across a framework trusted by thousands of Go services.

exit_heavygod_function
Read →
charmbracelet/bubbletea

bubbletea's core runtime carries the highest activity risk — 3 functions to address first

Three functions in bubbletea's core runtime are both structurally complex and changing right now — making them live regression risks, not just cleanup items on a backlog.

exit_heavygod_function
Read →
filebrowser/filebrowser

filebrowser's frontend and HTTP layer carry the highest activity risk — 5 functions to address first

Five of filebrowser's most critical functions are complex AND actively changing simultaneously — the search API, file listing view, and config handler are live regression risks, not backlog items.

god_functionexit_heavy
Read →
schollz/croc

croc's core transfer layer carries the highest activity risk — 5 functions to address first

Four of croc's five riskiest functions are actively changing right now — and they all live in the same two files that orchestrate every file transfer. That's a live regression risk, not a backlog item

god_functionlong_function
Read →
XTLS/Xray-core

Xray-core's proxy layer carries the highest activity risk — 5 functions to address first

Xray-core's VLESS inbound handler is the most complex and most actively changed function in the codebase — all five top hotspots sit in the fire quadrant, making refactoring urgent.

complex_branchingexit_heavy
Read →
spf13/cobra

cobra's completion subsystem carries the highest activity risk — 5 functions to address first

cobra's completion layer is its most structurally fragile subsystem — one function alone calls 39 distinct callees, making any future change there a high-blast-radius event.

exit_heavygod_function
Read →
evanw/esbuild

esbuild's JS parser carries the highest activity risk — 3 functions to address first

esbuild's JS parser is simultaneously its most complex and most actively changing subsystem — three functions inside it carry cyclomatic complexity scores that dwarf anything else in the codebase, and

complex_branchingdeeply_nested
Read →
kubernetes/kubernetes

Kubernetes's kubelet and apiserver carry the highest activity risk — 5 functions

The function converting container statuses in kubernetes's kubelet is both one of the most structurally complex and one of the most actively changing in the entire codebase — a live regression risk hi

complex_branchingdeeply_nested
Read →
labstack/echo

labstack/echo's binding and middleware layers carry the highest activity risk — 5 functions to address first

Echo's request-binding layer is the most structurally complex part of the top-five hotspot set, while CSRF and CORS middleware add high-coupling factory functions.

exit_heavygod_function
Read →

Other Languages