@su-record/vibe 2.0.0 → 2.0.1

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 (65) hide show
  1. package/.claude/agents/explorer.md +48 -48
  2. package/.claude/agents/implementer.md +53 -53
  3. package/.claude/agents/searcher.md +54 -54
  4. package/.claude/agents/simplifier.md +119 -119
  5. package/.claude/agents/tester.md +49 -49
  6. package/.claude/commands/vibe.analyze.md +239 -239
  7. package/.claude/commands/vibe.continue.md +88 -88
  8. package/.claude/commands/vibe.diagram.md +178 -178
  9. package/.claude/commands/vibe.reason.md +306 -306
  10. package/.claude/commands/vibe.run.md +760 -760
  11. package/.claude/commands/vibe.spec.md +339 -339
  12. package/.claude/commands/vibe.tool.md +153 -153
  13. package/.claude/commands/vibe.ui.md +137 -137
  14. package/.claude/commands/vibe.verify.md +238 -238
  15. package/.claude/settings.json +152 -152
  16. package/.claude/settings.local.json +4 -57
  17. package/.vibe/config.json +9 -0
  18. package/.vibe/constitution.md +184 -184
  19. package/.vibe/rules/core/communication-guide.md +104 -104
  20. package/.vibe/rules/core/development-philosophy.md +52 -52
  21. package/.vibe/rules/core/quick-start.md +120 -120
  22. package/.vibe/rules/quality/bdd-contract-testing.md +388 -388
  23. package/.vibe/rules/quality/checklist.md +276 -276
  24. package/.vibe/rules/quality/testing-strategy.md +437 -437
  25. package/.vibe/rules/standards/anti-patterns.md +369 -369
  26. package/.vibe/rules/standards/code-structure.md +291 -291
  27. package/.vibe/rules/standards/complexity-metrics.md +312 -312
  28. package/.vibe/rules/standards/naming-conventions.md +198 -198
  29. package/.vibe/rules/tools/mcp-hi-ai-guide.md +665 -665
  30. package/.vibe/rules/tools/mcp-workflow.md +51 -51
  31. package/.vibe/setup.sh +31 -31
  32. package/CLAUDE.md +122 -122
  33. package/LICENSE +21 -21
  34. package/README.md +568 -568
  35. package/dist/cli/index.d.ts.map +1 -1
  36. package/dist/cli/index.js +391 -406
  37. package/dist/cli/index.js.map +1 -1
  38. package/dist/lib/MemoryManager.js +92 -92
  39. package/dist/lib/PythonParser.js +108 -108
  40. package/dist/lib/gemini-mcp.js +15 -15
  41. package/dist/lib/gemini-oauth.js +35 -35
  42. package/dist/lib/gpt-mcp.js +17 -17
  43. package/dist/lib/gpt-oauth.js +44 -44
  44. package/dist/tools/analytics/getUsageAnalytics.js +12 -12
  45. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  46. package/dist/tools/memory/getMemoryGraph.js +12 -12
  47. package/dist/tools/memory/getSessionContext.js +9 -9
  48. package/dist/tools/memory/linkMemories.js +14 -14
  49. package/dist/tools/memory/listMemories.js +4 -4
  50. package/dist/tools/memory/recallMemory.js +4 -4
  51. package/dist/tools/memory/saveMemory.js +4 -4
  52. package/dist/tools/memory/searchMemoriesAdvanced.js +22 -22
  53. package/dist/tools/planning/generatePrd.js +46 -46
  54. package/dist/tools/prompt/enhancePromptGemini.js +160 -160
  55. package/dist/tools/reasoning/applyReasoningFramework.js +56 -56
  56. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  57. package/package.json +67 -67
  58. package/templates/constitution-template.md +184 -184
  59. package/templates/contract-backend-template.md +517 -517
  60. package/templates/contract-frontend-template.md +594 -594
  61. package/templates/feature-template.md +96 -96
  62. package/templates/hooks-template.json +103 -103
  63. package/templates/spec-template.md +199 -199
  64. package/dist/lib/vibe-mcp.d.ts.map +0 -1
  65. package/dist/lib/vibe-mcp.js.map +0 -1
