@su-record/vibe 0.1.0

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 (88) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +448 -0
  3. package/agents/backend-python-expert.md +453 -0
  4. package/agents/database-postgres-expert.md +538 -0
  5. package/agents/frontend-flutter-expert.md +487 -0
  6. package/agents/frontend-react-expert.md +424 -0
  7. package/agents/quality-reviewer.md +542 -0
  8. package/agents/specification-agent.md +505 -0
  9. package/bin/sutory +332 -0
  10. package/bin/vibe +338 -0
  11. package/mcp/dist/__tests__/complexity.test.js +126 -0
  12. package/mcp/dist/__tests__/memory.test.js +120 -0
  13. package/mcp/dist/__tests__/python-dart-complexity.test.js +146 -0
  14. package/mcp/dist/index.js +230 -0
  15. package/mcp/dist/lib/ContextCompressor.js +305 -0
  16. package/mcp/dist/lib/MemoryManager.js +334 -0
  17. package/mcp/dist/lib/ProjectCache.js +126 -0
  18. package/mcp/dist/lib/PythonParser.js +241 -0
  19. package/mcp/dist/tools/browser/browserPool.js +76 -0
  20. package/mcp/dist/tools/browser/browserUtils.js +135 -0
  21. package/mcp/dist/tools/browser/inspectNetworkRequests.js +140 -0
  22. package/mcp/dist/tools/browser/monitorConsoleLogs.js +97 -0
  23. package/mcp/dist/tools/convention/analyzeComplexity.js +248 -0
  24. package/mcp/dist/tools/convention/applyQualityRules.js +102 -0
  25. package/mcp/dist/tools/convention/checkCouplingCohesion.js +233 -0
  26. package/mcp/dist/tools/convention/complexityMetrics.js +133 -0
  27. package/mcp/dist/tools/convention/dartComplexity.js +117 -0
  28. package/mcp/dist/tools/convention/getCodingGuide.js +64 -0
  29. package/mcp/dist/tools/convention/languageDetector.js +50 -0
  30. package/mcp/dist/tools/convention/pythonComplexity.js +109 -0
  31. package/mcp/dist/tools/convention/suggestImprovements.js +257 -0
  32. package/mcp/dist/tools/convention/validateCodeQuality.js +177 -0
  33. package/mcp/dist/tools/memory/autoSaveContext.js +79 -0
  34. package/mcp/dist/tools/memory/database.js +123 -0
  35. package/mcp/dist/tools/memory/deleteMemory.js +39 -0
  36. package/mcp/dist/tools/memory/listMemories.js +38 -0
  37. package/mcp/dist/tools/memory/memoryConfig.js +27 -0
  38. package/mcp/dist/tools/memory/memorySQLite.js +138 -0
  39. package/mcp/dist/tools/memory/memoryUtils.js +34 -0
  40. package/mcp/dist/tools/memory/migrate.js +113 -0
  41. package/mcp/dist/tools/memory/prioritizeMemory.js +109 -0
  42. package/mcp/dist/tools/memory/recallMemory.js +40 -0
  43. package/mcp/dist/tools/memory/restoreSessionContext.js +69 -0
  44. package/mcp/dist/tools/memory/saveMemory.js +34 -0
  45. package/mcp/dist/tools/memory/searchMemories.js +37 -0
  46. package/mcp/dist/tools/memory/startSession.js +100 -0
  47. package/mcp/dist/tools/memory/updateMemory.js +46 -0
  48. package/mcp/dist/tools/planning/analyzeRequirements.js +166 -0
  49. package/mcp/dist/tools/planning/createUserStories.js +119 -0
  50. package/mcp/dist/tools/planning/featureRoadmap.js +202 -0
  51. package/mcp/dist/tools/planning/generatePrd.js +156 -0
  52. package/mcp/dist/tools/prompt/analyzePrompt.js +145 -0
  53. package/mcp/dist/tools/prompt/enhancePrompt.js +105 -0
  54. package/mcp/dist/tools/semantic/findReferences.js +195 -0
  55. package/mcp/dist/tools/semantic/findSymbol.js +200 -0
  56. package/mcp/dist/tools/thinking/analyzeProblem.js +50 -0
  57. package/mcp/dist/tools/thinking/breakDownProblem.js +140 -0
  58. package/mcp/dist/tools/thinking/createThinkingChain.js +39 -0
  59. package/mcp/dist/tools/thinking/formatAsPlan.js +73 -0
  60. package/mcp/dist/tools/thinking/stepByStepAnalysis.js +58 -0
  61. package/mcp/dist/tools/thinking/thinkAloudProcess.js +75 -0
  62. package/mcp/dist/tools/time/getCurrentTime.js +61 -0
  63. package/mcp/dist/tools/ui/previewUiAscii.js +232 -0
  64. package/mcp/dist/types/tool.js +2 -0
  65. package/mcp/package.json +53 -0
  66. package/package.json +49 -0
  67. package/scripts/install-mcp.js +48 -0
  68. package/scripts/install.sh +70 -0
  69. package/skills/core/communication-guide.md +104 -0
  70. package/skills/core/development-philosophy.md +53 -0
  71. package/skills/core/quick-start.md +121 -0
  72. package/skills/languages/dart-flutter.md +509 -0
  73. package/skills/languages/python-fastapi.md +386 -0
  74. package/skills/languages/typescript-nextjs.md +441 -0
  75. package/skills/languages/typescript-react-native.md +446 -0
  76. package/skills/languages/typescript-react.md +525 -0
  77. package/skills/quality/checklist.md +276 -0
  78. package/skills/quality/testing-strategy.md +437 -0
  79. package/skills/standards/anti-patterns.md +369 -0
  80. package/skills/standards/code-structure.md +291 -0
  81. package/skills/standards/complexity-metrics.md +312 -0
  82. package/skills/standards/naming-conventions.md +198 -0
  83. package/skills/tools/mcp-hi-ai-guide.md +665 -0
  84. package/skills/tools/mcp-workflow.md +51 -0
  85. package/templates/constitution-template.md +193 -0
  86. package/templates/plan-template.md +237 -0
  87. package/templates/spec-template.md +142 -0
  88. package/templates/tasks-template.md +132 -0
