File Complexity Overall
  • There are 84 files with units, with 23,134 lines of code.
    • 8 very complex files (McCabe index sum 251+; 6,389 lines of code)
    • 12 complex files (McCabe index sum 126-250; 5,628 lines of code)
    • 16 medium complex files (McCabe index sum 51-125; 5,379 lines of code)
    • 14 slightly complex files (McCabe index sum 26-50; 2,310 lines of code)
    • 34 simple files (McCabe index sum 1-25; 3,428 lines of code)
  • 22 main files have no units (e.g. languages without unit analysis, or files without functions) and are not classified.
system27% | 24% | 23% | 9% | 14%
Legend:
251+
126-250
51-125
26-50
1-25


explore: grouped by folders | grouped by complexity
File Complexity per Extension
251+
126-250
51-125
26-50
1-25
py37% | 29% | 15% | 5% | 10%
ts14% | 11% | 44% | 20% | 9%
tsx0% | 68% | 0% | 0% | 31%
js0% | 0% | 0% | 9% | 90%
File Complexity per Logical Decomposition
primary
251+
126-250
51-125
26-50
1-25
plugins31% | 27% | 14% | 9% | 16%
external_plugins0% | 0% | 89% | 10% | 0%
.github0% | 0% | 61% | 38% | 0%
Most Complex Files (Top 50)

The McCabe index of a file grows with its size: per 100 lines tells a large but plain file from a dense one, and most complex unit whether the complexity sits in one unit or is spread over many.

File# lines# unitsMcCabe index
(sum)
per 100
lines
most complex
unit
proof_pack.py
in plugins/code-modernization/scripts
815 45 603 74 87
build_report.py
in plugins/code-modernization/scripts
600 35 471 79 93
baseline_diff.py
in plugins/code-modernization/scripts
651 33 400 61 54
patch_artifacts.py
in plugins/claude-security/scripts
1024 47 288 28 22
security_reminder_hook.py
in plugins/security-guidance/hooks
1340 24 286 21 68
register.ts
in plugins/code-modernization/hooks
980 33 266 27 136
telemetry.py
in plugins/code-modernization/scripts
584 33 258 44 30
trace_rules.py
in plugins/code-modernization/scripts
395 24 256 65 58
progress.ts
in plugins/code-modernization/hooks/reader
776 17 193 25 108
render_report.py
in plugins/claude-security/scripts
769 33 191 25 43
compare.py
in plugins/code-modernization/scripts
379 22 187 49 22
gitutil.py
in plugins/security-guidance/hooks
493 23 182 37 17
ledger.py
in plugins/math-proof/skills/siege/scripts
436 21 171 39 26
uplift_checks.py
in plugins/code-modernization/scripts
277 15 161 58 39
save_result.py
in plugins/claude-security/scripts
404 24 155 38 33
write_scan_meta.py
in plugins/claude-security/scripts
415 15 145 35 39
hooks.py
in plugins/claude-security/hooks
382 28 140 37 19
reporesolve.py
in plugins/security-guidance/hooks
273 12 136 50 46
pane.tsx
in plugins/code-modernization/hooks/views
575 16 133 23 26
ensure_agent_sdk.py
in plugins/security-guidance/hooks
449 19 126 28 30
server.ts
in external_plugins/imessage
700 24 121 17 31
make_shards.py
in plugins/code-modernization/scripts
223 10 116 52 30
modernized.ts
in plugins/code-modernization/hooks/reader
298 22 106 36 14
server.ts
in external_plugins/telegram
854 25 93 11 16
generate_review.py
in plugins/skill-creator/skills/skill-creator/eval-viewer
365 13 89 24 21
diffstate.py
in plugins/security-guidance/hooks
244 13 84 34 20
xray.ts
in plugins/code-modernization/hooks/xray
187 7 84 45 17
render_rules.py
in plugins/code-modernization/scripts
161 5 77 48 56
finding.py
in plugins/claude-security/scripts/lib
332 22 76 23 12
server.ts
in external_plugins/discord
725 16 75 10 16
extensibility.py
in plugins/security-guidance/hooks
181 11 71 39 21
rule_engine.py
in plugins/hookify/core
170 8 61 36 28
rules.ts
in plugins/code-modernization/hooks/reader
322 12 60 19 18
aggregate_benchmark.py
in plugins/skill-creator/skills/skill-creator/scripts
270 6 56 21 23
discover_bumps.py
in .github/scripts
163 5 56 34 39
config_loader.py
in plugins/hookify/core
184 5 55 30 26
estate.ts
in plugins/code-modernization/hooks/map
192 5 50 26 25
sarif.py
in plugins/claude-security/scripts/lib
269 21 48 18 5
discover.ts
in plugins/code-modernization/hooks/reader
228 9 47 21 15
fleet.ts
in plugins/code-modernization/hooks/fleet
231 9 47 20 12
external-pr-scope.js
in .github/scripts
101 7 47 47 18
verification.ts
in plugins/code-modernization/hooks/reader
99 4 43 43 16
topology.ts
in plugins/code-modernization/hooks/reader
179 5 38 21 22
session_state.py
in plugins/security-guidance/hooks
100 7 35 35 14
_base.py
in plugins/security-guidance/hooks
115 6 33 29 14
run_loop.py
in plugins/skill-creator/skills/skill-creator/scripts
256 4 31 12 14
quick_validate.py
in plugins/skill-creator/skills/skill-creator/scripts
68 1 30 44 30
server.ts
in external_plugins/fakechat
267 7 29 11 14
raster.ts
in plugins/code-modernization/hooks/map
62 4 28 45 22
estate-model.ts
in plugins/code-modernization/hooks/reader
143 4 27 19 11
About This Analysis
  • File complexity is the sum of the McCabe indexes (conditional complexity) of the units (methods, functions...) in a file.
  • Files are classified in five categories based on that sum: 1-25 (simple files), 26-50 (slightly complex files), 51-125 (medium complex files), 126-250 (complex files), 251+ (very complex files). The default bands are five times the unit complexity bands, as a file is a group of units.
  • Only main code files with units are classified. Files without units (languages without unit analysis, or files without functions) have no complexity to measure and are left out rather than counted as simple.
  • A very complex file holds many decisions, which often means it has too many responsibilities: a candidate to split, and a place where changes need more testing.
Learn more...