@@ -1,238 +1,238 @@
1
- ---
2
- description: Verify implementation against SPEC requirements
3
- argument-hint: "feature name"
4
- ---
5
-
6
- # /vibe.verify
7
-
8
- **품질 검증 자동화** - 비개발자도 품질을 신뢰할 수 있도록.
9
-
10
- > 모든 시나리오 통과 = 품질 보장
11
-
12
- ## Usage
13
-
14
- ```
15
- /vibe.verify "feature-name"
16
- ```
17
-
18
- ## 핵심 원칙
19
-
20
- ```
21
- ┌─────────────────────────────────────────────────────────────────┐
22
- │ 비개발자가 알아야 할 것 │
23
- │ │
24
- │ ✅ 시나리오 4/4 통과 │
25
- │ 📈 품질 점수: 94/100 │
26
- │ │
27
- │ 이것만 보면 됨. 나머지는 시스템이 알아서. │
28
- └─────────────────────────────────────────────────────────────────┘
29
- ```
30
-
31
- ## Process
32
-
33
- ### 1. Load Feature File
34
-
35
- ```
36
- 📄 .vibe/features/{feature-name}.feature → 시나리오 목록
37
- 📄 .vibe/specs/{feature-name}.md → 검증 기준 (참조)
38
- ```
39
-
40
- **Feature 파일이 없으면**:
41
- ```
42
- ❌ Feature 파일이 없습니다.
43
- 먼저 /vibe.spec "{feature-name}"을 실행하세요.
44
- ```
45
-
46
- ### 2. Scenario-by-Scenario Verification
47
-
48
- 각 시나리오별 자동 검증:
49
-
50
- ```
51
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
52
- 🔍 Scenario 1/4: 유효한 로그인 성공
53
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
54
-
55
- Given: 사용자가 등록되어 있다
56
- → 검증: 사용자 생성 API 존재? ✅
57
- → 검증: 테스트 사용자 데이터? ✅
58
-
59
- When: 유효한 이메일과 비밀번호로 로그인
60
- → 검증: POST /login 엔드포인트? ✅
61
- → 검증: 요청 처리 로직? ✅
62
-
63
- Then: 로그인 성공 + JWT 토큰 반환
64
- → 검증: 성공 응답 코드 200? ✅
65
- → 검증: JWT 토큰 포함? ✅
66
-
67
- ✅ Scenario 1 통과!
68
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
69
- ```
70
-
71
- ### 3. Verification Methods (자동 선택)
72
-
73
- | 방법 | 조건 | 검증 내용 |
74
- |------|------|-----------|
75
- | **테스트 실행** | 테스트 파일 존재 시 | `npm test`, `pytest` 등 실행 |
76
- | **코드 분석** | 항상 | 구현 여부, 로직 확인 |
77
- | **빌드 검증** | 빌드 스크립트 존재 시 | 컴파일 에러 확인 |
78
- | **타입 검사** | TypeScript 등 | 타입 에러 확인 |
79
-
80
- ### 4. Quality Report (자동 생성)
81
-
82
- ```
83
- ┌─────────────────────────────────────────────────────────────────┐
84
- │ 📊 VERIFICATION REPORT: login │
85
- ├─────────────────────────────────────────────────────────────────┤
86
- │ │
87
- │ ✅ 시나리오: 4/4 통과 (100%) │
88
- │ │
89
- │ ┌───────────────────────────────────────────────────────────┐ │
90
- │ │ # │ Scenario │ Given │ When │ Then │ Status │ │
91
- │ │───│───────────────────────│───────│──────│──────│────────│ │
92
- │ │ 1 │ 유효한 로그인 성공 │ ✅ │ ✅ │ ✅ │ ✅ │ │
93
- │ │ 2 │ 잘못된 비밀번호 에러 │ ✅ │ ✅ │ ✅ │ ✅ │ │
94
- │ │ 3 │ 이메일 형식 검증 │ ✅ │ ✅ │ ✅ │ ✅ │ │
95
- │ │ 4 │ 비밀번호 찾기 링크 │ ✅ │ ✅ │ ✅ │ ✅ │ │
96
- │ └───────────────────────────────────────────────────────────┘ │
97
- │ │
98
- │ 📈 품질 점수: 94/100 │
99
- │ │
100
- │ ┌─────────────────────────────────────────────────────────┐ │
101
- │ │ 항목 │ 결과 │ 상세 │ │
102
- │ │───────────────────│───────│─────────────────────────────│ │
103
- │ │ 빌드 │ ✅ │ 성공 │ │
104
- │ │ 테스트 │ ✅ │ 12/12 통과 │ │
105
- │ │ 타입 검사 │ ✅ │ 에러 0개 │ │
106
- │ │ 복잡도 │ ✅ │ 모든 함수 ≤20줄 │ │
107
- │ │ 코드 커버리지 │ ⚠️ │ 78% (목표: 80%) │ │
108
- │ └─────────────────────────────────────────────────────────┘ │
109
- │ │
110
- │ 📋 권장 사항: │
111
- │ - 코드 커버리지 2% 추가 필요 (auth.service.ts line 45-52) │
112
- │ │
113
- └─────────────────────────────────────────────────────────────────┘
114
- ```
115
-
116
- ### 실패 시 리포트
117
-
118
- ```
119
- ┌─────────────────────────────────────────────────────────────────┐
120
- │ 📊 VERIFICATION REPORT: login │
121
- ├─────────────────────────────────────────────────────────────────┤
122
- │ │
123
- │ ❌ 시나리오: 3/4 통과 (75%) │
124
- │ │
125
- │ ┌───────────────────────────────────────────────────────────┐ │
126
- │ │ # │ Scenario │ Given │ When │ Then │ Status │ │
127
- │ │───│───────────────────────│───────│──────│──────│────────│ │
128
- │ │ 1 │ 유효한 로그인 성공 │ ✅ │ ✅ │ ✅ │ ✅ │ │
129
- │ │ 2 │ 잘못된 비밀번호 에러 │ ✅ │ ✅ │ ✅ │ ✅ │ │
130
- │ │ 3 │ 이메일 형식 검증 │ ✅ │ ✅ │ ✅ │ ✅ │ │
131
- │ │ 4 │ 비밀번호 찾기 링크 │ ✅ │ ❌ │ - │ ❌ │ │
132
- │ └───────────────────────────────────────────────────────────┘ │
133
- │ │
134
- │ ❌ 실패 상세: │
135
- │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
136
- │ Scenario 4: 비밀번호 찾기 링크 │
137
- │ │
138
- │ When: "비밀번호 찾기" 클릭 │
139
- │ ❌ 문제: 링크가 구현되지 않음 │
140
- │ 📍 위치: LoginForm.tsx line 42 │
141
- │ 💡 수정: "Forgot password" 링크 추가 필요 │
142
- │ │
143
- │ 🔧 자동 수정 실행: /vibe.run "login" --fix │
144
- │ │
145
- └─────────────────────────────────────────────────────────────────┘
146
- ```
147
-
148
- ## Input
149
-
150
- - `.vibe/features/{feature-name}.feature` - BDD scenarios
151
- - `.vibe/specs/{feature-name}.md` - SPEC document (reference)
152
- - Implemented source code
153
-
154
- ## Output
155
-
156
- - Verification result report (terminal output)
157
- - Passed/failed scenario list
158
- - Items needing fixes
159
-
160
- ## Example
161
-
162
- ```
163
- User: /vibe.verify "login"
164
-
165
- Claude:
166
- 📄 Loading Feature: .vibe/features/login.feature
167
- 🔍 검증 시작...
168
-
169
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
170
- 🔍 Scenario 1/4: 유효한 로그인 성공
171
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
172
- ✅ Given: 사용자 등록 - OK
173
- ✅ When: 로그인 시도 - OK
174
- ✅ Then: JWT 토큰 반환 - OK
175
- ✅ 통과!
176
-
177
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
178
- 🔍 Scenario 2/4: 잘못된 비밀번호 에러
179
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
180
- ✅ Given: OK
181
- ✅ When: OK
182
- ✅ Then: OK
183
- ✅ 통과!
184
-
185
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
186
- 🔍 Scenario 3/4: 이메일 형식 검증
187
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
188
- ✅ Given: OK
189
- ✅ When: OK
190
- ✅ Then: OK
191
- ✅ 통과!
192
-
193
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
194
- 🔍 Scenario 4/4: 비밀번호 찾기 링크
195
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
196
- ✅ Given: OK
197
- ❌ When: "비밀번호 찾기" 링크 - 없음
198
- - Then: (스킵)
199
- ❌ 실패!
200
-
201
- ┌─────────────────────────────────────────────────────────────────┐
202
- │ 📊 VERIFICATION REPORT: login │
203
- ├─────────────────────────────────────────────────────────────────┤
204
- │ │
205
- │ ❌ 시나리오: 3/4 통과 (75%) │
206
- │ │
207
- │ | # | Scenario | Status | │
208
- │ |---|───────────────────────|────────| │
209
- │ | 1 | 유효한 로그인 성공 | ✅ | │
210
- │ | 2 | 잘못된 비밀번호 에러 | ✅ | │
211
- │ | 3 | 이메일 형식 검증 | ✅ | │
212
- │ | 4 | 비밀번호 찾기 링크 | ❌ | │
213
- │ │
214
- │ 📈 품질 점수: 75/100 │
215
- │ │
216
- │ ❌ 수정 필요: │
217
- │ - Scenario 4: LoginForm.tsx에 "Forgot password" 링크 추가 │
218
- │ │
219
- │ 🔧 자동 수정: /vibe.run "login" --fix │
220
- │ │
221
- └─────────────────────────────────────────────────────────────────┘
222
- ```
223
-
224
- ## Next Step
225
-
226
- On verification pass:
227
- ```
228
- Complete! Proceed to next feature.
229
- ```
230
-
231
- On verification fail:
232
- ```
233
- /vibe.run "feature-name" --fix # Fix failed scenarios
234
- ```
235
-
236
- ---
237
-
238
- ARGUMENTS: $ARGUMENTS
1
+ ---
2
+ description: Verify implementation against SPEC requirements
3
+ argument-hint: "feature name"
4
+ ---
5
+
6
+ # /vibe.verify
7
+
8
+ **품질 검증 자동화** - 비개발자도 품질을 신뢰할 수 있도록.
9
+
10
+ > 모든 시나리오 통과 = 품질 보장
11
+
12
+ ## Usage
13
+
14
+ ```
15
+ /vibe.verify "feature-name"
16
+ ```
17
+
18
+ ## 핵심 원칙
19
+
20
+ ```
21
+ ┌─────────────────────────────────────────────────────────────────┐
22
+ │ 비개발자가 알아야 할 것 │
23
+ │ │
24
+ │ ✅ 시나리오 4/4 통과 │
25
+ │ 📈 품질 점수: 94/100 │
26
+ │ │
27
+ │ 이것만 보면 됨. 나머지는 시스템이 알아서. │
28
+ └─────────────────────────────────────────────────────────────────┘
29
+ ```
30
+
31
+ ## Process
32
+
33
+ ### 1. Load Feature File
34
+
35
+ ```
36
+ 📄 .vibe/features/{feature-name}.feature → 시나리오 목록
37
+ 📄 .vibe/specs/{feature-name}.md → 검증 기준 (참조)
38
+ ```
39
+
40
+ **Feature 파일이 없으면**:
41
+ ```
42
+ ❌ Feature 파일이 없습니다.
43
+ 먼저 /vibe.spec "{feature-name}"을 실행하세요.
44
+ ```
45
+
46
+ ### 2. Scenario-by-Scenario Verification
47
+
48
+ 각 시나리오별 자동 검증:
49
+
50
+ ```
51
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
52
+ 🔍 Scenario 1/4: 유효한 로그인 성공
53
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
54
+
55
+ Given: 사용자가 등록되어 있다
56
+ → 검증: 사용자 생성 API 존재? ✅
57
+ → 검증: 테스트 사용자 데이터? ✅
58
+
59
+ When: 유효한 이메일과 비밀번호로 로그인
60
+ → 검증: POST /login 엔드포인트? ✅
61
+ → 검증: 요청 처리 로직? ✅
62
+
63
+ Then: 로그인 성공 + JWT 토큰 반환
64
+ → 검증: 성공 응답 코드 200? ✅
65
+ → 검증: JWT 토큰 포함? ✅
66
+
67
+ ✅ Scenario 1 통과!
68
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
69
+ ```
70
+
71
+ ### 3. Verification Methods (자동 선택)
72
+
73
+ | 방법 | 조건 | 검증 내용 |
74
+ |------|------|-----------|
75
+ | **테스트 실행** | 테스트 파일 존재 시 | `npm test`, `pytest` 등 실행 |
76
+ | **코드 분석** | 항상 | 구현 여부, 로직 확인 |
77
+ | **빌드 검증** | 빌드 스크립트 존재 시 | 컴파일 에러 확인 |
78
+ | **타입 검사** | TypeScript 등 | 타입 에러 확인 |
79
+
80
+ ### 4. Quality Report (자동 생성)
81
+
82
+ ```
83
+ ┌─────────────────────────────────────────────────────────────────┐
84
+ │ 📊 VERIFICATION REPORT: login │
85
+ ├─────────────────────────────────────────────────────────────────┤
86
+ │ │
87
+ │ ✅ 시나리오: 4/4 통과 (100%) │
88
+ │ │
89
+ │ ┌───────────────────────────────────────────────────────────┐ │
90
+ │ │ # │ Scenario │ Given │ When │ Then │ Status │ │
91
+ │ │───│───────────────────────│───────│──────│──────│────────│ │
92
+ │ │ 1 │ 유효한 로그인 성공 │ ✅ │ ✅ │ ✅ │ ✅ │ │
93
+ │ │ 2 │ 잘못된 비밀번호 에러 │ ✅ │ ✅ │ ✅ │ ✅ │ │
94
+ │ │ 3 │ 이메일 형식 검증 │ ✅ │ ✅ │ ✅ │ ✅ │ │
95
+ │ │ 4 │ 비밀번호 찾기 링크 │ ✅ │ ✅ │ ✅ │ ✅ │ │
96
+ │ └───────────────────────────────────────────────────────────┘ │
97
+ │ │
98
+ │ 📈 품질 점수: 94/100 │
99
+ │ │
100
+ │ ┌─────────────────────────────────────────────────────────┐ │
101
+ │ │ 항목 │ 결과 │ 상세 │ │
102
+ │ │───────────────────│───────│─────────────────────────────│ │
103
+ │ │ 빌드 │ ✅ │ 성공 │ │
104
+ │ │ 테스트 │ ✅ │ 12/12 통과 │ │
105
+ │ │ 타입 검사 │ ✅ │ 에러 0개 │ │
106
+ │ │ 복잡도 │ ✅ │ 모든 함수 ≤20줄 │ │
107
+ │ │ 코드 커버리지 │ ⚠️ │ 78% (목표: 80%) │ │
108
+ │ └─────────────────────────────────────────────────────────┘ │
109
+ │ │
110
+ │ 📋 권장 사항: │
111
+ │ - 코드 커버리지 2% 추가 필요 (auth.service.ts line 45-52) │
112
+ │ │
113
+ └─────────────────────────────────────────────────────────────────┘
114
+ ```
115
+
116
+ ### 실패 시 리포트
117
+
118
+ ```
119
+ ┌─────────────────────────────────────────────────────────────────┐
120
+ │ 📊 VERIFICATION REPORT: login │
121
+ ├─────────────────────────────────────────────────────────────────┤
122
+ │ │
123
+ │ ❌ 시나리오: 3/4 통과 (75%) │
124
+ │ │
125
+ │ ┌───────────────────────────────────────────────────────────┐ │
126
+ │ │ # │ Scenario │ Given │ When │ Then │ Status │ │
127
+ │ │───│───────────────────────│───────│──────│──────│────────│ │
128
+ │ │ 1 │ 유효한 로그인 성공 │ ✅ │ ✅ │ ✅ │ ✅ │ │
129
+ │ │ 2 │ 잘못된 비밀번호 에러 │ ✅ │ ✅ │ ✅ │ ✅ │ │
130
+ │ │ 3 │ 이메일 형식 검증 │ ✅ │ ✅ │ ✅ │ ✅ │ │
131
+ │ │ 4 │ 비밀번호 찾기 링크 │ ✅ │ ❌ │ - │ ❌ │ │
132
+ │ └───────────────────────────────────────────────────────────┘ │
133
+ │ │
134
+ │ ❌ 실패 상세: │
135
+ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
136
+ │ Scenario 4: 비밀번호 찾기 링크 │
137
+ │ │
138
+ │ When: "비밀번호 찾기" 클릭 │
139
+ │ ❌ 문제: 링크가 구현되지 않음 │
140
+ │ 📍 위치: LoginForm.tsx line 42 │
141
+ │ 💡 수정: "Forgot password" 링크 추가 필요 │
142
+ │ │
143
+ │ 🔧 자동 수정 실행: /vibe.run "login" --fix │
144
+ │ │
145
+ └─────────────────────────────────────────────────────────────────┘
146
+ ```
147
+
148
+ ## Input
149
+
150
+ - `.vibe/features/{feature-name}.feature` - BDD scenarios
151
+ - `.vibe/specs/{feature-name}.md` - SPEC document (reference)
152
+ - Implemented source code
153
+
154
+ ## Output
155
+
156
+ - Verification result report (terminal output)
157
+ - Passed/failed scenario list
158
+ - Items needing fixes
159
+
160
+ ## Example
161
+
162
+ ```
163
+ User: /vibe.verify "login"
164
+
165
+ Claude:
166
+ 📄 Loading Feature: .vibe/features/login.feature
167
+ 🔍 검증 시작...
168
+
169
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
170
+ 🔍 Scenario 1/4: 유효한 로그인 성공
171
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
172
+ ✅ Given: 사용자 등록 - OK
173
+ ✅ When: 로그인 시도 - OK
174
+ ✅ Then: JWT 토큰 반환 - OK
175
+ ✅ 통과!
176
+
177
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
178
+ 🔍 Scenario 2/4: 잘못된 비밀번호 에러
179
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
180
+ ✅ Given: OK
181
+ ✅ When: OK
182
+ ✅ Then: OK
183
+ ✅ 통과!
184
+
185
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
186
+ 🔍 Scenario 3/4: 이메일 형식 검증
187
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
188
+ ✅ Given: OK
189
+ ✅ When: OK
190
+ ✅ Then: OK
191
+ ✅ 통과!
192
+
193
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
194
+ 🔍 Scenario 4/4: 비밀번호 찾기 링크
195
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
196
+ ✅ Given: OK
197
+ ❌ When: "비밀번호 찾기" 링크 - 없음
198
+ - Then: (스킵)
199
+ ❌ 실패!
200
+
201
+ ┌─────────────────────────────────────────────────────────────────┐
202
+ │ 📊 VERIFICATION REPORT: login │
203
+ ├─────────────────────────────────────────────────────────────────┤
204
+ │ │
205
+ │ ❌ 시나리오: 3/4 통과 (75%) │
206
+ │ │
207
+ │ | # | Scenario | Status | │
208
+ │ |---|───────────────────────|────────| │
209
+ │ | 1 | 유효한 로그인 성공 | ✅ | │
210
+ │ | 2 | 잘못된 비밀번호 에러 | ✅ | │
211
+ │ | 3 | 이메일 형식 검증 | ✅ | │
212
+ │ | 4 | 비밀번호 찾기 링크 | ❌ | │
213
+ │ │
214
+ │ 📈 품질 점수: 75/100 │
215
+ │ │
216
+ │ ❌ 수정 필요: │
217
+ │ - Scenario 4: LoginForm.tsx에 "Forgot password" 링크 추가 │
218
+ │ │
219
+ │ 🔧 자동 수정: /vibe.run "login" --fix │
220
+ │ │
221
+ └─────────────────────────────────────────────────────────────────┘
222
+ ```
223
+
224
+ ## Next Step
225
+
226
+ On verification pass:
227
+ ```
228
+ Complete! Proceed to next feature.
229
+ ```
230
+
231
+ On verification fail:
232
+ ```
233
+ /vibe.run "feature-name" --fix # Fix failed scenarios
234
+ ```
235
+
236
+ ---
237
+
238
+ ARGUMENTS: $ARGUMENTS