@@ -0,0 +1,193 @@
1
+ # Project Constitution
2
+
3
+ 이 문서는 프로젝트의 핵심 원칙과 코딩 표준을 정의합니다.
4
+
5
+ ---
6
+
7
+ ## 언어 설정
8
+
9
+ **기본 언어**: 한국어 (ko)
10
+
11
+ 변경하려면 `.sutory/config.json`에서 수정:
12
+ ```json
13
+ {
14
+ "language": "ko" // "en"으로 변경 가능
15
+ }
16
+ ```
17
+
18
+ ---
19
+
20
+ ## 1. 프로젝트 원칙
21
+
22
+ ### 가치 (Values)
23
+ 1. **사용자 중심**: 사용자 경험을 최우선으로
24
+ 2. **품질**: 빠른 것보다 올바른 것
25
+ 3. **간결함**: 복잡함보다 단순함
26
+ 4. **협업**: 개인보다 팀
27
+
28
+ ### 의사결정 기준
29
+ 1. 보안 > 성능 > 편의성
30
+ 2. 명확함 > 영리함
31
+ 3. 테스트 가능 > 추상적 설계
32
+
33
+ ---
34
+
35
+ ## 2. 코딩 표준
36
+
37
+ ### 공통 원칙
38
+ - **DRY**: Don't Repeat Yourself
39
+ - **SRP**: Single Responsibility Principle
40
+ - **YAGNI**: You Aren't Gonna Need It
41
+ - **함수 ≤30줄** (권장), ≤50줄 (허용)
42
+ - **Cyclomatic Complexity ≤10**
43
+ - **Cognitive Complexity ≤15**
44
+
45
+ ### 네이밍 규칙
46
+ - 변수: 명사 (`userData`, `userList`)
47
+ - 함수: 동사+명사 (`fetchData`, `updateUser`)
48
+ - Boolean: `is/has/can` (`isLoading`, `hasError`)
49
+ - 상수: `UPPER_SNAKE_CASE` (`MAX_RETRY_COUNT`)
50
+
51
+ ---
52
+
53
+ ## 3. 품질 기준 (TRUST 5)
54
+
55
+ ### T - Test-first
56
+ - ✅ Contract Testing (최우선)
57
+ - ✅ Integration Testing (70%+ 커버리지)
58
+ - 🔵 Unit Testing (순수 함수만)
59
+
60
+ ### R - Readable
61
+ - 한국어 주석 및 docstring
62
+ - 명확한 변수명
63
+ - 복잡한 로직은 주석으로 설명
64
+
65
+ ### U - Unified
66
+ - 일관된 코딩 스타일
67
+ - 프로젝트 전체 동일한 패턴
68
+
69
+ ### S - Secured
70
+ - SQL Injection 방지
71
+ - XSS 방지
72
+ - 민감 정보 환경 변수로 관리
73
+
74
+ ### T - Trackable
75
+ - Git commit 메시지 명확히
76
+ - TODO/FIXME 주석 활용
77
+ - 중요 결정사항 문서화
78
+
79
+ ---
80
+
81
+ ## 4. 기술 스택
82
+
83
+ ### Backend
84
+ - Language: {Python 3.11+ / Node.js / etc.}
85
+ - Framework: {FastAPI / Express / etc.}
86
+ - Database: {PostgreSQL / MongoDB / etc.}
87
+
88
+ ### Frontend
89
+ - Framework: {Flutter / React / etc.}
90
+ - State Management: {Provider / Redux / etc.}
91
+
92
+ ### Infrastructure
93
+ - Hosting: {Cloud Run / Vercel / etc.}
94
+ - CI/CD: {GitHub Actions / etc.}
95
+
96
+ ---
97
+
98
+ ## 5. Git 워크플로우
99
+
100
+ ### 브랜치 전략
101
+ - `main`: 프로덕션
102
+ - `develop`: 개발 (기본 브랜치)
103
+ - `feature/{기능명}`: 새 기능
104
+ - `fix/{버그명}`: 버그 수정
105
+
106
+ ### Commit 메시지 규칙
107
+ ```
108
+ feat: 새 기능 추가
109
+ fix: 버그 수정
110
+ docs: 문서 수정
111
+ refactor: 리팩토링
112
+ test: 테스트 추가/수정
113
+ chore: 빌드, 설정 변경
114
+ ```
115
+
116
+ ### PR 규칙
117
+ 1. SPEC 기반 개발
118
+ 2. 코드 리뷰 필수
119
+ 3. 테스트 통과 확인
120
+ 4. SPEC 검증 완료
121
+
122
+ ---
123
+
124
+ ## 6. 코드 리뷰 기준
125
+
126
+ ### 필수 체크
127
+ - [ ] SPEC 요구사항 충족
128
+ - [ ] TRUST 5 준수
129
+ - [ ] 테스트 작성 및 통과
130
+ - [ ] 문서화 완료
131
+ - [ ] 보안 이슈 없음
132
+
133
+ ### 권장 사항
134
+ - [ ] 성능 최적화 고려
135
+ - [ ] 확장성 고려
136
+ - [ ] 에러 처리 완비
137
+
138
+ ---
139
+
140
+ ## 7. 문서화 규칙
141
+
142
+ ### 코드 주석
143
+ - 모든 함수: 한국어 docstring
144
+ - 복잡한 로직: 인라인 주석
145
+ - TODO/FIXME: 이슈 번호 포함
146
+
147
+ ### API 문서
148
+ - OpenAPI (Swagger) 자동 생성
149
+ - 예시 Request/Response 포함
150
+
151
+ ### README
152
+ - 프로젝트 개요
153
+ - 설치 및 실행 방법
154
+ - 주요 기능 설명
155
+
156
+ ---
157
+
158
+ ## 8. 보안 정책
159
+
160
+ ### 인증
161
+ - JWT 기반 인증
162
+ - 토큰 유효 기간: {기간}
163
+ - Refresh 토큰 사용
164
+
165
+ ### 권한
166
+ - Role-based Access Control
167
+ - 최소 권한 원칙
168
+
169
+ ### 데이터 보호
170
+ - 개인정보 암호화
171
+ - HTTPS 필수
172
+ - 환경 변수로 비밀 관리
173
+
174
+ ---
175
+
176
+ ## 9. 성능 목표
177
+
178
+ ### 응답 시간
179
+ - API: P95 < 500ms
180
+ - 웹페이지: FCP < 1.5s
181
+
182
+ ### 가용성
183
+ - Uptime: 99.9%
184
+ - RTO: 1시간
185
+ - RPO: 15분
186
+
187
+ ---
188
+
189
+ ## 10. 변경 이력
190
+
191
+ | 날짜 | 변경 내용 | 작성자 |
192
+ |------|-----------|--------|
193
+ | {날짜} | 문서 생성 | {이름} |
@@ -0,0 +1,237 @@
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. 구현 시작
@@ -0,0 +1,142 @@
1
+ # SPEC: {기능명}
2
+
3
+ ## Metadata
4
+ - **작성일**: {YYYY-MM-DD}
5
+ - **작성자**: {이름}
6
+ - **상태**: DRAFT
7
+ - **우선순위**: {HIGH | MEDIUM | LOW}
8
+ - **언어**: {ko | en}
9
+ - **담당 에이전트**: {에이전트명}
10
+ - **기술 스택**: {프로젝트 기술 스택 요약}
11
+
12
+ ---
13
+
14
+ ## 1. 기능 개요
15
+
16
+ {1-2문장으로 요약}
17
+
18
+ ### 배경 (Background)
19
+ {왜 이 기능이 필요한가}
20
+
21
+ ### 목표 (Goals)
22
+ - 목표 1
23
+ - 목표 2
24
+
25
+ ### 비목표 (Non-Goals)
26
+ - 이번에 하지 않을 것 1
27
+ - 이번에 하지 않을 것 2
28
+
29
+ ### 기술 스택 컨텍스트
30
+
31
+ **기존 기술:**
32
+ - 백엔드: {FastAPI, Django, Express 등}
33
+ - 프론트엔드: {React, Flutter, Vue 등}
34
+ - 데이터베이스: {PostgreSQL, MySQL, MongoDB 등}
35
+ - 인프라: {GCP, AWS, Azure 등}
36
+
37
+ **이번 기능에 필요한 새 기술:**
38
+ - {새 라이브러리/서비스 1} - {사유}
39
+ - {새 라이브러리/서비스 2} - {사유}
40
+
41
+ **외부 API/서비스 연동:**
42
+ - {서비스명} - {용도}
43
+
44
+ **제약사항:**
45
+ - 비용 한도: {금액}
46
+ - 성능 요구사항: {목표 응답 시간, 처리량 등}
47
+
48
+ ---
49
+
50
+ ## 2. 사용자 스토리
51
+
52
+ ### Story 1: {스토리 제목}
53
+ **As a** {사용자 역할}
54
+ **I want** {원하는 기능}
55
+ **So that** {이유/가치}
56
+
57
+ #### Acceptance Criteria
58
+ - [ ] {검증 가능한 조건 1}
59
+ - [ ] {검증 가능한 조건 2}
60
+
61
+ ---
62
+
63
+ ## 3. Requirements (EARS 형식)
64
+
65
+ ### REQ-001: {요구사항 제목}
66
+
67
+ **WHEN** {특정 조건}
68
+ **THEN** {시스템 동작} (SHALL | SHOULD | MAY)
69
+
70
+ #### Acceptance Criteria
71
+ - [ ] {테스트 가능한 기준 1}
72
+ - [ ] {테스트 가능한 기준 2}
73
+
74
+ #### Example
75
+ ```
76
+ Input: {...}
77
+ Output: {...}
78
+ ```
79
+
80
+ ---
81
+
82
+ ## 4. 비기능 요구사항
83
+
84
+ ### 성능 (Performance)
85
+ - 응답 시간: {목표}
86
+ - 처리량: {목표}
87
+
88
+ ### 보안 (Security)
89
+ - 인증: {방식}
90
+ - 권한: {규칙}
91
+
92
+ ### 확장성 (Scalability)
93
+ - 예상 성장률: {수치}
94
+
95
+ ---
96
+
97
+ ## 5. 데이터 모델 (초안)
98
+
99
+ ### Entity: {이름}
100
+ ```json
101
+ {
102
+ "field1": "type",
103
+ "field2": "type"
104
+ }
105
+ ```
106
+
107
+ ---
108
+
109
+ ## 6. API 계약 (초안)
110
+
111
+ ### Endpoint: {이름}
112
+ ```
113
+ POST /api/v1/resource
114
+ Request: {...}
115
+ Response: {...}
116
+ ```
117
+
118
+ ---
119
+
120
+ ## 7. Out of Scope
121
+
122
+ - ❌ {제외 항목 1}
123
+ - ❌ {제외 항목 2}
124
+
125
+ ---
126
+
127
+ ## 8. 검증 체크리스트
128
+
129
+ - [ ] 모든 요구사항이 테스트 가능한가?
130
+ - [ ] SHALL/SHOULD/MAY가 명확한가?
131
+ - [ ] Acceptance Criteria가 구체적인가?
132
+ - [ ] 성능 목표가 측정 가능한가?
133
+
134
+ ---
135
+
136
+ ## 9. 승인
137
+
138
+ - [ ] 사용자 승인
139
+ - [ ] 기술 리뷰 완료
140
+
141
+ 승인일: ____________
142
+ 승인자: ____________
@@ -0,0 +1,132 @@
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
+ ```