@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.
Files changed (234) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +497 -497
  3. package/agents/architect-low.md +41 -41
  4. package/agents/architect-medium.md +59 -59
  5. package/agents/architect.md +80 -80
  6. package/agents/build-error-resolver.md +115 -115
  7. package/agents/compounder.md +261 -261
  8. package/agents/diagrammer.md +178 -178
  9. package/agents/e2e-tester.md +266 -266
  10. package/agents/explorer-low.md +42 -42
  11. package/agents/explorer-medium.md +59 -59
  12. package/agents/explorer.md +48 -48
  13. package/agents/implementer-low.md +43 -43
  14. package/agents/implementer-medium.md +52 -52
  15. package/agents/implementer.md +54 -54
  16. package/agents/refactor-cleaner.md +143 -143
  17. package/agents/research/best-practices-agent.md +199 -199
  18. package/agents/research/codebase-patterns-agent.md +157 -157
  19. package/agents/research/framework-docs-agent.md +188 -188
  20. package/agents/research/security-advisory-agent.md +213 -213
  21. package/agents/review/architecture-reviewer.md +107 -107
  22. package/agents/review/complexity-reviewer.md +116 -116
  23. package/agents/review/data-integrity-reviewer.md +88 -88
  24. package/agents/review/git-history-reviewer.md +103 -103
  25. package/agents/review/performance-reviewer.md +86 -86
  26. package/agents/review/python-reviewer.md +150 -150
  27. package/agents/review/rails-reviewer.md +139 -139
  28. package/agents/review/react-reviewer.md +144 -144
  29. package/agents/review/security-reviewer.md +80 -80
  30. package/agents/review/simplicity-reviewer.md +140 -140
  31. package/agents/review/test-coverage-reviewer.md +116 -116
  32. package/agents/review/typescript-reviewer.md +127 -127
  33. package/agents/searcher.md +54 -54
  34. package/agents/simplifier.md +120 -120
  35. package/agents/tester.md +49 -49
  36. package/agents/ui-previewer.md +268 -268
  37. package/commands/vibe.analyze.md +356 -356
  38. package/commands/vibe.reason.md +329 -329
  39. package/commands/vibe.review.md +412 -412
  40. package/commands/vibe.run.md +1266 -1266
  41. package/commands/vibe.spec.md +1054 -1054
  42. package/commands/vibe.spec.review.md +319 -319
  43. package/commands/vibe.trace.md +161 -161
  44. package/commands/vibe.utils.md +376 -376
  45. package/commands/vibe.verify.md +375 -375
  46. package/dist/cli/collaborator.js +52 -52
  47. package/dist/cli/detect.d.ts.map +1 -1
  48. package/dist/cli/detect.js +118 -44
  49. package/dist/cli/detect.js.map +1 -1
  50. package/dist/cli/hud.js +20 -20
  51. package/dist/cli/index.js +118 -118
  52. package/dist/cli/index.js.map +1 -1
  53. package/dist/cli/llm.js +144 -144
  54. package/dist/cli/mcp.d.ts +49 -0
  55. package/dist/cli/mcp.d.ts.map +1 -0
  56. package/dist/cli/mcp.js +169 -0
  57. package/dist/cli/mcp.js.map +1 -0
  58. package/dist/cli/postinstall.js +858 -858
  59. package/dist/cli/setup/ProjectSetup.d.ts +3 -0
  60. package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
  61. package/dist/cli/setup/ProjectSetup.js +28 -6
  62. package/dist/cli/setup/ProjectSetup.js.map +1 -1
  63. package/dist/lib/DeepInit.js +24 -24
  64. package/dist/lib/IterationTracker.js +11 -11
  65. package/dist/lib/PythonParser.js +108 -108
  66. package/dist/lib/ReviewRace.js +96 -96
  67. package/dist/lib/SkillFrontmatter.js +28 -28
  68. package/dist/lib/SkillQualityGate.js +9 -9
  69. package/dist/lib/SkillRepository.js +159 -159
  70. package/dist/lib/UltraQA.js +77 -77
  71. package/dist/lib/gemini-api.js +5 -5
  72. package/dist/lib/gemini-mcp.d.ts +10 -0
  73. package/dist/lib/gemini-mcp.d.ts.map +1 -0
  74. package/dist/lib/gemini-mcp.js +353 -0
  75. package/dist/lib/gemini-mcp.js.map +1 -0
  76. package/dist/lib/gpt-api.js +4 -4
  77. package/dist/lib/gpt-mcp.d.ts +10 -0
  78. package/dist/lib/gpt-mcp.d.ts.map +1 -0
  79. package/dist/lib/gpt-mcp.js +352 -0
  80. package/dist/lib/gpt-mcp.js.map +1 -0
  81. package/dist/lib/memory/KnowledgeGraph.js +4 -4
  82. package/dist/lib/memory/MemorySearch.js +20 -20
  83. package/dist/lib/memory/MemoryStorage.js +64 -64
  84. package/dist/orchestrator/AgentManager.js +12 -12
  85. package/dist/orchestrator/MultiLlmResearch.js +8 -8
  86. package/dist/orchestrator/SmartRouter.js +11 -11
  87. package/dist/orchestrator/parallelResearch.js +24 -24
  88. package/dist/tools/analytics/getUsageAnalytics.d.ts +10 -0
  89. package/dist/tools/analytics/getUsageAnalytics.d.ts.map +1 -0
  90. package/dist/tools/analytics/getUsageAnalytics.js +246 -0
  91. package/dist/tools/analytics/getUsageAnalytics.js.map +1 -0
  92. package/dist/tools/analytics/index.d.ts +5 -0
  93. package/dist/tools/analytics/index.d.ts.map +1 -0
  94. package/dist/tools/analytics/index.js +5 -0
  95. package/dist/tools/analytics/index.js.map +1 -0
  96. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  97. package/dist/tools/convention/getCodingGuide.d.ts +7 -0
  98. package/dist/tools/convention/getCodingGuide.d.ts.map +1 -0
  99. package/dist/tools/convention/getCodingGuide.js +69 -0
  100. package/dist/tools/convention/getCodingGuide.js.map +1 -0
  101. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  102. package/dist/tools/planning/analyzeRequirements.d.ts +9 -0
  103. package/dist/tools/planning/analyzeRequirements.d.ts.map +1 -0
  104. package/dist/tools/planning/analyzeRequirements.js +171 -0
  105. package/dist/tools/planning/analyzeRequirements.js.map +1 -0
  106. package/dist/tools/planning/createUserStories.d.ts +9 -0
  107. package/dist/tools/planning/createUserStories.d.ts.map +1 -0
  108. package/dist/tools/planning/createUserStories.js +124 -0
  109. package/dist/tools/planning/createUserStories.js.map +1 -0
  110. package/dist/tools/planning/featureRoadmap.d.ts +10 -0
  111. package/dist/tools/planning/featureRoadmap.d.ts.map +1 -0
  112. package/dist/tools/planning/featureRoadmap.js +207 -0
  113. package/dist/tools/planning/featureRoadmap.js.map +1 -0
  114. package/dist/tools/planning/generatePrd.d.ts +11 -0
  115. package/dist/tools/planning/generatePrd.d.ts.map +1 -0
  116. package/dist/tools/planning/generatePrd.js +161 -0
  117. package/dist/tools/planning/generatePrd.js.map +1 -0
  118. package/dist/tools/planning/index.d.ts +8 -0
  119. package/dist/tools/planning/index.d.ts.map +1 -0
  120. package/dist/tools/planning/index.js +8 -0
  121. package/dist/tools/planning/index.js.map +1 -0
  122. package/dist/tools/prompt/analyzePrompt.d.ts +7 -0
  123. package/dist/tools/prompt/analyzePrompt.d.ts.map +1 -0
  124. package/dist/tools/prompt/analyzePrompt.js +150 -0
  125. package/dist/tools/prompt/analyzePrompt.js.map +1 -0
  126. package/dist/tools/prompt/enhancePrompt.d.ts +8 -0
  127. package/dist/tools/prompt/enhancePrompt.d.ts.map +1 -0
  128. package/dist/tools/prompt/enhancePrompt.js +110 -0
  129. package/dist/tools/prompt/enhancePrompt.js.map +1 -0
  130. package/dist/tools/prompt/enhancePromptGemini.d.ts +8 -0
  131. package/dist/tools/prompt/enhancePromptGemini.d.ts.map +1 -0
  132. package/dist/tools/prompt/enhancePromptGemini.js +332 -0
  133. package/dist/tools/prompt/enhancePromptGemini.js.map +1 -0
  134. package/dist/tools/prompt/index.d.ts +7 -0
  135. package/dist/tools/prompt/index.d.ts.map +1 -0
  136. package/dist/tools/prompt/index.js +7 -0
  137. package/dist/tools/prompt/index.js.map +1 -0
  138. package/dist/tools/reasoning/applyReasoningFramework.d.ts +8 -0
  139. package/dist/tools/reasoning/applyReasoningFramework.d.ts.map +1 -0
  140. package/dist/tools/reasoning/applyReasoningFramework.js +266 -0
  141. package/dist/tools/reasoning/applyReasoningFramework.js.map +1 -0
  142. package/dist/tools/reasoning/index.d.ts +5 -0
  143. package/dist/tools/reasoning/index.d.ts.map +1 -0
  144. package/dist/tools/reasoning/index.js +5 -0
  145. package/dist/tools/reasoning/index.js.map +1 -0
  146. package/dist/tools/spec/prdParser.test.js +171 -171
  147. package/dist/tools/spec/specGenerator.js +169 -169
  148. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  149. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  150. package/dist/tools/thinking/analyzeProblem.d.ts +7 -0
  151. package/dist/tools/thinking/analyzeProblem.d.ts.map +1 -0
  152. package/dist/tools/thinking/analyzeProblem.js +55 -0
  153. package/dist/tools/thinking/analyzeProblem.js.map +1 -0
  154. package/dist/tools/thinking/breakDownProblem.d.ts +8 -0
  155. package/dist/tools/thinking/breakDownProblem.d.ts.map +1 -0
  156. package/dist/tools/thinking/breakDownProblem.js +145 -0
  157. package/dist/tools/thinking/breakDownProblem.js.map +1 -0
  158. package/dist/tools/thinking/createThinkingChain.d.ts +7 -0
  159. package/dist/tools/thinking/createThinkingChain.d.ts.map +1 -0
  160. package/dist/tools/thinking/createThinkingChain.js +44 -0
  161. package/dist/tools/thinking/createThinkingChain.js.map +1 -0
  162. package/dist/tools/thinking/formatAsPlan.d.ts +9 -0
  163. package/dist/tools/thinking/formatAsPlan.d.ts.map +1 -0
  164. package/dist/tools/thinking/formatAsPlan.js +78 -0
  165. package/dist/tools/thinking/formatAsPlan.js.map +1 -0
  166. package/dist/tools/thinking/index.d.ts +10 -0
  167. package/dist/tools/thinking/index.d.ts.map +1 -0
  168. package/dist/tools/thinking/index.js +10 -0
  169. package/dist/tools/thinking/index.js.map +1 -0
  170. package/dist/tools/thinking/stepByStepAnalysis.d.ts +8 -0
  171. package/dist/tools/thinking/stepByStepAnalysis.d.ts.map +1 -0
  172. package/dist/tools/thinking/stepByStepAnalysis.js +63 -0
  173. package/dist/tools/thinking/stepByStepAnalysis.js.map +1 -0
  174. package/dist/tools/thinking/thinkAloudProcess.d.ts +8 -0
  175. package/dist/tools/thinking/thinkAloudProcess.d.ts.map +1 -0
  176. package/dist/tools/thinking/thinkAloudProcess.js +80 -0
  177. package/dist/tools/thinking/thinkAloudProcess.js.map +1 -0
  178. package/hooks/hooks.json +222 -222
  179. package/hooks/scripts/code-check.js +22 -22
  180. package/hooks/scripts/code-review.js +22 -22
  181. package/hooks/scripts/complexity.js +22 -22
  182. package/hooks/scripts/compound.js +23 -23
  183. package/hooks/scripts/context-save.js +33 -33
  184. package/hooks/scripts/gemini-ui-gen.js +281 -281
  185. package/hooks/scripts/generate-brand-assets.js +474 -474
  186. package/hooks/scripts/hud-multiline.js +262 -262
  187. package/hooks/scripts/hud-status.js +291 -291
  188. package/hooks/scripts/keyword-detector.js +214 -214
  189. package/hooks/scripts/llm-orchestrate.js +171 -171
  190. package/hooks/scripts/post-edit.js +97 -97
  191. package/hooks/scripts/post-tool-verify.js +210 -210
  192. package/hooks/scripts/pre-tool-guard.js +125 -125
  193. package/hooks/scripts/recall.js +22 -22
  194. package/hooks/scripts/session-start.js +30 -30
  195. package/hooks/scripts/skill-injector.js +191 -191
  196. package/hooks/scripts/utils.js +97 -97
  197. package/languages/csharp-unity.md +515 -515
  198. package/languages/gdscript-godot.md +470 -470
  199. package/languages/ruby-rails.md +489 -489
  200. package/languages/typescript-angular.md +433 -433
  201. package/languages/typescript-astro.md +416 -416
  202. package/languages/typescript-electron.md +406 -406
  203. package/languages/typescript-nestjs.md +524 -524
  204. package/languages/typescript-svelte.md +407 -407
  205. package/languages/typescript-tauri.md +365 -365
  206. package/package.json +84 -84
  207. package/skills/brand-assets.md +141 -141
  208. package/skills/commerce-patterns.md +361 -361
  209. package/skills/context7-usage.md +102 -102
  210. package/skills/e2e-commerce.md +304 -304
  211. package/skills/frontend-design.md +92 -92
  212. package/skills/git-worktree.md +181 -181
  213. package/skills/parallel-research.md +77 -77
  214. package/skills/priority-todos.md +239 -239
  215. package/skills/seo-checklist.md +244 -244
  216. package/skills/tool-fallback.md +190 -190
  217. package/skills/vibe-capabilities.md +161 -161
  218. package/vibe/constitution.md +227 -227
  219. package/vibe/rules/core/communication-guide.md +98 -98
  220. package/vibe/rules/core/development-philosophy.md +52 -52
  221. package/vibe/rules/core/quick-start.md +102 -102
  222. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  223. package/vibe/rules/quality/checklist.md +276 -276
  224. package/vibe/rules/quality/testing-strategy.md +440 -440
  225. package/vibe/rules/standards/anti-patterns.md +541 -541
  226. package/vibe/rules/standards/code-structure.md +291 -291
  227. package/vibe/rules/standards/complexity-metrics.md +313 -313
  228. package/vibe/rules/standards/naming-conventions.md +198 -198
  229. package/vibe/setup.sh +31 -31
  230. package/vibe/templates/constitution-template.md +252 -252
  231. package/vibe/templates/contract-backend-template.md +526 -526
  232. package/vibe/templates/contract-frontend-template.md +599 -599
  233. package/vibe/templates/feature-template.md +96 -96
  234. package/vibe/templates/spec-template.md +221 -221
