@su-record/vibe 2.4.33 β†’ 2.4.35

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 (101) hide show
  1. package/CLAUDE.md +345 -345
  2. package/LICENSE +21 -21
  3. package/README.md +210 -210
  4. package/agents/compounder.md +261 -261
  5. package/agents/diagrammer.md +178 -178
  6. package/agents/e2e-tester.md +266 -266
  7. package/agents/explorer.md +48 -48
  8. package/agents/implementer.md +53 -53
  9. package/agents/research/best-practices-agent.md +139 -139
  10. package/agents/research/codebase-patterns-agent.md +147 -147
  11. package/agents/research/framework-docs-agent.md +178 -178
  12. package/agents/research/security-advisory-agent.md +164 -164
  13. package/agents/review/architecture-reviewer.md +107 -107
  14. package/agents/review/complexity-reviewer.md +116 -116
  15. package/agents/review/data-integrity-reviewer.md +88 -88
  16. package/agents/review/git-history-reviewer.md +103 -103
  17. package/agents/review/performance-reviewer.md +86 -86
  18. package/agents/review/python-reviewer.md +150 -150
  19. package/agents/review/rails-reviewer.md +139 -139
  20. package/agents/review/react-reviewer.md +144 -144
  21. package/agents/review/security-reviewer.md +80 -80
  22. package/agents/review/simplicity-reviewer.md +140 -140
  23. package/agents/review/test-coverage-reviewer.md +116 -116
  24. package/agents/review/typescript-reviewer.md +127 -127
  25. package/agents/searcher.md +54 -54
  26. package/agents/simplifier.md +119 -119
  27. package/agents/tester.md +49 -49
  28. package/agents/ui-previewer.md +129 -129
  29. package/commands/vibe.analyze.md +260 -260
  30. package/commands/vibe.reason.md +223 -223
  31. package/commands/vibe.review.md +213 -213
  32. package/commands/vibe.run.md +931 -931
  33. package/commands/vibe.spec.md +442 -442
  34. package/commands/vibe.utils.md +101 -101
  35. package/commands/vibe.verify.md +282 -282
  36. package/dist/cli/collaborator.js +52 -52
  37. package/dist/cli/detect.js +32 -32
  38. package/dist/cli/index.js +137 -137
  39. package/dist/cli/llm.js +147 -147
  40. package/dist/cli/llm.js.map +1 -1
  41. package/dist/cli/setup.d.ts +1 -1
  42. package/dist/cli/setup.d.ts.map +1 -1
  43. package/dist/cli/setup.js +11 -17
  44. package/dist/cli/setup.js.map +1 -1
  45. package/dist/lib/MemoryManager.d.ts +4 -0
  46. package/dist/lib/MemoryManager.d.ts.map +1 -1
  47. package/dist/lib/MemoryManager.js +21 -2
  48. package/dist/lib/MemoryManager.js.map +1 -1
  49. package/dist/lib/PythonParser.js +108 -108
  50. package/dist/lib/gemini-api.d.ts +13 -3
  51. package/dist/lib/gemini-api.d.ts.map +1 -1
  52. package/dist/lib/gemini-api.js +198 -7
  53. package/dist/lib/gemini-api.js.map +1 -1
  54. package/dist/lib/gpt-api.d.ts +5 -4
  55. package/dist/lib/gpt-api.d.ts.map +1 -1
  56. package/dist/lib/gpt-api.js +168 -12
  57. package/dist/lib/gpt-api.js.map +1 -1
  58. package/dist/tools/memory/saveMemory.js +1 -1
  59. package/dist/tools/memory/saveMemory.js.map +1 -1
  60. package/dist/tools/reasoning/applyReasoningFramework.js +56 -56
  61. package/hooks/hooks.json +195 -195
  62. package/languages/dart-flutter.md +509 -0
  63. package/languages/go.md +396 -0
  64. package/languages/java-spring.md +586 -0
  65. package/languages/kotlin-android.md +491 -0
  66. package/languages/python-django.md +371 -0
  67. package/languages/python-fastapi.md +386 -0
  68. package/languages/rust.md +425 -0
  69. package/languages/swift-ios.md +516 -0
  70. package/languages/typescript-nextjs.md +441 -0
  71. package/languages/typescript-node.md +375 -0
  72. package/languages/typescript-nuxt.md +521 -0
  73. package/languages/typescript-react-native.md +446 -0
  74. package/languages/typescript-react.md +525 -0
  75. package/languages/typescript-vue.md +353 -0
  76. package/package.json +88 -87
  77. package/skills/context7-usage.md +82 -82
  78. package/skills/git-worktree.md +181 -181
  79. package/skills/multi-llm-orchestration.md +92 -92
  80. package/skills/parallel-research.md +77 -77
  81. package/skills/priority-todos.md +239 -239
  82. package/skills/tool-fallback.md +126 -126
  83. package/skills/vibe-capabilities.md +129 -129
  84. package/{.claude/vibe β†’ vibe}/config.json +3 -3
  85. package/{.claude/vibe β†’ vibe}/constitution.md +184 -184
  86. package/{.claude/vibe β†’ vibe}/rules/core/communication-guide.md +104 -104
  87. package/{.claude/vibe β†’ vibe}/rules/core/development-philosophy.md +52 -52
  88. package/{.claude/vibe β†’ vibe}/rules/core/quick-start.md +120 -120
  89. package/{.claude/vibe β†’ vibe}/rules/quality/bdd-contract-testing.md +388 -388
  90. package/{.claude/vibe β†’ vibe}/rules/quality/checklist.md +276 -276
  91. package/{.claude/vibe β†’ vibe}/rules/quality/testing-strategy.md +437 -437
  92. package/{.claude/vibe β†’ vibe}/rules/standards/anti-patterns.md +369 -369
  93. package/{.claude/vibe β†’ vibe}/rules/standards/code-structure.md +291 -291
  94. package/{.claude/vibe β†’ vibe}/rules/standards/complexity-metrics.md +312 -312
  95. package/{.claude/vibe β†’ vibe}/rules/standards/naming-conventions.md +198 -198
  96. package/{.claude/vibe β†’ vibe}/setup.sh +31 -31
  97. package/{.claude/vibe β†’ vibe}/templates/constitution-template.md +184 -184
  98. package/{.claude/vibe β†’ vibe}/templates/contract-backend-template.md +517 -517
  99. package/{.claude/vibe β†’ vibe}/templates/contract-frontend-template.md +594 -594
  100. package/{.claude/vibe β†’ vibe}/templates/feature-template.md +96 -96
  101. package/{.claude/vibe β†’ vibe}/templates/spec-template.md +199 -199
