@su-record/vibe 2.6.13 → 2.6.15
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/LICENSE +21 -21
- package/README.md +497 -497
- 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/e2e-tester.md +266 -266
- 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/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/tester.md +49 -49
- package/agents/ui-previewer.md +268 -268
- package/commands/vibe.analyze.md +356 -356
- package/commands/vibe.reason.md +329 -329
- package/commands/vibe.review.md +412 -412
- package/commands/vibe.run.md +1266 -1266
- package/commands/vibe.spec.md +1054 -1054
- package/commands/vibe.spec.review.md +319 -319
- package/commands/vibe.trace.md +161 -161
- package/commands/vibe.utils.md +376 -376
- package/commands/vibe.verify.md +375 -375
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/detect.d.ts.map +1 -1
- package/dist/cli/detect.js +118 -44
- package/dist/cli/detect.js.map +1 -1
- package/dist/cli/hud.js +20 -20
- package/dist/cli/index.js +118 -118
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/llm.js +144 -144
- package/dist/cli/mcp.d.ts +49 -0
- package/dist/cli/mcp.d.ts.map +1 -0
- package/dist/cli/mcp.js +169 -0
- package/dist/cli/mcp.js.map +1 -0
- package/dist/cli/postinstall.js +858 -858
- package/dist/cli/setup/ProjectSetup.d.ts +3 -0
- package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
- package/dist/cli/setup/ProjectSetup.js +28 -6
- package/dist/cli/setup/ProjectSetup.js.map +1 -1
- package/dist/lib/DeepInit.js +24 -24
- package/dist/lib/IterationTracker.js +11 -11
- package/dist/lib/PythonParser.js +108 -108
- package/dist/lib/ReviewRace.js +96 -96
- package/dist/lib/SkillFrontmatter.js +28 -28
- package/dist/lib/SkillQualityGate.js +9 -9
- package/dist/lib/SkillRepository.js +159 -159
- package/dist/lib/UltraQA.js +77 -77
- package/dist/lib/gemini-api.js +5 -5
- package/dist/lib/gemini-mcp.d.ts +10 -0
- package/dist/lib/gemini-mcp.d.ts.map +1 -0
- package/dist/lib/gemini-mcp.js +353 -0
- package/dist/lib/gemini-mcp.js.map +1 -0
- package/dist/lib/gpt-api.js +4 -4
- package/dist/lib/gpt-mcp.d.ts +10 -0
- package/dist/lib/gpt-mcp.d.ts.map +1 -0
- package/dist/lib/gpt-mcp.js +352 -0
- package/dist/lib/gpt-mcp.js.map +1 -0
- package/dist/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/lib/memory/MemorySearch.js +20 -20
- package/dist/lib/memory/MemoryStorage.js +64 -64
- package/dist/orchestrator/AgentManager.js +12 -12
- package/dist/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/orchestrator/SmartRouter.js +11 -11
- package/dist/orchestrator/parallelResearch.js +24 -24
- package/dist/tools/analytics/getUsageAnalytics.d.ts +10 -0
- package/dist/tools/analytics/getUsageAnalytics.d.ts.map +1 -0
- package/dist/tools/analytics/getUsageAnalytics.js +246 -0
- package/dist/tools/analytics/getUsageAnalytics.js.map +1 -0
- package/dist/tools/analytics/index.d.ts +5 -0
- package/dist/tools/analytics/index.d.ts.map +1 -0
- package/dist/tools/analytics/index.js +5 -0
- package/dist/tools/analytics/index.js.map +1 -0
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/getCodingGuide.d.ts +7 -0
- package/dist/tools/convention/getCodingGuide.d.ts.map +1 -0
- package/dist/tools/convention/getCodingGuide.js +69 -0
- package/dist/tools/convention/getCodingGuide.js.map +1 -0
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/planning/analyzeRequirements.d.ts +9 -0
- package/dist/tools/planning/analyzeRequirements.d.ts.map +1 -0
- package/dist/tools/planning/analyzeRequirements.js +171 -0
- package/dist/tools/planning/analyzeRequirements.js.map +1 -0
- package/dist/tools/planning/createUserStories.d.ts +9 -0
- package/dist/tools/planning/createUserStories.d.ts.map +1 -0
- package/dist/tools/planning/createUserStories.js +124 -0
- package/dist/tools/planning/createUserStories.js.map +1 -0
- package/dist/tools/planning/featureRoadmap.d.ts +10 -0
- package/dist/tools/planning/featureRoadmap.d.ts.map +1 -0
- package/dist/tools/planning/featureRoadmap.js +207 -0
- package/dist/tools/planning/featureRoadmap.js.map +1 -0
- package/dist/tools/planning/generatePrd.d.ts +11 -0
- package/dist/tools/planning/generatePrd.d.ts.map +1 -0
- package/dist/tools/planning/generatePrd.js +161 -0
- package/dist/tools/planning/generatePrd.js.map +1 -0
- package/dist/tools/planning/index.d.ts +8 -0
- package/dist/tools/planning/index.d.ts.map +1 -0
- package/dist/tools/planning/index.js +8 -0
- package/dist/tools/planning/index.js.map +1 -0
- package/dist/tools/prompt/analyzePrompt.d.ts +7 -0
- package/dist/tools/prompt/analyzePrompt.d.ts.map +1 -0
- package/dist/tools/prompt/analyzePrompt.js +150 -0
- package/dist/tools/prompt/analyzePrompt.js.map +1 -0
- package/dist/tools/prompt/enhancePrompt.d.ts +8 -0
- package/dist/tools/prompt/enhancePrompt.d.ts.map +1 -0
- package/dist/tools/prompt/enhancePrompt.js +110 -0
- package/dist/tools/prompt/enhancePrompt.js.map +1 -0
- package/dist/tools/prompt/enhancePromptGemini.d.ts +8 -0
- package/dist/tools/prompt/enhancePromptGemini.d.ts.map +1 -0
- package/dist/tools/prompt/enhancePromptGemini.js +332 -0
- package/dist/tools/prompt/enhancePromptGemini.js.map +1 -0
- package/dist/tools/prompt/index.d.ts +7 -0
- package/dist/tools/prompt/index.d.ts.map +1 -0
- package/dist/tools/prompt/index.js +7 -0
- package/dist/tools/prompt/index.js.map +1 -0
- package/dist/tools/reasoning/applyReasoningFramework.d.ts +8 -0
- package/dist/tools/reasoning/applyReasoningFramework.d.ts.map +1 -0
- package/dist/tools/reasoning/applyReasoningFramework.js +266 -0
- package/dist/tools/reasoning/applyReasoningFramework.js.map +1 -0
- package/dist/tools/reasoning/index.d.ts +5 -0
- package/dist/tools/reasoning/index.d.ts.map +1 -0
- package/dist/tools/reasoning/index.js +5 -0
- package/dist/tools/reasoning/index.js.map +1 -0
- 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/dist/tools/thinking/analyzeProblem.d.ts +7 -0
- package/dist/tools/thinking/analyzeProblem.d.ts.map +1 -0
- package/dist/tools/thinking/analyzeProblem.js +55 -0
- package/dist/tools/thinking/analyzeProblem.js.map +1 -0
- package/dist/tools/thinking/breakDownProblem.d.ts +8 -0
- package/dist/tools/thinking/breakDownProblem.d.ts.map +1 -0
- package/dist/tools/thinking/breakDownProblem.js +145 -0
- package/dist/tools/thinking/breakDownProblem.js.map +1 -0
- package/dist/tools/thinking/createThinkingChain.d.ts +7 -0
- package/dist/tools/thinking/createThinkingChain.d.ts.map +1 -0
- package/dist/tools/thinking/createThinkingChain.js +44 -0
- package/dist/tools/thinking/createThinkingChain.js.map +1 -0
- package/dist/tools/thinking/formatAsPlan.d.ts +9 -0
- package/dist/tools/thinking/formatAsPlan.d.ts.map +1 -0
- package/dist/tools/thinking/formatAsPlan.js +78 -0
- package/dist/tools/thinking/formatAsPlan.js.map +1 -0
- package/dist/tools/thinking/index.d.ts +10 -0
- package/dist/tools/thinking/index.d.ts.map +1 -0
- package/dist/tools/thinking/index.js +10 -0
- package/dist/tools/thinking/index.js.map +1 -0
- package/dist/tools/thinking/stepByStepAnalysis.d.ts +8 -0
- package/dist/tools/thinking/stepByStepAnalysis.d.ts.map +1 -0
- package/dist/tools/thinking/stepByStepAnalysis.js +63 -0
- package/dist/tools/thinking/stepByStepAnalysis.js.map +1 -0
- package/dist/tools/thinking/thinkAloudProcess.d.ts +8 -0
- package/dist/tools/thinking/thinkAloudProcess.d.ts.map +1 -0
- package/dist/tools/thinking/thinkAloudProcess.js +80 -0
- package/dist/tools/thinking/thinkAloudProcess.js.map +1 -0
- package/hooks/hooks.json +222 -222
- package/hooks/scripts/code-check.js +22 -22
- package/hooks/scripts/code-review.js +22 -22
- package/hooks/scripts/complexity.js +22 -22
- package/hooks/scripts/compound.js +23 -23
- package/hooks/scripts/context-save.js +33 -33
- package/hooks/scripts/gemini-ui-gen.js +281 -281
- package/hooks/scripts/generate-brand-assets.js +474 -474
- package/hooks/scripts/hud-multiline.js +262 -262
- package/hooks/scripts/hud-status.js +291 -291
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +171 -171
- package/hooks/scripts/post-edit.js +97 -97
- package/hooks/scripts/post-tool-verify.js +210 -210
- package/hooks/scripts/pre-tool-guard.js +125 -125
- package/hooks/scripts/recall.js +22 -22
- package/hooks/scripts/session-start.js +30 -30
- package/hooks/scripts/skill-injector.js +191 -191
- package/hooks/scripts/utils.js +97 -97
- 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 +84 -84
- package/skills/brand-assets.md +141 -141
- package/skills/commerce-patterns.md +361 -361
- package/skills/context7-usage.md +102 -102
- package/skills/e2e-commerce.md +304 -304
- package/skills/frontend-design.md +92 -92
- package/skills/git-worktree.md +181 -181
- package/skills/parallel-research.md +77 -77
- package/skills/priority-todos.md +239 -239
- package/skills/seo-checklist.md +244 -244
- package/skills/tool-fallback.md +190 -190
- package/skills/vibe-capabilities.md +161 -161
- package/vibe/constitution.md +227 -227
- package/vibe/rules/core/communication-guide.md +98 -98
- package/vibe/rules/core/development-philosophy.md +52 -52
- package/vibe/rules/core/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/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/naming-conventions.md +198 -198
- package/vibe/setup.sh +31 -31
- package/vibe/templates/constitution-template.md +252 -252
- 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/spec-template.md +221 -221
package/commands/vibe.trace.md
CHANGED
|
@@ -1,161 +1,161 @@
|
|
|
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
|
-
## Description
|
|
14
|
-
|
|
15
|
-
Requirements Traceability Matrix (RTM) tracks the relationship between:
|
|
16
|
-
- **Requirements** (REQ-xxx-xxx)
|
|
17
|
-
- **SPEC sections** (Phase tasks)
|
|
18
|
-
- **Feature scenarios** (BDD)
|
|
19
|
-
- **Test files** (unit/integration tests)
|
|
20
|
-
|
|
21
|
-
## Process
|
|
22
|
-
|
|
23
|
-
### 1. Load Files
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
📄 .claude/vibe/specs/{feature-name}.md → SPEC
|
|
27
|
-
📄 .claude/vibe/features/{feature-name}.feature → Feature
|
|
28
|
-
📄 src/**/*.test.ts → Tests (auto-detect)
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
### 2. Extract Mappings
|
|
32
|
-
|
|
33
|
-
For each requirement ID (REQ-xxx-xxx):
|
|
34
|
-
1. Find corresponding SPEC section
|
|
35
|
-
2. Find matching Feature scenario
|
|
36
|
-
3. Find related test file
|
|
37
|
-
|
|
38
|
-
### 3. Calculate Coverage
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
Coverage = (Full coverage items / Total requirements) × 100%
|
|
42
|
-
|
|
43
|
-
Full coverage = Has SPEC + Feature + Test
|
|
44
|
-
Partial = Missing one or more
|
|
45
|
-
None = Only in SPEC
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### 4. Output RTM
|
|
49
|
-
|
|
50
|
-
```
|
|
51
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
52
|
-
📊 REQUIREMENTS TRACEABILITY MATRIX: {feature-name}
|
|
53
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
54
|
-
|
|
55
|
-
## Summary
|
|
56
|
-
| Metric | Value |
|
|
57
|
-
|-------------------|----------|
|
|
58
|
-
| Total Requirements| 10 |
|
|
59
|
-
| SPEC Coverage | 10/10 |
|
|
60
|
-
| Feature Coverage | 8/10 |
|
|
61
|
-
| Test Coverage | 6/10 |
|
|
62
|
-
| **Overall** | **60%** |
|
|
63
|
-
|
|
64
|
-
## Traceability Matrix
|
|
65
|
-
|
|
66
|
-
| Requirement | SPEC | Feature | Test | Coverage |
|
|
67
|
-
|-------------|------|---------|------|----------|
|
|
68
|
-
| REQ-login-001 | ✅ Phase 1 | ✅ Scenario 1 | ✅ login.test.ts | ✅ Full |
|
|
69
|
-
| REQ-login-002 | ✅ Phase 1 | ✅ Scenario 2 | ❌ | ⚠️ Partial |
|
|
70
|
-
| REQ-login-003 | ✅ Phase 2 | ❌ | ❌ | ❌ None |
|
|
71
|
-
|
|
72
|
-
## Uncovered Requirements
|
|
73
|
-
|
|
74
|
-
The following requirements lack full coverage:
|
|
75
|
-
|
|
76
|
-
- **REQ-login-002**: Password validation
|
|
77
|
-
- Missing: Test file
|
|
78
|
-
|
|
79
|
-
- **REQ-login-003**: Remember me functionality
|
|
80
|
-
- Missing: Feature scenario, Test file
|
|
81
|
-
|
|
82
|
-
## Recommendations
|
|
83
|
-
|
|
84
|
-
⚠️ Coverage is at 60%. Consider:
|
|
85
|
-
- Add Feature scenarios for uncovered requirements
|
|
86
|
-
- Add test cases for uncovered requirements
|
|
87
|
-
|
|
88
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
## Example
|
|
92
|
-
|
|
93
|
-
```
|
|
94
|
-
User: /vibe.trace "login"
|
|
95
|
-
|
|
96
|
-
Claude:
|
|
97
|
-
📊 Generating RTM for "login"...
|
|
98
|
-
|
|
99
|
-
Loading files:
|
|
100
|
-
✅ SPEC: .claude/vibe/specs/login.md (5 requirements)
|
|
101
|
-
✅ Feature: .claude/vibe/features/login.feature (4 scenarios)
|
|
102
|
-
✅ Tests: 3 test files found
|
|
103
|
-
|
|
104
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
105
|
-
📊 REQUIREMENTS TRACEABILITY MATRIX: login
|
|
106
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
107
|
-
|
|
108
|
-
## Summary
|
|
109
|
-
| Metric | Value |
|
|
110
|
-
|-------------------|----------|
|
|
111
|
-
| Total Requirements| 5 |
|
|
112
|
-
| SPEC Coverage | 5/5 |
|
|
113
|
-
| Feature Coverage | 4/5 |
|
|
114
|
-
| Test Coverage | 3/5 |
|
|
115
|
-
| **Overall** | **60%** |
|
|
116
|
-
|
|
117
|
-
## Traceability Matrix
|
|
118
|
-
|
|
119
|
-
| Requirement | SPEC | Feature | Test | Coverage |
|
|
120
|
-
|-------------|------|---------|------|----------|
|
|
121
|
-
| REQ-login-001 | ✅ | ✅ | ✅ | ✅ Full |
|
|
122
|
-
| REQ-login-002 | ✅ | ✅ | ✅ | ✅ Full |
|
|
123
|
-
| REQ-login-003 | ✅ | ✅ | ✅ | ✅ Full |
|
|
124
|
-
| REQ-login-004 | ✅ | ✅ | ❌ | ⚠️ Partial |
|
|
125
|
-
| REQ-login-005 | ✅ | ❌ | ❌ | ❌ None |
|
|
126
|
-
|
|
127
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
## Tool Integration
|
|
131
|
-
|
|
132
|
-
The RTM generation uses vibe tools:
|
|
133
|
-
|
|
134
|
-
```bash
|
|
135
|
-
# Generate RTM
|
|
136
|
-
node -e "import('@su-record/vibe/tools').then(t => t.generateTraceabilityMatrix('login').then(m => console.log(t.formatMatrixAsMarkdown(m))))"
|
|
137
|
-
|
|
138
|
-
# Generate HTML
|
|
139
|
-
node -e "import('@su-record/vibe/tools').then(t => t.generateTraceabilityMatrix('login').then(m => console.log(t.formatMatrixAsHtml(m))))"
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
## Options
|
|
143
|
-
|
|
144
|
-
| Option | Description |
|
|
145
|
-
|--------|-------------|
|
|
146
|
-
| `--html` | Output as HTML file |
|
|
147
|
-
| `--save` | Save to `.claude/vibe/reports/{feature}-rtm.md` |
|
|
148
|
-
| `--json` | Output as JSON |
|
|
149
|
-
|
|
150
|
-
## Coverage Targets
|
|
151
|
-
|
|
152
|
-
| Coverage Level | Status |
|
|
153
|
-
|----------------|--------|
|
|
154
|
-
| 90-100% | ✅ Excellent - Ready for release |
|
|
155
|
-
| 70-89% | ⚠️ Good - Minor gaps |
|
|
156
|
-
| 50-69% | ⚠️ Fair - Significant gaps |
|
|
157
|
-
| 0-49% | ❌ Poor - Major gaps |
|
|
158
|
-
|
|
159
|
-
---
|
|
160
|
-
|
|
161
|
-
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
|
+
## Description
|
|
14
|
+
|
|
15
|
+
Requirements Traceability Matrix (RTM) tracks the relationship between:
|
|
16
|
+
- **Requirements** (REQ-xxx-xxx)
|
|
17
|
+
- **SPEC sections** (Phase tasks)
|
|
18
|
+
- **Feature scenarios** (BDD)
|
|
19
|
+
- **Test files** (unit/integration tests)
|
|
20
|
+
|
|
21
|
+
## Process
|
|
22
|
+
|
|
23
|
+
### 1. Load Files
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
📄 .claude/vibe/specs/{feature-name}.md → SPEC
|
|
27
|
+
📄 .claude/vibe/features/{feature-name}.feature → Feature
|
|
28
|
+
📄 src/**/*.test.ts → Tests (auto-detect)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 2. Extract Mappings
|
|
32
|
+
|
|
33
|
+
For each requirement ID (REQ-xxx-xxx):
|
|
34
|
+
1. Find corresponding SPEC section
|
|
35
|
+
2. Find matching Feature scenario
|
|
36
|
+
3. Find related test file
|
|
37
|
+
|
|
38
|
+
### 3. Calculate Coverage
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
Coverage = (Full coverage items / Total requirements) × 100%
|
|
42
|
+
|
|
43
|
+
Full coverage = Has SPEC + Feature + Test
|
|
44
|
+
Partial = Missing one or more
|
|
45
|
+
None = Only in SPEC
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 4. Output RTM
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
52
|
+
📊 REQUIREMENTS TRACEABILITY MATRIX: {feature-name}
|
|
53
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
54
|
+
|
|
55
|
+
## Summary
|
|
56
|
+
| Metric | Value |
|
|
57
|
+
|-------------------|----------|
|
|
58
|
+
| Total Requirements| 10 |
|
|
59
|
+
| SPEC Coverage | 10/10 |
|
|
60
|
+
| Feature Coverage | 8/10 |
|
|
61
|
+
| Test Coverage | 6/10 |
|
|
62
|
+
| **Overall** | **60%** |
|
|
63
|
+
|
|
64
|
+
## Traceability Matrix
|
|
65
|
+
|
|
66
|
+
| Requirement | SPEC | Feature | Test | Coverage |
|
|
67
|
+
|-------------|------|---------|------|----------|
|
|
68
|
+
| REQ-login-001 | ✅ Phase 1 | ✅ Scenario 1 | ✅ login.test.ts | ✅ Full |
|
|
69
|
+
| REQ-login-002 | ✅ Phase 1 | ✅ Scenario 2 | ❌ | ⚠️ Partial |
|
|
70
|
+
| REQ-login-003 | ✅ Phase 2 | ❌ | ❌ | ❌ None |
|
|
71
|
+
|
|
72
|
+
## Uncovered Requirements
|
|
73
|
+
|
|
74
|
+
The following requirements lack full coverage:
|
|
75
|
+
|
|
76
|
+
- **REQ-login-002**: Password validation
|
|
77
|
+
- Missing: Test file
|
|
78
|
+
|
|
79
|
+
- **REQ-login-003**: Remember me functionality
|
|
80
|
+
- Missing: Feature scenario, Test file
|
|
81
|
+
|
|
82
|
+
## Recommendations
|
|
83
|
+
|
|
84
|
+
⚠️ Coverage is at 60%. Consider:
|
|
85
|
+
- Add Feature scenarios for uncovered requirements
|
|
86
|
+
- Add test cases for uncovered requirements
|
|
87
|
+
|
|
88
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Example
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
User: /vibe.trace "login"
|
|
95
|
+
|
|
96
|
+
Claude:
|
|
97
|
+
📊 Generating RTM for "login"...
|
|
98
|
+
|
|
99
|
+
Loading files:
|
|
100
|
+
✅ SPEC: .claude/vibe/specs/login.md (5 requirements)
|
|
101
|
+
✅ Feature: .claude/vibe/features/login.feature (4 scenarios)
|
|
102
|
+
✅ Tests: 3 test files found
|
|
103
|
+
|
|
104
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
105
|
+
📊 REQUIREMENTS TRACEABILITY MATRIX: login
|
|
106
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
107
|
+
|
|
108
|
+
## Summary
|
|
109
|
+
| Metric | Value |
|
|
110
|
+
|-------------------|----------|
|
|
111
|
+
| Total Requirements| 5 |
|
|
112
|
+
| SPEC Coverage | 5/5 |
|
|
113
|
+
| Feature Coverage | 4/5 |
|
|
114
|
+
| Test Coverage | 3/5 |
|
|
115
|
+
| **Overall** | **60%** |
|
|
116
|
+
|
|
117
|
+
## Traceability Matrix
|
|
118
|
+
|
|
119
|
+
| Requirement | SPEC | Feature | Test | Coverage |
|
|
120
|
+
|-------------|------|---------|------|----------|
|
|
121
|
+
| REQ-login-001 | ✅ | ✅ | ✅ | ✅ Full |
|
|
122
|
+
| REQ-login-002 | ✅ | ✅ | ✅ | ✅ Full |
|
|
123
|
+
| REQ-login-003 | ✅ | ✅ | ✅ | ✅ Full |
|
|
124
|
+
| REQ-login-004 | ✅ | ✅ | ❌ | ⚠️ Partial |
|
|
125
|
+
| REQ-login-005 | ✅ | ❌ | ❌ | ❌ None |
|
|
126
|
+
|
|
127
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Tool Integration
|
|
131
|
+
|
|
132
|
+
The RTM generation uses vibe tools:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# Generate RTM
|
|
136
|
+
node -e "import('@su-record/vibe/tools').then(t => t.generateTraceabilityMatrix('login').then(m => console.log(t.formatMatrixAsMarkdown(m))))"
|
|
137
|
+
|
|
138
|
+
# Generate HTML
|
|
139
|
+
node -e "import('@su-record/vibe/tools').then(t => t.generateTraceabilityMatrix('login').then(m => console.log(t.formatMatrixAsHtml(m))))"
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Options
|
|
143
|
+
|
|
144
|
+
| Option | Description |
|
|
145
|
+
|--------|-------------|
|
|
146
|
+
| `--html` | Output as HTML file |
|
|
147
|
+
| `--save` | Save to `.claude/vibe/reports/{feature}-rtm.md` |
|
|
148
|
+
| `--json` | Output as JSON |
|
|
149
|
+
|
|
150
|
+
## Coverage Targets
|
|
151
|
+
|
|
152
|
+
| Coverage Level | Status |
|
|
153
|
+
|----------------|--------|
|
|
154
|
+
| 90-100% | ✅ Excellent - Ready for release |
|
|
155
|
+
| 70-89% | ⚠️ Good - Minor gaps |
|
|
156
|
+
| 50-69% | ⚠️ Fair - Significant gaps |
|
|
157
|
+
| 0-49% | ❌ Poor - Major gaps |
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
ARGUMENTS: {feature-name}
|