Test gap detection, coverage analysis, and automated test generation. SPARC Refinement-phase canonical owner.
/plugin marketplace add ruvnet/ruflo
/plugin install ruflo-testgen@ruflo
- Coverage Gap Detection: Identify untested code paths with prioritized gap analysis
- Coverage-Aware Routing: Route tasks to agents based on test coverage needs
- Test Generation: Automated test scaffolding for uncovered modules
- TDD Support: London School (mock-first) test patterns with agent coordination
- testgaps Worker: Background worker for continuous coverage analysis
- Integration: Works with hooks system for post-edit test suggestions
ruflo-coreplugin (provides MCP server)
- CLI: pinned to
@claude-flow/cliv3.6 major+minor. - Verification:
bash plugins/ruflo-testgen/scripts/smoke.shis the contract.
This plugin's two MCP/CLI surfaces:
testgaps is one of 12 background workers documented in ruflo-loop-workers ADR-0001.
This plugin owns the Refinement phase per ruflo-sparc ADR-0001 §"Phase-to-plugin alignment". When SPARC's sparc-refine skill runs, it composes:
- This plugin — coverage gap detection + TDD test generation
- ruflo-jujutsu — diff-aware refactor recommendations
Together they enforce the Refinement gate: ≥80% coverage on new code + diff risk score below threshold.
This plugin owns the test-gaps AgentDB namespace (kebab-case, follows the convention from ruflo-agentdb ADR-0001 §"Namespace convention"). Reserved namespaces (pattern, claude-memories, default) MUST NOT be shadowed.
test-gaps indexes detected gaps by file + priority + last-seen timestamp. Accessed via memory_* (namespace-routed).
bash plugins/ruflo-testgen/scripts/smoke.sh
# Expected: "10 passed, 0 failed"ruflo-loop-workers— defines thetestgapsbackground workerruflo-sparc— Refinement-phase canonical handoffruflo-jujutsu— diff-aware refactor companion in the Refinement gateruflo-agentdb— namespace convention owner
This plugin also loads as a function-hook mod (ADR-445 pattern, hooks/hooks.json → register.ts). No network, no process spawn, no model call.
- Guard (default on, tighten-only). It counts the
hooks_worker-dispatchand coverage calls made this session. It is observe-only: testgen has no harmful input to guard, so it never denies and has nothing to configure. - Status file.
.claude-flow/testgen-mod/status.json({version: 1, updatedMs, guard, checked, blocked, seen}), written at session start and when a counter changes. /testgen-modanswers locally:status,workers. (The plugin's own commands are prompt commands, which a hook cannot answer, so the mod has its own name.)- Options. None.
Test it: claude plugin validate plugins/ruflo-testgen, claude plugin test plugins/ruflo-testgen, bash plugins/ruflo-testgen/scripts/smoke.sh.
