@su-record/vibe 2.0.11 → 2.2.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 (60) hide show
  1. package/.claude/settings.json +1 -1
  2. package/.claude/settings.local.json +5 -1
  3. package/{.vibe → .claude/vibe}/rules/quality/bdd-contract-testing.md +1 -1
  4. package/{.vibe → .claude/vibe}/setup.sh +1 -1
  5. package/CLAUDE.md +16 -6
  6. package/README.md +33 -15
  7. package/dist/cli/index.d.ts.map +1 -1
  8. package/dist/cli/index.js +100 -56
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/tools/reasoning/applyReasoningFramework.js +1 -1
  11. package/package.json +1 -2
  12. package/templates/feature-template.md +1 -1
  13. package/.claude/agents/explorer.md +0 -48
  14. package/.claude/agents/implementer.md +0 -53
  15. package/.claude/agents/research/best-practices-agent.md +0 -139
  16. package/.claude/agents/research/codebase-patterns-agent.md +0 -147
  17. package/.claude/agents/research/framework-docs-agent.md +0 -181
  18. package/.claude/agents/research/security-advisory-agent.md +0 -167
  19. package/.claude/agents/review/architecture-reviewer.md +0 -107
  20. package/.claude/agents/review/complexity-reviewer.md +0 -116
  21. package/.claude/agents/review/data-integrity-reviewer.md +0 -88
  22. package/.claude/agents/review/git-history-reviewer.md +0 -103
  23. package/.claude/agents/review/performance-reviewer.md +0 -86
  24. package/.claude/agents/review/python-reviewer.md +0 -152
  25. package/.claude/agents/review/rails-reviewer.md +0 -139
  26. package/.claude/agents/review/react-reviewer.md +0 -144
  27. package/.claude/agents/review/security-reviewer.md +0 -80
  28. package/.claude/agents/review/simplicity-reviewer.md +0 -140
  29. package/.claude/agents/review/test-coverage-reviewer.md +0 -116
  30. package/.claude/agents/review/typescript-reviewer.md +0 -127
  31. package/.claude/agents/searcher.md +0 -54
  32. package/.claude/agents/simplifier.md +0 -119
  33. package/.claude/agents/tester.md +0 -49
  34. package/.claude/commands/vibe.analyze.md +0 -239
  35. package/.claude/commands/vibe.compound.md +0 -261
  36. package/.claude/commands/vibe.continue.md +0 -88
  37. package/.claude/commands/vibe.diagram.md +0 -178
  38. package/.claude/commands/vibe.e2e.md +0 -266
  39. package/.claude/commands/vibe.reason.md +0 -306
  40. package/.claude/commands/vibe.review.md +0 -324
  41. package/.claude/commands/vibe.run.md +0 -760
  42. package/.claude/commands/vibe.spec.md +0 -383
  43. package/.claude/commands/vibe.tool.md +0 -153
  44. package/.claude/commands/vibe.ui.md +0 -137
  45. package/.claude/commands/vibe.verify.md +0 -238
  46. package/.claude/skills/git-worktree.md +0 -178
  47. package/.claude/skills/priority-todos.md +0 -236
  48. /package/{.vibe → .claude/vibe}/config.json +0 -0
  49. /package/{.vibe → .claude/vibe}/constitution.md +0 -0
  50. /package/{.vibe → .claude/vibe}/rules/core/communication-guide.md +0 -0
  51. /package/{.vibe → .claude/vibe}/rules/core/development-philosophy.md +0 -0
  52. /package/{.vibe → .claude/vibe}/rules/core/quick-start.md +0 -0
  53. /package/{.vibe → .claude/vibe}/rules/quality/checklist.md +0 -0
  54. /package/{.vibe → .claude/vibe}/rules/quality/testing-strategy.md +0 -0
  55. /package/{.vibe → .claude/vibe}/rules/standards/anti-patterns.md +0 -0
  56. /package/{.vibe → .claude/vibe}/rules/standards/code-structure.md +0 -0
  57. /package/{.vibe → .claude/vibe}/rules/standards/complexity-metrics.md +0 -0
  58. /package/{.vibe → .claude/vibe}/rules/standards/naming-conventions.md +0 -0
  59. /package/{.vibe → .claude/vibe}/rules/tools/mcp-hi-ai-guide.md +0 -0
  60. /package/{.vibe → .claude/vibe}/rules/tools/mcp-workflow.md +0 -0
