You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Vibe-Check gives engineering teams automated, continuous structural quality enforcement for their codebases — starting with Go, then Python and TS/JS.
In concrete terms, when this epic is complete a user can:
Run vibe-check analyze ./... and get a full Martin metrics report: Afferent Coupling (Ca), Efferent Coupling (Ce), Instability (I), Abstractness (A), Distance from Main Sequence (D), LCOM cohesion, circular dependency detection, and code duplication — per package, with zone classifications (main-sequence, zone-of-pain, zone-of-uselessness).
Gate CI on structural quality — PRs that degrade coupling metrics, introduce circular dependencies, or increase code duplication fail the build automatically: vibe-check analyze --regression-base=origin/main --no-new-circular-deps.
Get AI-assisted structural review — the divisor-entropy agent joins the Review Council automatically, computing the structural delta between base and PR and blocking merges that leave the codebase worse than they found it (Boy Scout Rule enforcement).
Query metrics conversationally — /vibe-check summary for a health overview, /vibe-check detailed for per-package breakdown, /vibe-check trending for drift over time.
Track architectural drift — metrics are stored as time-series snapshots in Dewey, with an mx-f-architecture-trend agent that alerts on gradual degradation before thresholds are crossed.
Analyze Python projects — rattler implements the ExternalAdapter JSON-RPC 2.0 protocol, so vibe-check analyze --language=python works seamlessly.
Enforce codified design rules — the AD-001 through AD-010 convention pack gives agents (and reviewers) concrete, measurable structural quality constraints: max fan-out, instability limits, no circular deps, file size, DRY, cohesion thresholds.
No single OSS tool currently computes the full Martin metrics suite for Go — or any language — through a unified, language-agnostic model. Vibe-Check fills that gap with a two-layer architecture: a universal metrics model (Layer 1, complete) and language-specific adapters (Layer 2, starting with Go).
What Users Get
Vibe-Check gives engineering teams automated, continuous structural quality enforcement for their codebases — starting with Go, then Python and TS/JS.
In concrete terms, when this epic is complete a user can:
Run
vibe-check analyze ./...and get a full Martin metrics report: Afferent Coupling (Ca), Efferent Coupling (Ce), Instability (I), Abstractness (A), Distance from Main Sequence (D), LCOM cohesion, circular dependency detection, and code duplication — per package, with zone classifications (main-sequence, zone-of-pain, zone-of-uselessness).Gate CI on structural quality — PRs that degrade coupling metrics, introduce circular dependencies, or increase code duplication fail the build automatically:
vibe-check analyze --regression-base=origin/main --no-new-circular-deps.Get AI-assisted structural review — the
divisor-entropyagent joins the Review Council automatically, computing the structural delta between base and PR and blocking merges that leave the codebase worse than they found it (Boy Scout Rule enforcement).Query metrics conversationally —
/vibe-check summaryfor a health overview,/vibe-check detailedfor per-package breakdown,/vibe-check trendingfor drift over time.Track architectural drift — metrics are stored as time-series snapshots in Dewey, with an
mx-f-architecture-trendagent that alerts on gradual degradation before thresholds are crossed.Analyze Python projects —
rattlerimplements the ExternalAdapter JSON-RPC 2.0 protocol, sovibe-check analyze --language=pythonworks seamlessly.Enforce codified design rules — the AD-001 through AD-010 convention pack gives agents (and reviewers) concrete, measurable structural quality constraints: max fan-out, instability limits, no circular deps, file size, DRY, cohesion thresholds.
No single OSS tool currently computes the full Martin metrics suite for Go — or any language — through a unified, language-agnostic model. Vibe-Check fills that gap with a two-layer architecture: a universal metrics model (Layer 1, complete) and language-specific adapters (Layer 2, starting with Go).
Foundation (Complete)
metricspackage) — merged via PR feat: implement universal coupling metrics model (Layer 1) #17Execution Order
Issues are grouped into waves by priority and dependency. Within a wave, items can run in parallel unless noted.
Wave 1 — P0: Core Engine
The unlock for everything else. Must complete sequentially (#2 then #3).
vibe-check analyze — Go-native package-level coupling metrics #2 —
vibe-check analyze(Go-native package-level coupling metrics)internal/go/) and cobra CLI (cmd/vibe-check/) on top of the mergedmetricspackagegolang.org/x/tools/go/packagesModuleGraphschema), text table, or SARIFdivisor-entropy agent — structural delta enforcement #3 —
divisor-entropyagent (structural delta enforcement)divisor-entropy.mdagent auto-discovered by Review Councilvibe-check analyzeon base and PR branches, computes deltasvibe-check init(embedded in binary,//go:embed)Wave 2 — P1: Enforcement & Conventions
All items depend on #2 but are independent of each other — can run in parallel.
Agent-design convention pack AD-001 through AD-010 (Group 3) #4 — Agent-design convention pack (AD-001 through AD-010)
vibe-check analyze(vibe-check analyze — Go-native package-level coupling metrics #2) andgaze(test quality rules)/vibe-check command and vibe-check-reporter agent #5 —
/vibe-checkcommand +vibe-check-reporteragentvibe-check initPackage metric regression gates in CI #8 — Package metric regression gates in CI
vibe-check analyze --regression-base=origin/maincompares base vs PR metrics--max-instability-delta,--max-distance-delta,--no-new-circular-depsWave 3 — P2: Depth & Multi-language
All items depend on #2. Some have additional dependencies noted.
rattler — Python coupling adapter for vibe-check #9 —
rattler(Python coupling adapter)snake-eyesforgaze— completely independent codebasevibe-check analyze --language=pythonspawns rattler as subprocessArchitectural drift tracking and trend agent (Group 7) #12 — Architectural drift tracking
vibe-check analyzesnapshots in Deweymx-f-architecture-trend.mdagent monitors trends and generates drift alerts/vibe-check trendingmodeCode duplication detection as a vibe-check structural gate #13 — Code duplication detection
go/ast)vibe-check analyze --max-duplication=5as CI gateWave 4 — P3: Future
Housekeeping (No Wave — Anytime)
Gaze-Owned (Separate Project)
These issues live in this tracker but belong to the
gazeproject — they run on their own timeline:--gate-on-changein gaze)Dependency Graph
Architecture
RFC
https://github.com/orgs/unbound-force/discussions/483