@su-record/vibe 2.9.21 → 2.9.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +37 -37
- package/CLAUDE.md +105 -104
- package/LICENSE +21 -21
- package/agents/architect-low.md +41 -41
- package/agents/architect-medium.md +59 -59
- package/agents/architect.md +80 -80
- package/agents/build-error-resolver.md +115 -115
- package/agents/compounder.md +261 -261
- package/agents/diagrammer.md +178 -178
- package/agents/docs/api-documenter.md +99 -99
- package/agents/docs/changelog-writer.md +93 -93
- package/agents/e2e-tester.md +294 -294
- package/agents/event/event-comms.md +78 -78
- package/agents/event/event-content.md +68 -68
- package/agents/event/event-image.md +95 -95
- package/agents/event/event-ops.md +84 -84
- package/agents/event/event-scheduler.md +69 -69
- package/agents/event/event-speaker.md +86 -86
- package/agents/explorer-low.md +42 -42
- package/agents/explorer-medium.md +59 -59
- package/agents/explorer.md +48 -48
- package/agents/implementer-low.md +43 -43
- package/agents/implementer-medium.md +52 -52
- package/agents/implementer.md +54 -54
- package/agents/junior-mentor.md +141 -141
- package/agents/planning/requirements-analyst.md +84 -84
- package/agents/planning/ux-advisor.md +83 -83
- package/agents/qa/acceptance-tester.md +86 -86
- package/agents/qa/edge-case-finder.md +93 -93
- package/agents/qa/qa-coordinator.md +131 -131
- package/agents/refactor-cleaner.md +143 -143
- package/agents/research/best-practices-agent.md +199 -199
- package/agents/research/codebase-patterns-agent.md +157 -157
- package/agents/research/framework-docs-agent.md +188 -188
- package/agents/research/security-advisory-agent.md +213 -213
- package/agents/review/architecture-reviewer.md +107 -107
- package/agents/review/complexity-reviewer.md +116 -116
- package/agents/review/data-integrity-reviewer.md +88 -88
- package/agents/review/git-history-reviewer.md +103 -103
- package/agents/review/performance-reviewer.md +86 -86
- package/agents/review/python-reviewer.md +150 -150
- package/agents/review/rails-reviewer.md +139 -139
- package/agents/review/react-reviewer.md +144 -144
- package/agents/review/security-reviewer.md +80 -80
- package/agents/review/simplicity-reviewer.md +140 -140
- package/agents/review/test-coverage-reviewer.md +116 -116
- package/agents/review/typescript-reviewer.md +127 -127
- package/agents/searcher.md +54 -54
- package/agents/simplifier.md +120 -120
- package/agents/teams/debug-team.md +70 -70
- package/agents/teams/dev-team.md +88 -88
- package/agents/teams/docs-team.md +80 -80
- package/agents/teams/figma/figma-analyst.md +52 -52
- package/agents/teams/figma/figma-architect.md +112 -112
- package/agents/teams/figma/figma-auditor.md +82 -82
- package/agents/teams/figma/figma-builder.md +100 -100
- package/agents/teams/figma-team.md +85 -85
- package/agents/teams/fullstack-team.md +83 -83
- package/agents/teams/lite-team.md +69 -69
- package/agents/teams/migration-team.md +78 -78
- package/agents/teams/refactor-team.md +94 -94
- package/agents/teams/research-team.md +86 -86
- package/agents/teams/review-debate-team.md +125 -125
- package/agents/teams/security-team.md +81 -81
- package/agents/tester.md +49 -49
- package/agents/ui/ui-a11y-auditor.md +93 -93
- package/agents/ui/ui-antipattern-detector.md +102 -102
- package/agents/ui/ui-dataviz-advisor.md +69 -69
- package/agents/ui/ui-design-system-gen.md +57 -57
- package/agents/ui/ui-industry-analyzer.md +49 -49
- package/agents/ui/ui-layout-architect.md +65 -65
- package/agents/ui/ui-stack-implementer.md +68 -68
- package/agents/ui/ux-compliance-reviewer.md +81 -81
- package/agents/ui-previewer.md +258 -258
- package/commands/vibe.analyze.md +533 -533
- package/commands/vibe.contract.md +105 -105
- package/commands/vibe.docs.md +33 -33
- package/commands/vibe.event.md +163 -163
- package/commands/vibe.figma.md +584 -584
- package/commands/vibe.harness.md +177 -177
- package/commands/vibe.regress.md +73 -73
- package/commands/vibe.review.md +624 -624
- package/commands/vibe.run.md +1940 -1940
- package/commands/vibe.scaffold.md +195 -195
- package/commands/vibe.spec.md +577 -577
- package/commands/vibe.test.md +96 -0
- package/commands/vibe.trace.md +276 -276
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.verify.md +550 -550
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/commands/codex-proxy.js +15 -15
- package/dist/cli/commands/config.js +9 -9
- package/dist/cli/commands/evolution.js +12 -12
- package/dist/cli/commands/figma.js +20 -20
- package/dist/cli/commands/info.js +52 -52
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +16 -5
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/remove.js +14 -14
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/skills.js +5 -5
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/stats.js +6 -6
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +16 -0
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.js +33 -33
- package/dist/cli/llm/claude-commands.js +16 -16
- package/dist/cli/llm/config.js +18 -18
- package/dist/cli/llm/gemini-commands.js +16 -16
- package/dist/cli/llm/gpt-commands.js +19 -19
- package/dist/cli/llm/help.js +21 -21
- package/dist/cli/postinstall/cursor-agents.js +32 -32
- package/dist/cli/postinstall/cursor-rules.js +83 -83
- package/dist/cli/postinstall/cursor-skills.js +743 -743
- package/dist/cli/setup/Provisioner.js +42 -42
- package/dist/infra/lib/DeepInit.js +24 -24
- package/dist/infra/lib/IterationTracker.js +11 -11
- package/dist/infra/lib/PythonParser.js +108 -108
- package/dist/infra/lib/ReviewRace.js +96 -96
- package/dist/infra/lib/SkillFrontmatter.js +28 -28
- package/dist/infra/lib/SkillQualityGate.js +9 -9
- package/dist/infra/lib/SkillRepository.js +159 -159
- package/dist/infra/lib/UltraQA.js +99 -99
- package/dist/infra/lib/autonomy/AuditStore.js +41 -41
- package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
- package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
- package/dist/infra/lib/autonomy/PolicyEngine.d.ts +3 -3
- package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
- package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
- package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
- package/dist/infra/lib/embedding/VectorStore.js +22 -22
- package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
- package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
- package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
- package/dist/infra/lib/evolution/InsightStore.js +90 -90
- package/dist/infra/lib/evolution/ParityTester.js +57 -57
- package/dist/infra/lib/evolution/RollbackManager.js +5 -5
- package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
- package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
- package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
- package/dist/infra/lib/evolution/UsageTracker.js +28 -28
- package/dist/infra/lib/gemini/orchestration.js +5 -5
- package/dist/infra/lib/gpt/orchestration.js +4 -4
- package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/infra/lib/memory/MemorySearch.js +57 -57
- package/dist/infra/lib/memory/MemoryStorage.js +181 -181
- package/dist/infra/lib/memory/ObservationStore.js +28 -28
- package/dist/infra/lib/memory/ReflectionStore.js +30 -30
- package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
- package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
- package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
- package/dist/infra/orchestrator/AgentManager.js +12 -12
- package/dist/infra/orchestrator/AgentRegistry.js +65 -65
- package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
- package/dist/infra/orchestrator/parallelResearch.js +24 -24
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/memory/createMemoryTimeline.js +10 -10
- package/dist/tools/memory/getMemoryGraph.js +12 -12
- package/dist/tools/memory/getSessionContext.js +9 -9
- package/dist/tools/memory/linkMemories.js +14 -14
- package/dist/tools/memory/listMemories.js +4 -4
- package/dist/tools/memory/recallMemory.js +4 -4
- package/dist/tools/memory/saveMemory.js +4 -4
- package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
- package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
- package/dist/tools/semantic/astGrep.test.js +6 -6
- package/dist/tools/spec/prdParser.test.js +171 -171
- package/dist/tools/spec/specGenerator.js +169 -169
- package/dist/tools/spec/traceabilityMatrix.js +64 -64
- package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
- package/hooks/gemini-hooks.json +73 -73
- package/hooks/hooks.json +126 -126
- package/hooks/scripts/__tests__/keyword-detector.test.js +199 -199
- package/hooks/scripts/__tests__/pre-tool-guard.test.js +368 -368
- package/hooks/scripts/__tests__/sentinel-guard.test.js +208 -208
- package/hooks/scripts/auto-commit.js +97 -97
- package/hooks/scripts/auto-format.js +64 -64
- package/hooks/scripts/auto-test.js +81 -81
- package/hooks/scripts/code-check.js +268 -268
- package/hooks/scripts/codex-detect.js +46 -46
- package/hooks/scripts/codex-review-gate.js +80 -80
- package/hooks/scripts/command-log.js +32 -32
- package/hooks/scripts/context-save.js +353 -353
- package/hooks/scripts/evolution-engine.js +91 -91
- package/hooks/scripts/figma-extract.js +635 -635
- package/hooks/scripts/figma-guard.js +219 -219
- package/hooks/scripts/figma-refine.js +315 -315
- package/hooks/scripts/figma-to-scss.js +394 -394
- package/hooks/scripts/figma-validate.js +353 -353
- package/hooks/scripts/hud-status.js +321 -321
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/lib/scope-from-spec.js +261 -0
- package/hooks/scripts/llm-orchestrate.js +645 -645
- package/hooks/scripts/post-edit.js +32 -32
- package/hooks/scripts/pr-test-gate.js +52 -52
- package/hooks/scripts/pre-tool-dispatcher.js +5 -0
- package/hooks/scripts/pre-tool-guard.js +254 -254
- package/hooks/scripts/prompt-dispatcher.js +190 -190
- package/hooks/scripts/scope-guard.js +145 -0
- package/hooks/scripts/sentinel-guard.js +130 -130
- package/hooks/scripts/session-start.js +186 -177
- package/hooks/scripts/skill-injector.js +83 -83
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +257 -257
- package/languages/csharp-unity.md +515 -515
- package/languages/gdscript-godot.md +470 -470
- package/languages/ruby-rails.md +489 -489
- package/languages/typescript-angular.md +433 -433
- package/languages/typescript-astro.md +416 -416
- package/languages/typescript-electron.md +406 -406
- package/languages/typescript-nestjs.md +524 -524
- package/languages/typescript-svelte.md +407 -407
- package/languages/typescript-tauri.md +365 -365
- package/package.json +10 -5
- package/skills/agents-md/SKILL.md +121 -121
- package/skills/agents-md/rubrics/what-to-keep.md +49 -49
- package/skills/agents-md/templates/agents-md.md +36 -36
- package/skills/arch-guard/SKILL.md +181 -181
- package/skills/arch-guard/agents/detector.md +48 -48
- package/skills/arch-guard/agents/reporter.md +48 -48
- package/skills/arch-guard/agents/rule-generator.md +49 -49
- package/skills/arch-guard/agents/violation-checker.md +51 -51
- package/skills/arch-guard/frameworks/clean-architecture.md +108 -108
- package/skills/arch-guard/frameworks/solid.md +102 -102
- package/skills/arch-guard/scripts/check-boundaries.js +90 -90
- package/skills/arch-guard/templates/arch-rules.json +47 -47
- package/skills/arch-guard/templates/violation-report.md +53 -53
- package/skills/brand-assets/SKILL.md +147 -147
- package/skills/brand-assets/rubrics/asset-checklist.md +98 -98
- package/skills/brand-assets/templates/brand-guide.md +161 -161
- package/skills/capability-loop/SKILL.md +272 -272
- package/skills/capability-loop/agents/capability-designer.md +61 -61
- package/skills/capability-loop/agents/failure-analyst.md +55 -55
- package/skills/capability-loop/agents/implementer.md +50 -50
- package/skills/capability-loop/agents/tester.md +53 -53
- package/skills/capability-loop/templates/capability-spec.md +118 -118
- package/skills/capability-loop/templates/failure-analysis.md +118 -118
- package/skills/characterization-test/SKILL.md +207 -207
- package/skills/characterization-test/agents/behavior-capturer.md +50 -50
- package/skills/characterization-test/agents/coverage-checker.md +54 -54
- package/skills/characterization-test/agents/reporter.md +50 -50
- package/skills/characterization-test/agents/test-writer.md +49 -49
- package/skills/characterization-test/rubrics/coverage-criteria.md +53 -53
- package/skills/characterization-test/templates/test-template.ts +101 -101
- package/skills/chub-usage/SKILL.md +139 -139
- package/skills/claude-md-guide/SKILL.md +351 -351
- package/skills/claude-md-guide/rubrics/anti-patterns.md +88 -88
- package/skills/claude-md-guide/templates/claude-md.md +54 -54
- package/skills/commerce-patterns/SKILL.md +64 -64
- package/skills/commerce-patterns/rubrics/checkout-flow.md +48 -48
- package/skills/commerce-patterns/templates/product-schema.md +85 -85
- package/skills/commit-push-pr/SKILL.md +77 -77
- package/skills/commit-push-pr/agents/change-analyzer.md +55 -55
- package/skills/commit-push-pr/agents/message-writer.md +50 -50
- package/skills/commit-push-pr/agents/pr-writer.md +58 -58
- package/skills/commit-push-pr/agents/reviewer.md +52 -52
- package/skills/commit-push-pr/rubrics/commit-message.md +73 -73
- package/skills/commit-push-pr/templates/pr-body.md +63 -63
- package/skills/context7-usage/SKILL.md +106 -106
- package/skills/context7-usage/rubrics/when-to-use.md +50 -50
- package/skills/create-prd/SKILL.md +90 -90
- package/skills/create-prd/agents/edge-case-finder.md +48 -48
- package/skills/create-prd/agents/prioritizer.md +60 -60
- package/skills/create-prd/agents/requirements-writer.md +48 -48
- package/skills/create-prd/agents/researcher.md +55 -55
- package/skills/create-prd/agents/reviewer.md +54 -54
- package/skills/create-prd/frameworks/jobs-to-be-done.md +96 -96
- package/skills/create-prd/frameworks/rice-scoring.md +97 -97
- package/skills/create-prd/orchestrator.md +70 -70
- package/skills/create-prd/rubrics/completeness.md +58 -58
- package/skills/create-prd/templates/prd.md +139 -139
- package/skills/design-audit/SKILL.md +152 -152
- package/skills/design-audit/agents/a11y-auditor.md +43 -43
- package/skills/design-audit/agents/performance-auditor.md +46 -46
- package/skills/design-audit/agents/responsive-auditor.md +46 -46
- package/skills/design-audit/agents/scorer.md +47 -47
- package/skills/design-audit/agents/slop-detector.md +47 -47
- package/skills/design-audit/frameworks/core-web-vitals.md +107 -107
- package/skills/design-audit/frameworks/wcag-checklist.md +64 -64
- package/skills/design-audit/orchestrator.md +64 -64
- package/skills/design-audit/rubrics/ai-slop-patterns.md +83 -83
- package/skills/design-audit/rubrics/scoring.md +63 -63
- package/skills/design-audit/templates/report.md +88 -88
- package/skills/design-critique/SKILL.md +139 -139
- package/skills/design-critique/rubrics/ux-heuristics.md +143 -143
- package/skills/design-critique/templates/critique-report.md +86 -86
- package/skills/design-distill/SKILL.md +130 -130
- package/skills/design-distill/templates/design-system.md +132 -132
- package/skills/design-normalize/SKILL.md +133 -133
- package/skills/design-normalize/rubrics/token-naming.md +117 -117
- package/skills/design-normalize/templates/token-audit.md +89 -89
- package/skills/design-polish/SKILL.md +131 -131
- package/skills/design-polish/rubrics/polish-checklist.md +68 -68
- package/skills/design-polish/templates/polish-report.md +64 -64
- package/skills/design-teach/SKILL.md +182 -182
- package/skills/design-teach/rubrics/brand-personality.md +73 -73
- package/skills/design-teach/templates/design-context.json +36 -36
- package/skills/devlog/SKILL.md +143 -143
- package/skills/e2e-commerce/SKILL.md +62 -62
- package/skills/e2e-commerce/templates/test-scenarios.md +170 -170
- package/skills/event-comms/SKILL.md +172 -172
- package/skills/event-comms/templates/email-invite.md +99 -99
- package/skills/event-comms/templates/sns-post.md +133 -133
- package/skills/event-ops/SKILL.md +207 -207
- package/skills/event-ops/rubrics/contingency.md +85 -85
- package/skills/event-ops/templates/d-day-checklist.md +65 -65
- package/skills/event-planning/SKILL.md +144 -144
- package/skills/event-planning/rubrics/timeline.md +70 -70
- package/skills/event-planning/templates/event-plan.md +91 -91
- package/skills/exec-plan/SKILL.md +149 -149
- package/skills/exec-plan/agents/decomposer.md +47 -47
- package/skills/exec-plan/agents/dependency-mapper.md +44 -44
- package/skills/exec-plan/agents/estimator.md +43 -43
- package/skills/exec-plan/agents/validator.md +55 -55
- package/skills/exec-plan/orchestrator.md +70 -70
- package/skills/exec-plan/rubrics/complexity-scoring.md +75 -75
- package/skills/exec-plan/templates/plan.md +147 -147
- package/skills/git-worktree/SKILL.md +73 -73
- package/skills/git-worktree/rubrics/when-to-use.md +55 -55
- package/skills/handoff/SKILL.md +110 -110
- package/skills/handoff/agents/context-summarizer.md +51 -51
- package/skills/handoff/agents/document-writer.md +63 -63
- package/skills/handoff/agents/state-collector.md +53 -53
- package/skills/handoff/agents/verifier.md +48 -48
- package/skills/handoff/rubrics/completeness.md +62 -62
- package/skills/handoff/templates/handoff.md +107 -107
- package/skills/parallel-research/SKILL.md +104 -104
- package/skills/parallel-research/agents/best-practices.md +43 -43
- package/skills/parallel-research/agents/codebase-patterns.md +46 -46
- package/skills/parallel-research/agents/framework-docs.md +45 -45
- package/skills/parallel-research/agents/security-advisory.md +46 -46
- package/skills/parallel-research/agents/synthesizer.md +57 -57
- package/skills/parallel-research/experts/best-practices.md +50 -50
- package/skills/parallel-research/experts/codebase-patterns.md +70 -70
- package/skills/parallel-research/experts/framework-docs.md +65 -65
- package/skills/parallel-research/experts/security-advisory.md +69 -69
- package/skills/parallel-research/orchestrator.md +79 -79
- package/skills/parallel-research/templates/awesome-list.md +32 -32
- package/skills/parallel-research/templates/paper.md +88 -88
- package/skills/parallel-research/templates/synthesis.md +101 -101
- package/skills/prioritization-frameworks/SKILL.md +87 -87
- package/skills/prioritization-frameworks/rubrics/frameworks.md +79 -79
- package/skills/prioritization-frameworks/templates/scoring-matrix.md +69 -69
- package/skills/priority-todos/SKILL.md +64 -64
- package/skills/priority-todos/rubrics/prioritization.md +70 -70
- package/skills/priority-todos/templates/todo-board.md +59 -59
- package/skills/seo-checklist/SKILL.md +58 -58
- package/skills/seo-checklist/frameworks/structured-data.md +153 -153
- package/skills/seo-checklist/rubrics/content-seo.md +42 -42
- package/skills/seo-checklist/rubrics/technical-seo.md +48 -48
- package/skills/techdebt/SKILL.md +124 -124
- package/skills/techdebt/agents/analyzer.md +50 -50
- package/skills/techdebt/agents/fixer.md +41 -41
- package/skills/techdebt/agents/reviewer.md +47 -47
- package/skills/techdebt/agents/scanner.md +44 -44
- package/skills/techdebt/orchestrator.md +70 -70
- package/skills/techdebt/rubrics/severity.md +51 -51
- package/skills/techdebt/scripts/scan.js +90 -90
- package/skills/techdebt/templates/report.md +86 -86
- package/skills/tool-fallback/SKILL.md +104 -104
- package/skills/tool-fallback/rubrics/fallback-chain.md +58 -58
- package/skills/typescript-advanced-types/SKILL.md +67 -67
- package/skills/typescript-advanced-types/rubrics/type-patterns.md +109 -109
- package/skills/ui-ux-pro-max/SKILL.md +236 -236
- package/skills/ui-ux-pro-max/reference/color-and-contrast.md +517 -517
- package/skills/ui-ux-pro-max/reference/interaction-design.md +544 -544
- package/skills/ui-ux-pro-max/reference/motion-design.md +591 -591
- package/skills/ui-ux-pro-max/reference/responsive-design.md +463 -463
- package/skills/ui-ux-pro-max/reference/spatial-design.md +390 -390
- package/skills/ui-ux-pro-max/reference/typography.md +455 -455
- package/skills/ui-ux-pro-max/reference/ux-writing.md +469 -469
- package/skills/ui-ux-pro-max/rubrics/interaction-states.md +83 -83
- package/skills/ui-ux-pro-max/rubrics/responsive-breakpoints.md +99 -99
- package/skills/user-personas/SKILL.md +75 -75
- package/skills/user-personas/rubrics/research-methods.md +56 -56
- package/skills/user-personas/templates/persona.md +89 -89
- package/skills/vercel-react-best-practices/SKILL.md +60 -60
- package/skills/vercel-react-best-practices/rubrics/performance.md +82 -82
- package/skills/vercel-react-best-practices/rubrics/server-components.md +86 -86
- package/skills/vibe-contract/SKILL.md +166 -166
- package/skills/vibe-docs/templates/architecture.md +80 -80
- package/skills/vibe-docs/templates/readme.md +84 -84
- package/skills/vibe-docs/templates/release-notes.md +74 -74
- package/skills/vibe-figma/SKILL.md +363 -363
- package/skills/vibe-figma/rubrics/extraction-checklist.md +51 -51
- package/skills/vibe-figma/templates/component-index.md +126 -126
- package/skills/vibe-figma/templates/component-spec.md +168 -168
- package/skills/vibe-figma/templates/figma-handoff.md +100 -100
- package/skills/vibe-figma/templates/remapped-tree.md +277 -277
- package/skills/vibe-figma-convert/SKILL.md +235 -235
- package/skills/vibe-figma-convert/rubrics/conversion-rules.md +141 -141
- package/skills/vibe-figma-convert/templates/component.md +140 -140
- package/skills/vibe-figma-extract/SKILL.md +219 -219
- package/skills/vibe-figma-extract/rubrics/image-rules.md +157 -157
- package/skills/vibe-interview/SKILL.md +358 -358
- package/skills/vibe-interview/checklists/api.md +101 -101
- package/skills/vibe-interview/checklists/feature.md +88 -88
- package/skills/vibe-interview/checklists/library.md +95 -95
- package/skills/vibe-interview/checklists/mobile.md +89 -89
- package/skills/vibe-interview/checklists/webapp.md +97 -97
- package/skills/vibe-interview/checklists/website.md +99 -99
- package/skills/vibe-plan/SKILL.md +254 -254
- package/skills/vibe-regress/SKILL.md +174 -174
- package/skills/vibe-regress/templates/bug.md +44 -44
- package/skills/vibe-regress/templates/test-jest.md +29 -29
- package/skills/vibe-regress/templates/test-vitest.md +30 -30
- package/skills/vibe-spec/SKILL.md +1195 -1195
- package/skills/vibe-spec-review/SKILL.md +726 -726
- package/skills/vibe-test/SKILL.md +247 -0
- package/skills/video-production/SKILL.md +52 -52
- package/skills/video-production/rubrics/quality-checklist.md +58 -58
- package/skills/video-production/templates/production-plan.md +104 -104
- package/vibe/config.json +29 -29
- package/vibe/constitution.md +227 -227
- package/vibe/rules/principles/communication-guide.md +98 -98
- package/vibe/rules/principles/development-philosophy.md +52 -52
- package/vibe/rules/principles/quick-start.md +102 -102
- package/vibe/rules/quality/bdd-contract-testing.md +393 -393
- package/vibe/rules/quality/checklist.md +276 -276
- package/vibe/rules/quality/performance.md +236 -236
- package/vibe/rules/quality/testing-strategy.md +440 -440
- package/vibe/rules/standards/anti-patterns.md +541 -541
- package/vibe/rules/standards/code-structure.md +291 -291
- package/vibe/rules/standards/complexity-metrics.md +313 -313
- package/vibe/rules/standards/git-workflow.md +237 -237
- package/vibe/rules/standards/naming-conventions.md +198 -198
- package/vibe/rules/standards/security.md +305 -305
- package/vibe/rules/writing/document-style.md +74 -74
- package/vibe/setup.sh +31 -31
- package/vibe/templates/claudemd-template.md +74 -74
- package/vibe/templates/constitution-template.md +267 -267
- package/vibe/templates/contract-backend-template.md +526 -526
- package/vibe/templates/contract-frontend-template.md +599 -599
- package/vibe/templates/feature-template.md +96 -96
- package/vibe/templates/plan-template.md +194 -194
- package/vibe/templates/spec-template.md +221 -221
- package/vibe/ui-ux-data/charts.csv +26 -26
- package/vibe/ui-ux-data/colors.csv +97 -97
- package/vibe/ui-ux-data/icons.csv +101 -101
- package/vibe/ui-ux-data/landing.csv +31 -31
- package/vibe/ui-ux-data/products.csv +96 -96
- package/vibe/ui-ux-data/react-performance.csv +45 -45
- package/vibe/ui-ux-data/stacks/astro.csv +54 -54
- package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
- package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
- package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
- package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
- package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
- package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
- package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
- package/vibe/ui-ux-data/stacks/react.csv +54 -54
- package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
- package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
- package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
- package/vibe/ui-ux-data/stacks/vue.csv +50 -50
- package/vibe/ui-ux-data/styles.csv +68 -68
- package/vibe/ui-ux-data/typography.csv +57 -57
- package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
- package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
- package/vibe/ui-ux-data/version.json +31 -31
- package/vibe/ui-ux-data/web-interface.csv +31 -31
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Self-test vibe across CC and coco — verify every command/skill/hook/agent/tool is callable and behaves identically
|
|
3
|
+
argument-hint: "parity | report | compare [args]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /vibe.test
|
|
7
|
+
|
|
8
|
+
**Vibe Self-Test** — verify vibe works identically in both Claude Code and coco.
|
|
9
|
+
|
|
10
|
+
> Catch features broken on one harness before users do.
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/vibe.test parity # Static parity (file set + content sync) — local, fast
|
|
16
|
+
/vibe.test report # Invoke every feature in current harness, write JSON+MD report
|
|
17
|
+
/vibe.test compare <cc-report> <coco-report> # Diff two reports, classify P1/P2/P3
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Key Constraint
|
|
21
|
+
|
|
22
|
+
`/vibe.test report` only tests the **harness it runs in**. Run from CC for CC results, run from coco for coco results. Then `compare` merges them.
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
[CC] /vibe.test report → .claude/vibe/test-reports/<ts>-cc.{json,md}
|
|
26
|
+
[coco] /vibe.test report → .coco/vibe/test-reports/<ts>-coco.{json,md}
|
|
27
|
+
[any] /vibe.test compare → diff with parity findings
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Subcommand: parity (static check, stage 1)
|
|
31
|
+
|
|
32
|
+
No harness execution — file system comparison only:
|
|
33
|
+
|
|
34
|
+
| Check | Compared |
|
|
35
|
+
|---|---|
|
|
36
|
+
| **install set** | `~/.claude/{commands,skills,agents}/` vs `~/.coco/{commands,skills,agents}/` file set |
|
|
37
|
+
| **content sync** | `CLAUDE.md` ↔ `AGENTS.md` body (excluding header/meta blocks) |
|
|
38
|
+
| **path config** | `.claude/vibe/` vs `.coco/vibe/` directory layout |
|
|
39
|
+
| **doc references** | Paths cited in CLAUDE.md/AGENTS.md actually resolve in install dir |
|
|
40
|
+
|
|
41
|
+
**Output**: console table + `.claude/vibe/test-reports/<ts>-parity.json`
|
|
42
|
+
|
|
43
|
+
This stage alone catches:
|
|
44
|
+
- New commands missing on one harness (e.g. if `/vibe.regress` had been added only to CC)
|
|
45
|
+
- AGENTS.md holding stale paths (e.g. `.codex/` references after a coco rename)
|
|
46
|
+
- CLAUDE.md ↔ AGENTS.md body drift
|
|
47
|
+
|
|
48
|
+
## Subcommand: report (runtime invocation)
|
|
49
|
+
|
|
50
|
+
Probes every shipped feature in the current harness and writes a JSON+MD report.
|
|
51
|
+
|
|
52
|
+
| Category | Probe |
|
|
53
|
+
|---|---|
|
|
54
|
+
| commands | frontmatter validity, body delegates to a skill |
|
|
55
|
+
| skills | frontmatter validity, triggers non-empty |
|
|
56
|
+
| hooks | run matching vitest suite |
|
|
57
|
+
| agents | frontmatter validity, declared tools exist in harness |
|
|
58
|
+
| tools | run matching vitest suite or smoke-call with minimal input |
|
|
59
|
+
|
|
60
|
+
No external LLM calls. Interactive commands are not actually invoked — structural validation only. See `skills/vibe-test/SKILL.md` for full probe spec and failure-handling rules.
|
|
61
|
+
|
|
62
|
+
## Subcommand: compare (diff two reports)
|
|
63
|
+
|
|
64
|
+
Compare two JSON reports and classify findings:
|
|
65
|
+
- **P1**: feature exists on only one side → missing
|
|
66
|
+
- **P2**: both sides have it but response shape differs → behavioral drift
|
|
67
|
+
- **P3**: only message wording differs, semantics identical → informational
|
|
68
|
+
|
|
69
|
+
P1 findings auto-invoke `/vibe.regress register --from-test`.
|
|
70
|
+
|
|
71
|
+
## Process
|
|
72
|
+
|
|
73
|
+
Load skill `vibe-test` with subcommand: `$ARGUMENTS`
|
|
74
|
+
|
|
75
|
+
See `skills/vibe-test/SKILL.md` for detailed logic.
|
|
76
|
+
|
|
77
|
+
## Storage
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
.claude/vibe/test-reports/ (CC side)
|
|
81
|
+
.coco/vibe/test-reports/ (coco side)
|
|
82
|
+
<YYYYMMDD-HHmm>-<harness>.json
|
|
83
|
+
<YYYYMMDD-HHmm>-<harness>.md
|
|
84
|
+
<YYYYMMDD-HHmm>-compare.md (compare output)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Done Criteria
|
|
88
|
+
|
|
89
|
+
- [ ] `parity` runs without external calls — local file inspection only (fast, deterministic)
|
|
90
|
+
- [ ] If only one install dir exists, exit cleanly with guidance (not an error)
|
|
91
|
+
- [ ] `compare` warns when reports are not within ±1 minute of each other (timing drift = false positives)
|
|
92
|
+
- [ ] P1 drift auto-registers via `/vibe.regress`
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
ARGUMENTS: $ARGUMENTS
|
package/commands/vibe.trace.md
CHANGED
|
@@ -1,276 +1,276 @@
|
|
|
1
|
-
# /vibe.trace
|
|
2
|
-
|
|
3
|
-
Generate and display Requirements Traceability Matrix (RTM).
|
|
4
|
-
|
|
5
|
-
## Usage
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
/vibe.trace "feature-name" # Generate RTM for feature
|
|
9
|
-
/vibe.trace "feature-name" --html # Output as HTML
|
|
10
|
-
/vibe.trace "feature-name" --save # Save to file
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
> **⏱️ Timer**: Call `getCurrentTime` tool at the START. Record the result as `{start_time}`.
|
|
14
|
-
|
|
15
|
-
## Description
|
|
16
|
-
|
|
17
|
-
Requirements Traceability Matrix (RTM) tracks the relationship between:
|
|
18
|
-
- **Requirements** (REQ-xxx-xxx)
|
|
19
|
-
- **SPEC sections** (Phase tasks)
|
|
20
|
-
- **Feature scenarios** (BDD)
|
|
21
|
-
- **Test files** (unit/integration tests)
|
|
22
|
-
|
|
23
|
-
## Process
|
|
24
|
-
|
|
25
|
-
### 1. Load Files
|
|
26
|
-
|
|
27
|
-
**Search order (check BOTH file AND folder):**
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
Step 1: Check if SPLIT structure exists (folder)
|
|
31
|
-
📁 .claude/vibe/specs/{feature-name}/ → Folder with _index.md + phase files
|
|
32
|
-
📁 .claude/vibe/features/{feature-name}/ → Folder with _index.feature + phase files
|
|
33
|
-
|
|
34
|
-
Step 2: If no folder, check single file
|
|
35
|
-
📄 .claude/vibe/specs/{feature-name}.md → Single SPEC file
|
|
36
|
-
📄 .claude/vibe/features/{feature-name}.feature → Single Feature file
|
|
37
|
-
|
|
38
|
-
Step 3: If neither exists → Error
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
**Split structure (folder) detected:**
|
|
42
|
-
```
|
|
43
|
-
📁 .claude/vibe/specs/{feature-name}/
|
|
44
|
-
├── _index.md → Master SPEC (read first)
|
|
45
|
-
├── phase-1-{name}.md → Phase 1 SPEC
|
|
46
|
-
└── ...
|
|
47
|
-
|
|
48
|
-
📁 .claude/vibe/features/{feature-name}/
|
|
49
|
-
├── _index.feature → Master Feature (read first)
|
|
50
|
-
├── phase-1-{name}.feature → Phase 1 scenarios
|
|
51
|
-
└── ...
|
|
52
|
-
|
|
53
|
-
→ Load all phase files, generate RTM across all phases
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
**Single file detected:**
|
|
57
|
-
```
|
|
58
|
-
📄 .claude/vibe/specs/{feature-name}.md → SPEC
|
|
59
|
-
📄 .claude/vibe/features/{feature-name}.feature → Feature
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
**Additional (auto-detect):**
|
|
63
|
-
```
|
|
64
|
-
📄 src/**/*.test.ts → Tests (auto-detect)
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
**Error if NEITHER file NOR folder found:**
|
|
68
|
-
```
|
|
69
|
-
❌ SPEC not found. Searched:
|
|
70
|
-
- .claude/vibe/specs/{feature-name}/ (folder)
|
|
71
|
-
- .claude/vibe/specs/{feature-name}.md (file)
|
|
72
|
-
|
|
73
|
-
Run /vibe.spec "{feature-name}" first.
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### 2. Extract Mappings
|
|
77
|
-
|
|
78
|
-
For each requirement ID (REQ-xxx-xxx):
|
|
79
|
-
1. Find corresponding SPEC section
|
|
80
|
-
2. Find matching Feature scenario
|
|
81
|
-
3. Find related test file
|
|
82
|
-
|
|
83
|
-
### 3. Calculate Coverage
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
Coverage = (Full coverage items / Total requirements) × 100%
|
|
87
|
-
|
|
88
|
-
Full coverage = Has SPEC + Feature + Test
|
|
89
|
-
Partial = Missing one or more
|
|
90
|
-
None = Only in SPEC
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
### 4. Output RTM
|
|
94
|
-
|
|
95
|
-
```
|
|
96
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
97
|
-
📊 REQUIREMENTS TRACEABILITY MATRIX: {feature-name}
|
|
98
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
99
|
-
|
|
100
|
-
## Summary
|
|
101
|
-
| Metric | Value |
|
|
102
|
-
|-------------------|----------|
|
|
103
|
-
| Total Requirements| 10 |
|
|
104
|
-
| SPEC Coverage | 10/10 |
|
|
105
|
-
| Feature Coverage | 8/10 |
|
|
106
|
-
| Test Coverage | 6/10 |
|
|
107
|
-
| **Overall** | **60%** |
|
|
108
|
-
|
|
109
|
-
## Traceability Matrix
|
|
110
|
-
|
|
111
|
-
| Requirement | SPEC | Feature | Test | Coverage |
|
|
112
|
-
|-------------|------|---------|------|----------|
|
|
113
|
-
| REQ-login-001 | ✅ Phase 1 | ✅ Scenario 1 | ✅ login.test.ts | ✅ Full |
|
|
114
|
-
| REQ-login-002 | ✅ Phase 1 | ✅ Scenario 2 | ❌ | ⚠️ Partial |
|
|
115
|
-
| REQ-login-003 | ✅ Phase 2 | ❌ | ❌ | ❌ None |
|
|
116
|
-
|
|
117
|
-
## Uncovered Requirements
|
|
118
|
-
|
|
119
|
-
The following requirements lack full coverage:
|
|
120
|
-
|
|
121
|
-
- **REQ-login-002**: Password validation
|
|
122
|
-
- Missing: Test file
|
|
123
|
-
|
|
124
|
-
- **REQ-login-003**: Remember me functionality
|
|
125
|
-
- Missing: Feature scenario, Test file
|
|
126
|
-
|
|
127
|
-
## Recommendations
|
|
128
|
-
|
|
129
|
-
⚠️ Coverage is at 60%. Consider:
|
|
130
|
-
- Add Feature scenarios for uncovered requirements
|
|
131
|
-
- Add test cases for uncovered requirements
|
|
132
|
-
|
|
133
|
-
⏱️ Started: {start_time}
|
|
134
|
-
⏱️ Completed: {getCurrentTime 결과}
|
|
135
|
-
|
|
136
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
## Example
|
|
140
|
-
|
|
141
|
-
```
|
|
142
|
-
User: /vibe.trace "login"
|
|
143
|
-
|
|
144
|
-
Claude:
|
|
145
|
-
📊 Generating RTM for "login"...
|
|
146
|
-
|
|
147
|
-
Loading files:
|
|
148
|
-
✅ SPEC: .claude/vibe/specs/login.md (5 requirements)
|
|
149
|
-
✅ Feature: .claude/vibe/features/login.feature (4 scenarios)
|
|
150
|
-
✅ Tests: 3 test files found
|
|
151
|
-
|
|
152
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
153
|
-
📊 REQUIREMENTS TRACEABILITY MATRIX: login
|
|
154
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
155
|
-
|
|
156
|
-
## Summary
|
|
157
|
-
| Metric | Value |
|
|
158
|
-
|-------------------|----------|
|
|
159
|
-
| Total Requirements| 5 |
|
|
160
|
-
| SPEC Coverage | 5/5 |
|
|
161
|
-
| Feature Coverage | 4/5 |
|
|
162
|
-
| Test Coverage | 3/5 |
|
|
163
|
-
| **Overall** | **60%** |
|
|
164
|
-
|
|
165
|
-
## Traceability Matrix
|
|
166
|
-
|
|
167
|
-
| Requirement | SPEC | Feature | Test | Coverage |
|
|
168
|
-
|-------------|------|---------|------|----------|
|
|
169
|
-
| REQ-login-001 | ✅ | ✅ | ✅ | ✅ Full |
|
|
170
|
-
| REQ-login-002 | ✅ | ✅ | ✅ | ✅ Full |
|
|
171
|
-
| REQ-login-003 | ✅ | ✅ | ✅ | ✅ Full |
|
|
172
|
-
| REQ-login-004 | ✅ | ✅ | ❌ | ⚠️ Partial |
|
|
173
|
-
| REQ-login-005 | ✅ | ❌ | ❌ | ❌ None |
|
|
174
|
-
|
|
175
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
## Tool Integration
|
|
179
|
-
|
|
180
|
-
The RTM generation uses core tools:
|
|
181
|
-
|
|
182
|
-
```bash
|
|
183
|
-
# Generate RTM
|
|
184
|
-
node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/tools/index.js').then(t => t.generateTraceabilityMatrix('login').then(m => console.log(t.formatMatrixAsMarkdown(m))))"
|
|
185
|
-
|
|
186
|
-
# Generate HTML
|
|
187
|
-
node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/tools/index.js').then(t => t.generateTraceabilityMatrix('login').then(m => console.log(t.formatMatrixAsHtml(m))))"
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
## VerificationLoop Integration
|
|
191
|
-
|
|
192
|
-
`/vibe.trace` results feed directly into the **VerificationLoop** module, which quantifies achievement rate and drives automatic re-iteration.
|
|
193
|
-
|
|
194
|
-
### Key Functions
|
|
195
|
-
|
|
196
|
-
| Function | Purpose |
|
|
197
|
-
|----------|---------|
|
|
198
|
-
| `createLoop(feature, config?)` | Initialize a new verification loop for a feature |
|
|
199
|
-
| `recordVerification(state, requirements)` | Record RTM results and determine next action |
|
|
200
|
-
| `formatVerificationResult(result, config)` | Format a single iteration result for display |
|
|
201
|
-
| `formatLoopSummary(state)` | Format the full loop history as readable text |
|
|
202
|
-
| `getUnmetRequirements(result)` | Extract failed/partial requirements for targeted fixing |
|
|
203
|
-
| `isImproving(state)` | Detect whether achievement rate is increasing across iterations |
|
|
204
|
-
|
|
205
|
-
### Loop Configuration
|
|
206
|
-
|
|
207
|
-
```
|
|
208
|
-
threshold: 90 — Minimum achievement rate (%) to pass (default)
|
|
209
|
-
maxIterations: 3 — Max re-verification attempts before stopping
|
|
210
|
-
autoRetry: false — Whether to auto-trigger re-implementation
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
### Action Types
|
|
214
|
-
|
|
215
|
-
After each `recordVerification` call, the loop returns one of:
|
|
216
|
-
|
|
217
|
-
| Action | Condition | Meaning |
|
|
218
|
-
|--------|-----------|---------|
|
|
219
|
-
| `passed` | rate >= threshold | All requirements met — done |
|
|
220
|
-
| `retry` | rate < threshold AND iterations remaining | Fix unmet requirements and re-run |
|
|
221
|
-
| `max_iterations` | rate < threshold AND no iterations left | Report remaining gaps as TODO |
|
|
222
|
-
|
|
223
|
-
### Convergence Detection
|
|
224
|
-
|
|
225
|
-
If the achievement rate does not improve between iterations (`isImproving` returns false), the loop stops early to avoid wasted cycles.
|
|
226
|
-
|
|
227
|
-
### Example Flow
|
|
228
|
-
|
|
229
|
-
```
|
|
230
|
-
/vibe.trace "login"
|
|
231
|
-
→ RTM generated: 7/9 requirements covered (78%)
|
|
232
|
-
→ createLoop("login", { threshold: 90, maxIterations: 3 })
|
|
233
|
-
→ recordVerification(...) → action: retry (iteration 1, 3 unmet)
|
|
234
|
-
→ [fix unmet requirements]
|
|
235
|
-
→ /vibe.trace "login"
|
|
236
|
-
→ recordVerification(...) → action: passed (rate: 100%)
|
|
237
|
-
→ formatVerificationResult → display final report
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
## Options
|
|
241
|
-
|
|
242
|
-
| Option | Description |
|
|
243
|
-
|--------|-------------|
|
|
244
|
-
| `--html` | Output as HTML file |
|
|
245
|
-
| `--save` | Save to `.claude/vibe/reports/{feature}-rtm.md` |
|
|
246
|
-
| `--json` | Output as JSON |
|
|
247
|
-
|
|
248
|
-
## Coverage Targets
|
|
249
|
-
|
|
250
|
-
| Coverage Level | Status |
|
|
251
|
-
|----------------|--------|
|
|
252
|
-
| 90-100% | ✅ Excellent - Ready for release |
|
|
253
|
-
| 70-89% | ⚠️ Good - Minor gaps |
|
|
254
|
-
| 50-69% | ⚠️ Fair - Significant gaps |
|
|
255
|
-
| 0-49% | ❌ Poor - Major gaps |
|
|
256
|
-
|
|
257
|
-
---
|
|
258
|
-
|
|
259
|
-
## `.last-feature` 포인터 삭제 (워크플로 완주)
|
|
260
|
-
|
|
261
|
-
```
|
|
262
|
-
/vibe.trace가 정상 완료되면 (RTM 출력 + 사용자 확인 후):
|
|
263
|
-
Delete ".claude/vibe/.last-feature"
|
|
264
|
-
|
|
265
|
-
이유: /vibe.trace는 vibe 워크플로의 마지막 Phase (Phase 7).
|
|
266
|
-
완주 후에는 다음 /vibe.spec 호출 시 "빈 시작" 또는 진행 중 목록에서 다른 feature를 시작해야 한다.
|
|
267
|
-
삭제하지 않으면 완료된 feature가 계속 "이어서?" 로 뜬다.
|
|
268
|
-
|
|
269
|
-
예외:
|
|
270
|
-
- /vibe.trace가 에러로 중단된 경우 → 삭제하지 않음 (재시도 가능)
|
|
271
|
-
- --save 또는 --html 플래그와 무관하게 항상 삭제
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
---
|
|
275
|
-
|
|
276
|
-
ARGUMENTS: {feature-name}
|
|
1
|
+
# /vibe.trace
|
|
2
|
+
|
|
3
|
+
Generate and display Requirements Traceability Matrix (RTM).
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
/vibe.trace "feature-name" # Generate RTM for feature
|
|
9
|
+
/vibe.trace "feature-name" --html # Output as HTML
|
|
10
|
+
/vibe.trace "feature-name" --save # Save to file
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
> **⏱️ Timer**: Call `getCurrentTime` tool at the START. Record the result as `{start_time}`.
|
|
14
|
+
|
|
15
|
+
## Description
|
|
16
|
+
|
|
17
|
+
Requirements Traceability Matrix (RTM) tracks the relationship between:
|
|
18
|
+
- **Requirements** (REQ-xxx-xxx)
|
|
19
|
+
- **SPEC sections** (Phase tasks)
|
|
20
|
+
- **Feature scenarios** (BDD)
|
|
21
|
+
- **Test files** (unit/integration tests)
|
|
22
|
+
|
|
23
|
+
## Process
|
|
24
|
+
|
|
25
|
+
### 1. Load Files
|
|
26
|
+
|
|
27
|
+
**Search order (check BOTH file AND folder):**
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
Step 1: Check if SPLIT structure exists (folder)
|
|
31
|
+
📁 .claude/vibe/specs/{feature-name}/ → Folder with _index.md + phase files
|
|
32
|
+
📁 .claude/vibe/features/{feature-name}/ → Folder with _index.feature + phase files
|
|
33
|
+
|
|
34
|
+
Step 2: If no folder, check single file
|
|
35
|
+
📄 .claude/vibe/specs/{feature-name}.md → Single SPEC file
|
|
36
|
+
📄 .claude/vibe/features/{feature-name}.feature → Single Feature file
|
|
37
|
+
|
|
38
|
+
Step 3: If neither exists → Error
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Split structure (folder) detected:**
|
|
42
|
+
```
|
|
43
|
+
📁 .claude/vibe/specs/{feature-name}/
|
|
44
|
+
├── _index.md → Master SPEC (read first)
|
|
45
|
+
├── phase-1-{name}.md → Phase 1 SPEC
|
|
46
|
+
└── ...
|
|
47
|
+
|
|
48
|
+
📁 .claude/vibe/features/{feature-name}/
|
|
49
|
+
├── _index.feature → Master Feature (read first)
|
|
50
|
+
├── phase-1-{name}.feature → Phase 1 scenarios
|
|
51
|
+
└── ...
|
|
52
|
+
|
|
53
|
+
→ Load all phase files, generate RTM across all phases
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Single file detected:**
|
|
57
|
+
```
|
|
58
|
+
📄 .claude/vibe/specs/{feature-name}.md → SPEC
|
|
59
|
+
📄 .claude/vibe/features/{feature-name}.feature → Feature
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Additional (auto-detect):**
|
|
63
|
+
```
|
|
64
|
+
📄 src/**/*.test.ts → Tests (auto-detect)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Error if NEITHER file NOR folder found:**
|
|
68
|
+
```
|
|
69
|
+
❌ SPEC not found. Searched:
|
|
70
|
+
- .claude/vibe/specs/{feature-name}/ (folder)
|
|
71
|
+
- .claude/vibe/specs/{feature-name}.md (file)
|
|
72
|
+
|
|
73
|
+
Run /vibe.spec "{feature-name}" first.
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 2. Extract Mappings
|
|
77
|
+
|
|
78
|
+
For each requirement ID (REQ-xxx-xxx):
|
|
79
|
+
1. Find corresponding SPEC section
|
|
80
|
+
2. Find matching Feature scenario
|
|
81
|
+
3. Find related test file
|
|
82
|
+
|
|
83
|
+
### 3. Calculate Coverage
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
Coverage = (Full coverage items / Total requirements) × 100%
|
|
87
|
+
|
|
88
|
+
Full coverage = Has SPEC + Feature + Test
|
|
89
|
+
Partial = Missing one or more
|
|
90
|
+
None = Only in SPEC
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 4. Output RTM
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
97
|
+
📊 REQUIREMENTS TRACEABILITY MATRIX: {feature-name}
|
|
98
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
99
|
+
|
|
100
|
+
## Summary
|
|
101
|
+
| Metric | Value |
|
|
102
|
+
|-------------------|----------|
|
|
103
|
+
| Total Requirements| 10 |
|
|
104
|
+
| SPEC Coverage | 10/10 |
|
|
105
|
+
| Feature Coverage | 8/10 |
|
|
106
|
+
| Test Coverage | 6/10 |
|
|
107
|
+
| **Overall** | **60%** |
|
|
108
|
+
|
|
109
|
+
## Traceability Matrix
|
|
110
|
+
|
|
111
|
+
| Requirement | SPEC | Feature | Test | Coverage |
|
|
112
|
+
|-------------|------|---------|------|----------|
|
|
113
|
+
| REQ-login-001 | ✅ Phase 1 | ✅ Scenario 1 | ✅ login.test.ts | ✅ Full |
|
|
114
|
+
| REQ-login-002 | ✅ Phase 1 | ✅ Scenario 2 | ❌ | ⚠️ Partial |
|
|
115
|
+
| REQ-login-003 | ✅ Phase 2 | ❌ | ❌ | ❌ None |
|
|
116
|
+
|
|
117
|
+
## Uncovered Requirements
|
|
118
|
+
|
|
119
|
+
The following requirements lack full coverage:
|
|
120
|
+
|
|
121
|
+
- **REQ-login-002**: Password validation
|
|
122
|
+
- Missing: Test file
|
|
123
|
+
|
|
124
|
+
- **REQ-login-003**: Remember me functionality
|
|
125
|
+
- Missing: Feature scenario, Test file
|
|
126
|
+
|
|
127
|
+
## Recommendations
|
|
128
|
+
|
|
129
|
+
⚠️ Coverage is at 60%. Consider:
|
|
130
|
+
- Add Feature scenarios for uncovered requirements
|
|
131
|
+
- Add test cases for uncovered requirements
|
|
132
|
+
|
|
133
|
+
⏱️ Started: {start_time}
|
|
134
|
+
⏱️ Completed: {getCurrentTime 결과}
|
|
135
|
+
|
|
136
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Example
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
User: /vibe.trace "login"
|
|
143
|
+
|
|
144
|
+
Claude:
|
|
145
|
+
📊 Generating RTM for "login"...
|
|
146
|
+
|
|
147
|
+
Loading files:
|
|
148
|
+
✅ SPEC: .claude/vibe/specs/login.md (5 requirements)
|
|
149
|
+
✅ Feature: .claude/vibe/features/login.feature (4 scenarios)
|
|
150
|
+
✅ Tests: 3 test files found
|
|
151
|
+
|
|
152
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
153
|
+
📊 REQUIREMENTS TRACEABILITY MATRIX: login
|
|
154
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
155
|
+
|
|
156
|
+
## Summary
|
|
157
|
+
| Metric | Value |
|
|
158
|
+
|-------------------|----------|
|
|
159
|
+
| Total Requirements| 5 |
|
|
160
|
+
| SPEC Coverage | 5/5 |
|
|
161
|
+
| Feature Coverage | 4/5 |
|
|
162
|
+
| Test Coverage | 3/5 |
|
|
163
|
+
| **Overall** | **60%** |
|
|
164
|
+
|
|
165
|
+
## Traceability Matrix
|
|
166
|
+
|
|
167
|
+
| Requirement | SPEC | Feature | Test | Coverage |
|
|
168
|
+
|-------------|------|---------|------|----------|
|
|
169
|
+
| REQ-login-001 | ✅ | ✅ | ✅ | ✅ Full |
|
|
170
|
+
| REQ-login-002 | ✅ | ✅ | ✅ | ✅ Full |
|
|
171
|
+
| REQ-login-003 | ✅ | ✅ | ✅ | ✅ Full |
|
|
172
|
+
| REQ-login-004 | ✅ | ✅ | ❌ | ⚠️ Partial |
|
|
173
|
+
| REQ-login-005 | ✅ | ❌ | ❌ | ❌ None |
|
|
174
|
+
|
|
175
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## Tool Integration
|
|
179
|
+
|
|
180
|
+
The RTM generation uses core tools:
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
# Generate RTM
|
|
184
|
+
node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/tools/index.js').then(t => t.generateTraceabilityMatrix('login').then(m => console.log(t.formatMatrixAsMarkdown(m))))"
|
|
185
|
+
|
|
186
|
+
# Generate HTML
|
|
187
|
+
node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/tools/index.js').then(t => t.generateTraceabilityMatrix('login').then(m => console.log(t.formatMatrixAsHtml(m))))"
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## VerificationLoop Integration
|
|
191
|
+
|
|
192
|
+
`/vibe.trace` results feed directly into the **VerificationLoop** module, which quantifies achievement rate and drives automatic re-iteration.
|
|
193
|
+
|
|
194
|
+
### Key Functions
|
|
195
|
+
|
|
196
|
+
| Function | Purpose |
|
|
197
|
+
|----------|---------|
|
|
198
|
+
| `createLoop(feature, config?)` | Initialize a new verification loop for a feature |
|
|
199
|
+
| `recordVerification(state, requirements)` | Record RTM results and determine next action |
|
|
200
|
+
| `formatVerificationResult(result, config)` | Format a single iteration result for display |
|
|
201
|
+
| `formatLoopSummary(state)` | Format the full loop history as readable text |
|
|
202
|
+
| `getUnmetRequirements(result)` | Extract failed/partial requirements for targeted fixing |
|
|
203
|
+
| `isImproving(state)` | Detect whether achievement rate is increasing across iterations |
|
|
204
|
+
|
|
205
|
+
### Loop Configuration
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
threshold: 90 — Minimum achievement rate (%) to pass (default)
|
|
209
|
+
maxIterations: 3 — Max re-verification attempts before stopping
|
|
210
|
+
autoRetry: false — Whether to auto-trigger re-implementation
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Action Types
|
|
214
|
+
|
|
215
|
+
After each `recordVerification` call, the loop returns one of:
|
|
216
|
+
|
|
217
|
+
| Action | Condition | Meaning |
|
|
218
|
+
|--------|-----------|---------|
|
|
219
|
+
| `passed` | rate >= threshold | All requirements met — done |
|
|
220
|
+
| `retry` | rate < threshold AND iterations remaining | Fix unmet requirements and re-run |
|
|
221
|
+
| `max_iterations` | rate < threshold AND no iterations left | Report remaining gaps as TODO |
|
|
222
|
+
|
|
223
|
+
### Convergence Detection
|
|
224
|
+
|
|
225
|
+
If the achievement rate does not improve between iterations (`isImproving` returns false), the loop stops early to avoid wasted cycles.
|
|
226
|
+
|
|
227
|
+
### Example Flow
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
/vibe.trace "login"
|
|
231
|
+
→ RTM generated: 7/9 requirements covered (78%)
|
|
232
|
+
→ createLoop("login", { threshold: 90, maxIterations: 3 })
|
|
233
|
+
→ recordVerification(...) → action: retry (iteration 1, 3 unmet)
|
|
234
|
+
→ [fix unmet requirements]
|
|
235
|
+
→ /vibe.trace "login"
|
|
236
|
+
→ recordVerification(...) → action: passed (rate: 100%)
|
|
237
|
+
→ formatVerificationResult → display final report
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
## Options
|
|
241
|
+
|
|
242
|
+
| Option | Description |
|
|
243
|
+
|--------|-------------|
|
|
244
|
+
| `--html` | Output as HTML file |
|
|
245
|
+
| `--save` | Save to `.claude/vibe/reports/{feature}-rtm.md` |
|
|
246
|
+
| `--json` | Output as JSON |
|
|
247
|
+
|
|
248
|
+
## Coverage Targets
|
|
249
|
+
|
|
250
|
+
| Coverage Level | Status |
|
|
251
|
+
|----------------|--------|
|
|
252
|
+
| 90-100% | ✅ Excellent - Ready for release |
|
|
253
|
+
| 70-89% | ⚠️ Good - Minor gaps |
|
|
254
|
+
| 50-69% | ⚠️ Fair - Significant gaps |
|
|
255
|
+
| 0-49% | ❌ Poor - Major gaps |
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## `.last-feature` 포인터 삭제 (워크플로 완주)
|
|
260
|
+
|
|
261
|
+
```
|
|
262
|
+
/vibe.trace가 정상 완료되면 (RTM 출력 + 사용자 확인 후):
|
|
263
|
+
Delete ".claude/vibe/.last-feature"
|
|
264
|
+
|
|
265
|
+
이유: /vibe.trace는 vibe 워크플로의 마지막 Phase (Phase 7).
|
|
266
|
+
완주 후에는 다음 /vibe.spec 호출 시 "빈 시작" 또는 진행 중 목록에서 다른 feature를 시작해야 한다.
|
|
267
|
+
삭제하지 않으면 완료된 feature가 계속 "이어서?" 로 뜬다.
|
|
268
|
+
|
|
269
|
+
예외:
|
|
270
|
+
- /vibe.trace가 에러로 중단된 경우 → 삭제하지 않음 (재시도 가능)
|
|
271
|
+
- --save 또는 --html 플래그와 무관하게 항상 삭제
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
ARGUMENTS: {feature-name}
|