@@ -1,306 +0,0 @@
1
- ---
2
- description: Apply systematic reasoning framework to complex problems
3
- argument-hint: "problem description"
4
- ---
5
-
6
- # /vibe.reason
7
-
8
- Apply 9-step reasoning framework to complex problems (Reasoning Agent).
9
-
10
- ## Usage
11
-
12
- ```
13
- /vibe.reason "problem description"
14
- ```
15
-
16
- ## Description
17
-
18
- Use systematic 9-step reasoning framework to logically analyze complex problems and derive optimal solutions.
19
-
20
- ## When to Use
21
-
22
- Use in situations like:
23
-
24
- 1. **Complex bug debugging**
25
- - Root cause unclear
26
- - Need to systematically verify multiple hypotheses
27
-
28
- 2. **Architecture design decisions**
29
- - Need to choose optimal option among several
30
- - Need to comprehensively evaluate constraints and risks
31
-
32
- 3. **Performance optimization**
33
- - Bottleneck may be in multiple places
34
- - Need step-by-step optimization strategy
35
-
36
- 4. **Refactoring planning**
37
- - Need to systematically analyze legacy code complexity
38
- - Need gradual refactoring strategy
39
-
40
- 5. **Requirements analysis**
41
- - Need to reconcile conflicting requirements
42
- - Need to discover missing requirements
43
-
44
- ## Process
45
-
46
- ### 1. Logical Dependencies and Constraints
47
- - Check policies, rules, prerequisites
48
- - Optimize task order (identify dependencies)
49
- - Apply user constraints first
50
-
51
- ### 2. Risk Assessment
52
- - Analyze action consequences
53
- - Check rollback possibility
54
- - Review compatibility, security, performance risks
55
-
56
- ### 3. Inductive Reasoning and Hypothesis Exploration
57
- - Generate hypotheses about root cause
58
- - Prioritize by likelihood
59
- - Present verification method for each hypothesis
60
-
61
- ### 4. Result Evaluation and Adaptability
62
- - Modify plan based on observations
63
- - Generate new hypothesis when disproved
64
- - Determine backtracking need
65
-
66
- ### 5. Information Availability
67
- - Identify all available tools
68
- - Reference relevant policy/rule documents
69
- - Restore previous context
70
- - Distinguish items needing user confirmation
71
-
72
- ### 6. Precision and Evidence
73
- - Cite exact source when referencing policies
74
- - Include filename:line when referencing code
75
- - Provide exact metric numbers
76
-
77
- ### 7. Completeness
78
- - Integrate all requirements, options, preferences
79
- - Avoid premature conclusions
80
- - Explore multiple alternatives
81
-
82
- ### 8. Persistence and Patience
83
- - Intelligently retry temporary errors
84
- - Solve problems through strategy changes
85
- - Continue until all reasoning steps complete
86
-
87
- ### 9. Response Suppression
88
- - Act only after reasoning complete
89
- - Document reasoning process for complex decisions
90
- - Ensure safety through step-by-step execution
91
-
92
- ## MCP Tools Integration
93
-
94
- This command automatically uses these MCP tools:
95
-
96
- - **apply_reasoning_framework**: Apply 9-step reasoning framework
97
- - **create_thinking_chain**: Create sequential thinking chain
98
- - **analyze_problem**: Analyze problem root cause
99
- - **step_by_step_analysis**: Detailed step-by-step analysis
100
- - **recall_memory**: Restore previous context
101
- - **find_symbol / find_references**: Identify code dependencies
102
-
103
- ## Output Format
104
-
105
- ```markdown
106
- # Reasoning Framework Analysis
107
-
108
- **Problem**: [problem description]
109
- **Context**: [relevant information]
110
- **Steps Applied**: 9/9
111
-
112
- ---
113
-
114
- ## 1. Logical Dependencies and Constraints
115
-
116
- **Key Questions**:
117
- - What policies or required rules apply?
118
- - Should task order be rearranged?
119
- - Required prerequisites or information?
120
- - Explicit user constraints?
121
-
122
- **Constraint Analysis**:
123
- [analysis content]
124
-
125
- ---
126
-
127
- ## 2. Risk Assessment
128
-
129
- ...
130
-
131
- ---
132
-
133
- ## Summary
134
-
135
- [Overall reasoning results summary and recommendations]
136
- ```
137
-
138
- ## Examples
139
-
140
- ### Example 1: Complex Bug Debugging
141
-
142
- ```
143
- User: /vibe.reason "After user login, profile page intermittently returns 500 error. Log shows 'TypeError: Cannot read property id of undefined'"
144
-
145
- AI: Analyzing this problem with 9-step reasoning framework.
146
-
147
- # Reasoning Framework Analysis
148
-
149
- **Problem**: Intermittent 500 error on profile page after login (TypeError: Cannot read property 'id' of undefined)
150
- **Context**: Intermittent occurrence, happens after successful login
151
- **Steps Applied**: 9/9
152
-
153
- ---
154
-
155
- ## 1. Logical Dependencies and Constraints
156
-
157
- **Constraint Analysis**:
158
- - Policy/Rules: Need to check auth/authz system policies
159
- - Task Order: Verify login → session creation → profile fetch order
160
- - Prerequisites: Need to identify error reproduction conditions
161
- - User Constraints: Production environment limits debugging tools
162
-
163
- ---
164
-
165
- ## 2. Risk Assessment
166
-
167
- **Risk Assessment**:
168
- - Task type: Debugging (medium risk - logging low risk, DB changes high risk)
169
- - Rollback possibility: Adding logs easy to rollback
170
- - Compatibility risk: Session structure changes affect existing users
171
- - Security risk: Excessive logging may expose sensitive info
172
- - Performance risk: Additional logging minimal impact
173
-
174
- ---
175
-
176
- ## 3. Inductive Reasoning and Hypothesis Exploration
177
-
178
- **Hypothesis Generation**:
179
- 1. **Hypothesis 1: Incomplete session data** (Likelihood: High)
180
- - Evidence: Intermittent = timing issue or data consistency problem
181
- - Verification: Add logging to session save logic, check Redis connection
182
-
183
- 2. **Hypothesis 2: Async processing order issue** (Likelihood: Medium)
184
- - Evidence: undefined = accessing data before load
185
- - Verification: Check Promise chain in profile API, check for missing await
186
-
187
- 3. **Hypothesis 3: DB query returns null** (Likelihood: Low)
188
- - Evidence: User info fetch fails only under certain conditions
189
- - Verification: Check profile query logs, review foreign key constraints
190
-
191
- **Priority**: Verify in order of likelihood, don't completely rule out low probability
192
-
193
- ---
194
-
195
- [Additional steps 4-9 analysis...]
196
-
197
- ---
198
-
199
- ## Summary
200
-
201
- Analyzed profile page 500 error after login through 9-step reasoning framework.
202
-
203
- **Key Findings**:
204
- - Most likely cause: Incomplete session data (Redis connection issue or session save timing)
205
- - Verification priority: 1) Add session save logic logging → 2) Review async processing → 3) Check DB queries
206
-
207
- **Recommended Actions**:
208
- 1. Immediate: Add detailed logging to session save/fetch (low risk)
209
- 2. Short-term: Code review async processing (Promise, await check)
210
- 3. Medium-term: Strengthen session store monitoring (Redis connection, memory)
211
-
212
- **Next Steps**:
213
- Check `profile_controller.ts` → Add try-catch and logging to session processing logic → Identify reproduction conditions
214
- ```
215
-
216
- ### Example 2: Architecture Design Decision
217
-
218
- ```
219
- User: /vibe.reason "Want to add real-time notification feature. Should I use WebSocket, SSE, or Long Polling?"
220
-
221
- AI: [Systematically analyze constraints, risks, pros/cons of each option through 9-step framework, recommend optimal choice for project situation]
222
- ```
223
-
224
- ## Integration with Other Commands
225
-
226
- ### With /vibe.spec
227
-
228
- ```
229
- # 1. Collect requirements
230
- /vibe.spec "real-time notifications"
231
-
232
- # 2. When technical decision needed
233
- /vibe.reason "Choosing WebSocket vs SSE vs Long Polling for real-time notifications"
234
-
235
- # 3. Update SPEC document and create plan
236
- /vibe.plan "real-time notifications"
237
- ```
238
-
239
- ### With /vibe.analyze
240
-
241
- ```
242
- # 1. Discover issue through code analysis
243
- /vibe.analyze --code
244
-
245
- # 2. Analyze discovered issue with reasoning framework
246
- /vibe.reason "Refactoring strategy to reduce users_service.py Cyclomatic Complexity from 15 to under 10"
247
-
248
- # 3. Execute refactoring
249
- /vibe.run "Task: Refactor users_service.py"
250
- ```
251
-
252
- ## Agent Configuration
253
-
254
- This command uses `~/.claude/agents/reasoning-agent.md`.
255
-
256
- **Agent Role**:
257
- - Systematic reasoning and problem-solving expert
258
- - Logically analyze complex problems
259
- - Derive optimal solutions considering all relevant factors
260
-
261
- **Agent Features**:
262
- - Apply 9-step reasoning framework
263
- - Hypothesis-based approach
264
- - Risk assessment and mitigation strategies
265
- - Precise evidence and source citation
266
-
267
- ## Best Practices
268
-
269
- 1. **Describe problem specifically**
270
- - ❌ "There's a bug"
271
- - ✅ "After login, profile page intermittently returns 500 error. Error log: TypeError: Cannot read property 'id' of undefined"
272
-
273
- 2. **Include context**
274
- - Occurrence conditions (always? intermittent? specific conditions only?)
275
- - Relevant tech stack
276
- - Solutions already tried
277
-
278
- 3. **Save reasoning results to memory**
279
- - For complex problems, save reasoning results with `save_memory`
280
- - Reference later with `recall_memory`
281
-
282
- 4. **Verify step by step**
283
- - Verify hypotheses suggested by reasoning framework in order
284
- - Feedback each verification result to agent
285
-
286
- 5. **Combine with other commands**
287
- - `/vibe.analyze` to understand situation → `/vibe.reason` to analyze solution → `/vibe.run` to execute
288
-
289
- ## Notes
290
-
291
- - This command is specialized for complex problems. For simple tasks, direct requests are more efficient.
292
- - Reasoning process may take time; allow sufficient time.
293
- - Reasoning results are recommendations; final decision is user's.
294
- - Automatically uses MCP tools, so hi-ai server must be connected.
295
-
296
- ## Related
297
-
298
- - [Reasoning Agent Guide](~/.claude/agents/reasoning-agent.md)
299
- - [MCP hi-ai Guide](~/.claude/skills/tools/mcp-hi-ai-guide.md)
300
- - [/vibe.analyze](vibe.analyze.md)
301
- - [/vibe.spec](vibe.spec.md)
302
- - [/vibe.plan](vibe.plan.md)
303
-
304
- ---
305
-
306
- ARGUMENTS: $ARGUMENTS
@@ -1,324 +0,0 @@
1
- ---
2
- description: Multi-agent parallel code review with priority-based findings
3
- argument-hint: "PR number, branch name, or file path"
4
- ---
5
-
6
- # /vibe.review
7
-
8
- **Parallel Agent Code Review** - 13+ specialists review simultaneously
9
-
10
- ## Usage
11
-
12
- ```
13
- /vibe.review # Review current branch
14
- /vibe.review PR#123 # Review specific PR
15
- /vibe.review feature/login # Review specific branch
16
- /vibe.review src/api/ # Review specific path
17
- ```
18
-
19
- ## Core Principle
20
-
21
- ```
22
- ┌─────────────────────────────────────────────────────────────────┐
23
- │ All experts review simultaneously = Fast & Thorough │
24
- │ │
25
- │ 🔴 P1 (Critical): Blocks merge - MUST fix │
26
- │ 🟡 P2 (Important): Should fix - Before merge │
27
- │ 🔵 P3 (Nice-to-have): Enhancement - When time permits │
28
- └─────────────────────────────────────────────────────────────────┘
29
- ```
30
-
31
- ## Process
32
-
33
- ### Phase 1: Tech Stack Detection & Target Analysis
34
-
35
- **Detect project tech stack FIRST before launching reviewers:**
36
-
37
- ```
38
- 📋 Tech Stack Detection
39
- ├── Read package.json → TypeScript, React, Node.js
40
- ├── Read pyproject.toml → Python, FastAPI, Django
41
- ├── Read Gemfile → Ruby, Rails
42
- ├── Read pubspec.yaml → Flutter, Dart
43
- ├── Read go.mod → Go
44
- ├── Read CLAUDE.md → Explicit tech stack declaration
45
- └── Analyze file extensions in changed files
46
- ```
47
-
48
- **Detection Logic:**
49
- ```javascript
50
- // Stack detection from project files
51
- const stack = {
52
- typescript: hasFile("package.json") && (hasDep("typescript") || hasFile("tsconfig.json")),
53
- react: hasDep("react") || hasDep("next"),
54
- python: hasFile("pyproject.toml") || hasFile("requirements.txt"),
55
- rails: hasFile("Gemfile") && hasDep("rails"),
56
- go: hasFile("go.mod"),
57
- flutter: hasFile("pubspec.yaml")
58
- };
59
- ```
60
-
61
- **Changed Files Analysis:**
62
- ```
63
- git diff --name-only HEAD~1
64
- ├── src/components/*.tsx → React reviewer needed
65
- ├── app/api/*.py → Python reviewer needed
66
- ├── app/models/*.rb → Rails reviewer needed
67
- └── No .ts files → Skip TypeScript reviewer
68
- ```
69
-
70
- ### Phase 2: Parallel Agent Review (STACK-AWARE)
71
-
72
- **Launch ONLY relevant agents based on detected stack!**
73
-
74
- ```
75
- ┌─────────────────────────────────────────────────────────────────┐
76
- │ 🚀 PARALLEL AGENT LAUNCH (Stack-Aware Selection) │
77
- ├─────────────────────────────────────────────────────────────────┤
78
- │ │
79
- │ ✅ ALWAYS RUN (Core Reviewers) │
80
- │ ├── security-reviewer # OWASP Top 10, vulnerabilities │
81
- │ ├── data-integrity-reviewer # Data validation, constraints │
82
- │ ├── performance-reviewer # N+1 queries, memory leaks │
83
- │ ├── architecture-reviewer # Layer violations, cycles │
84
- │ ├── complexity-reviewer # Cyclomatic complexity, length │
85
- │ ├── simplicity-reviewer # Over-abstraction, dead code │
86
- │ ├── git-history-reviewer # Churn files, risk patterns │
87
- │ └── test-coverage-reviewer # Missing tests, edge cases │
88
- │ │
89
- │ 🔍 CONDITIONAL (Based on Detected Stack) │
90
- │ ├── python-reviewer # IF: .py files in diff │
91
- │ ├── typescript-reviewer # IF: .ts/.tsx files OR tsconfig │
92
- │ ├── rails-reviewer # IF: Gemfile has rails │
93
- │ └── react-reviewer # IF: package.json has react │
94
- │ │
95
- └─────────────────────────────────────────────────────────────────┘
96
- ```
97
-
98
- **Stack-Aware Agent Invocation:**
99
- ```javascript
100
- // Core reviewers (ALWAYS)
101
- const coreAgents = [
102
- "security-reviewer",
103
- "data-integrity-reviewer",
104
- "performance-reviewer",
105
- "architecture-reviewer",
106
- "complexity-reviewer",
107
- "simplicity-reviewer",
108
- "git-history-reviewer",
109
- "test-coverage-reviewer"
110
- ];
111
-
112
- // Language reviewers (CONDITIONAL)
113
- const languageAgents = [];
114
- if (stack.python || changedFiles.some(f => f.endsWith('.py'))) {
115
- languageAgents.push("python-reviewer");
116
- }
117
- if (stack.typescript || changedFiles.some(f => f.match(/\.tsx?$/))) {
118
- languageAgents.push("typescript-reviewer");
119
- }
120
- if (stack.react) {
121
- languageAgents.push("react-reviewer");
122
- }
123
- if (stack.rails) {
124
- languageAgents.push("rails-reviewer");
125
- }
126
-
127
- // Launch ALL selected agents in parallel
128
- const allAgents = [...coreAgents, ...languageAgents];
129
- ```
130
-
131
- **Example Output:**
132
- ```
133
- 📦 Detected Stack: TypeScript + React + Node.js
134
- 📄 Changed Files: 12 (.tsx: 8, .ts: 3, .json: 1)
135
-
136
- 🚀 Launching 10 agents (8 core + 2 language-specific):
137
- ✅ security-reviewer
138
- ✅ data-integrity-reviewer
139
- ✅ performance-reviewer
140
- ✅ architecture-reviewer
141
- ✅ complexity-reviewer
142
- ✅ simplicity-reviewer
143
- ✅ git-history-reviewer
144
- ✅ test-coverage-reviewer
145
- ✅ typescript-reviewer ← Detected: tsconfig.json
146
- ✅ react-reviewer ← Detected: react in package.json
147
- ⏭️ python-reviewer ← Skipped: No Python files
148
- ⏭️ rails-reviewer ← Skipped: No Gemfile
149
- ```
150
-
151
- ### Phase 3: Ultra-Thinking Deep Analysis
152
-
153
- Deep analysis after agent results:
154
-
155
- ```markdown
156
- ## Deep Analysis Dimensions
157
-
158
- 1. **System Context**
159
- - Component interactions
160
- - Data flow
161
- - External dependencies
162
-
163
- 2. **Stakeholder Perspectives**
164
- - Developers: Maintainability
165
- - Ops: Deployment risk
166
- - Security: Vulnerabilities
167
- - Business: Impact
168
-
169
- 3. **Edge Cases & Failure Scenarios**
170
- - Race conditions
171
- - Resource exhaustion
172
- - Network failures
173
- - Malicious input
174
-
175
- 4. **Multiple Angles**
176
- - Technical excellence
177
- - Business value
178
- - Risk management
179
- - Team dynamics
180
- ```
181
-
182
- ### Phase 4: Findings Synthesis
183
-
184
- ```
185
- ┌─────────────────────────────────────────────────────────────────┐
186
- │ 📊 REVIEW FINDINGS │
187
- ├─────────────────────────────────────────────────────────────────┤
188
- │ │
189
- │ 🔴 P1 CRITICAL (Blocks Merge) - 2 issues │
190
- │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
191
- │ 1. [SECURITY] SQL Injection in user query │
192
- │ 📍 src/api/users.py:42 │
193
- │ 💡 Use parameterized queries │
194
- │ │
195
- │ 2. [DATA] Missing transaction rollback │
196
- │ 📍 src/services/payment.py:128 │
197
- │ 💡 Wrap in try/except with rollback │
198
- │ │
199
- │ 🟡 P2 IMPORTANT (Should Fix) - 5 issues │
200
- │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
201
- │ 3. [PERF] N+1 query in user list │
202
- │ 4. [ARCH] Circular dependency detected │
203
- │ 5. [TEST] Missing edge case tests │
204
- │ ... │
205
- │ │
206
- │ 🔵 P3 NICE-TO-HAVE (Enhancement) - 3 issues │
207
- │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
208
- │ 8. [STYLE] Consider extracting helper function │
209
- │ ... │
210
- │ │
211
- └─────────────────────────────────────────────────────────────────┘
212
- ```
213
-
214
- ### Phase 5: Todo File Creation
215
-
216
- Save findings to `.vibe/todos/`:
217
-
218
- ```markdown
219
- ## File Naming Convention
220
-
221
- {priority}-{category}-{short-desc}.md
222
-
223
- Examples:
224
- - P1-security-sql-injection.md
225
- - P2-perf-n1-query.md
226
- - P3-style-extract-helper.md
227
- ```
228
-
229
- **Todo File Format:**
230
- ```markdown
231
- # [P1] SQL Injection Vulnerability
232
-
233
- ## Summary
234
- User input directly concatenated in SQL query
235
-
236
- ## Location
237
- - File: src/api/users.py
238
- - Line: 42
239
- - Function: get_user_by_email()
240
-
241
- ## Current Code
242
- ```python
243
- query = f"SELECT * FROM users WHERE email = '{email}'"
244
- ```
245
-
246
- ## Suggested Fix
247
- ```python
248
- query = "SELECT * FROM users WHERE email = %s"
249
- cursor.execute(query, (email,))
250
- ```
251
-
252
- ## References
253
- - OWASP SQL Injection: https://owasp.org/...
254
- - Project DB Guide: docs/database.md
255
-
256
- ## Status
257
- - [ ] Fix implemented
258
- - [ ] Tests added
259
- - [ ] Review approved
260
- ```
261
-
262
- ### Phase 6: Optional E2E Testing
263
-
264
- ```
265
- Suggest E2E tests based on project type:
266
- ├── Web: /vibe.e2e (Playwright)
267
- ├── iOS: Xcode Test
268
- ├── Android: Espresso
269
- └── API: Contract Test
270
- ```
271
-
272
- ## Output
273
-
274
- ```
275
- ┌─────────────────────────────────────────────────────────────────┐
276
- │ 📊 CODE REVIEW SUMMARY │
277
- │ PR #123: Add user authentication │
278
- ├─────────────────────────────────────────────────────────────────┤
279
- │ │
280
- │ Reviewers: 13 agents | Duration: 45s │
281
- │ │
282
- │ 📈 Score: 72/100 (Needs Work) │
283
- │ │
284
- │ Issues Found: │
285
- │ ├── 🔴 P1 Critical: 2 (BLOCKS MERGE) │
286
- │ ├── 🟡 P2 Important: 5 │
287
- │ └── 🔵 P3 Nice-to-have: 3 │
288
- │ │
289
- │ By Category: │
290
- │ ├── Security: 2 │
291
- │ ├── Performance: 3 │
292
- │ ├── Architecture: 1 │
293
- │ ├── Testing: 2 │
294
- │ └── Style: 2 │
295
- │ │
296
- │ 📁 Todos created: .vibe/todos/ (10 files) │
297
- │ │
298
- │ ❌ MERGE BLOCKED - Fix P1 issues first │
299
- │ │
300
- │ Next Steps: │
301
- │ 1. Fix P1-security-sql-injection.md │
302
- │ 2. Fix P1-data-transaction-rollback.md │
303
- │ 3. Re-run: /vibe.review │
304
- │ │
305
- └─────────────────────────────────────────────────────────────────┘
306
- ```
307
-
308
- ## Priority Guidelines
309
-
310
- | Priority | Criteria | Action |
311
- |----------|----------|--------|
312
- | 🔴 P1 | Security vulnerabilities, data loss, crashes | Block merge, fix immediately |
313
- | 🟡 P2 | Performance issues, architecture violations, missing tests | Fix before merge |
314
- | 🔵 P3 | Style, refactoring suggestions, documentation | Add to backlog |
315
-
316
- ## Related Commands
317
-
318
- - `/vibe.e2e` - Run E2E tests
319
- - `/vibe.compound` - Document solutions
320
- - `/vibe.verify` - SPEC-based verification
321
-
322
- ---
323
-
324
- ARGUMENTS: $ARGUMENTS