@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.
- package/CLAUDE.md +345 -345
- package/LICENSE +21 -21
- package/README.md +210 -210
- package/agents/compounder.md +261 -261
- package/agents/diagrammer.md +178 -178
- package/agents/e2e-tester.md +266 -266
- package/agents/explorer.md +48 -48
- package/agents/implementer.md +53 -53
- package/agents/research/best-practices-agent.md +139 -139
- package/agents/research/codebase-patterns-agent.md +147 -147
- package/agents/research/framework-docs-agent.md +178 -178
- package/agents/research/security-advisory-agent.md +164 -164
- package/agents/review/architecture-reviewer.md +107 -107
- package/agents/review/complexity-reviewer.md +116 -116
- package/agents/review/data-integrity-reviewer.md +88 -88
- package/agents/review/git-history-reviewer.md +103 -103
- package/agents/review/performance-reviewer.md +86 -86
- package/agents/review/python-reviewer.md +150 -150
- package/agents/review/rails-reviewer.md +139 -139
- package/agents/review/react-reviewer.md +144 -144
- package/agents/review/security-reviewer.md +80 -80
- package/agents/review/simplicity-reviewer.md +140 -140
- package/agents/review/test-coverage-reviewer.md +116 -116
- package/agents/review/typescript-reviewer.md +127 -127
- package/agents/searcher.md +54 -54
- package/agents/simplifier.md +119 -119
- package/agents/tester.md +49 -49
- package/agents/ui-previewer.md +129 -129
- package/commands/vibe.analyze.md +260 -260
- package/commands/vibe.reason.md +223 -223
- package/commands/vibe.review.md +213 -213
- package/commands/vibe.run.md +931 -931
- package/commands/vibe.spec.md +442 -442
- package/commands/vibe.utils.md +101 -101
- package/commands/vibe.verify.md +282 -282
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.js +137 -137
- package/dist/cli/llm.js +147 -147
- package/dist/cli/llm.js.map +1 -1
- package/dist/cli/setup.d.ts +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +11 -17
- package/dist/cli/setup.js.map +1 -1
- package/dist/lib/MemoryManager.d.ts +4 -0
- package/dist/lib/MemoryManager.d.ts.map +1 -1
- package/dist/lib/MemoryManager.js +21 -2
- package/dist/lib/MemoryManager.js.map +1 -1
- package/dist/lib/PythonParser.js +108 -108
- package/dist/lib/gemini-api.d.ts +13 -3
- package/dist/lib/gemini-api.d.ts.map +1 -1
- package/dist/lib/gemini-api.js +198 -7
- package/dist/lib/gemini-api.js.map +1 -1
- package/dist/lib/gpt-api.d.ts +5 -4
- package/dist/lib/gpt-api.d.ts.map +1 -1
- package/dist/lib/gpt-api.js +168 -12
- package/dist/lib/gpt-api.js.map +1 -1
- package/dist/tools/memory/saveMemory.js +1 -1
- package/dist/tools/memory/saveMemory.js.map +1 -1
- package/dist/tools/reasoning/applyReasoningFramework.js +56 -56
- package/hooks/hooks.json +195 -195
- package/languages/dart-flutter.md +509 -0
- package/languages/go.md +396 -0
- package/languages/java-spring.md +586 -0
- package/languages/kotlin-android.md +491 -0
- package/languages/python-django.md +371 -0
- package/languages/python-fastapi.md +386 -0
- package/languages/rust.md +425 -0
- package/languages/swift-ios.md +516 -0
- package/languages/typescript-nextjs.md +441 -0
- package/languages/typescript-node.md +375 -0
- package/languages/typescript-nuxt.md +521 -0
- package/languages/typescript-react-native.md +446 -0
- package/languages/typescript-react.md +525 -0
- package/languages/typescript-vue.md +353 -0
- package/package.json +88 -87
- package/skills/context7-usage.md +82 -82
- package/skills/git-worktree.md +181 -181
- package/skills/multi-llm-orchestration.md +92 -92
- package/skills/parallel-research.md +77 -77
- package/skills/priority-todos.md +239 -239
- package/skills/tool-fallback.md +126 -126
- package/skills/vibe-capabilities.md +129 -129
- package/{.claude/vibe β vibe}/config.json +3 -3
- package/{.claude/vibe β vibe}/constitution.md +184 -184
- package/{.claude/vibe β vibe}/rules/core/communication-guide.md +104 -104
- package/{.claude/vibe β vibe}/rules/core/development-philosophy.md +52 -52
- package/{.claude/vibe β vibe}/rules/core/quick-start.md +120 -120
- package/{.claude/vibe β vibe}/rules/quality/bdd-contract-testing.md +388 -388
- package/{.claude/vibe β vibe}/rules/quality/checklist.md +276 -276
- package/{.claude/vibe β vibe}/rules/quality/testing-strategy.md +437 -437
- package/{.claude/vibe β vibe}/rules/standards/anti-patterns.md +369 -369
- package/{.claude/vibe β vibe}/rules/standards/code-structure.md +291 -291
- package/{.claude/vibe β vibe}/rules/standards/complexity-metrics.md +312 -312
- package/{.claude/vibe β vibe}/rules/standards/naming-conventions.md +198 -198
- package/{.claude/vibe β vibe}/setup.sh +31 -31
- package/{.claude/vibe β vibe}/templates/constitution-template.md +184 -184
- package/{.claude/vibe β vibe}/templates/contract-backend-template.md +517 -517
- package/{.claude/vibe β vibe}/templates/contract-frontend-template.md +594 -594
- package/{.claude/vibe β vibe}/templates/feature-template.md +96 -96
- 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
|
package/skills/priority-todos.md
CHANGED
|
@@ -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. **μλ£ κΈ°λ‘**: ν΄κ²° λ°©λ² λ¬Έμν
|