@@ -1,77 +1,77 @@
1
- ---
2
- description: Parallel research guide. Auto-activates for complex features, new technologies, security-critical work, architecture design, or technology selection decisions.
3
- ---
4
- # Parallel Research
5
-
6
- Parallel research patterns for solving complex problems.
7
-
8
- ## When Parallel Research is Needed
9
-
10
- | Situation | Reason |
11
- |-----------|--------|
12
- | New technology adoption | Need best practices |
13
- | Security-related features | Multi-angle review needed |
14
- | Architecture design | Multiple perspectives needed |
15
- | Technology selection | Comparison analysis needed |
16
- | Complex bugs | Explore multiple causes |
17
-
18
- ## Research Agents (4 Parallel)
19
-
20
- | Agent | Role | Tools |
21
- |-------|------|-------|
22
- | best-practices | Search best practices | Web Search, context7 |
23
- | framework-docs | Search official docs | context7 |
24
- | codebase-patterns | Analyze existing code patterns | Grep, Glob |
25
- | security-advisory | Search security advisories | Web Search |
26
-
27
- ## Usage Methods
28
-
29
- ### Method 1: Direct Orchestrator Call
30
-
31
- ```bash
32
- node -e "import('@su-record/vibe/orchestrator').then(o =>
33
- o.research('passkey authentication', ['React', 'Supabase'])
34
- .then(r => console.log(r.content[0].text))
35
- )"
36
- ```
37
-
38
- ### Method 2: Use /vibe.spec
39
-
40
- ```
41
- /vibe.spec "feature-name"
42
- β†’ Parallel research runs automatically after requirements confirmed
43
- ```
44
-
45
- ### Method 3: Parallel Task Tool Execution
46
-
47
- ```
48
- Task 1: "Search React auth best practices"
49
- Task 2: "Search Supabase Auth official docs" (concurrent)
50
- Task 3: "Analyze existing auth code patterns" (concurrent)
51
- Task 4: "Search auth security vulnerabilities" (concurrent)
52
- ```
53
-
54
- ## Using Research Results
55
-
56
- ```
57
- Parallel research complete
58
- ↓
59
- Synthesize results
60
- ↓
61
- Reflect in SPEC Context section
62
- OR
63
- Reference during implementation
64
- ```
65
-
66
- ## When Research is NOT Needed
67
-
68
- - Simple CRUD operations
69
- - Already familiar patterns
70
- - Similar code exists in project
71
- - Time-critical (supplement with review later)
72
-
73
- ## Notes
74
-
75
- - Research runs **after requirements confirmed**
76
- - Split overly broad topics
77
- - Research results are references, not absolute truth
1
+ ---
2
+ description: Parallel research guide. Auto-activates for complex features, new technologies, security-critical work, architecture design, or technology selection decisions.
3
+ ---
4
+ # Parallel Research
5
+
6
+ Parallel research patterns for solving complex problems.
7
+
8
+ ## When Parallel Research is Needed
9
+
10
+ | Situation | Reason |
11
+ |-----------|--------|
12
+ | New technology adoption | Need best practices |
13
+ | Security-related features | Multi-angle review needed |
14
+ | Architecture design | Multiple perspectives needed |
15
+ | Technology selection | Comparison analysis needed |
16
+ | Complex bugs | Explore multiple causes |
17
+
18
+ ## Research Agents (4 Parallel)
19
+
20
+ | Agent | Role | Tools |
21
+ |-------|------|-------|
22
+ | best-practices | Search best practices | Web Search, context7 |
23
+ | framework-docs | Search official docs | context7 |
24
+ | codebase-patterns | Analyze existing code patterns | Grep, Glob |
25
+ | security-advisory | Search security advisories | Web Search |
26
+
27
+ ## Usage Methods
28
+
29
+ ### Method 1: Direct Orchestrator Call
30
+
31
+ ```bash
32
+ node -e "import('@su-record/vibe/orchestrator').then(o =>
33
+ o.research('passkey authentication', ['React', 'Supabase'])
34
+ .then(r => console.log(r.content[0].text))
35
+ )"
36
+ ```
37
+
38
+ ### Method 2: Use /vibe.spec
39
+
40
+ ```
41
+ /vibe.spec "feature-name"
42
+ β†’ Parallel research runs automatically after requirements confirmed
43
+ ```
44
+
45
+ ### Method 3: Parallel Task Tool Execution
46
+
47
+ ```
48
+ Task 1: "Search React auth best practices"
49
+ Task 2: "Search Supabase Auth official docs" (concurrent)
50
+ Task 3: "Analyze existing auth code patterns" (concurrent)
51
+ Task 4: "Search auth security vulnerabilities" (concurrent)
52
+ ```
53
+
54
+ ## Using Research Results
55
+
56
+ ```
57
+ Parallel research complete
58
+ ↓
59
+ Synthesize results
60
+ ↓
61
+ Reflect in SPEC Context section
62
+ OR
63
+ Reference during implementation
64
+ ```
65
+
66
+ ## When Research is NOT Needed
67
+
68
+ - Simple CRUD operations
69
+ - Already familiar patterns
70
+ - Similar code exists in project
71
+ - Time-critical (supplement with review later)
72
+
73
+ ## Notes
74
+
75
+ - Research runs **after requirements confirmed**
76
+ - Split overly broad topics
77
+ - Research results are references, not absolute truth
@@ -1,239 +1,239 @@
1
- ---
2
- description: Priority-based TODO management (P1/P2/P3). Auto-activates when managing tasks, reviewing issues, or organizing work by priority.
3
- ---
4
- # Priority-Based Todo Management Skill
5
-
6
- μš°μ„ μˆœμœ„ 기반 TODO 관리 μ‹œμŠ€ν…œ
7
-
8
- ## Overview
9
-
10
- P1/P2/P3 μš°μ„ μˆœμœ„λ‘œ νƒœμŠ€ν¬λ₯Ό λΆ„λ₯˜ν•˜μ—¬ μ€‘μš”ν•œ 것 λ¨Όμ € 처리
11
-
12
- ## Priority Levels
13
-
14
- ```
15
- β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
16
- β”‚ Priority Levels β”‚
17
- β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
18
- β”‚ β”‚
19
- β”‚ πŸ”΄ P1 (Critical) β”‚
20
- β”‚ β”œβ”€β”€ λ³΄μ•ˆ 취약점 β”‚
21
- β”‚ β”œβ”€β”€ 데이터 손싀 μœ„ν—˜ β”‚
22
- β”‚ β”œβ”€β”€ ν”„λ‘œλ•μ…˜ μž₯μ•  β”‚
23
- β”‚ └── λ¨Έμ§€ 차단 이슈 β”‚
24
- β”‚ β”‚
25
- β”‚ 🟑 P2 (Important) β”‚
26
- β”‚ β”œβ”€β”€ μ„±λŠ₯ 문제 β”‚
27
- β”‚ β”œβ”€β”€ ν…ŒμŠ€νŠΈ λˆ„λ½ β”‚
28
- β”‚ β”œβ”€β”€ μ•„ν‚€ν…μ²˜ μœ„λ°˜ β”‚
29
- β”‚ └── 기술 뢀채 β”‚
30
- β”‚ β”‚
31
- β”‚ πŸ”΅ P3 (Nice-to-have) β”‚
32
- β”‚ β”œβ”€β”€ μ½”λ“œ μŠ€νƒ€μΌ β”‚
33
- β”‚ β”œβ”€β”€ λ¦¬νŒ©ν† λ§ μ œμ•ˆ β”‚
34
- β”‚ β”œβ”€β”€ λ¬Έμ„œν™” β”‚
35
- β”‚ └── μ΅œμ ν™” 기회 β”‚
36
- β”‚ β”‚
37
- β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
38
- ```
39
-
40
- ## File-Based Todo System
41
-
42
- ### Directory Structure
43
-
44
- ```
45
- .claude/vibe/todos/
46
- β”œβ”€β”€ P1-security-sql-injection.md
47
- β”œβ”€β”€ P1-data-transaction-missing.md
48
- β”œβ”€β”€ P2-perf-n1-query.md
49
- β”œβ”€β”€ P2-test-missing-edge-case.md
50
- β”œβ”€β”€ P2-arch-circular-dependency.md
51
- β”œβ”€β”€ P3-style-extract-helper.md
52
- β”œβ”€β”€ P3-docs-add-readme.md
53
- └── index.md
54
- ```
55
-
56
- ### Todo File Format
57
-
58
- ```markdown
59
- # [P1] SQL Injection Vulnerability
60
-
61
- ## Summary
62
- User input directly concatenated in SQL query without sanitization.
63
-
64
- ## Priority Justification
65
- - πŸ”΄ P1 (Critical)
66
- - Category: Security
67
- - Impact: High (data breach risk)
68
- - Effort: Low (simple fix)
69
-
70
- ## Location
71
- - **File**: src/api/users.py
72
- - **Line**: 42-45
73
- - **Function**: `get_user_by_email()`
74
-
75
- ## Current Code
76
- ```python
77
- def get_user_by_email(email: str):
78
- query = f"SELECT * FROM users WHERE email = '{email}'"
79
- return db.execute(query)
80
- ```
81
-
82
- ## Suggested Fix
83
- ```python
84
- def get_user_by_email(email: str):
85
- query = "SELECT * FROM users WHERE email = %s"
86
- return db.execute(query, (email,))
87
- ```
88
-
89
- ## Checklist
90
- - [ ] Fix implemented
91
- - [ ] Unit test added
92
- - [ ] Security test added
93
- - [ ] Code reviewed
94
- - [ ] Merged
95
-
96
- ## References
97
- - OWASP SQL Injection: https://owasp.org/www-community/attacks/SQL_Injection
98
- - Project Security Guide: docs/security.md
99
-
100
- ## Metadata
101
- - Created: 2026-01-11
102
- - Author: Claude
103
- - Review: /vibe.review PR#123
104
- ```
105
-
106
- ### Index File
107
-
108
- ```markdown
109
- # Todo Index
110
-
111
- ## Summary
112
- | Priority | Count | Status |
113
- |----------|-------|--------|
114
- | πŸ”΄ P1 | 2 | 🚨 Blocks merge |
115
- | 🟑 P2 | 5 | ⚠️ Should fix |
116
- | πŸ”΅ P3 | 3 | πŸ’‘ Backlog |
117
-
118
- ## πŸ”΄ P1 Critical (Blocks Merge)
119
-
120
- | # | Title | Location | Status |
121
- |---|-------|----------|--------|
122
- | 1 | SQL Injection | users.py:42 | ❌ Open |
123
- | 2 | Missing Rollback | payment.py:128 | ❌ Open |
124
-
125
- ## 🟑 P2 Important
126
-
127
- | # | Title | Location | Status |
128
- |---|-------|----------|--------|
129
- | 3 | N+1 Query | orders.py:78 | ❌ Open |
130
- | 4 | Missing Tests | auth.py | ❌ Open |
131
- | 5 | Circular Dep | services/ | ❌ Open |
132
-
133
- ## πŸ”΅ P3 Nice-to-have
134
-
135
- | # | Title | Location | Status |
136
- |---|-------|----------|--------|
137
- | 6 | Extract Helper | utils.py:45 | πŸ’€ Backlog |
138
- | 7 | Add README | /payment | πŸ’€ Backlog |
139
-
140
- ---
141
-
142
- Last updated: 2026-01-11 10:30
143
- ```
144
-
145
- ## Workflow Commands
146
-
147
- ### Create Todo
148
-
149
- ```bash
150
- # /vibe.review κ²°κ³Όμ—μ„œ μžλ™ 생성
151
- /vibe.review PR#123
152
- # β†’ .claude/vibe/todos/ 에 파일 생성
153
-
154
- # μˆ˜λ™ 생성
155
- vibe todo add "SQL Injection in users.py" --priority P1 --category security
156
- ```
157
-
158
- ### List Todos
159
-
160
- ```bash
161
- # 전체 λͺ©λ‘
162
- vibe todo list
163
-
164
- # μš°μ„ μˆœμœ„λ³„
165
- vibe todo list --priority P1
166
- vibe todo list --priority P2
167
-
168
- # μΉ΄ν…Œκ³ λ¦¬λ³„
169
- vibe todo list --category security
170
- vibe todo list --category performance
171
- ```
172
-
173
- ### Complete Todo
174
-
175
- ```bash
176
- # μ™„λ£Œ 처리
177
- vibe todo done P1-security-sql-injection
178
-
179
- # νŒŒμΌμ— 체크 ν‘œμ‹œ + index μ—…λ°μ΄νŠΈ
180
- ```
181
-
182
- ### Clean Up
183
-
184
- ```bash
185
- # μ™„λ£Œλœ ν•­λͺ© μ•„μΉ΄μ΄λΈŒ
186
- vibe todo archive
187
-
188
- # κ²°κ³Ό:
189
- # .claude/vibe/todos/P1-security-sql-injection.md
190
- # β†’ .claude/vibe/todos/done/2026-01-11-P1-security-sql-injection.md
191
- ```
192
-
193
- ## Integration with TodoWrite
194
-
195
- κΈ°μ‘΄ TodoWrite 도ꡬ와 연동:
196
-
197
- ```javascript
198
- TodoWrite({
199
- todos: [
200
- {
201
- content: "[P1] Fix SQL injection in users.py:42",
202
- status: "in_progress",
203
- activeForm: "Fixing SQL injection vulnerability",
204
- priority: "P1", // ν™•μž₯ ν•„λ“œ
205
- category: "security" // ν™•μž₯ ν•„λ“œ
206
- },
207
- {
208
- content: "[P2] Add missing tests for auth",
209
- status: "pending",
210
- activeForm: "Adding auth tests",
211
- priority: "P2",
212
- category: "testing"
213
- }
214
- ]
215
- })
216
- ```
217
-
218
- ## Auto-Blocking Rules
219
-
220
- ```yaml
221
- # .claude/vibe/config.yaml
222
- merge_blocking:
223
- P1: true # P1 있으면 λ¨Έμ§€ 차단
224
- P2: false # P2λŠ” 경고만
225
- P3: false # P3λŠ” λ¬΄μ‹œ
226
-
227
- notifications:
228
- P1: immediate # μ¦‰μ‹œ μ•Œλ¦Ό
229
- P2: daily # 일일 μš”μ•½
230
- P3: weekly # μ£Όκ°„ μš”μ•½
231
- ```
232
-
233
- ## Best Practices
234
-
235
- 1. **P1은 μ¦‰μ‹œ 처리**: λ‹€λ₯Έ μž‘μ—… μ€‘λ‹¨ν•˜κ³  μˆ˜μ •
236
- 2. **P2λŠ” PR μ „ 처리**: λ¨Έμ§€ μ „ ν•΄κ²° ꢌμž₯
237
- 3. **P3λŠ” 백둜그**: μ‹œκ°„ λ‚  λ•Œ 처리
238
- 4. **μ •κΈ° 정리**: μ£Ό 1회 todo 리뷰
239
- 5. **μ™„λ£Œ 기둝**: ν•΄κ²° 방법 λ¬Έμ„œν™”
1
+ ---
2
+ description: Priority-based TODO management (P1/P2/P3). Auto-activates when managing tasks, reviewing issues, or organizing work by priority.
3
+ ---
4
+ # Priority-Based Todo Management Skill
5
+
6
+ μš°μ„ μˆœμœ„ 기반 TODO 관리 μ‹œμŠ€ν…œ
7
+
8
+ ## Overview
9
+
10
+ P1/P2/P3 μš°μ„ μˆœμœ„λ‘œ νƒœμŠ€ν¬λ₯Ό λΆ„λ₯˜ν•˜μ—¬ μ€‘μš”ν•œ 것 λ¨Όμ € 처리
11
+
12
+ ## Priority Levels
13
+
14
+ ```
15
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
16
+ β”‚ Priority Levels β”‚
17
+ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
18
+ β”‚ β”‚
19
+ β”‚ πŸ”΄ P1 (Critical) β”‚
20
+ β”‚ β”œβ”€β”€ λ³΄μ•ˆ 취약점 β”‚
21
+ β”‚ β”œβ”€β”€ 데이터 손싀 μœ„ν—˜ β”‚
22
+ β”‚ β”œβ”€β”€ ν”„λ‘œλ•μ…˜ μž₯μ•  β”‚
23
+ β”‚ └── λ¨Έμ§€ 차단 이슈 β”‚
24
+ β”‚ β”‚
25
+ β”‚ 🟑 P2 (Important) β”‚
26
+ β”‚ β”œβ”€β”€ μ„±λŠ₯ 문제 β”‚
27
+ β”‚ β”œβ”€β”€ ν…ŒμŠ€νŠΈ λˆ„λ½ β”‚
28
+ β”‚ β”œβ”€β”€ μ•„ν‚€ν…μ²˜ μœ„λ°˜ β”‚
29
+ β”‚ └── 기술 뢀채 β”‚
30
+ β”‚ β”‚
31
+ β”‚ πŸ”΅ P3 (Nice-to-have) β”‚
32
+ β”‚ β”œβ”€β”€ μ½”λ“œ μŠ€νƒ€μΌ β”‚
33
+ β”‚ β”œβ”€β”€ λ¦¬νŒ©ν† λ§ μ œμ•ˆ β”‚
34
+ β”‚ β”œβ”€β”€ λ¬Έμ„œν™” β”‚
35
+ β”‚ └── μ΅œμ ν™” 기회 β”‚
36
+ β”‚ β”‚
37
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
38
+ ```
39
+
40
+ ## File-Based Todo System
41
+
42
+ ### Directory Structure
43
+
44
+ ```
45
+ .claude/vibe/todos/
46
+ β”œβ”€β”€ P1-security-sql-injection.md
47
+ β”œβ”€β”€ P1-data-transaction-missing.md
48
+ β”œβ”€β”€ P2-perf-n1-query.md
49
+ β”œβ”€β”€ P2-test-missing-edge-case.md
50
+ β”œβ”€β”€ P2-arch-circular-dependency.md
51
+ β”œβ”€β”€ P3-style-extract-helper.md
52
+ β”œβ”€β”€ P3-docs-add-readme.md
53
+ └── index.md
54
+ ```
55
+
56
+ ### Todo File Format
57
+
58
+ ```markdown
59
+ # [P1] SQL Injection Vulnerability
60
+
61
+ ## Summary
62
+ User input directly concatenated in SQL query without sanitization.
63
+
64
+ ## Priority Justification
65
+ - πŸ”΄ P1 (Critical)
66
+ - Category: Security
67
+ - Impact: High (data breach risk)
68
+ - Effort: Low (simple fix)
69
+
70
+ ## Location
71
+ - **File**: src/api/users.py
72
+ - **Line**: 42-45
73
+ - **Function**: `get_user_by_email()`
74
+
75
+ ## Current Code
76
+ ```python
77
+ def get_user_by_email(email: str):
78
+ query = f"SELECT * FROM users WHERE email = '{email}'"
79
+ return db.execute(query)
80
+ ```
81
+
82
+ ## Suggested Fix
83
+ ```python
84
+ def get_user_by_email(email: str):
85
+ query = "SELECT * FROM users WHERE email = %s"
86
+ return db.execute(query, (email,))
87
+ ```
88
+
89
+ ## Checklist
90
+ - [ ] Fix implemented
91
+ - [ ] Unit test added
92
+ - [ ] Security test added
93
+ - [ ] Code reviewed
94
+ - [ ] Merged
95
+
96
+ ## References
97
+ - OWASP SQL Injection: https://owasp.org/www-community/attacks/SQL_Injection
98
+ - Project Security Guide: docs/security.md
99
+
100
+ ## Metadata
101
+ - Created: 2026-01-11
102
+ - Author: Claude
103
+ - Review: /vibe.review PR#123
104
+ ```
105
+
106
+ ### Index File
107
+
108
+ ```markdown
109
+ # Todo Index
110
+
111
+ ## Summary
112
+ | Priority | Count | Status |
113
+ |----------|-------|--------|
114
+ | πŸ”΄ P1 | 2 | 🚨 Blocks merge |
115
+ | 🟑 P2 | 5 | ⚠️ Should fix |
116
+ | πŸ”΅ P3 | 3 | πŸ’‘ Backlog |
117
+
118
+ ## πŸ”΄ P1 Critical (Blocks Merge)
119
+
120
+ | # | Title | Location | Status |
121
+ |---|-------|----------|--------|
122
+ | 1 | SQL Injection | users.py:42 | ❌ Open |
123
+ | 2 | Missing Rollback | payment.py:128 | ❌ Open |
124
+
125
+ ## 🟑 P2 Important
126
+
127
+ | # | Title | Location | Status |
128
+ |---|-------|----------|--------|
129
+ | 3 | N+1 Query | orders.py:78 | ❌ Open |
130
+ | 4 | Missing Tests | auth.py | ❌ Open |
131
+ | 5 | Circular Dep | services/ | ❌ Open |
132
+
133
+ ## πŸ”΅ P3 Nice-to-have
134
+
135
+ | # | Title | Location | Status |
136
+ |---|-------|----------|--------|
137
+ | 6 | Extract Helper | utils.py:45 | πŸ’€ Backlog |
138
+ | 7 | Add README | /payment | πŸ’€ Backlog |
139
+
140
+ ---
141
+
142
+ Last updated: 2026-01-11 10:30
143
+ ```
144
+
145
+ ## Workflow Commands
146
+
147
+ ### Create Todo
148
+
149
+ ```bash
150
+ # /vibe.review κ²°κ³Όμ—μ„œ μžλ™ 생성
151
+ /vibe.review PR#123
152
+ # β†’ .claude/vibe/todos/ 에 파일 생성
153
+
154
+ # μˆ˜λ™ 생성
155
+ vibe todo add "SQL Injection in users.py" --priority P1 --category security
156
+ ```
157
+
158
+ ### List Todos
159
+
160
+ ```bash
161
+ # 전체 λͺ©λ‘
162
+ vibe todo list
163
+
164
+ # μš°μ„ μˆœμœ„λ³„
165
+ vibe todo list --priority P1
166
+ vibe todo list --priority P2
167
+
168
+ # μΉ΄ν…Œκ³ λ¦¬λ³„
169
+ vibe todo list --category security
170
+ vibe todo list --category performance
171
+ ```
172
+
173
+ ### Complete Todo
174
+
175
+ ```bash
176
+ # μ™„λ£Œ 처리
177
+ vibe todo done P1-security-sql-injection
178
+
179
+ # νŒŒμΌμ— 체크 ν‘œμ‹œ + index μ—…λ°μ΄νŠΈ
180
+ ```
181
+
182
+ ### Clean Up
183
+
184
+ ```bash
185
+ # μ™„λ£Œλœ ν•­λͺ© μ•„μΉ΄μ΄λΈŒ
186
+ vibe todo archive
187
+
188
+ # κ²°κ³Ό:
189
+ # .claude/vibe/todos/P1-security-sql-injection.md
190
+ # β†’ .claude/vibe/todos/done/2026-01-11-P1-security-sql-injection.md
191
+ ```
192
+
193
+ ## Integration with TodoWrite
194
+
195
+ κΈ°μ‘΄ TodoWrite 도ꡬ와 연동:
196
+
197
+ ```javascript
198
+ TodoWrite({
199
+ todos: [
200
+ {
201
+ content: "[P1] Fix SQL injection in users.py:42",
202
+ status: "in_progress",
203
+ activeForm: "Fixing SQL injection vulnerability",
204
+ priority: "P1", // ν™•μž₯ ν•„λ“œ
205
+ category: "security" // ν™•μž₯ ν•„λ“œ
206
+ },
207
+ {
208
+ content: "[P2] Add missing tests for auth",
209
+ status: "pending",
210
+ activeForm: "Adding auth tests",
211
+ priority: "P2",
212
+ category: "testing"
213
+ }
214
+ ]
215
+ })
216
+ ```
217
+
218
+ ## Auto-Blocking Rules
219
+
220
+ ```yaml
221
+ # .claude/vibe/config.yaml
222
+ merge_blocking:
223
+ P1: true # P1 있으면 λ¨Έμ§€ 차단
224
+ P2: false # P2λŠ” 경고만
225
+ P3: false # P3λŠ” λ¬΄μ‹œ
226
+
227
+ notifications:
228
+ P1: immediate # μ¦‰μ‹œ μ•Œλ¦Ό
229
+ P2: daily # 일일 μš”μ•½
230
+ P3: weekly # μ£Όκ°„ μš”μ•½
231
+ ```
232
+
233
+ ## Best Practices
234
+
235
+ 1. **P1은 μ¦‰μ‹œ 처리**: λ‹€λ₯Έ μž‘μ—… μ€‘λ‹¨ν•˜κ³  μˆ˜μ •
236
+ 2. **P2λŠ” PR μ „ 처리**: λ¨Έμ§€ μ „ ν•΄κ²° ꢌμž₯
237
+ 3. **P3λŠ” 백둜그**: μ‹œκ°„ λ‚  λ•Œ 처리
238
+ 4. **μ •κΈ° 정리**: μ£Ό 1회 todo 리뷰
239
+ 5. **μ™„λ£Œ 기둝**: ν•΄κ²° 방법 λ¬Έμ„œν™”