Skip to content

blog: Announcing Vibe-Check — Martin Metrics for Go Codebases #276

Description

@jflowers

Moved from zero-dot-force/vibe-check#19 (cross-org, so recreated here rather than transferred — the blog is authored/published from this website repo). The original has been closed with a pointer to this issue.

Topic

Announce Vibe-Check: an OSS tool that computes the Martin metrics suite (Ca, Ce, Instability, Abstractness, Distance from Main Sequence), LCOM4 cohesion, and circular-dependency detection for Go — through a universal model designed for multi-language support.

⚠️ Fact-check required before publishing. The original draft frames Vibe-Check as "the first OSS tool" and asserts "no single OSS tool" computes Martin metrics for Go. These superlatives are unverified and plausible competitors exist (e.g. goda, go-arch-lint compute subsets). The Herald/Envoy must substantiate or soften these claims before the post ships. Note: the shipped repo README and AGENTS.md deliberately avoid the absolute, using "the full Martin metrics suite, which few OSS tools compute for Go."

Suggested Angle

"Why No One Computes Martin Metrics for Go — and How We're Fixing That" (revisit per the fact-check caveat above)

Key points:

  1. The gap: A unified model computing Ca, Ce, I, A, D, LCOM, and circular dependency detection for Go (verify the competitive framing before publishing).
  2. The architecture: Two-layer design — universal metrics model (Layer 1) + language-specific adapters (Layer 2), inspired by Gaze's side-effect taxonomy pattern.
  3. Named types with citations: Each metric is a named Go type (Instability float64) with GoDoc documenting the formula, value range, and academic citation (Martin 2003, Hitz & Montazeri 1995).
  4. Multi-language by design: The Adapter interface and JSON-RPC 2.0 protocol enable out-of-process language adapters (Python, TypeScript) without modifying the core engine.
  5. Zone classification: Automatic classification into main-sequence, zone-of-pain, zone-of-uselessness, and normal zones.
  6. Security-first subprocess execution: Environment sanitization, path validation, response size limits.

Target Audience

  • Go developers interested in architectural quality metrics
  • Engineering leads evaluating code quality tooling
  • OSS contributors interested in the Unbound Force ecosystem

Current status (updated at move time)

References


Recreated from zero-dot-force/vibe-check#19 by an AI agent.

Metadata

Metadata

Assignees

No one assigned

    Labels

    blogBlog post opportunityllm_assistedChanges created or assisted by AI/LLM agents

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions