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
Formalize the current CLI runner shape into an internal Analyzer contract and registry. This is Phase 1 from app/docs/analyzer-platform-vision.md: keep current VibeReport output compatible, but stop adding framework checks as ad hoc entries in core.ts.
cli/src/core.ts currently owns a long hardcoded runner array. That makes every new stack/framework touch the same file and encourages mixed generic/framework behavior. The analyzer platform roadmap calls for one app + CLI engine + internal analyzers before any public plugin SDK.
Terminology
This issue creates internal analyzers, not public plugins.
Analyzer: built-in/internal capability scheduled by the CLI engine.
Framework analyzer: analyzer whose result depends on framework semantics.
Plugin SDK: future third-party surface; explicitly out of scope here.
Proposed contract sketch
See cli/docs/internal-analyzer-contract.md for the fuller contract. The Phase 1 shape is intentionally compatible with existing CheckResult / VibeReport output.
Summary
Formalize the current CLI runner shape into an internal
Analyzercontract and registry. This is Phase 1 fromapp/docs/analyzer-platform-vision.md: keep currentVibeReportoutput compatible, but stop adding framework checks as ad hoc entries incore.ts.Implementation spec:
cli/docs/internal-analyzer-contract.md.Why
cli/src/core.tscurrently owns a long hardcoded runner array. That makes every new stack/framework touch the same file and encourages mixed generic/framework behavior. The analyzer platform roadmap calls for one app + CLI engine + internal analyzers before any public plugin SDK.Terminology
This issue creates internal analyzers, not public plugins.
Proposed contract sketch
See
cli/docs/internal-analyzer-contract.mdfor the fuller contract. The Phase 1 shape is intentionally compatible with existingCheckResult/VibeReportoutput.Phase 1 can wrap existing runners with analyzer objects. It does not need to solve out-of-process execution; that is #32.
Tasks
cli/src/analyzers/or equivalent.core.tshardcoded runner list to consume the registry.--checksfiltering,appliesTogating, tool provenance, ignore filtering, and score behavior.CheckResult/VibeReportoutput unchanged for consumers.--checksfiltering.Acceptance criteria
core.tsno longer contains the full hardcoded runner registry.Related
cli/docs/internal-analyzer-contract.mdapp/docs/analyzer-platform-vision.md