@su-record/vibe 2.3.0 → 2.3.2
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/settings.json +35 -35
- package/.claude/settings.local.json +24 -25
- package/.claude/vibe/constitution.md +184 -184
- package/.claude/vibe/rules/core/communication-guide.md +104 -104
- package/.claude/vibe/rules/core/development-philosophy.md +52 -52
- package/.claude/vibe/rules/core/quick-start.md +120 -120
- package/.claude/vibe/rules/languages/dart-flutter.md +509 -509
- package/.claude/vibe/rules/languages/go.md +396 -396
- package/.claude/vibe/rules/languages/java-spring.md +586 -586
- package/.claude/vibe/rules/languages/kotlin-android.md +491 -491
- package/.claude/vibe/rules/languages/python-django.md +371 -371
- package/.claude/vibe/rules/languages/python-fastapi.md +386 -386
- package/.claude/vibe/rules/languages/rust.md +425 -425
- package/.claude/vibe/rules/languages/swift-ios.md +516 -516
- package/.claude/vibe/rules/languages/typescript-nextjs.md +441 -441
- package/.claude/vibe/rules/languages/typescript-node.md +375 -375
- package/.claude/vibe/rules/languages/typescript-nuxt.md +521 -521
- package/.claude/vibe/rules/languages/typescript-react-native.md +446 -446
- package/.claude/vibe/rules/languages/typescript-react.md +525 -525
- package/.claude/vibe/rules/languages/typescript-vue.md +353 -353
- package/.claude/vibe/rules/quality/bdd-contract-testing.md +388 -388
- package/.claude/vibe/rules/quality/checklist.md +276 -276
- package/.claude/vibe/rules/quality/testing-strategy.md +437 -437
- package/.claude/vibe/rules/standards/anti-patterns.md +369 -369
- package/.claude/vibe/rules/standards/code-structure.md +291 -291
- package/.claude/vibe/rules/standards/complexity-metrics.md +312 -312
- package/.claude/vibe/rules/standards/naming-conventions.md +198 -198
- package/.claude/vibe/setup.sh +31 -31
- package/.claude/vibe/templates/constitution-template.md +184 -184
- package/.claude/vibe/templates/contract-backend-template.md +517 -517
- package/.claude/vibe/templates/contract-frontend-template.md +594 -594
- package/.claude/vibe/templates/feature-template.md +96 -96
- package/.claude/vibe/templates/spec-template.md +199 -199
- package/CLAUDE.md +345 -323
- package/LICENSE +21 -21
- package/README.md +744 -724
- 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 +181 -181
- package/agents/research/security-advisory-agent.md +167 -167
- 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 +152 -152
- 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 +137 -137
- package/commands/vibe.analyze.md +245 -180
- package/commands/vibe.reason.md +223 -183
- package/commands/vibe.review.md +200 -136
- package/commands/vibe.run.md +838 -836
- package/commands/vibe.spec.md +419 -383
- package/commands/vibe.utils.md +101 -101
- package/commands/vibe.verify.md +282 -241
- package/dist/cli/index.js +385 -385
- package/dist/lib/MemoryManager.d.ts.map +1 -1
- package/dist/lib/MemoryManager.js +119 -114
- package/dist/lib/MemoryManager.js.map +1 -1
- package/dist/lib/PythonParser.js +108 -108
- package/dist/lib/gemini-mcp.js +15 -15
- package/dist/lib/gemini-oauth.js +35 -35
- package/dist/lib/gpt-mcp.js +17 -17
- package/dist/lib/gpt-oauth.js +44 -44
- package/dist/tools/analytics/getUsageAnalytics.js +12 -12
- package/dist/tools/index.d.ts +50 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +61 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/memory/createMemoryTimeline.js +10 -10
- package/dist/tools/memory/getMemoryGraph.js +12 -12
- package/dist/tools/memory/getSessionContext.js +9 -9
- package/dist/tools/memory/linkMemories.js +14 -14
- package/dist/tools/memory/listMemories.js +4 -4
- package/dist/tools/memory/recallMemory.js +4 -4
- package/dist/tools/memory/saveMemory.js +4 -4
- package/dist/tools/memory/searchMemoriesAdvanced.js +22 -22
- package/dist/tools/planning/generatePrd.js +46 -46
- package/dist/tools/prompt/enhancePromptGemini.js +160 -160
- package/dist/tools/reasoning/applyReasoningFramework.js +56 -56
- package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
- package/hooks/hooks.json +121 -103
- package/package.json +73 -69
- package/skills/git-worktree.md +178 -178
- package/skills/priority-todos.md +236 -236
package/agents/implementer.md
CHANGED
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
# Implementer Agent (Sonnet 4)
|
|
2
|
-
|
|
3
|
-
Core implementation specialist sub-agent.
|
|
4
|
-
|
|
5
|
-
## Role
|
|
6
|
-
|
|
7
|
-
- Code implementation
|
|
8
|
-
- File creation/modification
|
|
9
|
-
- Refactoring
|
|
10
|
-
- Bug fixes
|
|
11
|
-
|
|
12
|
-
## Model
|
|
13
|
-
|
|
14
|
-
**Sonnet 4** - Balance between implementation quality and speed
|
|
15
|
-
|
|
16
|
-
## Usage
|
|
17
|
-
|
|
18
|
-
Call via Task tool:
|
|
19
|
-
```
|
|
20
|
-
Task(model: "sonnet", prompt: "Implement according to SPEC")
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Rules Reference
|
|
24
|
-
|
|
25
|
-
Must follow `.claude/vibe/rules/`:
|
|
26
|
-
- `core/development-philosophy.md` - Surgical precision
|
|
27
|
-
- `standards/complexity-metrics.md` - Functions ≤20 lines, nesting ≤3 levels
|
|
28
|
-
- `quality/checklist.md` - Quality checklist
|
|
29
|
-
|
|
30
|
-
## Process
|
|
31
|
-
|
|
32
|
-
1. Review SPEC and exploration results
|
|
33
|
-
2. Create implementation plan
|
|
34
|
-
3. Write code (Edit/Write)
|
|
35
|
-
4. Self-validation
|
|
36
|
-
5. Return results
|
|
37
|
-
|
|
38
|
-
## Output
|
|
39
|
-
|
|
40
|
-
```markdown
|
|
41
|
-
## Implementation Results
|
|
42
|
-
|
|
43
|
-
### Created Files
|
|
44
|
-
- src/components/LoginForm.tsx ✅
|
|
45
|
-
- src/hooks/useLogin.ts ✅
|
|
46
|
-
|
|
47
|
-
### Modified Files
|
|
48
|
-
- src/App.tsx (route added)
|
|
49
|
-
|
|
50
|
-
### Validation
|
|
51
|
-
- TypeScript compile: ✅
|
|
52
|
-
- Lint: ✅
|
|
53
|
-
```
|
|
1
|
+
# Implementer Agent (Sonnet 4)
|
|
2
|
+
|
|
3
|
+
Core implementation specialist sub-agent.
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
- Code implementation
|
|
8
|
+
- File creation/modification
|
|
9
|
+
- Refactoring
|
|
10
|
+
- Bug fixes
|
|
11
|
+
|
|
12
|
+
## Model
|
|
13
|
+
|
|
14
|
+
**Sonnet 4** - Balance between implementation quality and speed
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
Call via Task tool:
|
|
19
|
+
```
|
|
20
|
+
Task(model: "sonnet", prompt: "Implement according to SPEC")
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Rules Reference
|
|
24
|
+
|
|
25
|
+
Must follow `.claude/vibe/rules/`:
|
|
26
|
+
- `core/development-philosophy.md` - Surgical precision
|
|
27
|
+
- `standards/complexity-metrics.md` - Functions ≤20 lines, nesting ≤3 levels
|
|
28
|
+
- `quality/checklist.md` - Quality checklist
|
|
29
|
+
|
|
30
|
+
## Process
|
|
31
|
+
|
|
32
|
+
1. Review SPEC and exploration results
|
|
33
|
+
2. Create implementation plan
|
|
34
|
+
3. Write code (Edit/Write)
|
|
35
|
+
4. Self-validation
|
|
36
|
+
5. Return results
|
|
37
|
+
|
|
38
|
+
## Output
|
|
39
|
+
|
|
40
|
+
```markdown
|
|
41
|
+
## Implementation Results
|
|
42
|
+
|
|
43
|
+
### Created Files
|
|
44
|
+
- src/components/LoginForm.tsx ✅
|
|
45
|
+
- src/hooks/useLogin.ts ✅
|
|
46
|
+
|
|
47
|
+
### Modified Files
|
|
48
|
+
- src/App.tsx (route added)
|
|
49
|
+
|
|
50
|
+
### Validation
|
|
51
|
+
- TypeScript compile: ✅
|
|
52
|
+
- Lint: ✅
|
|
53
|
+
```
|
|
@@ -1,139 +1,139 @@
|
|
|
1
|
-
# Best Practices Research Agent
|
|
2
|
-
|
|
3
|
-
업계 베스트 프랙티스 리서치 에이전트
|
|
4
|
-
|
|
5
|
-
## Role
|
|
6
|
-
|
|
7
|
-
- 업계 표준 조사
|
|
8
|
-
- 베스트 프랙티스 수집
|
|
9
|
-
- 권장 패턴 제안
|
|
10
|
-
- 안티 패턴 경고
|
|
11
|
-
|
|
12
|
-
## Model
|
|
13
|
-
|
|
14
|
-
**Haiku** (inherit) - 빠른 리서치
|
|
15
|
-
|
|
16
|
-
## Usage
|
|
17
|
-
|
|
18
|
-
`/vibe.spec` 실행 시 자동으로 병렬 호출됨
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
Task(
|
|
22
|
-
model: "haiku",
|
|
23
|
-
subagent_type: "Explore",
|
|
24
|
-
prompt: "Research best practices for [feature]. Include patterns, anti-patterns."
|
|
25
|
-
)
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Research Areas
|
|
29
|
-
|
|
30
|
-
### By Domain
|
|
31
|
-
|
|
32
|
-
```
|
|
33
|
-
Authentication:
|
|
34
|
-
├── OAuth 2.0 / OIDC
|
|
35
|
-
├── JWT best practices
|
|
36
|
-
├── Session management
|
|
37
|
-
└── MFA implementation
|
|
38
|
-
|
|
39
|
-
Payment:
|
|
40
|
-
├── PCI-DSS compliance
|
|
41
|
-
├── Idempotency keys
|
|
42
|
-
├── Retry strategies
|
|
43
|
-
└── Webhook verification
|
|
44
|
-
|
|
45
|
-
API Design:
|
|
46
|
-
├── REST conventions
|
|
47
|
-
├── GraphQL patterns
|
|
48
|
-
├── Versioning strategies
|
|
49
|
-
└── Rate limiting
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### By Framework
|
|
53
|
-
|
|
54
|
-
```
|
|
55
|
-
React:
|
|
56
|
-
├── Component patterns (Compound, Render Props)
|
|
57
|
-
├── State management (Context, Zustand, Jotai)
|
|
58
|
-
├── Server Components
|
|
59
|
-
└── Performance patterns
|
|
60
|
-
|
|
61
|
-
Django/FastAPI:
|
|
62
|
-
├── Project structure
|
|
63
|
-
├── Async patterns
|
|
64
|
-
├── Testing strategies
|
|
65
|
-
└── Security defaults
|
|
66
|
-
|
|
67
|
-
Rails:
|
|
68
|
-
├── Rails Way conventions
|
|
69
|
-
├── Service objects
|
|
70
|
-
├── Background jobs
|
|
71
|
-
└── Caching strategies
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
## Output Format
|
|
75
|
-
|
|
76
|
-
```markdown
|
|
77
|
-
## 📚 Best Practices Research
|
|
78
|
-
|
|
79
|
-
### Feature: [feature-name]
|
|
80
|
-
|
|
81
|
-
### Recommended Patterns
|
|
82
|
-
|
|
83
|
-
1. **Pattern: Repository Pattern**
|
|
84
|
-
- Use case: Data access abstraction
|
|
85
|
-
- Benefits: Testability, flexibility
|
|
86
|
-
- Example:
|
|
87
|
-
```python
|
|
88
|
-
class UserRepository:
|
|
89
|
-
def find_by_id(self, id: int) -> User:
|
|
90
|
-
...
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
2. **Pattern: Service Layer**
|
|
94
|
-
- Use case: Business logic encapsulation
|
|
95
|
-
- Benefits: Thin controllers, reusability
|
|
96
|
-
|
|
97
|
-
### Anti-Patterns to Avoid
|
|
98
|
-
|
|
99
|
-
1. **Anti-pattern: God Object**
|
|
100
|
-
- Problem: Single class doing everything
|
|
101
|
-
- Solution: Split by responsibility
|
|
102
|
-
|
|
103
|
-
2. **Anti-pattern: Premature Optimization**
|
|
104
|
-
- Problem: Optimizing before measuring
|
|
105
|
-
- Solution: Measure first, optimize bottlenecks
|
|
106
|
-
|
|
107
|
-
### Industry Standards
|
|
108
|
-
|
|
109
|
-
- OWASP Security Guidelines
|
|
110
|
-
- 12-Factor App Methodology
|
|
111
|
-
- REST API Design Guidelines
|
|
112
|
-
|
|
113
|
-
### Recommended Libraries
|
|
114
|
-
|
|
115
|
-
| Purpose | Recommendation | Reason |
|
|
116
|
-
|---------|---------------|--------|
|
|
117
|
-
| Validation | Pydantic/Zod | Type-safe, fast |
|
|
118
|
-
| Auth | NextAuth/Devise | Battle-tested |
|
|
119
|
-
| Testing | Pytest/Jest | Community standard |
|
|
120
|
-
|
|
121
|
-
### References
|
|
122
|
-
|
|
123
|
-
- [Article/Doc 1](url)
|
|
124
|
-
- [Article/Doc 2](url)
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
## Integration with /vibe.spec
|
|
128
|
-
|
|
129
|
-
```
|
|
130
|
-
/vibe.spec "로그인 기능"
|
|
131
|
-
|
|
132
|
-
→ best-practices-agent 실행:
|
|
133
|
-
"Research authentication best practices: OAuth, JWT, session"
|
|
134
|
-
|
|
135
|
-
→ 결과를 SPEC에 반영:
|
|
136
|
-
- 권장 라이브러리
|
|
137
|
-
- 보안 고려사항
|
|
138
|
-
- 구현 패턴
|
|
139
|
-
```
|
|
1
|
+
# Best Practices Research Agent
|
|
2
|
+
|
|
3
|
+
업계 베스트 프랙티스 리서치 에이전트
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
- 업계 표준 조사
|
|
8
|
+
- 베스트 프랙티스 수집
|
|
9
|
+
- 권장 패턴 제안
|
|
10
|
+
- 안티 패턴 경고
|
|
11
|
+
|
|
12
|
+
## Model
|
|
13
|
+
|
|
14
|
+
**Haiku** (inherit) - 빠른 리서치
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
`/vibe.spec` 실행 시 자동으로 병렬 호출됨
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
Task(
|
|
22
|
+
model: "haiku",
|
|
23
|
+
subagent_type: "Explore",
|
|
24
|
+
prompt: "Research best practices for [feature]. Include patterns, anti-patterns."
|
|
25
|
+
)
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Research Areas
|
|
29
|
+
|
|
30
|
+
### By Domain
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
Authentication:
|
|
34
|
+
├── OAuth 2.0 / OIDC
|
|
35
|
+
├── JWT best practices
|
|
36
|
+
├── Session management
|
|
37
|
+
└── MFA implementation
|
|
38
|
+
|
|
39
|
+
Payment:
|
|
40
|
+
├── PCI-DSS compliance
|
|
41
|
+
├── Idempotency keys
|
|
42
|
+
├── Retry strategies
|
|
43
|
+
└── Webhook verification
|
|
44
|
+
|
|
45
|
+
API Design:
|
|
46
|
+
├── REST conventions
|
|
47
|
+
├── GraphQL patterns
|
|
48
|
+
├── Versioning strategies
|
|
49
|
+
└── Rate limiting
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### By Framework
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
React:
|
|
56
|
+
├── Component patterns (Compound, Render Props)
|
|
57
|
+
├── State management (Context, Zustand, Jotai)
|
|
58
|
+
├── Server Components
|
|
59
|
+
└── Performance patterns
|
|
60
|
+
|
|
61
|
+
Django/FastAPI:
|
|
62
|
+
├── Project structure
|
|
63
|
+
├── Async patterns
|
|
64
|
+
├── Testing strategies
|
|
65
|
+
└── Security defaults
|
|
66
|
+
|
|
67
|
+
Rails:
|
|
68
|
+
├── Rails Way conventions
|
|
69
|
+
├── Service objects
|
|
70
|
+
├── Background jobs
|
|
71
|
+
└── Caching strategies
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Output Format
|
|
75
|
+
|
|
76
|
+
```markdown
|
|
77
|
+
## 📚 Best Practices Research
|
|
78
|
+
|
|
79
|
+
### Feature: [feature-name]
|
|
80
|
+
|
|
81
|
+
### Recommended Patterns
|
|
82
|
+
|
|
83
|
+
1. **Pattern: Repository Pattern**
|
|
84
|
+
- Use case: Data access abstraction
|
|
85
|
+
- Benefits: Testability, flexibility
|
|
86
|
+
- Example:
|
|
87
|
+
```python
|
|
88
|
+
class UserRepository:
|
|
89
|
+
def find_by_id(self, id: int) -> User:
|
|
90
|
+
...
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
2. **Pattern: Service Layer**
|
|
94
|
+
- Use case: Business logic encapsulation
|
|
95
|
+
- Benefits: Thin controllers, reusability
|
|
96
|
+
|
|
97
|
+
### Anti-Patterns to Avoid
|
|
98
|
+
|
|
99
|
+
1. **Anti-pattern: God Object**
|
|
100
|
+
- Problem: Single class doing everything
|
|
101
|
+
- Solution: Split by responsibility
|
|
102
|
+
|
|
103
|
+
2. **Anti-pattern: Premature Optimization**
|
|
104
|
+
- Problem: Optimizing before measuring
|
|
105
|
+
- Solution: Measure first, optimize bottlenecks
|
|
106
|
+
|
|
107
|
+
### Industry Standards
|
|
108
|
+
|
|
109
|
+
- OWASP Security Guidelines
|
|
110
|
+
- 12-Factor App Methodology
|
|
111
|
+
- REST API Design Guidelines
|
|
112
|
+
|
|
113
|
+
### Recommended Libraries
|
|
114
|
+
|
|
115
|
+
| Purpose | Recommendation | Reason |
|
|
116
|
+
|---------|---------------|--------|
|
|
117
|
+
| Validation | Pydantic/Zod | Type-safe, fast |
|
|
118
|
+
| Auth | NextAuth/Devise | Battle-tested |
|
|
119
|
+
| Testing | Pytest/Jest | Community standard |
|
|
120
|
+
|
|
121
|
+
### References
|
|
122
|
+
|
|
123
|
+
- [Article/Doc 1](url)
|
|
124
|
+
- [Article/Doc 2](url)
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Integration with /vibe.spec
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
/vibe.spec "로그인 기능"
|
|
131
|
+
|
|
132
|
+
→ best-practices-agent 실행:
|
|
133
|
+
"Research authentication best practices: OAuth, JWT, session"
|
|
134
|
+
|
|
135
|
+
→ 결과를 SPEC에 반영:
|
|
136
|
+
- 권장 라이브러리
|
|
137
|
+
- 보안 고려사항
|
|
138
|
+
- 구현 패턴
|
|
139
|
+
```
|
|
@@ -1,147 +1,147 @@
|
|
|
1
|
-
# Codebase Patterns Research Agent
|
|
2
|
-
|
|
3
|
-
기존 코드베이스 패턴 분석 에이전트
|
|
4
|
-
|
|
5
|
-
## Role
|
|
6
|
-
|
|
7
|
-
- 기존 구현 패턴 분석
|
|
8
|
-
- 코딩 컨벤션 추출
|
|
9
|
-
- 유사 기능 참조
|
|
10
|
-
- 일관성 확보
|
|
11
|
-
|
|
12
|
-
## Model
|
|
13
|
-
|
|
14
|
-
**Haiku** (inherit) - 빠른 탐색
|
|
15
|
-
|
|
16
|
-
## Usage
|
|
17
|
-
|
|
18
|
-
`/vibe.spec` 실행 시 자동으로 병렬 호출됨
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
Task(
|
|
22
|
-
model: "haiku",
|
|
23
|
-
subagent_type: "Explore",
|
|
24
|
-
prompt: "Analyze existing patterns in codebase for [feature]. Find similar implementations."
|
|
25
|
-
)
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Analysis Areas
|
|
29
|
-
|
|
30
|
-
### File Structure
|
|
31
|
-
```
|
|
32
|
-
프로젝트 구조 분석:
|
|
33
|
-
├── 디렉토리 구성
|
|
34
|
-
├── 네이밍 규칙
|
|
35
|
-
├── 모듈 분리 방식
|
|
36
|
-
└── 테스트 파일 위치
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### Code Patterns
|
|
40
|
-
```
|
|
41
|
-
패턴 추출:
|
|
42
|
-
├── 에러 처리 방식
|
|
43
|
-
├── 로깅 패턴
|
|
44
|
-
├── 데이터 검증 방식
|
|
45
|
-
├── API 응답 형식
|
|
46
|
-
└── 의존성 주입 방식
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
### Conventions
|
|
50
|
-
```
|
|
51
|
-
컨벤션 분석:
|
|
52
|
-
├── 변수/함수 네이밍
|
|
53
|
-
├── 파일 네이밍
|
|
54
|
-
├── import 순서
|
|
55
|
-
├── 주석 스타일
|
|
56
|
-
└── 타입 정의 방식
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## Output Format
|
|
60
|
-
|
|
61
|
-
```markdown
|
|
62
|
-
## 🔍 Codebase Patterns Analysis
|
|
63
|
-
|
|
64
|
-
### Project Structure
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
src/
|
|
68
|
-
├── api/ # REST endpoints
|
|
69
|
-
├── services/ # Business logic
|
|
70
|
-
├── models/ # Data models
|
|
71
|
-
├── utils/ # Helpers
|
|
72
|
-
└── tests/ # Mirror structure
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### Existing Patterns
|
|
76
|
-
|
|
77
|
-
1. **Error Handling Pattern**
|
|
78
|
-
```python
|
|
79
|
-
# Found in: src/services/*.py
|
|
80
|
-
try:
|
|
81
|
-
result = operation()
|
|
82
|
-
except SpecificError as e:
|
|
83
|
-
logger.error(f"Operation failed: {e}")
|
|
84
|
-
raise ServiceError(str(e)) from e
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
2. **API Response Pattern**
|
|
88
|
-
```python
|
|
89
|
-
# Found in: src/api/*.py
|
|
90
|
-
return {
|
|
91
|
-
"success": True,
|
|
92
|
-
"data": result,
|
|
93
|
-
"meta": {"count": len(result)}
|
|
94
|
-
}
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
3. **Service Layer Pattern**
|
|
98
|
-
```python
|
|
99
|
-
# Found in: src/services/user_service.py
|
|
100
|
-
class UserService:
|
|
101
|
-
def __init__(self, db: Database):
|
|
102
|
-
self.db = db
|
|
103
|
-
|
|
104
|
-
def get_user(self, user_id: int) -> User:
|
|
105
|
-
...
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
### Naming Conventions
|
|
109
|
-
|
|
110
|
-
| Type | Convention | Example |
|
|
111
|
-
|------|------------|---------|
|
|
112
|
-
| Files | snake_case | user_service.py |
|
|
113
|
-
| Classes | PascalCase | UserService |
|
|
114
|
-
| Functions | snake_case | get_user_by_id |
|
|
115
|
-
| Constants | UPPER_CASE | MAX_RETRIES |
|
|
116
|
-
|
|
117
|
-
### Similar Implementations
|
|
118
|
-
|
|
119
|
-
For feature "결제 기능":
|
|
120
|
-
|
|
121
|
-
| Similar Feature | Location | Relevance |
|
|
122
|
-
|-----------------|----------|-----------|
|
|
123
|
-
| 주문 처리 | src/services/order.py | 90% |
|
|
124
|
-
| 구독 관리 | src/services/subscription.py | 75% |
|
|
125
|
-
|
|
126
|
-
### Recommendations
|
|
127
|
-
|
|
128
|
-
Based on existing patterns:
|
|
129
|
-
1. Create `src/services/payment_service.py`
|
|
130
|
-
2. Follow existing error handling pattern
|
|
131
|
-
3. Use existing validation decorators
|
|
132
|
-
4. Reuse `src/utils/api_response.py`
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
## Integration with /vibe.spec
|
|
136
|
-
|
|
137
|
-
```
|
|
138
|
-
/vibe.spec "결제 기능"
|
|
139
|
-
|
|
140
|
-
→ codebase-patterns-agent 실행:
|
|
141
|
-
"Find similar payment/transaction code. Extract patterns."
|
|
142
|
-
|
|
143
|
-
→ 결과를 SPEC에 반영:
|
|
144
|
-
- 기존 패턴 따르기
|
|
145
|
-
- 유사 코드 참조
|
|
146
|
-
- 일관성 유지
|
|
147
|
-
```
|
|
1
|
+
# Codebase Patterns Research Agent
|
|
2
|
+
|
|
3
|
+
기존 코드베이스 패턴 분석 에이전트
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
- 기존 구현 패턴 분석
|
|
8
|
+
- 코딩 컨벤션 추출
|
|
9
|
+
- 유사 기능 참조
|
|
10
|
+
- 일관성 확보
|
|
11
|
+
|
|
12
|
+
## Model
|
|
13
|
+
|
|
14
|
+
**Haiku** (inherit) - 빠른 탐색
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
`/vibe.spec` 실행 시 자동으로 병렬 호출됨
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
Task(
|
|
22
|
+
model: "haiku",
|
|
23
|
+
subagent_type: "Explore",
|
|
24
|
+
prompt: "Analyze existing patterns in codebase for [feature]. Find similar implementations."
|
|
25
|
+
)
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Analysis Areas
|
|
29
|
+
|
|
30
|
+
### File Structure
|
|
31
|
+
```
|
|
32
|
+
프로젝트 구조 분석:
|
|
33
|
+
├── 디렉토리 구성
|
|
34
|
+
├── 네이밍 규칙
|
|
35
|
+
├── 모듈 분리 방식
|
|
36
|
+
└── 테스트 파일 위치
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Code Patterns
|
|
40
|
+
```
|
|
41
|
+
패턴 추출:
|
|
42
|
+
├── 에러 처리 방식
|
|
43
|
+
├── 로깅 패턴
|
|
44
|
+
├── 데이터 검증 방식
|
|
45
|
+
├── API 응답 형식
|
|
46
|
+
└── 의존성 주입 방식
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Conventions
|
|
50
|
+
```
|
|
51
|
+
컨벤션 분석:
|
|
52
|
+
├── 변수/함수 네이밍
|
|
53
|
+
├── 파일 네이밍
|
|
54
|
+
├── import 순서
|
|
55
|
+
├── 주석 스타일
|
|
56
|
+
└── 타입 정의 방식
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Output Format
|
|
60
|
+
|
|
61
|
+
```markdown
|
|
62
|
+
## 🔍 Codebase Patterns Analysis
|
|
63
|
+
|
|
64
|
+
### Project Structure
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
src/
|
|
68
|
+
├── api/ # REST endpoints
|
|
69
|
+
├── services/ # Business logic
|
|
70
|
+
├── models/ # Data models
|
|
71
|
+
├── utils/ # Helpers
|
|
72
|
+
└── tests/ # Mirror structure
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Existing Patterns
|
|
76
|
+
|
|
77
|
+
1. **Error Handling Pattern**
|
|
78
|
+
```python
|
|
79
|
+
# Found in: src/services/*.py
|
|
80
|
+
try:
|
|
81
|
+
result = operation()
|
|
82
|
+
except SpecificError as e:
|
|
83
|
+
logger.error(f"Operation failed: {e}")
|
|
84
|
+
raise ServiceError(str(e)) from e
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
2. **API Response Pattern**
|
|
88
|
+
```python
|
|
89
|
+
# Found in: src/api/*.py
|
|
90
|
+
return {
|
|
91
|
+
"success": True,
|
|
92
|
+
"data": result,
|
|
93
|
+
"meta": {"count": len(result)}
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
3. **Service Layer Pattern**
|
|
98
|
+
```python
|
|
99
|
+
# Found in: src/services/user_service.py
|
|
100
|
+
class UserService:
|
|
101
|
+
def __init__(self, db: Database):
|
|
102
|
+
self.db = db
|
|
103
|
+
|
|
104
|
+
def get_user(self, user_id: int) -> User:
|
|
105
|
+
...
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Naming Conventions
|
|
109
|
+
|
|
110
|
+
| Type | Convention | Example |
|
|
111
|
+
|------|------------|---------|
|
|
112
|
+
| Files | snake_case | user_service.py |
|
|
113
|
+
| Classes | PascalCase | UserService |
|
|
114
|
+
| Functions | snake_case | get_user_by_id |
|
|
115
|
+
| Constants | UPPER_CASE | MAX_RETRIES |
|
|
116
|
+
|
|
117
|
+
### Similar Implementations
|
|
118
|
+
|
|
119
|
+
For feature "결제 기능":
|
|
120
|
+
|
|
121
|
+
| Similar Feature | Location | Relevance |
|
|
122
|
+
|-----------------|----------|-----------|
|
|
123
|
+
| 주문 처리 | src/services/order.py | 90% |
|
|
124
|
+
| 구독 관리 | src/services/subscription.py | 75% |
|
|
125
|
+
|
|
126
|
+
### Recommendations
|
|
127
|
+
|
|
128
|
+
Based on existing patterns:
|
|
129
|
+
1. Create `src/services/payment_service.py`
|
|
130
|
+
2. Follow existing error handling pattern
|
|
131
|
+
3. Use existing validation decorators
|
|
132
|
+
4. Reuse `src/utils/api_response.py`
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Integration with /vibe.spec
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
/vibe.spec "결제 기능"
|
|
139
|
+
|
|
140
|
+
→ codebase-patterns-agent 실행:
|
|
141
|
+
"Find similar payment/transaction code. Extract patterns."
|
|
142
|
+
|
|
143
|
+
→ 결과를 SPEC에 반영:
|
|
144
|
+
- 기존 패턴 따르기
|
|
145
|
+
- 유사 코드 참조
|
|
146
|
+
- 일관성 유지
|
|
147
|
+
```
|