@@ -1,375 +1,375 @@
1
- ---
2
- description: Verify implementation against SPEC requirements
3
- argument-hint: "feature name"
4
- ---
5
-
6
- # /vibe.verify
7
-
8
- **Automated Quality Verification** - Making quality trustworthy even for non-developers.
9
-
10
- > All scenarios passed = Quality assured
11
-
12
- ## Usage
13
-
14
- ```
15
- /vibe.verify "feature-name" # SPEC-based verification
16
- /vibe.verify --e2e "feature-name" # E2E browser test (agents/e2e-tester.md)
17
- /vibe.verify --e2e --visual # Visual regression test
18
- /vibe.verify --e2e --record # Video recording
19
- ```
20
-
21
- ## Core Principles
22
-
23
- ```
24
- ┌─────────────────────────────────────────────────────────────────┐
25
- │ What non-developers need to know │
26
- │ │
27
- │ ✅ Scenarios: 4/4 passed │
28
- │ 📈 Quality Score: 94/100 │
29
- │ │
30
- │ Just look at this. The system handles the rest. │
31
- └─────────────────────────────────────────────────────────────────┘
32
- ```
33
-
34
- ## Process
35
-
36
- ### 1. Load Feature File
37
-
38
- ```
39
- 📄 .claude/vibe/features/{feature-name}.feature → Scenario list
40
- 📄 .claude/vibe/specs/{feature-name}.md → Verification criteria (reference)
41
- ```
42
-
43
- **If feature file does not exist**:
44
- ```
45
- ❌ Feature file not found.
46
- Run /vibe.spec "{feature-name}" first.
47
- ```
48
-
49
- ### 2. Scenario-by-Scenario Verification
50
-
51
- Automatic verification for each scenario:
52
-
53
- ```
54
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
55
- 🔍 Scenario 1/4: Valid login success
56
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
57
-
58
- Given: User is registered
59
- → Verify: User creation API exists? ✅
60
- → Verify: Test user data available? ✅
61
-
62
- When: Login with valid email and password
63
- → Verify: POST /login endpoint exists? ✅
64
- → Verify: Request handling logic exists? ✅
65
-
66
- Then: Login success + JWT token returned
67
- → Verify: Success response code 200? ✅
68
- → Verify: JWT token included? ✅
69
-
70
- ✅ Scenario 1 passed!
71
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
72
- ```
73
-
74
- ### 3. Verification Methods (Auto-selected)
75
-
76
- | Method | Condition | Verification Content |
77
- |--------|-----------|---------------------|
78
- | **Test Execution** | When test files exist | Run `npm test`, `pytest`, etc. |
79
- | **Code Analysis** | Always | Check implementation, verify logic |
80
- | **Build Verification** | When build script exists | Check for compile errors |
81
- | **Type Check** | TypeScript, etc. | Check for type errors |
82
-
83
- ### 4. Quality Report (Auto-generated)
84
-
85
- ```
86
- ┌─────────────────────────────────────────────────────────────────┐
87
- │ 📊 VERIFICATION REPORT: login │
88
- ├─────────────────────────────────────────────────────────────────┤
89
- │ │
90
- │ ✅ Scenarios: 4/4 passed (100%) │
91
- │ │
92
- │ ┌───────────────────────────────────────────────────────────┐ │
93
- │ │ # │ Scenario │ Given │ When │ Then │ Status │ │
94
- │ │───│───────────────────────│───────│──────│──────│────────│ │
95
- │ │ 1 │ Valid login success │ ✅ │ ✅ │ ✅ │ ✅ │ │
96
- │ │ 2 │ Invalid password error│ ✅ │ ✅ │ ✅ │ ✅ │ │
97
- │ │ 3 │ Email format validation│ ✅ │ ✅ │ ✅ │ ✅ │ │
98
- │ │ 4 │ Forgot password link │ ✅ │ ✅ │ ✅ │ ✅ │ │
99
- │ └───────────────────────────────────────────────────────────┘ │
100
- │ │
101
- │ 📈 Quality Score: 94/100 │
102
- │ │
103
- │ ┌─────────────────────────────────────────────────────────┐ │
104
- │ │ Item │ Result│ Details │ │
105
- │ │───────────────────│───────│─────────────────────────────│ │
106
- │ │ Build │ ✅ │ Success │ │
107
- │ │ Tests │ ✅ │ 12/12 passed │ │
108
- │ │ Type Check │ ✅ │ 0 errors │ │
109
- │ │ Complexity │ ✅ │ All functions ≤30 lines │ │
110
- │ │ Code Coverage │ ⚠️ │ 78% (target: 80%) │ │
111
- │ └─────────────────────────────────────────────────────────┘ │
112
- │ │
113
- │ 📋 Recommendations: │
114
- │ - Need 2% more code coverage (auth.service.ts line 45-52) │
115
- │ │
116
- └─────────────────────────────────────────────────────────────────┘
117
- ```
118
-
119
- ### Failure Report
120
-
121
- ```
122
- ┌─────────────────────────────────────────────────────────────────┐
123
- │ 📊 VERIFICATION REPORT: login │
124
- ├─────────────────────────────────────────────────────────────────┤
125
- │ │
126
- │ ❌ Scenarios: 3/4 passed (75%) │
127
- │ │
128
- │ ┌───────────────────────────────────────────────────────────┐ │
129
- │ │ # │ Scenario │ Given │ When │ Then │ Status │ │
130
- │ │───│───────────────────────│───────│──────│──────│────────│ │
131
- │ │ 1 │ Valid login success │ ✅ │ ✅ │ ✅ │ ✅ │ │
132
- │ │ 2 │ Invalid password error│ ✅ │ ✅ │ ✅ │ ✅ │ │
133
- │ │ 3 │ Email format validation│ ✅ │ ✅ │ ✅ │ ✅ │ │
134
- │ │ 4 │ Forgot password link │ ✅ │ ❌ │ - │ ❌ │ │
135
- │ └───────────────────────────────────────────────────────────┘ │
136
- │ │
137
- │ ❌ Failure Details: │
138
- │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
139
- │ Scenario 4: Forgot password link │
140
- │ │
141
- │ When: Click "Forgot password" │
142
- │ ❌ Issue: Link not implemented │
143
- │ 📍 Location: LoginForm.tsx line 42 │
144
- │ 💡 Fix: Need to add "Forgot password" link │
145
- │ │
146
- │ 🔧 Auto-fix command: /vibe.run "login" --fix │
147
- │ │
148
- └─────────────────────────────────────────────────────────────────┘
149
- ```
150
-
151
- ## Input
152
-
153
- - `.claude/vibe/features/{feature-name}.feature` - BDD scenarios
154
- - `.claude/vibe/specs/{feature-name}.md` - SPEC document (reference)
155
- - Implemented source code
156
-
157
- ## Output
158
-
159
- - Verification result report (terminal output)
160
- - Passed/failed scenario list
161
- - Items needing fixes
162
-
163
- ## Example
164
-
165
- ```
166
- User: /vibe.verify "login"
167
-
168
- Claude:
169
- 📄 Loading Feature: .claude/vibe/features/login.feature
170
- 🔍 Starting verification...
171
-
172
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
173
- 🔍 Scenario 1/4: Valid login success
174
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
175
- ✅ Given: User registered - OK
176
- ✅ When: Login attempt - OK
177
- ✅ Then: JWT token returned - OK
178
- ✅ Passed!
179
-
180
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
181
- 🔍 Scenario 2/4: Invalid password error
182
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
183
- ✅ Given: OK
184
- ✅ When: OK
185
- ✅ Then: OK
186
- ✅ Passed!
187
-
188
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
189
- 🔍 Scenario 3/4: Email format validation
190
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
191
- ✅ Given: OK
192
- ✅ When: OK
193
- ✅ Then: OK
194
- ✅ Passed!
195
-
196
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
197
- 🔍 Scenario 4/4: Forgot password link
198
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
199
- ✅ Given: OK
200
- ❌ When: "Forgot password" link - missing
201
- - Then: (skipped)
202
- ❌ Failed!
203
-
204
- ┌─────────────────────────────────────────────────────────────────┐
205
- │ 📊 VERIFICATION REPORT: login │
206
- ├─────────────────────────────────────────────────────────────────┤
207
- │ │
208
- │ ❌ Scenarios: 3/4 passed (75%) │
209
- │ │
210
- │ | # | Scenario | Status | │
211
- │ |---|───────────────────────|────────| │
212
- │ | 1 | Valid login success | ✅ | │
213
- │ | 2 | Invalid password error| ✅ | │
214
- │ | 3 | Email format validation| ✅ | │
215
- │ | 4 | Forgot password link | ❌ | │
216
- │ │
217
- │ 📈 Quality Score: 75/100 │
218
- │ │
219
- │ ❌ Fixes needed: │
220
- │ - Scenario 4: Add "Forgot password" link in LoginForm.tsx │
221
- │ │
222
- │ 🔧 Auto-fix: /vibe.run "login" --fix │
223
- │ │
224
- └─────────────────────────────────────────────────────────────────┘
225
- ```
226
-
227
- ## Vibe Tools (Code Analysis & Quality)
228
-
229
- ### Tool Invocation
230
-
231
- All tools are called via:
232
-
233
- ```bash
234
- node -e "import('@su-record/vibe/tools').then(t => t.TOOL_NAME({...args}).then(r => console.log(r.content[0].text)))"
235
- ```
236
-
237
- ### Recommended Tools for Verification
238
-
239
- | Tool | Purpose | When to Use |
240
- |------|---------|-------------|
241
- | `validateCodeQuality` | Code quality validation | Check complexity, style violations |
242
- | `analyzeComplexity` | Complexity analysis | Verify function length, nesting depth |
243
- | `findSymbol` | Find implementations | Verify feature implementation exists |
244
- | `findReferences` | Find usages | Check if all references are correct |
245
-
246
- ### Example Tool Usage in Verification
247
-
248
- **1. Validate code quality:**
249
-
250
- ```bash
251
- node -e "import('@su-record/vibe/tools').then(t => t.validateCodeQuality({targetPath: 'src/auth/', projectPath: process.cwd()}).then(r => console.log(r.content[0].text)))"
252
- ```
253
-
254
- **2. Analyze complexity of implementation:**
255
-
256
- ```bash
257
- node -e "import('@su-record/vibe/tools').then(t => t.analyzeComplexity({targetPath: 'src/auth/login.ts', projectPath: process.cwd()}).then(r => console.log(r.content[0].text)))"
258
- ```
259
-
260
- **3. Find implemented feature:**
261
-
262
- ```bash
263
- node -e "import('@su-record/vibe/tools').then(t => t.findSymbol({symbolName: 'handleLogin', searchPath: 'src/'}).then(r => console.log(r.content[0].text)))"
264
- ```
265
-
266
- ## Next Step
267
-
268
- On verification pass:
269
-
270
- ```
271
- Complete! Proceed to next feature.
272
- ```
273
-
274
- On verification fail:
275
-
276
- ```
277
- /vibe.run "feature-name" --fix # Fix failed scenarios
278
- ```
279
-
280
- ---
281
-
282
- ## Quality Gate (Mandatory)
283
-
284
- ### Verification Quality Checklist
285
-
286
- Before marking verification complete, ALL items must pass:
287
-
288
- | Category | Check Item | Weight |
289
- |----------|------------|--------|
290
- | **Scenario Coverage** | All scenarios from feature file tested | 25% |
291
- | **Given Verification** | All preconditions validated | 15% |
292
- | **When Verification** | All actions executable | 15% |
293
- | **Then Verification** | All expected outcomes confirmed | 20% |
294
- | **Build Status** | Project builds without errors | 10% |
295
- | **Test Status** | All existing tests pass | 10% |
296
- | **Type Check** | No TypeScript/type errors | 5% |
297
-
298
- ### Verification Score Calculation
299
-
300
- ```
301
- Score = (passed_scenarios / total_scenarios) × 100
302
-
303
- Grades:
304
- - 100%: ✅ PERFECT - All scenarios pass
305
- - 90-99%: ⚠️ ALMOST - Minor gaps, review needed
306
- - 70-89%: ❌ INCOMPLETE - Significant gaps
307
- - 0-69%: ❌ FAILED - Major implementation missing
308
- ```
309
-
310
- ### Pass/Fail Criteria
311
-
312
- | Metric | Pass Threshold | Action on Fail |
313
- |--------|----------------|----------------|
314
- | Scenario pass rate | 100% | Run `/vibe.run --fix` |
315
- | Build status | Success | Fix build errors first |
316
- | Test pass rate | 100% | Fix failing tests |
317
- | Type check | 0 errors | Fix type errors |
318
-
319
- ### Verification Methods Matrix
320
-
321
- | Method | Trigger Condition | What It Checks |
322
- |--------|-------------------|----------------|
323
- | **Code Analysis** | Always | Implementation exists |
324
- | **Test Execution** | Test files exist | Logic correctness |
325
- | **Build Verification** | Build script exists | Compilation success |
326
- | **Type Check** | tsconfig.json exists | Type safety |
327
- | **Lint Check** | ESLint config exists | Code style |
328
-
329
- ### Scenario Verification Depth
330
-
331
- For each scenario, verify at THREE levels:
332
-
333
- | Level | Verification | Example |
334
- |-------|--------------|---------|
335
- | **L1: Existence** | Code/function exists | `login()` function defined |
336
- | **L2: Logic** | Implementation is correct | Validates email format |
337
- | **L3: Integration** | Works with other components | Returns valid JWT |
338
-
339
- ### Auto-Fix Triggers
340
-
341
- | Verification Failure | Auto-Fix Action |
342
- |----------------------|-----------------|
343
- | Missing implementation | Generate skeleton from scenario |
344
- | Test failure | Analyze and suggest fix |
345
- | Build error | Show error location |
346
- | Type error | Suggest type annotations |
347
-
348
- ### Verification Report Requirements
349
-
350
- Every verification MUST produce:
351
-
352
- 1. **Scenario Summary Table**
353
- - Scenario name
354
- - Given/When/Then status (✅/❌)
355
- - Overall status
356
-
357
- 2. **Quality Metrics**
358
- - Build status
359
- - Test pass count
360
- - Type error count
361
- - Code coverage percentage
362
-
363
- 3. **Failure Details** (if any)
364
- - Exact failure point (Given/When/Then)
365
- - Expected vs actual
366
- - File path and line number
367
- - Suggested fix command
368
-
369
- 4. **Recommendations**
370
- - Specific files to modify
371
- - Auto-fix command if available
372
-
373
- ---
374
-
375
- ARGUMENTS: $ARGUMENTS
1
+ ---
2
+ description: Verify implementation against SPEC requirements
3
+ argument-hint: "feature name"
4
+ ---
5
+
6
+ # /vibe.verify
7
+
8
+ **Automated Quality Verification** - Making quality trustworthy even for non-developers.
9
+
10
+ > All scenarios passed = Quality assured
11
+
12
+ ## Usage
13
+
14
+ ```
15
+ /vibe.verify "feature-name" # SPEC-based verification
16
+ /vibe.verify --e2e "feature-name" # E2E browser test (agents/e2e-tester.md)
17
+ /vibe.verify --e2e --visual # Visual regression test
18
+ /vibe.verify --e2e --record # Video recording
19
+ ```
20
+
21
+ ## Core Principles
22
+
23
+ ```
24
+ ┌─────────────────────────────────────────────────────────────────┐
25
+ │ What non-developers need to know │
26
+ │ │
27
+ │ ✅ Scenarios: 4/4 passed │
28
+ │ 📈 Quality Score: 94/100 │
29
+ │ │
30
+ │ Just look at this. The system handles the rest. │
31
+ └─────────────────────────────────────────────────────────────────┘
32
+ ```
33
+
34
+ ## Process
35
+
36
+ ### 1. Load Feature File
37
+
38
+ ```
39
+ 📄 .claude/vibe/features/{feature-name}.feature → Scenario list
40
+ 📄 .claude/vibe/specs/{feature-name}.md → Verification criteria (reference)
41
+ ```
42
+
43
+ **If feature file does not exist**:
44
+ ```
45
+ ❌ Feature file not found.
46
+ Run /vibe.spec "{feature-name}" first.
47
+ ```
48
+
49
+ ### 2. Scenario-by-Scenario Verification
50
+
51
+ Automatic verification for each scenario:
52
+
53
+ ```
54
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
55
+ 🔍 Scenario 1/4: Valid login success
56
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
57
+
58
+ Given: User is registered
59
+ → Verify: User creation API exists? ✅
60
+ → Verify: Test user data available? ✅
61
+
62
+ When: Login with valid email and password
63
+ → Verify: POST /login endpoint exists? ✅
64
+ → Verify: Request handling logic exists? ✅
65
+
66
+ Then: Login success + JWT token returned
67
+ → Verify: Success response code 200? ✅
68
+ → Verify: JWT token included? ✅
69
+
70
+ ✅ Scenario 1 passed!
71
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
72
+ ```
73
+
74
+ ### 3. Verification Methods (Auto-selected)
75
+
76
+ | Method | Condition | Verification Content |
77
+ |--------|-----------|---------------------|
78
+ | **Test Execution** | When test files exist | Run `npm test`, `pytest`, etc. |
79
+ | **Code Analysis** | Always | Check implementation, verify logic |
80
+ | **Build Verification** | When build script exists | Check for compile errors |
81
+ | **Type Check** | TypeScript, etc. | Check for type errors |
82
+
83
+ ### 4. Quality Report (Auto-generated)
84
+
85
+ ```
86
+ ┌─────────────────────────────────────────────────────────────────┐
87
+ │ 📊 VERIFICATION REPORT: login │
88
+ ├─────────────────────────────────────────────────────────────────┤
89
+ │ │
90
+ │ ✅ Scenarios: 4/4 passed (100%) │
91
+ │ │
92
+ │ ┌───────────────────────────────────────────────────────────┐ │
93
+ │ │ # │ Scenario │ Given │ When │ Then │ Status │ │
94
+ │ │───│───────────────────────│───────│──────│──────│────────│ │
95
+ │ │ 1 │ Valid login success │ ✅ │ ✅ │ ✅ │ ✅ │ │
96
+ │ │ 2 │ Invalid password error│ ✅ │ ✅ │ ✅ │ ✅ │ │
97
+ │ │ 3 │ Email format validation│ ✅ │ ✅ │ ✅ │ ✅ │ │
98
+ │ │ 4 │ Forgot password link │ ✅ │ ✅ │ ✅ │ ✅ │ │
99
+ │ └───────────────────────────────────────────────────────────┘ │
100
+ │ │
101
+ │ 📈 Quality Score: 94/100 │
102
+ │ │
103
+ │ ┌─────────────────────────────────────────────────────────┐ │
104
+ │ │ Item │ Result│ Details │ │
105
+ │ │───────────────────│───────│─────────────────────────────│ │
106
+ │ │ Build │ ✅ │ Success │ │
107
+ │ │ Tests │ ✅ │ 12/12 passed │ │
108
+ │ │ Type Check │ ✅ │ 0 errors │ │
109
+ │ │ Complexity │ ✅ │ All functions ≤30 lines │ │
110
+ │ │ Code Coverage │ ⚠️ │ 78% (target: 80%) │ │
111
+ │ └─────────────────────────────────────────────────────────┘ │
112
+ │ │
113
+ │ 📋 Recommendations: │
114
+ │ - Need 2% more code coverage (auth.service.ts line 45-52) │
115
+ │ │
116
+ └─────────────────────────────────────────────────────────────────┘
117
+ ```
118
+
119
+ ### Failure Report
120
+
121
+ ```
122
+ ┌─────────────────────────────────────────────────────────────────┐
123
+ │ 📊 VERIFICATION REPORT: login │
124
+ ├─────────────────────────────────────────────────────────────────┤
125
+ │ │
126
+ │ ❌ Scenarios: 3/4 passed (75%) │
127
+ │ │
128
+ │ ┌───────────────────────────────────────────────────────────┐ │
129
+ │ │ # │ Scenario │ Given │ When │ Then │ Status │ │
130
+ │ │───│───────────────────────│───────│──────│──────│────────│ │
131
+ │ │ 1 │ Valid login success │ ✅ │ ✅ │ ✅ │ ✅ │ │
132
+ │ │ 2 │ Invalid password error│ ✅ │ ✅ │ ✅ │ ✅ │ │
133
+ │ │ 3 │ Email format validation│ ✅ │ ✅ │ ✅ │ ✅ │ │
134
+ │ │ 4 │ Forgot password link │ ✅ │ ❌ │ - │ ❌ │ │
135
+ │ └───────────────────────────────────────────────────────────┘ │
136
+ │ │
137
+ │ ❌ Failure Details: │
138
+ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
139
+ │ Scenario 4: Forgot password link │
140
+ │ │
141
+ │ When: Click "Forgot password" │
142
+ │ ❌ Issue: Link not implemented │
143
+ │ 📍 Location: LoginForm.tsx line 42 │
144
+ │ 💡 Fix: Need to add "Forgot password" link │
145
+ │ │
146
+ │ 🔧 Auto-fix command: /vibe.run "login" --fix │
147
+ │ │
148
+ └─────────────────────────────────────────────────────────────────┘
149
+ ```
150
+
151
+ ## Input
152
+
153
+ - `.claude/vibe/features/{feature-name}.feature` - BDD scenarios
154
+ - `.claude/vibe/specs/{feature-name}.md` - SPEC document (reference)
155
+ - Implemented source code
156
+
157
+ ## Output
158
+
159
+ - Verification result report (terminal output)
160
+ - Passed/failed scenario list
161
+ - Items needing fixes
162
+
163
+ ## Example
164
+
165
+ ```
166
+ User: /vibe.verify "login"
167
+
168
+ Claude:
169
+ 📄 Loading Feature: .claude/vibe/features/login.feature
170
+ 🔍 Starting verification...
171
+
172
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
173
+ 🔍 Scenario 1/4: Valid login success
174
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
175
+ ✅ Given: User registered - OK
176
+ ✅ When: Login attempt - OK
177
+ ✅ Then: JWT token returned - OK
178
+ ✅ Passed!
179
+
180
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
181
+ 🔍 Scenario 2/4: Invalid password error
182
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
183
+ ✅ Given: OK
184
+ ✅ When: OK
185
+ ✅ Then: OK
186
+ ✅ Passed!
187
+
188
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
189
+ 🔍 Scenario 3/4: Email format validation
190
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
191
+ ✅ Given: OK
192
+ ✅ When: OK
193
+ ✅ Then: OK
194
+ ✅ Passed!
195
+
196
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
197
+ 🔍 Scenario 4/4: Forgot password link
198
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
199
+ ✅ Given: OK
200
+ ❌ When: "Forgot password" link - missing
201
+ - Then: (skipped)
202
+ ❌ Failed!
203
+
204
+ ┌─────────────────────────────────────────────────────────────────┐
205
+ │ 📊 VERIFICATION REPORT: login │
206
+ ├─────────────────────────────────────────────────────────────────┤
207
+ │ │
208
+ │ ❌ Scenarios: 3/4 passed (75%) │
209
+ │ │
210
+ │ | # | Scenario | Status | │
211
+ │ |---|───────────────────────|────────| │
212
+ │ | 1 | Valid login success | ✅ | │
213
+ │ | 2 | Invalid password error| ✅ | │
214
+ │ | 3 | Email format validation| ✅ | │
215
+ │ | 4 | Forgot password link | ❌ | │
216
+ │ │
217
+ │ 📈 Quality Score: 75/100 │
218
+ │ │
219
+ │ ❌ Fixes needed: │
220
+ │ - Scenario 4: Add "Forgot password" link in LoginForm.tsx │
221
+ │ │
222
+ │ 🔧 Auto-fix: /vibe.run "login" --fix │
223
+ │ │
224
+ └─────────────────────────────────────────────────────────────────┘
225
+ ```
226
+
227
+ ## Vibe Tools (Code Analysis & Quality)
228
+
229
+ ### Tool Invocation
230
+
231
+ All tools are called via:
232
+
233
+ ```bash
234
+ node -e "import('@su-record/vibe/tools').then(t => t.TOOL_NAME({...args}).then(r => console.log(r.content[0].text)))"
235
+ ```
236
+
237
+ ### Recommended Tools for Verification
238
+
239
+ | Tool | Purpose | When to Use |
240
+ |------|---------|-------------|
241
+ | `validateCodeQuality` | Code quality validation | Check complexity, style violations |
242
+ | `analyzeComplexity` | Complexity analysis | Verify function length, nesting depth |
243
+ | `findSymbol` | Find implementations | Verify feature implementation exists |
244
+ | `findReferences` | Find usages | Check if all references are correct |
245
+
246
+ ### Example Tool Usage in Verification
247
+
248
+ **1. Validate code quality:**
249
+
250
+ ```bash
251
+ node -e "import('@su-record/vibe/tools').then(t => t.validateCodeQuality({targetPath: 'src/auth/', projectPath: process.cwd()}).then(r => console.log(r.content[0].text)))"
252
+ ```
253
+
254
+ **2. Analyze complexity of implementation:**
255
+
256
+ ```bash
257
+ node -e "import('@su-record/vibe/tools').then(t => t.analyzeComplexity({targetPath: 'src/auth/login.ts', projectPath: process.cwd()}).then(r => console.log(r.content[0].text)))"
258
+ ```
259
+
260
+ **3. Find implemented feature:**
261
+
262
+ ```bash
263
+ node -e "import('@su-record/vibe/tools').then(t => t.findSymbol({symbolName: 'handleLogin', searchPath: 'src/'}).then(r => console.log(r.content[0].text)))"
264
+ ```
265
+
266
+ ## Next Step
267
+
268
+ On verification pass:
269
+
270
+ ```
271
+ Complete! Proceed to next feature.
272
+ ```
273
+
274
+ On verification fail:
275
+
276
+ ```
277
+ /vibe.run "feature-name" --fix # Fix failed scenarios
278
+ ```
279
+
280
+ ---
281
+
282
+ ## Quality Gate (Mandatory)
283
+
284
+ ### Verification Quality Checklist
285
+
286
+ Before marking verification complete, ALL items must pass:
287
+
288
+ | Category | Check Item | Weight |
289
+ |----------|------------|--------|
290
+ | **Scenario Coverage** | All scenarios from feature file tested | 25% |
291
+ | **Given Verification** | All preconditions validated | 15% |
292
+ | **When Verification** | All actions executable | 15% |
293
+ | **Then Verification** | All expected outcomes confirmed | 20% |
294
+ | **Build Status** | Project builds without errors | 10% |
295
+ | **Test Status** | All existing tests pass | 10% |
296
+ | **Type Check** | No TypeScript/type errors | 5% |
297
+
298
+ ### Verification Score Calculation
299
+
300
+ ```
301
+ Score = (passed_scenarios / total_scenarios) × 100
302
+
303
+ Grades:
304
+ - 100%: ✅ PERFECT - All scenarios pass
305
+ - 90-99%: ⚠️ ALMOST - Minor gaps, review needed
306
+ - 70-89%: ❌ INCOMPLETE - Significant gaps
307
+ - 0-69%: ❌ FAILED - Major implementation missing
308
+ ```
309
+
310
+ ### Pass/Fail Criteria
311
+
312
+ | Metric | Pass Threshold | Action on Fail |
313
+ |--------|----------------|----------------|
314
+ | Scenario pass rate | 100% | Run `/vibe.run --fix` |
315
+ | Build status | Success | Fix build errors first |
316
+ | Test pass rate | 100% | Fix failing tests |
317
+ | Type check | 0 errors | Fix type errors |
318
+
319
+ ### Verification Methods Matrix
320
+
321
+ | Method | Trigger Condition | What It Checks |
322
+ |--------|-------------------|----------------|
323
+ | **Code Analysis** | Always | Implementation exists |
324
+ | **Test Execution** | Test files exist | Logic correctness |
325
+ | **Build Verification** | Build script exists | Compilation success |
326
+ | **Type Check** | tsconfig.json exists | Type safety |
327
+ | **Lint Check** | ESLint config exists | Code style |
328
+
329
+ ### Scenario Verification Depth
330
+
331
+ For each scenario, verify at THREE levels:
332
+
333
+ | Level | Verification | Example |
334
+ |-------|--------------|---------|
335
+ | **L1: Existence** | Code/function exists | `login()` function defined |
336
+ | **L2: Logic** | Implementation is correct | Validates email format |
337
+ | **L3: Integration** | Works with other components | Returns valid JWT |
338
+
339
+ ### Auto-Fix Triggers
340
+
341
+ | Verification Failure | Auto-Fix Action |
342
+ |----------------------|-----------------|
343
+ | Missing implementation | Generate skeleton from scenario |
344
+ | Test failure | Analyze and suggest fix |
345
+ | Build error | Show error location |
346
+ | Type error | Suggest type annotations |
347
+
348
+ ### Verification Report Requirements
349
+
350
+ Every verification MUST produce:
351
+
352
+ 1. **Scenario Summary Table**
353
+ - Scenario name
354
+ - Given/When/Then status (✅/❌)
355
+ - Overall status
356
+
357
+ 2. **Quality Metrics**
358
+ - Build status
359
+ - Test pass count
360
+ - Type error count
361
+ - Code coverage percentage
362
+
363
+ 3. **Failure Details** (if any)
364
+ - Exact failure point (Given/When/Then)
365
+ - Expected vs actual
366
+ - File path and line number
367
+ - Suggested fix command
368
+
369
+ 4. **Recommendations**
370
+ - Specific files to modify
371
+ - Auto-fix command if available
372
+
373
+ ---
374
+
375
+ ARGUMENTS: $ARGUMENTS