Quality Score: 70/100
Low RiskThis repo is in good health with CI, tests, and active maintenance.
High churn files -10High complexity -10Multiple anti-patterns -10
Maintainability grade
Static analysisHow maintainable the code looks — from complexity, code issues, test presence, file size, and hotspot load. It grades the shape of the code, not defect risk, and doesn't replace review.
F20/100
A ≥ 85, B ≥ 70, C ≥ 55, D ≥ 40, F < 40
Cyclomatic complexityavg 4980/35 Code issues3 errors, 523 warnings0/20 Testspresent · ~75% of files20/20 Largest file23,230 lines0/15 Hotspot load10 high-risk files0/10 Configuration status
CI/CD Pipeline — configured
Test Suite — detected
1,027 test files detected
Stack: Jest/Vitest · Go test
Where: apps/cli-e2e/src/tests · .github/scripts · .github/scripts/ai-review
Test Coverage — ~75%heuristic
1,027 test files / 1,369 source files. This is a file-count ratio, not real line coverage — set up Codecov for authoritative numbers.
Dependency Scanning — 1 tool configured
CodeQL
Live Signals
Real-time data from Codecov, GitHub Actions, GitHub Issues, deps.dev — not estimates.
CI pass rate74%
last 50 runs · median 54s
Stale-issue ratio0%
of 14 recent open issues are 30d+ old with no replies
Maintainer response16h
median first-reply across 3 recent issues · fast
Top hotspots
Files edited often AND hard to reason about. Churn = recent commit frequency, Complexity = branches and nesting, Risk = both combined. These are the highest-leverage targets for refactoring or testing.
All hotspots
Files that change often and are complex tend to accumulate more bugs
AI-suggested anti-patterns
AI · unverifiedPattern-matches from the file structure and dependencies — useful as hypotheses, but not grounded in actual source. For real findings see Code Scanning above.
Monorepo circular dependencies
MediumMultiple packages export config utilities that are re-exported by others, risking circular imports during bundling
packages/config/src, packages/api/src, packages/stack/src
Mixed async patterns (Promise + Effect)
MediumCodebase uses both Effect.ts async and native Promise patterns, complicating error handling uniformity
packages/config/src/promise-facade.ts, packages/api/src/internal/
Large configuration objects
LowSingle project config object accumulates all feature sections (auth, functions, storage), risking God Object anti-pattern
packages/config/src/project-config/project-config.ts
AI-suggested bottlenecks
AI · unverifiedSpeculation from file structure, not profiling data. Validate against real metrics before acting on these.
Synchronous validation on hot path Bottleneck
All CLI commands depend on schema validation; slow validators block every operation
packages/config/src/validate.ts
Sequential subprocess initialization Bottleneck
Subprocess spawning is serial; starting multiple local services waits for each sequentially
packages/stack/src/HostProcess.ts
Network I/O serialization Bottleneck
All API calls route through single client instance; network I/O latency directly impacts deployment speed
packages/api/src/internal/client.ts
Code metrics
Static analysis on sampled source files (up to 15 files).
Avg Cyclomatic Complexity498
Counts if/for/while/switch/catch/ternary branches
Errors / Warnings3 / 523
Secrets, empty catches, console.log, var usage, long lines