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,523 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: alfred:0-project
|
|
3
|
+
description: 프로젝트 문서 초기화 - product/structure/tech.md 생성 및 언어별 최적화 설정
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Edit
|
|
8
|
+
- MultiEdit
|
|
9
|
+
- Grep
|
|
10
|
+
- Glob
|
|
11
|
+
- TodoWrite
|
|
12
|
+
- Bash(ls:*)
|
|
13
|
+
- Bash(find:*)
|
|
14
|
+
- Bash(cat:*)
|
|
15
|
+
- Task
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# 📋 MoAI-ADK 0단계: 범용 언어 지원 프로젝트 문서 초기화/갱신
|
|
19
|
+
|
|
20
|
+
## 🎯 커맨드 목적
|
|
21
|
+
|
|
22
|
+
프로젝트 환경을 자동 분석하여 product/structure/tech.md 문서를 생성/갱신하고 언어별 최적화 설정을 구성합니다.
|
|
23
|
+
|
|
24
|
+
## 📋 실행 흐름
|
|
25
|
+
|
|
26
|
+
1. **환경 분석**: 프로젝트 유형(신규/레거시) 및 언어 자동 감지
|
|
27
|
+
2. **인터뷰 전략 수립**: 프로젝트 특성에 맞는 질문 트리 선택
|
|
28
|
+
3. **사용자 확인**: 인터뷰 계획 검토 및 승인
|
|
29
|
+
4. **프로젝트 문서 작성**: product/structure/tech.md 생성
|
|
30
|
+
5. **설정 파일 생성**: config.json 자동 구성
|
|
31
|
+
|
|
32
|
+
## 🔗 연관 에이전트
|
|
33
|
+
|
|
34
|
+
- **Primary**: project-manager (📋 기획자) - 프로젝트 초기화 전담
|
|
35
|
+
- **Quality Check**: trust-checker (✅ 품질 보증 리드) - 초기 구조 검증 (선택적)
|
|
36
|
+
- **Secondary**: None (독립 실행)
|
|
37
|
+
|
|
38
|
+
## 💡 사용 예시
|
|
39
|
+
|
|
40
|
+
사용자가 `/alfred:8-project` 커맨드를 실행하여 프로젝트 분석 및 문서 생성/갱신을 수행합니다.
|
|
41
|
+
|
|
42
|
+
## 명령어 개요
|
|
43
|
+
|
|
44
|
+
프로젝트 환경을 분석하고 product/structure/tech.md 문서를 생성/갱신하는 체계적인 초기화 시스템입니다.
|
|
45
|
+
|
|
46
|
+
- **언어 자동 감지**: Python, TypeScript, Java, Go, Rust 등 자동 인식
|
|
47
|
+
- **프로젝트 유형 분류**: 신규 vs 기존 프로젝트 자동 판단
|
|
48
|
+
- **고성능 초기화**: TypeScript 기반 CLI로 0.18초 초기화 달성
|
|
49
|
+
- **2단계 워크플로우**: 1) 분석 및 계획 → 2) 사용자 승인 후 실행
|
|
50
|
+
|
|
51
|
+
## 사용법
|
|
52
|
+
|
|
53
|
+
사용자가 `/alfred:8-project` 커맨드를 실행하여 프로젝트 분석 및 문서 생성/갱신을 시작합니다.
|
|
54
|
+
|
|
55
|
+
**자동 처리**:
|
|
56
|
+
- 기존 `.moai/project/` 문서가 있으면 갱신 모드
|
|
57
|
+
- 문서가 없으면 신규 생성 모드
|
|
58
|
+
- 언어 및 프로젝트 유형은 자동 감지
|
|
59
|
+
|
|
60
|
+
## ⚠️ 금지 사항
|
|
61
|
+
|
|
62
|
+
**절대 하지 말아야 할 작업**:
|
|
63
|
+
|
|
64
|
+
- ❌ `.claude/memory/` 디렉토리에 파일 생성
|
|
65
|
+
- ❌ `.claude/commands/alfred/*.json` 파일 생성
|
|
66
|
+
- ❌ 기존 문서 불필요한 덮어쓰기
|
|
67
|
+
- ❌ 날짜와 수치 예측 ("3개월 내", "50% 단축" 등)
|
|
68
|
+
- ❌ 가상의 시나리오, 예상 시장 규모, 미래 기술 트렌드 예측
|
|
69
|
+
|
|
70
|
+
**사용해야 할 표현**:
|
|
71
|
+
|
|
72
|
+
- ✅ "우선순위 높음/중간/낮음"
|
|
73
|
+
- ✅ "즉시 필요", "단계적 개선"
|
|
74
|
+
- ✅ 현재 확인 가능한 사실
|
|
75
|
+
- ✅ 기존 기술 스택
|
|
76
|
+
- ✅ 실제 문제점
|
|
77
|
+
|
|
78
|
+
## 🚀 STEP 1: 환경 분석 및 인터뷰 계획 수립
|
|
79
|
+
|
|
80
|
+
프로젝트 환경을 분석하고 체계적인 인터뷰 계획을 수립합니다.
|
|
81
|
+
|
|
82
|
+
### 1.1 프로젝트 환경 분석 실행
|
|
83
|
+
|
|
84
|
+
**자동 분석 항목**:
|
|
85
|
+
|
|
86
|
+
1. **프로젝트 유형 감지**
|
|
87
|
+
Alfred는 디렉토리 구조를 분석하여 신규 vs 기존 프로젝트를 분류합니다:
|
|
88
|
+
- 빈 디렉토리 → 신규 프로젝트
|
|
89
|
+
- 코드/문서 존재 → 기존 프로젝트
|
|
90
|
+
|
|
91
|
+
2. **언어/프레임워크 자동 감지**: 파일 패턴을 기반으로 프로젝트의 주요 언어를 감지합니다
|
|
92
|
+
- pyproject.toml, requirements.txt → Python
|
|
93
|
+
- package.json, tsconfig.json → TypeScript/Node.js
|
|
94
|
+
- pom.xml, build.gradle → Java
|
|
95
|
+
- go.mod → Go
|
|
96
|
+
- Cargo.toml → Rust
|
|
97
|
+
- backend/ + frontend/ → 풀스택
|
|
98
|
+
|
|
99
|
+
3. **문서 현황 분석**
|
|
100
|
+
- 기존 `.moai/project/*.md` 파일 상태 확인
|
|
101
|
+
- 부족한 정보 영역 식별
|
|
102
|
+
- 보완 필요 항목 정리
|
|
103
|
+
|
|
104
|
+
4. **프로젝트 구조 평가**
|
|
105
|
+
- 디렉토리 구조 복잡도
|
|
106
|
+
- 단일 언어 vs 하이브리드 vs 마이크로서비스
|
|
107
|
+
- 코드 기반 크기 추정
|
|
108
|
+
|
|
109
|
+
### 1.2 인터뷰 전략 수립
|
|
110
|
+
|
|
111
|
+
**프로젝트 유형별 질문 트리 선택**:
|
|
112
|
+
|
|
113
|
+
| 프로젝트 유형 | 질문 카테고리 | 중점 영역 |
|
|
114
|
+
|-------------|-------------|----------|
|
|
115
|
+
| **신규 프로젝트** | Product Discovery | 미션, 사용자, 해결 문제 |
|
|
116
|
+
| **기존 프로젝트** | Legacy Analysis | 코드 기반, 기술 부채, 통합점 |
|
|
117
|
+
| **TypeScript 전환** | Migration Strategy | 기존 프로젝트의 TypeScript 전환 |
|
|
118
|
+
|
|
119
|
+
**질문 우선순위**:
|
|
120
|
+
- **필수 질문**: 핵심 비즈니스 가치, 주요 사용자층 (모든 프로젝트)
|
|
121
|
+
- **기술 질문**: 언어/프레임워크, 품질 정책, 배포 전략
|
|
122
|
+
- **거버넌스**: 보안 요구사항, 추적성 전략 (선택적)
|
|
123
|
+
|
|
124
|
+
### 1.3 인터뷰 계획 보고서 생성
|
|
125
|
+
|
|
126
|
+
**사용자에게 제시할 계획서 포맷**:
|
|
127
|
+
|
|
128
|
+
```markdown
|
|
129
|
+
## 📊 프로젝트 초기화 계획: [PROJECT-NAME]
|
|
130
|
+
|
|
131
|
+
### 환경 분석 결과
|
|
132
|
+
- **프로젝트 유형**: [신규/기존/하이브리드]
|
|
133
|
+
- **감지된 언어**: [언어 목록]
|
|
134
|
+
- **현재 문서 상태**: [완성도 평가 0-100%]
|
|
135
|
+
- **구조 복잡도**: [단순/중간/복잡]
|
|
136
|
+
|
|
137
|
+
### 🎯 인터뷰 전략
|
|
138
|
+
- **질문 카테고리**: Product Discovery / Structure / Tech
|
|
139
|
+
- **예상 질문 수**: [N개 (필수 M개 + 선택 K개)]
|
|
140
|
+
- **예상 소요시간**: [시간 산정]
|
|
141
|
+
- **우선순위 영역**: [중점적으로 다룰 영역]
|
|
142
|
+
|
|
143
|
+
### ⚠️ 주의사항
|
|
144
|
+
- **기존 문서**: [덮어쓰기 vs 보완 전략]
|
|
145
|
+
- **언어 설정**: [자동 감지 vs 수동 설정]
|
|
146
|
+
- **설정 충돌**: [기존 config.json과의 호환성]
|
|
147
|
+
|
|
148
|
+
### ✅ 예상 산출물
|
|
149
|
+
- **product.md**: [비즈니스 요구사항 문서]
|
|
150
|
+
- **structure.md**: [시스템 아키텍처 문서]
|
|
151
|
+
- **tech.md**: [기술 스택 및 정책 문서]
|
|
152
|
+
- **config.json**: [프로젝트 설정 파일]
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
**승인 요청**: 위 계획으로 인터뷰를 진행하시겠습니까?
|
|
156
|
+
("진행", "수정 [내용]", "중단" 중 선택)
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### 1.4 사용자 확인 대기
|
|
160
|
+
|
|
161
|
+
**반응에 따른 분기**:
|
|
162
|
+
- **"진행"** 또는 **"시작"**: STEP 2로 진행
|
|
163
|
+
- **"수정 [내용]"**: 계획 수정 후 재제시
|
|
164
|
+
- **"중단"**: 프로젝트 초기화 중단
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## 🚀 STEP 2: 프로젝트 초기화 실행 (사용자 승인 후)
|
|
169
|
+
|
|
170
|
+
사용자 승인 후 project-manager 에이전트가 초기화를 수행합니다.
|
|
171
|
+
|
|
172
|
+
### 2.1 project-manager 에이전트 호출
|
|
173
|
+
|
|
174
|
+
Alfred는 project-manager 에이전트를 호출하여 프로젝트 초기화를 시작합니다. 다음 정보를 기반으로 진행합니다:
|
|
175
|
+
- 감지된 언어: [언어 목록]
|
|
176
|
+
- 프로젝트 유형: [신규/기존]
|
|
177
|
+
- 기존 문서 상태: [존재/부재]
|
|
178
|
+
- 승인된 인터뷰 계획: [계획 요약]
|
|
179
|
+
|
|
180
|
+
에이전트는 체계적인 인터뷰를 진행하고 product/structure/tech.md 문서를 생성/갱신합니다.
|
|
181
|
+
|
|
182
|
+
### 2.2 프로젝트 유형별 처리 방식
|
|
183
|
+
|
|
184
|
+
#### A. 신규 프로젝트 (그린필드)
|
|
185
|
+
|
|
186
|
+
**인터뷰 흐름**:
|
|
187
|
+
|
|
188
|
+
1. **Product Discovery** (product.md 작성)
|
|
189
|
+
- 핵심 미션 정의 (@DOC:MISSION-001)
|
|
190
|
+
- 주요 사용자층 파악 (@SPEC:USER-001)
|
|
191
|
+
- 해결할 핵심 문제 식별 (@SPEC:PROBLEM-001)
|
|
192
|
+
- 차별점 및 강점 정리 (@DOC:STRATEGY-001)
|
|
193
|
+
- 성공 지표 설정 (@SPEC:SUCCESS-001)
|
|
194
|
+
|
|
195
|
+
2. **Structure Blueprint** (structure.md 작성)
|
|
196
|
+
- 아키텍처 전략 선택 (@DOC:ARCHITECTURE-001)
|
|
197
|
+
- 모듈별 책임 구분 (@DOC:MODULES-001)
|
|
198
|
+
- 외부 시스템 통합 계획 (@DOC:INTEGRATION-001)
|
|
199
|
+
- 추적성 전략 정의 (@DOC:TRACEABILITY-001)
|
|
200
|
+
|
|
201
|
+
3. **Tech Stack Mapping** (tech.md 작성)
|
|
202
|
+
- 언어 & 런타임 선택 (@DOC:STACK-001)
|
|
203
|
+
- 핵심 프레임워크 결정 (@DOC:FRAMEWORK-001)
|
|
204
|
+
- 품질 게이트 설정 (@DOC:QUALITY-001)
|
|
205
|
+
- 보안 정책 정의 (@DOC:SECURITY-001)
|
|
206
|
+
- 배포 채널 계획 (@DOC:DEPLOY-001)
|
|
207
|
+
|
|
208
|
+
**config.json 자동 생성**:
|
|
209
|
+
```json
|
|
210
|
+
{
|
|
211
|
+
"project_name": "detected-name",
|
|
212
|
+
"project_type": "single|fullstack|microservice",
|
|
213
|
+
"project_language": "python|typescript|java|go|rust",
|
|
214
|
+
"test_framework": "pytest|vitest|junit|go test|cargo test",
|
|
215
|
+
"linter": "ruff|biome|eslint|golint|clippy",
|
|
216
|
+
"formatter": "black|biome|prettier|gofmt|rustfmt",
|
|
217
|
+
"coverage_target": 85,
|
|
218
|
+
"mode": "personal"
|
|
219
|
+
}
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
#### B. 기존 프로젝트 (레거시 도입)
|
|
223
|
+
|
|
224
|
+
**Legacy Snapshot & Alignment**:
|
|
225
|
+
|
|
226
|
+
**STEP 1: 전체 프로젝트 구조 파악**
|
|
227
|
+
|
|
228
|
+
Alfred는 전체 프로젝트 구조를 파악합니다:
|
|
229
|
+
- tree 명령어 또는 find 명령어를 사용하여 디렉토리 구조 시각화
|
|
230
|
+
- node_modules, .git, dist, build, __pycache__ 등 빌드 산출물 제외
|
|
231
|
+
- 주요 소스 디렉토리 및 설정 파일 식별
|
|
232
|
+
|
|
233
|
+
**산출물**:
|
|
234
|
+
- 프로젝트 전체 폴더/파일 계층 구조 시각화
|
|
235
|
+
- 주요 디렉토리 식별 (src/, tests/, docs/, config/ 등)
|
|
236
|
+
- 언어/프레임워크 힌트 파일 확인 (package.json, pyproject.toml, go.mod 등)
|
|
237
|
+
|
|
238
|
+
**STEP 2: 병렬 분석 전략 수립**
|
|
239
|
+
|
|
240
|
+
Alfred는 Glob 패턴으로 파일 그룹을 식별합니다:
|
|
241
|
+
1. **설정 파일들**: *.json, *.toml, *.yaml, *.yml, *.config.js
|
|
242
|
+
2. **소스 코드 파일들**: src/**/*.{ts,js,py,go,rs,java}
|
|
243
|
+
3. **테스트 파일들**: tests/**/*.{ts,js,py,go,rs,java}, **/*.test.*, **/*.spec.*
|
|
244
|
+
4. **문서 파일들**: *.md, docs/**/*.md, README*, CHANGELOG*
|
|
245
|
+
|
|
246
|
+
**병렬 Read 전략**:
|
|
247
|
+
- 여러 파일을 동시에 Read 도구로 읽어 분석 속도 향상
|
|
248
|
+
- 각 파일 그룹별로 배치 처리
|
|
249
|
+
- 우선순위: 설정 파일 → 핵심 소스 → 테스트 → 문서
|
|
250
|
+
|
|
251
|
+
**STEP 3: 파일별 특성 분석 및 보고**
|
|
252
|
+
|
|
253
|
+
각 파일을 읽으면서 다음 정보를 수집:
|
|
254
|
+
|
|
255
|
+
1. **설정 파일 분석**
|
|
256
|
+
- 프로젝트 메타데이터 (이름, 버전, 설명)
|
|
257
|
+
- 의존성 목록 및 버전
|
|
258
|
+
- 빌드/테스트 스크립트
|
|
259
|
+
- 언어/프레임워크 확정
|
|
260
|
+
|
|
261
|
+
2. **소스 코드 분석**
|
|
262
|
+
- 주요 모듈 및 클래스 식별
|
|
263
|
+
- 아키텍처 패턴 추론 (MVC, 클린 아키텍처, 마이크로서비스 등)
|
|
264
|
+
- 외부 API 호출 및 통합점 파악
|
|
265
|
+
- 도메인 로직 핵심 영역
|
|
266
|
+
|
|
267
|
+
3. **테스트 코드 분석**
|
|
268
|
+
- 테스트 프레임워크 확인
|
|
269
|
+
- 커버리지 설정 파악
|
|
270
|
+
- 주요 테스트 시나리오 식별
|
|
271
|
+
- TDD 준수 여부 평가
|
|
272
|
+
|
|
273
|
+
4. **문서 분석**
|
|
274
|
+
- 기존 README 내용
|
|
275
|
+
- 아키텍처 문서 존재 여부
|
|
276
|
+
- API 문서 현황
|
|
277
|
+
- 설치/배포 가이드 완성도
|
|
278
|
+
|
|
279
|
+
**보고 형식**:
|
|
280
|
+
```markdown
|
|
281
|
+
## 파일별 분석 결과
|
|
282
|
+
|
|
283
|
+
### 설정 파일
|
|
284
|
+
- package.json: Node.js 18+, TypeScript 5.x, Vitest 테스트
|
|
285
|
+
- tsconfig.json: strict 모드, ESNext 타겟
|
|
286
|
+
- biome.json: 린터/포매터 설정 존재
|
|
287
|
+
|
|
288
|
+
### 소스 코드 (src/)
|
|
289
|
+
- src/core/: 핵심 비즈니스 로직 (3개 모듈)
|
|
290
|
+
- src/api/: REST API 엔드포인트 (5개 라우터)
|
|
291
|
+
- src/utils/: 유틸리티 함수 (로깅, 검증 등)
|
|
292
|
+
- 아키텍처: 계층형 (controller → service → repository)
|
|
293
|
+
|
|
294
|
+
### 테스트 (tests/)
|
|
295
|
+
- Vitest + @testing-library 사용
|
|
296
|
+
- 유닛 테스트 커버리지 약 60% 추정
|
|
297
|
+
- E2E 테스트 미비
|
|
298
|
+
|
|
299
|
+
### 문서
|
|
300
|
+
- README.md: 설치 가이드만 존재
|
|
301
|
+
- API 문서 부재
|
|
302
|
+
- 아키텍처 문서 부재
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
**STEP 4: 종합 분석 및 product/structure/tech 반영**
|
|
306
|
+
|
|
307
|
+
수집된 정보를 바탕으로 3대 문서에 반영:
|
|
308
|
+
|
|
309
|
+
1. **product.md 반영 내용**
|
|
310
|
+
- 기존 README/문서에서 추출한 프로젝트 미션
|
|
311
|
+
- 코드에서 추론한 주요 사용자층 및 시나리오
|
|
312
|
+
- 해결하는 핵심 문제 역추적
|
|
313
|
+
- 기존 자산을 "Legacy Context"에 보존
|
|
314
|
+
|
|
315
|
+
2. **structure.md 반영 내용**
|
|
316
|
+
- 파악된 실제 디렉토리 구조
|
|
317
|
+
- 모듈별 책임 분석 결과
|
|
318
|
+
- 외부 시스템 통합점 (API 호출, DB 연결 등)
|
|
319
|
+
- 기술 부채 항목 (@CODE 태그로 표기)
|
|
320
|
+
|
|
321
|
+
3. **tech.md 반영 내용**
|
|
322
|
+
- 실제 사용 중인 언어/프레임워크/라이브러리
|
|
323
|
+
- 기존 빌드/테스트 파이프라인
|
|
324
|
+
- 품질 게이트 현황 (린터, 포매터, 테스트 커버리지)
|
|
325
|
+
- 보안/배포 정책 파악
|
|
326
|
+
- 개선 필요 항목 (TODO 태그로 표기)
|
|
327
|
+
|
|
328
|
+
**보존 정책**:
|
|
329
|
+
- 기존 문서를 덮어쓰지 않고 부족한 부분만 보완
|
|
330
|
+
- 충돌하는 내용은 "Legacy Context" 섹션에 보존
|
|
331
|
+
- @CODE, TODO 태그로 개선 필요 항목 표시
|
|
332
|
+
|
|
333
|
+
**최종 보고서 예시**:
|
|
334
|
+
```markdown
|
|
335
|
+
## 기존 프로젝트 분석 완료
|
|
336
|
+
|
|
337
|
+
### 환경 정보
|
|
338
|
+
- **언어**: TypeScript 5.x (Node.js 18+)
|
|
339
|
+
- **프레임워크**: Express.js
|
|
340
|
+
- **테스트**: Vitest (커버리지 ~60%)
|
|
341
|
+
- **린터/포매터**: Biome
|
|
342
|
+
|
|
343
|
+
### 주요 발견사항
|
|
344
|
+
1. **강점**:
|
|
345
|
+
- 타입 안전성 높음 (strict 모드)
|
|
346
|
+
- 모듈 구조 명확 (core/api/utils 분리)
|
|
347
|
+
|
|
348
|
+
2. **개선 필요**:
|
|
349
|
+
- 테스트 커버리지 85% 미달 (TODO:TEST-COVERAGE-001)
|
|
350
|
+
- API 문서 부재 (TODO:DOCS-API-001)
|
|
351
|
+
- E2E 테스트 미비 (@CODE:TEST-E2E-001)
|
|
352
|
+
|
|
353
|
+
### 다음 단계
|
|
354
|
+
1. product/structure/tech.md 생성 완료
|
|
355
|
+
2. @CODE/TODO 항목 우선순위 확정
|
|
356
|
+
3. /alfred:1-spec으로 개선 SPEC 작성 시작
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
### 2.3 문서 생성 및 검증
|
|
360
|
+
|
|
361
|
+
**산출물**:
|
|
362
|
+
- `.moai/project/product.md` (비즈니스 요구사항)
|
|
363
|
+
- `.moai/project/structure.md` (시스템 아키텍처)
|
|
364
|
+
- `.moai/project/tech.md` (기술 스택 및 정책)
|
|
365
|
+
- `.moai/config.json` (프로젝트 설정)
|
|
366
|
+
|
|
367
|
+
**품질 검증**:
|
|
368
|
+
- [ ] 모든 필수 @TAG 섹션 존재 확인
|
|
369
|
+
- [ ] EARS 구문 형식 준수 확인
|
|
370
|
+
- [ ] config.json 구문 유효성 검증
|
|
371
|
+
- [ ] 문서 간 일관성 검증
|
|
372
|
+
|
|
373
|
+
### 2.4 완료 보고
|
|
374
|
+
|
|
375
|
+
```markdown
|
|
376
|
+
✅ 프로젝트 초기화 완료!
|
|
377
|
+
|
|
378
|
+
📁 생성된 문서:
|
|
379
|
+
- .moai/project/product.md (비즈니스 정의)
|
|
380
|
+
- .moai/project/structure.md (아키텍처 설계)
|
|
381
|
+
- .moai/project/tech.md (기술 스택)
|
|
382
|
+
- .moai/config.json (프로젝트 설정)
|
|
383
|
+
|
|
384
|
+
🔍 감지된 환경:
|
|
385
|
+
- 언어: [언어 목록]
|
|
386
|
+
- 프레임워크: [프레임워크 목록]
|
|
387
|
+
- 테스트 도구: [도구 목록]
|
|
388
|
+
|
|
389
|
+
📋 다음 단계:
|
|
390
|
+
1. 생성된 문서를 검토하세요
|
|
391
|
+
2. /alfred:1-spec으로 첫 번째 SPEC 작성
|
|
392
|
+
3. 필요 시 /alfred:8-project update로 재조정
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
### 2.5: 초기 구조 검증 (선택적)
|
|
396
|
+
|
|
397
|
+
프로젝트 초기화 완료 후 선택적으로 품질 검증을 실행할 수 있습니다.
|
|
398
|
+
|
|
399
|
+
**실행 조건**: 사용자가 명시적으로 요청한 경우에만
|
|
400
|
+
|
|
401
|
+
**검증 목적**:
|
|
402
|
+
- 프로젝트 문서와 설정 파일 기본 검증
|
|
403
|
+
- 초기 구조의 TRUST 원칙 준수 확인
|
|
404
|
+
- 설정 파일 유효성 검증
|
|
405
|
+
|
|
406
|
+
**실행 방식**:
|
|
407
|
+
사용자가 명시적으로 요청한 경우에만 Alfred가 trust-checker 에이전트를 호출하여 프로젝트 초기 구조 검증을 수행합니다.
|
|
408
|
+
|
|
409
|
+
**검증 항목**:
|
|
410
|
+
- **문서 완성도**: product/structure/tech.md 필수 섹션 존재 확인
|
|
411
|
+
- **설정 유효성**: config.json JSON 구문 및 필수 필드 검증
|
|
412
|
+
- **TAG 체계**: 문서 내 @TAG 형식 준수 확인
|
|
413
|
+
- **EARS 구문**: SPEC 작성 시 사용할 EARS 템플릿 검증
|
|
414
|
+
|
|
415
|
+
**검증 실행**: Level 1 빠른 스캔 (3-5초)
|
|
416
|
+
|
|
417
|
+
**검증 결과 처리**:
|
|
418
|
+
|
|
419
|
+
✅ **Pass**: 다음 단계 진행 가능
|
|
420
|
+
- 문서와 설정 모두 정상
|
|
421
|
+
|
|
422
|
+
⚠️ **Warning**: 경고 표시 후 진행
|
|
423
|
+
- 일부 선택적 섹션 누락
|
|
424
|
+
- 권장사항 미적용
|
|
425
|
+
|
|
426
|
+
❌ **Critical**: 수정 필요
|
|
427
|
+
- 필수 섹션 누락
|
|
428
|
+
- config.json 구문 오류
|
|
429
|
+
- 사용자 선택: "수정 후 재검증" 또는 "건너뛰기"
|
|
430
|
+
|
|
431
|
+
**검증 건너뛰기**:
|
|
432
|
+
- 기본적으로 검증은 실행되지 않음
|
|
433
|
+
- 사용자가 명시적으로 요청할 때만 실행
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
## 프로젝트 유형별 인터뷰 가이드
|
|
437
|
+
|
|
438
|
+
### 신규 프로젝트 인터뷰 영역
|
|
439
|
+
|
|
440
|
+
**Product Discovery** (product.md)
|
|
441
|
+
- 핵심 미션 및 가치 제안
|
|
442
|
+
- 주요 사용자층 및 니즈
|
|
443
|
+
- 해결할 핵심 문제 3가지
|
|
444
|
+
- 경쟁 솔루션 대비 차별점
|
|
445
|
+
- 측정 가능한 성공 지표
|
|
446
|
+
|
|
447
|
+
**Structure Blueprint** (structure.md)
|
|
448
|
+
- 시스템 아키텍처 전략
|
|
449
|
+
- 모듈 분리 및 책임 구분
|
|
450
|
+
- 외부 시스템 통합 계획
|
|
451
|
+
- @TAG 기반 추적성 전략
|
|
452
|
+
|
|
453
|
+
**Tech Stack Mapping** (tech.md)
|
|
454
|
+
- 언어/런타임 선택 및 버전
|
|
455
|
+
- 프레임워크 및 라이브러리
|
|
456
|
+
- 품질 게이트 정책 (커버리지, 린터)
|
|
457
|
+
- 보안 정책 및 배포 채널
|
|
458
|
+
|
|
459
|
+
### 기존 프로젝트 인터뷰 영역
|
|
460
|
+
|
|
461
|
+
**Legacy Analysis**
|
|
462
|
+
- 현재 코드 구조 및 모듈 파악
|
|
463
|
+
- 빌드/테스트 파이프라인 현황
|
|
464
|
+
- 기술 부채 및 제약사항 식별
|
|
465
|
+
- 외부 연동 및 인증 방식
|
|
466
|
+
- MoAI-ADK 전환 우선순위 계획
|
|
467
|
+
|
|
468
|
+
**보존 정책**: 기존 문서는 "Legacy Context" 섹션에 보존하고 @CODE/TODO 태그로 개선 필요 항목 표시
|
|
469
|
+
|
|
470
|
+
## 🏷️ TAG 시스템 적용 규칙
|
|
471
|
+
|
|
472
|
+
**섹션별 @TAG 자동 생성**:
|
|
473
|
+
|
|
474
|
+
- 미션/비전 → @DOC:MISSION-XXX, @DOC:STRATEGY-XXX
|
|
475
|
+
- 사용자 정의 → @SPEC:USER-XXX, @SPEC:PERSONA-XXX
|
|
476
|
+
- 문제 분석 → @SPEC:PROBLEM-XXX, @SPEC:SOLUTION-XXX
|
|
477
|
+
- 아키텍처 → @DOC:ARCHITECTURE-XXX, @SPEC:PATTERN-XXX
|
|
478
|
+
- 기술 스택 → @DOC:STACK-XXX, @DOC:FRAMEWORK-XXX
|
|
479
|
+
|
|
480
|
+
**레거시 프로젝트 태그**:
|
|
481
|
+
|
|
482
|
+
- 기술 부채 → @CODE:REFACTOR-XXX, @CODE:TEST-XXX, @CODE:MIGRATION-XXX
|
|
483
|
+
- 해결 계획 → @CODE:MIGRATION-XXX, TODO:SPEC-BACKLOG-XXX
|
|
484
|
+
- 품질 개선 → TODO:TEST-COVERAGE-XXX, TODO:DOCS-SYNC-XXX
|
|
485
|
+
|
|
486
|
+
## 오류 처리
|
|
487
|
+
|
|
488
|
+
### 일반적인 오류 및 해결 방법
|
|
489
|
+
|
|
490
|
+
**오류 1**: 프로젝트 언어 감지 실패
|
|
491
|
+
```
|
|
492
|
+
증상: "언어를 감지할 수 없습니다" 메시지
|
|
493
|
+
해결: 수동으로 언어 지정 또는 언어별 설정 파일 생성
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
**오류 2**: 기존 문서와 충돌
|
|
497
|
+
```
|
|
498
|
+
증상: product.md가 이미 존재하며 내용이 다름
|
|
499
|
+
해결: "Legacy Context" 섹션에 기존 내용 보존 후 새 내용 추가
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
**오류 3**: config.json 작성 실패
|
|
503
|
+
```
|
|
504
|
+
증상: JSON 구문 오류 또는 권한 거부
|
|
505
|
+
해결: 파일 권한 확인 (chmod 644) 또는 수동으로 config.json 생성
|
|
506
|
+
```
|
|
507
|
+
|
|
508
|
+
## 다음 단계
|
|
509
|
+
|
|
510
|
+
**권장사항**: 다음 단계 진행 전 `/clear` 또는 `/new` 명령으로 새로운 대화 세션을 시작하면 더 나은 성능과 컨텍스트 관리를 경험할 수 있습니다.
|
|
511
|
+
|
|
512
|
+
초기화 완료 후:
|
|
513
|
+
|
|
514
|
+
- **신규 프로젝트**: `/alfred:1-spec`을 실행해 설계 기반 SPEC 백로그 생성
|
|
515
|
+
- **레거시 프로젝트**: product/structure/tech 문서의 @CODE/@CODE/TODO 항목 검토 후 우선순위 확정
|
|
516
|
+
- **설정 변경**: `/alfred:8-project`를 다시 실행하여 문서 갱신
|
|
517
|
+
|
|
518
|
+
## 관련 명령어
|
|
519
|
+
|
|
520
|
+
- `/alfred:1-spec` - SPEC 작성 시작
|
|
521
|
+
- `/alfred:9-update` - MoAI-ADK 업데이트
|
|
522
|
+
- `moai doctor` - 시스템 진단
|
|
523
|
+
- `moai status` - 프로젝트 상태 확인
|