@su-record/vibe 2.6.42 → 2.6.44

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.
@@ -1,209 +1,209 @@
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('@su-record/vibe/tools').then(t => t.generateTraceabilityMatrix('login').then(m => console.log(t.formatMatrixAsMarkdown(m))))"
185
-
186
- # Generate HTML
187
- node -e "import('@su-record/vibe/tools').then(t => t.generateTraceabilityMatrix('login').then(m => console.log(t.formatMatrixAsHtml(m))))"
188
- ```
189
-
190
- ## Options
191
-
192
- | Option | Description |
193
- |--------|-------------|
194
- | `--html` | Output as HTML file |
195
- | `--save` | Save to `.claude/vibe/reports/{feature}-rtm.md` |
196
- | `--json` | Output as JSON |
197
-
198
- ## Coverage Targets
199
-
200
- | Coverage Level | Status |
201
- |----------------|--------|
202
- | 90-100% | ✅ Excellent - Ready for release |
203
- | 70-89% | ⚠️ Good - Minor gaps |
204
- | 50-69% | ⚠️ Fair - Significant gaps |
205
- | 0-49% | ❌ Poor - Major gaps |
206
-
207
- ---
208
-
209
- 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('{{CORE_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('{{CORE_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
+ ## Options
191
+
192
+ | Option | Description |
193
+ |--------|-------------|
194
+ | `--html` | Output as HTML file |
195
+ | `--save` | Save to `.claude/vibe/reports/{feature}-rtm.md` |
196
+ | `--json` | Output as JSON |
197
+
198
+ ## Coverage Targets
199
+
200
+ | Coverage Level | Status |
201
+ |----------------|--------|
202
+ | 90-100% | ✅ Excellent - Ready for release |
203
+ | 70-89% | ⚠️ Good - Minor gaps |
204
+ | 50-69% | ⚠️ Fair - Significant gaps |
205
+ | 0-49% | ❌ Poor - Major gaps |
206
+
207
+ ---
208
+
209
+ ARGUMENTS: {feature-name}