@su-record/vibe 0.3.0 → 0.4.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.
- package/.claude/agents/simplifier.md +120 -0
- package/.claude/commands/vibe.run.md +133 -113
- package/.claude/commands/vibe.spec.md +143 -218
- package/.claude/commands/vibe.verify.md +7 -0
- package/.claude/settings.local.json +22 -1
- package/CLAUDE.md +41 -0
- package/README.md +181 -443
- package/bin/vibe +183 -152
- package/package.json +3 -6
- package/templates/hooks-template.json +26 -0
- package/.claude/commands/vibe.plan.md +0 -81
- package/.claude/commands/vibe.tasks.md +0 -83
- package/agents/backend-python-expert.md +0 -453
- package/agents/database-postgres-expert.md +0 -538
- package/agents/frontend-flutter-expert.md +0 -487
- package/agents/frontend-react-expert.md +0 -424
- package/agents/quality-reviewer.md +0 -542
- package/agents/reasoning-agent.md +0 -353
- package/agents/specification-agent.md +0 -582
- package/scripts/install-mcp.js +0 -74
- package/scripts/install.sh +0 -70
- package/templates/plan-template.md +0 -237
- package/templates/tasks-template.md +0 -132
- /package/{skills → .agent/rules}/core/communication-guide.md +0 -0
- /package/{skills → .agent/rules}/core/development-philosophy.md +0 -0
- /package/{skills → .agent/rules}/core/quick-start.md +0 -0
- /package/{skills → .agent/rules}/languages/dart-flutter.md +0 -0
- /package/{skills → .agent/rules}/languages/python-fastapi.md +0 -0
- /package/{skills → .agent/rules}/languages/typescript-nextjs.md +0 -0
- /package/{skills → .agent/rules}/languages/typescript-react-native.md +0 -0
- /package/{skills → .agent/rules}/languages/typescript-react.md +0 -0
- /package/{skills → .agent/rules}/quality/bdd-contract-testing.md +0 -0
- /package/{skills → .agent/rules}/quality/checklist.md +0 -0
- /package/{skills → .agent/rules}/quality/testing-strategy.md +0 -0
- /package/{skills → .agent/rules}/standards/anti-patterns.md +0 -0
- /package/{skills → .agent/rules}/standards/code-structure.md +0 -0
- /package/{skills → .agent/rules}/standards/complexity-metrics.md +0 -0
- /package/{skills → .agent/rules}/standards/naming-conventions.md +0 -0
- /package/{skills → .agent/rules}/tools/mcp-hi-ai-guide.md +0 -0
- /package/{skills → .agent/rules}/tools/mcp-workflow.md +0 -0
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
# PLAN: {기능명}
|
|
2
|
-
|
|
3
|
-
## Metadata
|
|
4
|
-
- **SPEC**: `specs/{기능명}.md`
|
|
5
|
-
- **작성일**: {YYYY-MM-DD}
|
|
6
|
-
- **작성자**: {이름}
|
|
7
|
-
- **담당 에이전트**: {Backend Python Expert | Frontend Flutter Expert | etc.}
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## 1. 기술 스택 선정
|
|
12
|
-
|
|
13
|
-
### 선택된 기술
|
|
14
|
-
| 항목 | 기술 | 이유 |
|
|
15
|
-
|------|------|------|
|
|
16
|
-
| 백엔드 | {기술} | {이유} |
|
|
17
|
-
| 프론트엔드 | {기술} | {이유} |
|
|
18
|
-
| 데이터베이스 | {기술} | {이유} |
|
|
19
|
-
| 외부 서비스 | {기술} | {이유} |
|
|
20
|
-
|
|
21
|
-
### 대안 기술 (검토 후 제외)
|
|
22
|
-
- **{기술 A}**: 제외 이유
|
|
23
|
-
- **{기술 B}**: 제외 이유
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## 2. 아키텍처 설계
|
|
28
|
-
|
|
29
|
-
### High-level Architecture
|
|
30
|
-
```
|
|
31
|
-
[Client] → [API Gateway] → [Service] → [Database]
|
|
32
|
-
↓
|
|
33
|
-
[External API]
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
### 컴포넌트 설계
|
|
37
|
-
- **Component 1**: {역할}
|
|
38
|
-
- **Component 2**: {역할}
|
|
39
|
-
|
|
40
|
-
### 데이터 흐름
|
|
41
|
-
1. 사용자 요청
|
|
42
|
-
2. 검증
|
|
43
|
-
3. 처리
|
|
44
|
-
4. 응답
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## 3. API 설계
|
|
49
|
-
|
|
50
|
-
### Endpoint 1: {이름}
|
|
51
|
-
```
|
|
52
|
-
POST /api/v1/resource
|
|
53
|
-
Headers:
|
|
54
|
-
Authorization: Bearer {token}
|
|
55
|
-
Content-Type: application/json
|
|
56
|
-
|
|
57
|
-
Request:
|
|
58
|
-
{
|
|
59
|
-
"field1": "value"
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
Response (200):
|
|
63
|
-
{
|
|
64
|
-
"id": "...",
|
|
65
|
-
"status": "success"
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
Error (400):
|
|
69
|
-
{
|
|
70
|
-
"error": "Invalid request",
|
|
71
|
-
"details": "..."
|
|
72
|
-
}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## 4. 데이터베이스 스키마
|
|
78
|
-
|
|
79
|
-
### 테이블: {이름}
|
|
80
|
-
```sql
|
|
81
|
-
CREATE TABLE resource (
|
|
82
|
-
id UUID PRIMARY KEY,
|
|
83
|
-
field1 VARCHAR(255) NOT NULL,
|
|
84
|
-
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
|
85
|
-
INDEX idx_field1 (field1)
|
|
86
|
-
);
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### 인덱스 전략
|
|
90
|
-
- `idx_field1`: 조회 성능 향상
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## 5. 외부 서비스 통합
|
|
95
|
-
|
|
96
|
-
### Service 1: {이름}
|
|
97
|
-
- **용도**: {목적}
|
|
98
|
-
- **비용**: 월 ${금액} (예상 {건}건 기준)
|
|
99
|
-
- **API 문서**: {URL}
|
|
100
|
-
- **인증 방식**: {방법}
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## 6. 보안 설계
|
|
105
|
-
|
|
106
|
-
### 인증 (Authentication)
|
|
107
|
-
- 방식: JWT
|
|
108
|
-
- 토큰 유효 기간: 1시간
|
|
109
|
-
- Refresh 토큰: 7일
|
|
110
|
-
|
|
111
|
-
### 권한 (Authorization)
|
|
112
|
-
- Role-based Access Control (RBAC)
|
|
113
|
-
- Roles: Admin, User, Guest
|
|
114
|
-
|
|
115
|
-
### 데이터 보호
|
|
116
|
-
- 개인정보 암호화: AES-256
|
|
117
|
-
- 전송 암호화: TLS 1.3
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
## 7. 성능 최적화 전략
|
|
122
|
-
|
|
123
|
-
### 캐싱
|
|
124
|
-
- Redis 캐시: {대상 데이터}
|
|
125
|
-
- TTL: {시간}
|
|
126
|
-
|
|
127
|
-
### 데이터베이스 최적화
|
|
128
|
-
- 인덱싱: {컬럼}
|
|
129
|
-
- 커넥션 풀: {크기}
|
|
130
|
-
|
|
131
|
-
### 비동기 처리
|
|
132
|
-
- 무거운 작업: 백그라운드 Job
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
|
|
136
|
-
## 8. 에러 처리 전략
|
|
137
|
-
|
|
138
|
-
### 에러 분류
|
|
139
|
-
| 코드 | 유형 | 처리 |
|
|
140
|
-
|------|------|------|
|
|
141
|
-
| 400 | Bad Request | 입력 검증 에러 메시지 |
|
|
142
|
-
| 401 | Unauthorized | 로그인 필요 |
|
|
143
|
-
| 403 | Forbidden | 권한 없음 |
|
|
144
|
-
| 404 | Not Found | 리소스 없음 |
|
|
145
|
-
| 500 | Server Error | 로그 + 일반 메시지 |
|
|
146
|
-
|
|
147
|
-
### 재시도 전략
|
|
148
|
-
- 네트워크 에러: 3회 재시도 (Exponential Backoff)
|
|
149
|
-
- 외부 API 에러: 1회 재시도
|
|
150
|
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
## 9. 모니터링 및 로깅
|
|
154
|
-
|
|
155
|
-
### 메트릭
|
|
156
|
-
- 응답 시간: P50, P95, P99
|
|
157
|
-
- 에러율: 5분 단위
|
|
158
|
-
- 처리량: RPS
|
|
159
|
-
|
|
160
|
-
### 로깅
|
|
161
|
-
- 레벨: INFO, ERROR
|
|
162
|
-
- 포맷: JSON (Structured Logging)
|
|
163
|
-
- 보관 기간: 30일
|
|
164
|
-
|
|
165
|
-
### 알림
|
|
166
|
-
- 에러율 > 5%: Slack 알림
|
|
167
|
-
- 응답 시간 > 3초: 경고
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## 10. 테스트 전략
|
|
172
|
-
|
|
173
|
-
### Contract Testing
|
|
174
|
-
- Pydantic/Zod 스키마로 API 계약 검증
|
|
175
|
-
|
|
176
|
-
### Integration Testing
|
|
177
|
-
- 핵심 경로: {경로 1}, {경로 2}
|
|
178
|
-
- 목표 커버리지: 70%
|
|
179
|
-
|
|
180
|
-
### Load Testing
|
|
181
|
-
- 목표: {TPS}
|
|
182
|
-
- 도구: Locust / k6
|
|
183
|
-
|
|
184
|
-
---
|
|
185
|
-
|
|
186
|
-
## 11. 배포 전략
|
|
187
|
-
|
|
188
|
-
### 환경
|
|
189
|
-
- Development: 로컬 Docker
|
|
190
|
-
- Staging: Cloud Run (1 instance)
|
|
191
|
-
- Production: Cloud Run (auto-scale 1-10)
|
|
192
|
-
|
|
193
|
-
### CI/CD
|
|
194
|
-
- GitHub Actions
|
|
195
|
-
- 자동 테스트 → 자동 배포
|
|
196
|
-
|
|
197
|
-
### Rollback 계획
|
|
198
|
-
- 이전 버전으로 즉시 롤백 가능
|
|
199
|
-
|
|
200
|
-
---
|
|
201
|
-
|
|
202
|
-
## 12. 비용 예측
|
|
203
|
-
|
|
204
|
-
| 항목 | 월 비용 | 근거 |
|
|
205
|
-
|------|---------|------|
|
|
206
|
-
| Cloud Run | ${금액} | {근거} |
|
|
207
|
-
| Database | ${금액} | {근거} |
|
|
208
|
-
| 외부 API | ${금액} | {근거} |
|
|
209
|
-
| **총계** | **${금액}** | |
|
|
210
|
-
|
|
211
|
-
---
|
|
212
|
-
|
|
213
|
-
## 13. 마일스톤
|
|
214
|
-
|
|
215
|
-
| 단계 | 내용 | 예상 시간 |
|
|
216
|
-
|------|------|-----------|
|
|
217
|
-
| 1 | {작업} | {시간} |
|
|
218
|
-
| 2 | {작업} | {시간} |
|
|
219
|
-
| 3 | {작업} | {시간} |
|
|
220
|
-
|
|
221
|
-
---
|
|
222
|
-
|
|
223
|
-
## 14. 리스크 및 완화 방안
|
|
224
|
-
|
|
225
|
-
### 리스크 1: {제목}
|
|
226
|
-
- **확률**: High | Medium | Low
|
|
227
|
-
- **영향**: High | Medium | Low
|
|
228
|
-
- **완화 방안**: {방법}
|
|
229
|
-
|
|
230
|
-
---
|
|
231
|
-
|
|
232
|
-
## 15. 다음 단계
|
|
233
|
-
|
|
234
|
-
1. SPEC 재검토 및 승인
|
|
235
|
-
2. TASKS 문서 생성
|
|
236
|
-
→ `sutory tasks "{기능명}"`
|
|
237
|
-
3. 구현 시작
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
# TASKS: {기능명}
|
|
2
|
-
|
|
3
|
-
## Metadata
|
|
4
|
-
- **SPEC**: `specs/{기능명}.md`
|
|
5
|
-
- **PLAN**: `plans/{기능명}-plan.md`
|
|
6
|
-
- **작성일**: {YYYY-MM-DD}
|
|
7
|
-
- **총 예상 시간**: {시간}
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## 진행 상황
|
|
12
|
-
|
|
13
|
-
- **전체**: 0 / {총 작업 수}
|
|
14
|
-
- **완료**: 0
|
|
15
|
-
- **진행 중**: 0
|
|
16
|
-
- **대기**: {총 작업 수}
|
|
17
|
-
|
|
18
|
-
**진행률**: 0%
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## 작업 목록
|
|
23
|
-
|
|
24
|
-
### Phase 1: 기반 설정
|
|
25
|
-
|
|
26
|
-
#### Task 1-1: {작업명}
|
|
27
|
-
- **상태**: ⬜ 대기 | 🟡 진행 중 | ✅ 완료
|
|
28
|
-
- **담당**: {에이전트명}
|
|
29
|
-
- **예상 시간**: {시간}
|
|
30
|
-
- **우선순위**: HIGH | MEDIUM | LOW
|
|
31
|
-
- **의존성**: 없음 | Task {번호}
|
|
32
|
-
|
|
33
|
-
**설명**:
|
|
34
|
-
{무엇을 해야 하는지}
|
|
35
|
-
|
|
36
|
-
**Acceptance Criteria**:
|
|
37
|
-
- [ ] {검증 기준 1}
|
|
38
|
-
- [ ] {검증 기준 2}
|
|
39
|
-
|
|
40
|
-
**참고 파일**:
|
|
41
|
-
- `path/to/file1`
|
|
42
|
-
- `path/to/file2`
|
|
43
|
-
|
|
44
|
-
**완료 일시**: _________
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
#### Task 1-2: {작업명}
|
|
49
|
-
...
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
### Phase 2: 핵심 기능 구현
|
|
54
|
-
|
|
55
|
-
#### Task 2-1: {작업명}
|
|
56
|
-
...
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
### Phase 3: 통합 및 테스트
|
|
61
|
-
|
|
62
|
-
#### Task 3-1: {작업명}
|
|
63
|
-
...
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## 의존성 그래프
|
|
68
|
-
|
|
69
|
-
```
|
|
70
|
-
Task 1-1 → Task 1-2 → Task 2-1
|
|
71
|
-
↘
|
|
72
|
-
Task 1-3 → Task 2-2 → Task 3-1
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## 체크리스트
|
|
78
|
-
|
|
79
|
-
### 코드 작성
|
|
80
|
-
- [ ] 모든 함수에 type hints
|
|
81
|
-
- [ ] 한국어 docstring
|
|
82
|
-
- [ ] ≤30 lines per function
|
|
83
|
-
- [ ] TRUST 5 준수
|
|
84
|
-
|
|
85
|
-
### 테스트
|
|
86
|
-
- [ ] Contract tests (API 스키마)
|
|
87
|
-
- [ ] Integration tests (핵심 경로)
|
|
88
|
-
- [ ] 목표 커버리지 달성 (70%+)
|
|
89
|
-
|
|
90
|
-
### 문서
|
|
91
|
-
- [ ] API 문서 업데이트
|
|
92
|
-
- [ ] README 업데이트
|
|
93
|
-
- [ ] CHANGELOG 업데이트
|
|
94
|
-
|
|
95
|
-
### SPEC 검증
|
|
96
|
-
- [ ] REQ-001 충족
|
|
97
|
-
- [ ] REQ-002 충족
|
|
98
|
-
- [ ] REQ-003 충족
|
|
99
|
-
- [ ] 성능 목표 달성
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## 마일스톤
|
|
104
|
-
|
|
105
|
-
| 날짜 | 마일스톤 | 완료 |
|
|
106
|
-
|------|----------|------|
|
|
107
|
-
| {날짜} | Phase 1 완료 | ⬜ |
|
|
108
|
-
| {날짜} | Phase 2 완료 | ⬜ |
|
|
109
|
-
| {날짜} | Phase 3 완료 | ⬜ |
|
|
110
|
-
| {날짜} | SPEC 검증 완료 | ⬜ |
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
## 변경 이력
|
|
115
|
-
|
|
116
|
-
| 날짜 | 변경 내용 | 작성자 |
|
|
117
|
-
|------|-----------|--------|
|
|
118
|
-
| {날짜} | 문서 생성 | {이름} |
|
|
119
|
-
|
|
120
|
-
---
|
|
121
|
-
|
|
122
|
-
## 다음 단계
|
|
123
|
-
|
|
124
|
-
구현 시작:
|
|
125
|
-
```bash
|
|
126
|
-
sutory implement "{기능명}"
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
또는 특정 에이전트 지정:
|
|
130
|
-
```bash
|
|
131
|
-
sutory implement "{기능명}" --agent backend-python-expert
|
|
132
|
-
```
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|