@su-record/vibe 2.6.42 → 2.6.43
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 +1 -1
- package/commands/vibe.analyze.md +373 -373
- package/commands/vibe.reason.md +333 -333
- package/commands/vibe.review.md +555 -555
- package/commands/vibe.run.md +1922 -1922
- package/commands/vibe.spec.md +1195 -1195
- package/commands/vibe.trace.md +209 -209
- package/commands/vibe.verify.md +414 -414
- package/dist/cli/postinstall/inline-skills.js +1 -1
- package/dist/cli/postinstall/inline-skills.js.map +1 -1
- package/dist/cli/setup/GlobalInstaller.d.ts +7 -0
- package/dist/cli/setup/GlobalInstaller.d.ts.map +1 -1
- package/dist/cli/setup/GlobalInstaller.js +45 -0
- package/dist/cli/setup/GlobalInstaller.js.map +1 -1
- package/dist/infra/lib/SkillRepository.d.ts.map +1 -1
- package/dist/infra/lib/SkillRepository.js +5 -4
- package/dist/infra/lib/SkillRepository.js.map +1 -1
- package/package.json +1 -1
- package/skills/core-capabilities/SKILL.md +164 -164
- package/skills/parallel-research/SKILL.md +80 -80
package/commands/vibe.trace.md
CHANGED
|
@@ -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('
|
|
185
|
-
|
|
186
|
-
# Generate HTML
|
|
187
|
-
node -e "import('
|
|
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}
|