moai-adk 0.3.6__py3-none-any.whl → 0.3.7__py3-none-any.whl
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.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/__init__.py +1 -1
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +474 -0
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +166 -0
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +175 -0
- moai_adk/templates/.claude/agents/alfred/git-manager.md +327 -0
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +311 -0
- moai_adk/templates/.claude/agents/alfred/project-manager.md +152 -0
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +301 -0
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +241 -0
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +247 -0
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +280 -0
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +332 -0
- moai_adk/templates/.claude/commands/alfred/0-project.md +523 -0
- moai_adk/templates/.claude/commands/alfred/1-spec.md +530 -0
- moai_adk/templates/.claude/commands/alfred/2-build.md +430 -0
- moai_adk/templates/.claude/commands/alfred/3-sync.md +552 -0
- moai_adk/templates/.claude/hooks/alfred/README.md +230 -0
- moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +160 -0
- moai_adk/templates/.claude/hooks/alfred/core/__init__.py +79 -0
- moai_adk/templates/.claude/hooks/alfred/core/checkpoint.py +271 -0
- moai_adk/templates/.claude/hooks/alfred/core/context.py +110 -0
- moai_adk/templates/.claude/hooks/alfred/core/project.py +284 -0
- moai_adk/templates/.claude/hooks/alfred/core/tags.py +244 -0
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +21 -0
- moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +25 -0
- moai_adk/templates/.claude/hooks/alfred/handlers/session.py +80 -0
- moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +71 -0
- moai_adk/templates/.claude/hooks/alfred/handlers/user.py +41 -0
- moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +635 -0
- moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +691 -0
- moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +469 -0
- moai_adk/templates/.claude/settings.json +134 -0
- {moai_adk-0.3.6.dist-info → moai_adk-0.3.7.dist-info}/METADATA +112 -177
- {moai_adk-0.3.6.dist-info → moai_adk-0.3.7.dist-info}/RECORD +37 -6
- {moai_adk-0.3.6.dist-info → moai_adk-0.3.7.dist-info}/WHEEL +0 -0
- {moai_adk-0.3.6.dist-info → moai_adk-0.3.7.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.3.6.dist-info → moai_adk-0.3.7.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: alfred:2-build
|
|
3
|
+
description: 구현할 SPEC ID (예: SPEC-001) 또는 all로 모든 SPEC 구현: 언어별 최적화된 TDD 구현 (Red-Green-Refactor) with SQLite3 tags.db
|
|
4
|
+
argument-hint: "SPEC-ID - 구현할 SPEC ID (예: SPEC-001) 또는 all로 모든 SPEC 구현"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- MultiEdit
|
|
10
|
+
- Bash(python3:*)
|
|
11
|
+
- Bash(pytest:*)
|
|
12
|
+
- Bash(npm:*)
|
|
13
|
+
- Bash(node:*)
|
|
14
|
+
- Bash(git:*)
|
|
15
|
+
- Task
|
|
16
|
+
- WebFetch
|
|
17
|
+
- Grep
|
|
18
|
+
- Glob
|
|
19
|
+
- TodoWrite
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# ⚒️ MoAI-ADK 2단계: 언어별 최적화된 TDD 구현 (Red-Green-Refactor)
|
|
23
|
+
|
|
24
|
+
## 🎯 커맨드 목적
|
|
25
|
+
|
|
26
|
+
SPEC 문서를 분석하여 언어별 최적화된 TDD 사이클(Red-Green-Refactor)로 고품질 코드를 구현합니다.
|
|
27
|
+
|
|
28
|
+
**TDD 구현 대상**: $ARGUMENTS
|
|
29
|
+
|
|
30
|
+
> **표준 2단계 워크플로우** (자세한 내용: `CLAUDE.md` - "Alfred 커맨드 실행 패턴" 참조)
|
|
31
|
+
|
|
32
|
+
## 📋 실행 흐름
|
|
33
|
+
|
|
34
|
+
1. **SPEC 분석**: 요구사항 추출 및 복잡도 평가
|
|
35
|
+
2. **구현 전략 수립**: 언어별 최적화된 TDD 접근법 결정
|
|
36
|
+
3. **사용자 확인**: 구현 계획 검토 및 승인
|
|
37
|
+
4. **TDD 구현**: RED → GREEN → REFACTOR 사이클 실행
|
|
38
|
+
5. **Git 작업**: git-manager를 통한 단계별 커밋 생성
|
|
39
|
+
|
|
40
|
+
## 🔗 연관 에이전트
|
|
41
|
+
|
|
42
|
+
- **Phase 1**: implementation-planner (📋 테크니컬 아키텍트) - SPEC 분석 및 구현 전략 수립
|
|
43
|
+
- **Phase 2**: tdd-implementer (🔬 시니어 개발자) - TDD 구현 전담
|
|
44
|
+
- **Phase 2.5**: quality-gate (🛡️ 품질 보증 엔지니어) - TRUST 원칙 검증 (자동)
|
|
45
|
+
- **Phase 3**: git-manager (🚀 릴리스 엔지니어) - Git 커밋 전담
|
|
46
|
+
|
|
47
|
+
## 💡 사용 예시
|
|
48
|
+
|
|
49
|
+
사용자가 다음과 같이 커맨드를 실행할 수 있습니다:
|
|
50
|
+
- `/alfred:2-build SPEC-001` - 특정 SPEC 구현
|
|
51
|
+
- `/alfred:2-build all` - 모든 SPEC 일괄 구현
|
|
52
|
+
- `/alfred:2-build SPEC-003 --test` - 테스트만 실행
|
|
53
|
+
|
|
54
|
+
## 🔍 STEP 1: SPEC 분석 및 구현 계획 수립
|
|
55
|
+
|
|
56
|
+
먼저 지정된 SPEC을 분석하여 구현 계획을 수립하고 사용자 확인을 받습니다.
|
|
57
|
+
|
|
58
|
+
### 🔍 코드베이스 탐색 (권장)
|
|
59
|
+
|
|
60
|
+
**기존 코드 구조를 파악하거나 유사 패턴을 찾아야 하는 경우** Explore 에이전트를 먼저 활용합니다:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
Task tool 호출 (Explore 에이전트):
|
|
64
|
+
- subagent_type: "Explore"
|
|
65
|
+
- description: "기존 코드 구조 및 패턴 탐색"
|
|
66
|
+
- prompt: "SPEC-$ARGUMENTS와 관련된 기존 코드를 탐색해주세요:
|
|
67
|
+
- 유사한 기능 구현 코드 (src/)
|
|
68
|
+
- 참고할 테스트 패턴 (tests/)
|
|
69
|
+
- 아키텍처 패턴 및 디자인 패턴
|
|
70
|
+
- 사용 중인 라이브러리 및 버전 (package.json, requirements.txt)
|
|
71
|
+
thoroughness 레벨: medium"
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Explore 에이전트 사용 시점**:
|
|
75
|
+
- ✅ 기존 코드 구조/패턴 파악이 필요한 경우
|
|
76
|
+
- ✅ 유사 기능의 구현 방식을 참고해야 할 때
|
|
77
|
+
- ✅ 프로젝트의 아키텍처 규칙을 이해해야 할 때
|
|
78
|
+
- ✅ 사용 중인 라이브러리 및 버전 확인
|
|
79
|
+
|
|
80
|
+
### ⚙️ 에이전트 호출 방법
|
|
81
|
+
|
|
82
|
+
**STEP 1에서는 Task tool을 사용하여 implementation-planner 에이전트를 호출합니다**:
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
Task tool 호출 예시:
|
|
86
|
+
- subagent_type: "implementation-planner"
|
|
87
|
+
- description: "SPEC 분석 및 구현 전략 수립"
|
|
88
|
+
- prompt: "$ARGUMENTS 의 SPEC을 분석하여 구현 계획을 수립해주세요.
|
|
89
|
+
다음을 포함해야 합니다:
|
|
90
|
+
1. SPEC 요구사항 추출 및 복잡도 평가
|
|
91
|
+
2. 라이브러리 및 도구 선정 (WebFetch 사용)
|
|
92
|
+
3. TAG 체인 설계
|
|
93
|
+
4. 단계별 구현 계획
|
|
94
|
+
5. 리스크 및 대응 방안
|
|
95
|
+
6. 구현 계획서 작성 및 사용자 승인 대기
|
|
96
|
+
(선택) Explore 결과: $EXPLORE_RESULTS"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### SPEC 분석 진행
|
|
100
|
+
|
|
101
|
+
1. **SPEC 문서 분석**
|
|
102
|
+
- 요구사항 추출 및 복잡도 평가
|
|
103
|
+
- 기술적 제약사항 확인
|
|
104
|
+
- 의존성 및 영향 범위 분석
|
|
105
|
+
- (선택) Explore 결과 기반 기존 코드 구조 파악
|
|
106
|
+
|
|
107
|
+
2. **구현 전략 수립**
|
|
108
|
+
- 프로젝트 언어 감지 및 최적화된 구현 전략
|
|
109
|
+
- TDD 접근 방식 결정 (언어별 도구 선택)
|
|
110
|
+
- 예상 작업 범위 및 시간 산정
|
|
111
|
+
|
|
112
|
+
3. **라이브러리 버전 확인 및 명시 (필수)**
|
|
113
|
+
- **웹 검색**: `WebSearch`를 통해 사용할 모든 라이브러리의 최신 안정 버전 확인
|
|
114
|
+
- **버전 명시**: 구현 계획 보고서에 라이브러리별 정확한 버전 명시 (예: `fastapi>=0.118.3`)
|
|
115
|
+
- **안정성 우선**: 베타/알파 버전 제외, 프로덕션 안정 버전만 선택
|
|
116
|
+
- **호환성 확인**: 라이브러리 간 버전 호환성 검증
|
|
117
|
+
- **검색 키워드 예시**:
|
|
118
|
+
- `"FastAPI latest stable version 2025"`
|
|
119
|
+
- `"SQLAlchemy 2.0 latest stable version 2025"`
|
|
120
|
+
- `"React 18 latest stable version 2025"`
|
|
121
|
+
|
|
122
|
+
4. **구현 계획 보고**
|
|
123
|
+
- 단계별 구현 계획 제시
|
|
124
|
+
- 잠재적 위험 요소 식별
|
|
125
|
+
- 품질 게이트 체크포인트 설정
|
|
126
|
+
- **라이브러리 버전 명시 (필수)**
|
|
127
|
+
|
|
128
|
+
### 사용자 확인 단계
|
|
129
|
+
|
|
130
|
+
구현 계획 검토 후 다음 중 선택하세요:
|
|
131
|
+
- **"진행"** 또는 **"시작"**: 계획대로 TDD 구현 시작
|
|
132
|
+
- **"수정 [내용]"**: 계획 수정 요청
|
|
133
|
+
- **"중단"**: 구현 작업 중단
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 🚀 STEP 2: TDD 구현 실행 (사용자 승인 후)
|
|
138
|
+
|
|
139
|
+
사용자 승인 후 **Task tool을 사용하여 tdd-implementer 에이전트를 호출**합니다.
|
|
140
|
+
|
|
141
|
+
### ⚙️ 에이전트 호출 방법
|
|
142
|
+
|
|
143
|
+
**STEP 2에서는 Task tool을 사용하여 tdd-implementer를 호출합니다**:
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
Task tool 호출 예시:
|
|
147
|
+
- subagent_type: "tdd-implementer"
|
|
148
|
+
- description: "TDD 구현 실행"
|
|
149
|
+
- prompt: "STEP 1에서 승인된 계획에 따라 TDD 구현을 실행해주세요.
|
|
150
|
+
RED → GREEN → REFACTOR 사이클을 수행하며,
|
|
151
|
+
각 TAG별로 다음을 수행합니다:
|
|
152
|
+
1. RED Phase: @TEST:ID 태그로 실패하는 테스트 작성
|
|
153
|
+
2. GREEN Phase: @CODE:ID 태그로 최소 구현
|
|
154
|
+
3. REFACTOR Phase: 코드 품질 개선
|
|
155
|
+
4. TAG 완료 조건 검증 및 다음 TAG로 진행
|
|
156
|
+
|
|
157
|
+
구현 대상: $ARGUMENTS"
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## 🔗 언어별 TDD 최적화
|
|
161
|
+
|
|
162
|
+
### 프로젝트 언어 감지 및 최적 라우팅
|
|
163
|
+
|
|
164
|
+
`tdd-implementer`는 프로젝트의 언어를 자동으로 감지하여 최적의 TDD 도구와 워크플로우를 선택합니다:
|
|
165
|
+
|
|
166
|
+
- **언어 감지**: 프로젝트 파일(package.json, pyproject.toml, go.mod 등) 분석
|
|
167
|
+
- **도구 선택**: 언어별 최적 테스트 프레임워크 자동 선택
|
|
168
|
+
- **TAG 적용**: 코드 파일에 @TAG 주석 직접 작성
|
|
169
|
+
- **사이클 실행**: RED → GREEN → REFACTOR 순차 진행
|
|
170
|
+
|
|
171
|
+
### TDD 도구 매핑
|
|
172
|
+
|
|
173
|
+
#### 백엔드/시스템
|
|
174
|
+
|
|
175
|
+
| SPEC 타입 | 구현 언어 | 테스트 프레임워크 | 성능 목표 | 커버리지 목표 |
|
|
176
|
+
|-----------|-----------|-------------------|-----------|---------------|
|
|
177
|
+
| **CLI/시스템** | TypeScript | Jest + ts-node | < 18ms | 95%+ |
|
|
178
|
+
| **API/백엔드** | TypeScript | Jest + SuperTest | < 50ms | 90%+ |
|
|
179
|
+
| **프론트엔드** | TypeScript | Jest + Testing Library | < 100ms | 85%+ |
|
|
180
|
+
| **데이터 처리** | TypeScript | Jest + Mock | < 200ms | 85%+ |
|
|
181
|
+
| **Python 프로젝트** | Python | pytest + mypy | 사용자 정의 | 85%+ |
|
|
182
|
+
|
|
183
|
+
#### 모바일 프레임워크
|
|
184
|
+
|
|
185
|
+
| SPEC 타입 | 구현 언어 | 테스트 프레임워크 | 성능 목표 | 커버리지 목표 |
|
|
186
|
+
|-----------|-----------|-------------------|-----------|---------------|
|
|
187
|
+
| **Flutter 앱** | Dart | flutter test + widget test | < 100ms | 85%+ |
|
|
188
|
+
| **React Native** | TypeScript | Jest + RN Testing Library | < 100ms | 85%+ |
|
|
189
|
+
| **iOS 앱** | Swift | XCTest + XCUITest | < 150ms | 80%+ |
|
|
190
|
+
| **Android 앱** | Kotlin | JUnit + Espresso | < 150ms | 80%+ |
|
|
191
|
+
|
|
192
|
+
## 🚀 최적화된 에이전트 협업 구조
|
|
193
|
+
|
|
194
|
+
- **Phase 1**: `implementation-planner` 에이전트가 SPEC 분석 및 구현 전략 수립
|
|
195
|
+
- **Phase 2**: `tdd-implementer` 에이전트가 전체 TDD 사이클(Red-Green-Refactor)을 일괄 처리
|
|
196
|
+
- **Phase 2.5**: `quality-gate` 에이전트가 TRUST 원칙 검증 및 품질 검증 (자동)
|
|
197
|
+
- **Phase 3**: `git-manager` 에이전트가 TDD 완료 후 모든 커밋을 한 번에 처리
|
|
198
|
+
- **단일 책임 원칙**: 각 에이전트는 자신의 전문 영역만 담당
|
|
199
|
+
- **에이전트 간 호출 금지**: 각 에이전트는 독립적으로 실행, 커맨드 레벨에서만 순차 호출
|
|
200
|
+
|
|
201
|
+
## 🔄 2단계 워크플로우 실행 순서
|
|
202
|
+
|
|
203
|
+
### Phase 1: 분석 및 계획 단계
|
|
204
|
+
|
|
205
|
+
`implementation-planner` 에이전트가 다음을 수행:
|
|
206
|
+
|
|
207
|
+
1. **SPEC 문서 분석**: 지정된 SPEC ID의 요구사항 추출 및 복잡도 평가
|
|
208
|
+
2. **라이브러리 선정**: WebFetch를 통한 최신 안정 버전 확인 및 호환성 검증
|
|
209
|
+
3. **TAG 체인 설계**: TAG 순서 및 의존성 결정
|
|
210
|
+
4. **구현 전략 수립**: 단계별 구현 계획 및 리스크 식별
|
|
211
|
+
5. **구현 계획서 작성**: 구조화된 계획서 생성 및 사용자 승인 대기
|
|
212
|
+
|
|
213
|
+
### Phase 2: TDD 구현 단계 (승인 후)
|
|
214
|
+
|
|
215
|
+
`tdd-implementer` 에이전트가 사용자 승인 후 **TAG 단위로** 수행:
|
|
216
|
+
|
|
217
|
+
1. **RED Phase**: 실패하는 테스트 작성 (@TEST:ID 태그 추가) 및 실패 확인
|
|
218
|
+
2. **GREEN Phase**: 테스트를 통과하는 최소한의 코드 작성 (@CODE:ID 태그 추가)
|
|
219
|
+
3. **REFACTOR Phase**: 코드 품질 개선 (기능 변경 없이)
|
|
220
|
+
4. **TAG 완료 확인**: 각 TAG의 완료 조건 검증 및 다음 TAG로 진행
|
|
221
|
+
|
|
222
|
+
### Phase 2.5: 품질 검증 게이트 (자동 실행)
|
|
223
|
+
|
|
224
|
+
TDD 구현 완료 후 `quality-gate` 에이전트가 **자동으로** 품질 검증을 수행합니다.
|
|
225
|
+
|
|
226
|
+
**자동 실행 조건**:
|
|
227
|
+
- TDD 구현 완료 시 자동 호출
|
|
228
|
+
- 사용자 요청 시 수동 호출 가능
|
|
229
|
+
|
|
230
|
+
**검증 항목**:
|
|
231
|
+
- **TRUST 원칙 검증**: trust-checker 스크립트 실행 및 결과 파싱
|
|
232
|
+
- T (Testable): 테스트 커버리지 ≥ 85%
|
|
233
|
+
- R (Readable): 코드 가독성 (파일≤300 LOC, 함수≤50 LOC, 복잡도≤10)
|
|
234
|
+
- U (Unified): 아키텍처 통합성
|
|
235
|
+
- S (Secured): 보안 취약점 없음
|
|
236
|
+
- T (Traceable): @TAG 체인 무결성
|
|
237
|
+
- **코드 스타일**: 린터(ESLint/Pylint) 실행 및 검증
|
|
238
|
+
- **테스트 커버리지**: 언어별 커버리지 도구 실행 및 목표 달성 확인
|
|
239
|
+
- **TAG 체인 검증**: 고아 TAG, 누락된 TAG 확인
|
|
240
|
+
- **의존성 검증**: 보안 취약점 확인
|
|
241
|
+
|
|
242
|
+
**실행 방식**: Alfred가 TDD 구현 완료 시 자동으로 quality-gate 에이전트를 호출하여 품질 검증을 수행합니다.
|
|
243
|
+
|
|
244
|
+
**검증 결과 처리**:
|
|
245
|
+
|
|
246
|
+
✅ **PASS (Critical 0개, Warning 5개 이하)**:
|
|
247
|
+
- Phase 3 (Git 작업)로 진행
|
|
248
|
+
- 품질 리포트 생성
|
|
249
|
+
|
|
250
|
+
⚠️ **WARNING (Critical 0개, Warning 6개 이상)**:
|
|
251
|
+
- 경고 표시
|
|
252
|
+
- 사용자 선택: "계속 진행" 또는 "수정 후 재검증"
|
|
253
|
+
|
|
254
|
+
❌ **CRITICAL (Critical 1개 이상)**:
|
|
255
|
+
- Git 커밋 차단
|
|
256
|
+
- 개선 필요 항목 상세 보고 (파일:라인 정보 포함)
|
|
257
|
+
- tdd-implementer 재호출 권장
|
|
258
|
+
|
|
259
|
+
**검증 생략 옵션**: 품질 검증을 건너뛰려면 `--skip-quality-check` 옵션을 사용합니다.
|
|
260
|
+
|
|
261
|
+
### Phase 3: Git 작업 (git-manager)
|
|
262
|
+
|
|
263
|
+
`git-manager` 에이전트가 TDD 완료 후 **한 번에** 수행:
|
|
264
|
+
|
|
265
|
+
1. **체크포인트 생성**: TDD 시작 전 백업 포인트
|
|
266
|
+
2. **구조화된 커밋**: RED→GREEN→REFACTOR 단계별 커밋 생성
|
|
267
|
+
3. **최종 동기화**: 모드별 Git 전략 적용 및 원격 동기화
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
## 📋 STEP 1 실행 가이드: SPEC 분석 및 계획 수립
|
|
271
|
+
|
|
272
|
+
### 1. SPEC 문서 분석
|
|
273
|
+
|
|
274
|
+
Alfred는 implementation-planner 에이전트를 호출하여 SPEC 문서를 확인하고 구현 계획을 수립합니다.
|
|
275
|
+
|
|
276
|
+
#### 분석 체크리스트
|
|
277
|
+
|
|
278
|
+
- [ ] **요구사항 명확성**: SPEC의 기능 요구사항이 구체적인가?
|
|
279
|
+
- [ ] **기술적 제약**: 성능, 호환성, 보안 요구사항 확인
|
|
280
|
+
- [ ] **의존성 분석**: 기존 코드와의 연결점 및 영향 범위
|
|
281
|
+
- [ ] **복잡도 평가**: 구현 난이도 및 예상 작업량
|
|
282
|
+
|
|
283
|
+
### 2. 구현 전략 결정
|
|
284
|
+
|
|
285
|
+
#### TypeScript 구현 기준
|
|
286
|
+
|
|
287
|
+
| SPEC 특성 | 구현 언어 | 이유 |
|
|
288
|
+
|-----------|-----------|------|
|
|
289
|
+
| CLI/시스템 도구 | TypeScript | 고성능 (18ms), 타입 안전성, SQLite3 통합 |
|
|
290
|
+
| API/백엔드 | TypeScript | Node.js 생태계, Express/Fastify 호환성 |
|
|
291
|
+
| 프론트엔드 | TypeScript | React/Vue 네이티브 지원 |
|
|
292
|
+
| 데이터 처리 | TypeScript | 고성능 비동기 처리, 타입 안전성 |
|
|
293
|
+
| 사용자 Python 프로젝트 | Python 도구 지원 | MoAI-ADK가 Python 프로젝트 개발 도구 제공 |
|
|
294
|
+
|
|
295
|
+
#### TDD 접근 방식
|
|
296
|
+
|
|
297
|
+
- **Bottom-up**: 유틸리티 → 서비스 → API
|
|
298
|
+
- **Top-down**: API → 서비스 → 유틸리티
|
|
299
|
+
- **Middle-out**: 핵심 로직 → 양방향 확장
|
|
300
|
+
|
|
301
|
+
### 3. 구현 계획 보고서 생성
|
|
302
|
+
|
|
303
|
+
다음 형식으로 계획을 제시합니다:
|
|
304
|
+
|
|
305
|
+
```
|
|
306
|
+
## 구현 계획 보고서: [SPEC-ID]
|
|
307
|
+
|
|
308
|
+
### 📊 분석 결과
|
|
309
|
+
- **복잡도**: [낮음/중간/높음]
|
|
310
|
+
- **예상 작업시간**: [시간 산정]
|
|
311
|
+
- **주요 기술 도전**: [기술적 어려움]
|
|
312
|
+
|
|
313
|
+
### 🎯 구현 전략
|
|
314
|
+
- **선택 언어**: [Python/TypeScript + 이유]
|
|
315
|
+
- **TDD 접근법**: [Bottom-up/Top-down/Middle-out]
|
|
316
|
+
- **핵심 모듈**: [주요 구현 대상]
|
|
317
|
+
|
|
318
|
+
### 📦 라이브러리 버전 (필수 - 웹 검색 기반)
|
|
319
|
+
**백엔드 의존성** (예시):
|
|
320
|
+
| 패키지 | 최신 안정 버전 | 설치 명령 |
|
|
321
|
+
|--------|--------------|----------|
|
|
322
|
+
| FastAPI | 0.118.3 | fastapi>=0.118.3 |
|
|
323
|
+
| SQLAlchemy | 2.0.43 | sqlalchemy>=2.0.43 |
|
|
324
|
+
|
|
325
|
+
**프론트엔드 의존성** (예시):
|
|
326
|
+
| 패키지 | 최신 안정 버전 | 설치 명령 |
|
|
327
|
+
|--------|--------------|----------|
|
|
328
|
+
| React | 18.3.1 | react@^18.3.1 |
|
|
329
|
+
| Vite | 7.1.9 | vite@^7.1.9 |
|
|
330
|
+
|
|
331
|
+
**중요 호환성 정보**:
|
|
332
|
+
- [특정 버전 요구사항]
|
|
333
|
+
- [알려진 호환성 이슈]
|
|
334
|
+
|
|
335
|
+
### ⚠️ 위험 요소
|
|
336
|
+
- **기술적 위험**: [예상 문제점]
|
|
337
|
+
- **의존성 위험**: [외부 의존성 이슈]
|
|
338
|
+
- **일정 위험**: [지연 가능성]
|
|
339
|
+
|
|
340
|
+
### ✅ 품질 게이트
|
|
341
|
+
- **테스트 커버리지**: [목표 %]
|
|
342
|
+
- **성능 목표**: [구체적 지표]
|
|
343
|
+
- **보안 체크포인트**: [검증 항목]
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
**승인 요청**: 위 계획으로 진행하시겠습니까?
|
|
347
|
+
("진행", "수정 [내용]", "중단" 중 선택)
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
---
|
|
351
|
+
|
|
352
|
+
## 🚀 STEP 2 실행 가이드: TDD 구현 (승인 후)
|
|
353
|
+
|
|
354
|
+
사용자가 **"진행"** 또는 **"시작"**을 선택한 경우에만 Alfred는 tdd-implementer 에이전트를 호출하여 TDD 구현을 시작하고 RED-GREEN-REFACTOR 사이클을 수행합니다.
|
|
355
|
+
|
|
356
|
+
### TDD 단계별 가이드
|
|
357
|
+
|
|
358
|
+
1. **RED**: Given/When/Then 구조로 실패 테스트 작성. 언어별 테스트 파일 규칙을 따르고, 실패 로그를 간단히 기록합니다.
|
|
359
|
+
2. **GREEN**: 테스트를 통과시키는 최소한의 구현만 추가합니다. 최적화는 REFACTOR 단계로 미룹니다.
|
|
360
|
+
3. **REFACTOR**: 중복 제거, 명시적 네이밍, 구조화 로깅/예외 처리 보강. 필요 시 추가 커밋으로 분리합니다.
|
|
361
|
+
|
|
362
|
+
**TRUST 5원칙 연계** (상세: `development-guide.md` - "TRUST 5원칙"):
|
|
363
|
+
- **T (Test First)**: RED 단계에서 SPEC 기반 테스트 작성
|
|
364
|
+
- **R (Readable)**: REFACTOR 단계에서 가독성 개선 (파일≤300 LOC, 함수≤50 LOC)
|
|
365
|
+
- **T (Trackable)**: 모든 단계에서 @TAG 추적성 유지
|
|
366
|
+
|
|
367
|
+
> TRUST 5원칙은 기본 권장치만 제공하므로, `simplicity_threshold`를 초과하는 구조가 필요하다면 SPEC 또는 ADR에 근거를 남기고 진행하세요.
|
|
368
|
+
|
|
369
|
+
## 에이전트 역할 분리
|
|
370
|
+
|
|
371
|
+
### implementation-planner 전담 영역
|
|
372
|
+
|
|
373
|
+
- SPEC 문서 분석 및 요구사항 추출
|
|
374
|
+
- 라이브러리 선정 및 버전 관리
|
|
375
|
+
- TAG 체인 설계 및 순서 결정
|
|
376
|
+
- 구현 전략 수립 및 리스크 식별
|
|
377
|
+
- 구현 계획서 작성
|
|
378
|
+
|
|
379
|
+
### tdd-implementer 전담 영역
|
|
380
|
+
|
|
381
|
+
- TDD Red-Green-Refactor 코드 구현
|
|
382
|
+
- 테스트 작성 및 실행
|
|
383
|
+
- TAG 주석 추가 및 관리
|
|
384
|
+
- 코드 품질 개선 (리팩토링)
|
|
385
|
+
- 언어별 린터/포매터 실행
|
|
386
|
+
|
|
387
|
+
### quality-gate 전담 영역
|
|
388
|
+
|
|
389
|
+
- TRUST 원칙 검증
|
|
390
|
+
- 코드 스타일 검증
|
|
391
|
+
- 테스트 커버리지 확인
|
|
392
|
+
- TAG 체인 무결성 검증
|
|
393
|
+
- 의존성 보안 검증
|
|
394
|
+
|
|
395
|
+
### git-manager 전담 영역
|
|
396
|
+
|
|
397
|
+
- 모든 Git 커밋 작업 (add, commit, push)
|
|
398
|
+
- TDD 단계별 체크포인트 생성
|
|
399
|
+
- 모드별 커밋 전략 적용
|
|
400
|
+
- 깃 브랜치/태그 관리
|
|
401
|
+
- 원격 동기화 처리
|
|
402
|
+
|
|
403
|
+
## 품질 게이트 체크리스트
|
|
404
|
+
|
|
405
|
+
- 테스트 커버리지 ≥ `.moai/config.json.test_coverage_target` (기본 85%)
|
|
406
|
+
- 린터/포매터 통과 (`ruff`, `eslint --fix`, `gofmt` 등)
|
|
407
|
+
- 구조화 로깅 또는 관측 도구 호출 존재 확인
|
|
408
|
+
- @TAG 업데이트 필요 변경 사항 메모 (다음 단계에서 doc-syncer가 사용)
|
|
409
|
+
|
|
410
|
+
---
|
|
411
|
+
|
|
412
|
+
## 🧠 Context Management (컨텍스트 관리)
|
|
413
|
+
|
|
414
|
+
> 자세한 내용: `.moai/memory/development-guide.md` - "Context Engineering" 섹션 참조
|
|
415
|
+
|
|
416
|
+
### 이 커맨드의 핵심 전략
|
|
417
|
+
|
|
418
|
+
**우선 로드**: `.moai/specs/SPEC-XXX/spec.md` (구현 대상 요구사항)
|
|
419
|
+
|
|
420
|
+
**권장사항**: TDD 구현이 완료되었습니다. 다음 단계(`/alfred:3-sync`) 진행 전 `/clear` 또는 `/new` 명령으로 새로운 대화 세션을 시작하면 더 나은 성능과 컨텍스트 관리를 경험할 수 있습니다.
|
|
421
|
+
|
|
422
|
+
---
|
|
423
|
+
|
|
424
|
+
## 다음 단계
|
|
425
|
+
|
|
426
|
+
**권장사항**: 다음 단계 진행 전 `/clear` 또는 `/new` 명령으로 새로운 대화 세션을 시작하면 더 나은 성능과 컨텍스트 관리를 경험할 수 있습니다.
|
|
427
|
+
|
|
428
|
+
- TDD 구현 완료 후 `/alfred:3-sync`로 문서 동기화 진행
|
|
429
|
+
- 모든 Git 작업은 git-manager 에이전트가 전담하여 일관성 보장
|
|
430
|
+
- 에이전트 간 직접 호출 없이 커맨드 레벨 오케스트레이션만 사용
|