@silbaram/artifact-driven-agent 0.1.4 → 0.1.6
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/README.md +294 -661
- package/bin/cli.js +8 -1
- package/core/artifacts/decision.md +1 -1
- package/core/artifacts/plan.md +5 -5
- package/core/artifacts/project.md +4 -2
- package/core/artifacts/sprints/_template/docs/release-notes.md +37 -0
- package/core/artifacts/sprints/_template/meta.md +54 -0
- package/core/artifacts/sprints/_template/retrospective.md +50 -0
- package/core/artifacts/sprints/_template/review-reports/review-template.md +49 -0
- package/core/artifacts/sprints/_template/tasks/task-template.md +43 -0
- package/core/roles/analyzer.md +6 -33
- package/core/roles/developer.md +69 -99
- package/core/roles/documenter.md +293 -0
- package/core/roles/manager.md +391 -341
- package/core/roles/planner.md +61 -79
- package/core/roles/reviewer.md +71 -129
- package/core/rules/document-priority.md +40 -38
- package/core/rules/escalation.md +15 -14
- package/core/rules/iteration.md +24 -24
- package/core/rules/rfc.md +1 -1
- package/core/rules/rollback.md +4 -4
- package/package.json +1 -1
- package/src/commands/run.js +107 -51
- package/src/commands/sessions.js +21 -1
- package/src/commands/sprint.js +262 -0
- package/src/commands/validate.js +133 -64
- package/src/commands/validate.test.js +84 -0
- package/src/utils/files.js +134 -134
- package/src/utils/sessionState.js +30 -11
- package/core/artifacts/architecture-options.md +0 -85
- package/core/artifacts/backlog.md +0 -177
- package/core/artifacts/current-sprint.md +0 -125
- package/core/artifacts/qa-report.md +0 -104
- package/core/artifacts/review-report.md +0 -103
- package/core/roles/architect.md +0 -270
- package/core/roles/qa.md +0 -306
- package/core/rules/role-state-protocol.md +0 -281
- package/core/rules/session-state.md +0 -255
- package/templates/cli/roles/cli-developer.md +0 -243
- package/templates/game/roles/game-logic.md +0 -198
- package/templates/game/roles/rendering.md +0 -142
- package/templates/library/roles/library-developer.md +0 -184
- package/templates/web-dev/roles/backend.md +0 -139
- package/templates/web-dev/roles/frontend.md +0 -166
package/README.md
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
# Artifact-Driven AI Agent Framework
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
**문서 기반 멀티 AI 에이전트 개발 프레임워크**
|
|
4
|
+
|
|
5
|
+
4개 핵심 역할(Planner, Developer, Reviewer, Documenter)이 스프린트 단위로 협업하여 안정적인 개발 워크플로우를 만듭니다.
|
|
5
6
|
|
|
6
7
|
## 🎯 목표
|
|
7
8
|
|
|
8
9
|
- AI가 감으로 개발하지 못하게 한다
|
|
9
10
|
- 모든 판단을 문서 기준으로 고정한다
|
|
10
|
-
-
|
|
11
|
+
- **스프린트/Task 단위 반복 개발 파이프라인**을 만든다
|
|
11
12
|
|
|
12
13
|
## 💡 핵심 개념
|
|
13
14
|
|
|
@@ -18,66 +19,22 @@ CLI 기반 멀티 AI 에이전트를 사용해 기획 → 설계 → 개발 →
|
|
|
18
19
|
|
|
19
20
|
AI 에이전트 실행 시, 시스템 프롬프트에 다음을 포함합니다:
|
|
20
21
|
|
|
21
|
-
1. **모든 규칙 파일 내용** (rules/*.md)
|
|
22
|
-
2. **핵심 산출물 내용** (
|
|
23
|
-
3. **인터페이스 문서 내용** (api.md, ui.md
|
|
24
|
-
4. **멀티 세션 상태 관리 안내** (.ada-status.json 사용법)
|
|
22
|
+
1. **모든 규칙 파일 내용** (rules/*.md)
|
|
23
|
+
2. **핵심 산출물 내용** (plan.md, project.md, 현재 스프린트 Task 파일)
|
|
24
|
+
3. **인터페이스 문서 내용** (api.md, ui.md 등)
|
|
25
25
|
|
|
26
26
|
이를 통해 AI는:
|
|
27
27
|
- 문서에 명시된 규칙을 따라야만 함
|
|
28
|
-
- 현재
|
|
29
|
-
-
|
|
30
|
-
- 다른 세션과 상태를 공유하며 협업
|
|
28
|
+
- 현재 스프린트 범위를 벗어날 수 없음
|
|
29
|
+
- project.md에 없는 기술을 추가할 수 없음
|
|
31
30
|
|
|
32
31
|
**파일명만 나열하지 않고, 내용을 포함**하는 것이 핵심입니다.
|
|
33
32
|
|
|
34
33
|
---
|
|
35
34
|
|
|
36
|
-
## 📁 디렉토리 구조
|
|
37
|
-
|
|
38
|
-
```
|
|
39
|
-
artifact-driven-agent/
|
|
40
|
-
│
|
|
41
|
-
├── package.json # npm 패키지 설정
|
|
42
|
-
├── bin/
|
|
43
|
-
│ └── cli.js # CLI 진입점 (ada 명령어)
|
|
44
|
-
│
|
|
45
|
-
├── src/ # CLI 소스 코드
|
|
46
|
-
│ ├── index.js # 모듈 익스포트
|
|
47
|
-
│ ├── commands/ # 명령어 구현
|
|
48
|
-
│ │ ├── setup.js # 템플릿 세팅
|
|
49
|
-
│ │ ├── status.js # 상태 확인
|
|
50
|
-
│ │ ├── reset.js # 초기화
|
|
51
|
-
│ │ ├── validate.js # 문서 검증
|
|
52
|
-
│ │ ├── sessions.js # 세션 목록
|
|
53
|
-
│ │ ├── logs.js # 로그 확인
|
|
54
|
-
│ │ ├── run.js # AI 에이전트 실행
|
|
55
|
-
│ │ └── interactive.js # 대화형 모드
|
|
56
|
-
│ └── utils/
|
|
57
|
-
│ ├── files.js # 파일/경로 유틸리티
|
|
58
|
-
│ └── sessionState.js # 멀티 세션 상태 관리
|
|
59
|
-
│
|
|
60
|
-
├── core/ # 범용 핵심 (6역할, 8산출물, 5규칙)
|
|
61
|
-
│ ├── roles/
|
|
62
|
-
│ ├── artifacts/
|
|
63
|
-
│ └── rules/
|
|
64
|
-
│
|
|
65
|
-
├── templates/ # 프로젝트 유형별 템플릿
|
|
66
|
-
│ ├── web-dev/
|
|
67
|
-
│ ├── library/
|
|
68
|
-
│ ├── game/
|
|
69
|
-
│ └── cli/
|
|
70
|
-
│
|
|
71
|
-
├── ai-dev-team/ # 작업 디렉토리 (setup 후 사용)
|
|
72
|
-
├── examples/ # 예제 프로젝트
|
|
73
|
-
└── scripts/ # 쉘 스크립트 (레거시)
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
35
|
## 🚀 설치
|
|
79
36
|
|
|
80
|
-
###
|
|
37
|
+
### npm 설치 (권장)
|
|
81
38
|
|
|
82
39
|
```bash
|
|
83
40
|
# 전역 설치
|
|
@@ -87,7 +44,7 @@ npm install -g @silbaram/artifact-driven-agent
|
|
|
87
44
|
npx @silbaram/artifact-driven-agent setup web
|
|
88
45
|
```
|
|
89
46
|
|
|
90
|
-
###
|
|
47
|
+
### 저장소 클론
|
|
91
48
|
|
|
92
49
|
```bash
|
|
93
50
|
git clone https://github.com/silbaram/artifact-driven-agent.git
|
|
@@ -105,779 +62,455 @@ ada --help
|
|
|
105
62
|
|
|
106
63
|
---
|
|
107
64
|
|
|
108
|
-
## 🖥️
|
|
109
|
-
|
|
110
|
-
### 전체 명령어 요약
|
|
65
|
+
## 🖥️ 빠른 시작
|
|
111
66
|
|
|
112
|
-
|
|
113
|
-
|--------|------|
|
|
114
|
-
| `ada` | 대화형 모드 |
|
|
115
|
-
| `ada setup [template]` | 템플릿 세팅 |
|
|
116
|
-
| `ada status` | 상태 확인 |
|
|
117
|
-
| `ada reset [-f]` | 초기화 |
|
|
118
|
-
| `ada validate [doc]` | 문서 검증 |
|
|
119
|
-
| `ada sessions` | 세션 목록 |
|
|
120
|
-
| `ada sessions -w` | Watch 모드 (실시간 모니터링) |
|
|
121
|
-
| `ada logs [id]` | 로그 확인 |
|
|
122
|
-
| `ada run <role> <tool>` | AI 실행 |
|
|
123
|
-
| `ada <role> <tool>` | AI 실행 (단축) |
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
### `ada setup` - 프로젝트 세팅
|
|
128
|
-
|
|
129
|
-
**소스:** `src/commands/setup.js`
|
|
130
|
-
|
|
131
|
-
템플릿을 선택하여 ai-dev-team 디렉토리를 구성합니다.
|
|
67
|
+
### 1. 프로젝트 세팅
|
|
132
68
|
|
|
133
69
|
```bash
|
|
134
|
-
#
|
|
135
|
-
ada setup
|
|
136
|
-
|
|
137
|
-
# 직접 지정
|
|
138
|
-
ada setup web # 웹 서비스 (web-dev 별칭)
|
|
139
|
-
ada setup lib # 라이브러리 (library 별칭)
|
|
70
|
+
ada setup web # 웹 서비스
|
|
71
|
+
ada setup lib # 라이브러리
|
|
140
72
|
ada setup game # 게임
|
|
141
73
|
ada setup cli # CLI 도구
|
|
142
74
|
```
|
|
143
75
|
|
|
144
|
-
|
|
145
|
-
1. `core/` 디렉토리의 공통 roles, artifacts, rules 복사
|
|
146
|
-
2. 선택한 템플릿의 전용 파일 병합
|
|
147
|
-
3. Feature/RFC 템플릿 복사
|
|
148
|
-
4. `.current-template` 파일에 현재 템플릿 저장
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
### `ada status` - 상태 확인
|
|
153
|
-
|
|
154
|
-
**소스:** `src/commands/status.js`
|
|
155
|
-
|
|
156
|
-
현재 세팅 상태를 확인합니다.
|
|
76
|
+
### 2. 기획 시작
|
|
157
77
|
|
|
158
78
|
```bash
|
|
159
|
-
ada
|
|
79
|
+
ada planner claude # 요구사항 수집 → plan.md + backlog/*.md 생성
|
|
160
80
|
```
|
|
161
81
|
|
|
162
|
-
|
|
163
|
-
- 현재 템플릿
|
|
164
|
-
- 역할 목록
|
|
165
|
-
- 산출물 목록 (상태 표시: Draft/Confirmed/Frozen)
|
|
166
|
-
- 규칙 목록
|
|
167
|
-
|
|
168
|
-
---
|
|
169
|
-
|
|
170
|
-
### `ada validate` - 문서 검증
|
|
171
|
-
|
|
172
|
-
**소스:** `src/commands/validate.js`
|
|
173
|
-
|
|
174
|
-
산출물 문서의 완성도를 자동 검사합니다.
|
|
82
|
+
### 3. 스프린트 생성
|
|
175
83
|
|
|
176
84
|
```bash
|
|
177
|
-
#
|
|
178
|
-
ada
|
|
179
|
-
|
|
180
|
-
# 특정 문서만
|
|
181
|
-
ada validate plan
|
|
182
|
-
ada validate project
|
|
183
|
-
ada validate backlog
|
|
184
|
-
ada validate sprint
|
|
85
|
+
ada sprint create # 새 스프린트 생성
|
|
86
|
+
ada sprint add task-001 task-002 # Task 추가
|
|
185
87
|
```
|
|
186
88
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
| 문서 | 검사 내용 |
|
|
190
|
-
|------|----------|
|
|
191
|
-
| plan.md | 필수 섹션(서비스 개요, 기능 목록, 비기능 요구사항), TBD 3개 이하 |
|
|
192
|
-
| project.md | 필수 섹션(프로젝트 규모, 기술 스택), Frozen 상태, 버전 형식 |
|
|
193
|
-
| backlog.md | Task 개수, 수용 조건 존재 |
|
|
194
|
-
| current-sprint.md | 스프린트 번호, 목표 섹션 |
|
|
195
|
-
|
|
196
|
-
---
|
|
197
|
-
|
|
198
|
-
### `ada run` / `ada <role> <tool>` - AI 에이전트 실행
|
|
199
|
-
|
|
200
|
-
**소스:** `src/commands/run.js`
|
|
201
|
-
|
|
202
|
-
특정 역할로 AI 도구를 실행합니다.
|
|
89
|
+
### 4. 개발
|
|
203
90
|
|
|
204
91
|
```bash
|
|
205
|
-
#
|
|
206
|
-
ada run backend claude
|
|
207
|
-
ada run planner codex
|
|
208
|
-
|
|
209
|
-
# 단축 명령어 (run 생략)
|
|
210
|
-
ada backend claude
|
|
211
|
-
ada planner codex
|
|
212
|
-
ada frontend gemini
|
|
92
|
+
ada developer claude # Task 구현 → DONE 상태로 변경
|
|
213
93
|
```
|
|
214
94
|
|
|
215
|
-
|
|
216
|
-
- Core: planner, architect, developer, reviewer, qa, manager
|
|
217
|
-
- 템플릿별: backend, frontend, library-developer, game-logic, rendering, cli-developer
|
|
218
|
-
|
|
219
|
-
**지원 도구:** claude, codex, gemini, copilot
|
|
220
|
-
|
|
221
|
-
**동작:**
|
|
222
|
-
1. 세션 ID 생성 (YYYYMMDD-HHMMSS-random)
|
|
223
|
-
2. `.ada-status.json`에 세션 등록 (멀티 세션 지원)
|
|
224
|
-
3. 역할 파일 로드 → 시스템 프롬프트 생성
|
|
225
|
-
- 모든 규칙(rules/) 파일 내용 포함
|
|
226
|
-
- 핵심 산출물(decision.md, project.md 등) 내용 포함
|
|
227
|
-
- 인터페이스 문서(api.md, ui.md 등) 내용 포함
|
|
228
|
-
4. 활성 세션 및 대기 질문 표시
|
|
229
|
-
5. AI CLI 도구 실행 또는 프롬프트 출력
|
|
230
|
-
6. 세션 종료 시 상태 파일에서 제거
|
|
231
|
-
7. 세션/로그 기록
|
|
232
|
-
|
|
233
|
-
---
|
|
234
|
-
|
|
235
|
-
### `ada sessions` - 실시간 세션 상태
|
|
236
|
-
|
|
237
|
-
**소스:** `src/commands/sessions.js`
|
|
238
|
-
|
|
239
|
-
**실시간 멀티 세션 상태**와 세션 기록을 확인합니다.
|
|
95
|
+
### 5. 리뷰
|
|
240
96
|
|
|
241
97
|
```bash
|
|
242
|
-
#
|
|
243
|
-
ada sessions
|
|
244
|
-
|
|
245
|
-
# Watch 모드 (실시간 모니터링 대시보드)
|
|
246
|
-
ada sessions --watch
|
|
247
|
-
ada sessions -w
|
|
98
|
+
ada reviewer claude # 코드 리뷰 → review-reports/ 생성
|
|
248
99
|
```
|
|
249
100
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
1. **🟢 활성 세션 (실시간)**: 현재 실행 중인 역할 목록
|
|
253
|
-
2. **⚠️ 대기 질문**: Manager에게 응답 대기 중인 질문
|
|
254
|
-
3. **📊 진행 중인 Task**: Task별 진행률 및 담당자
|
|
255
|
-
4. **📜 최근 세션 기록**: 완료된 세션 히스토리
|
|
256
|
-
|
|
257
|
-
이 명령어는 멀티 터미널 환경에서 다른 세션들의 작업 상태를 실시간으로 확인할 때 유용합니다.
|
|
258
|
-
|
|
259
|
-
#### Watch 모드 (Manager 전용):
|
|
260
|
-
|
|
261
|
-
**실시간 모니터링 대시보드**로, Manager 역할 수행 시 유용합니다.
|
|
101
|
+
### 6. 스프린트 종료
|
|
262
102
|
|
|
263
|
-
**주요 기능:**
|
|
264
|
-
- 📊 **통계 패널**: 활성 세션, 대기 질문, 진행 Task, 알림 요약
|
|
265
|
-
- 🟢 **활성 세션**: 각 세션의 역할, 도구, 실행 시간 표시
|
|
266
|
-
- ⚠️ **대기 질문**: 응답이 필요한 질문 강조 표시 (대기 시간 포함)
|
|
267
|
-
- 📊 **진행 Task**: 진행률 바와 색상으로 상태 시각화
|
|
268
|
-
- 🔔 **최근 알림**: 읽음/안읽음 표시
|
|
269
|
-
|
|
270
|
-
**자동 갱신:**
|
|
271
|
-
- `.ada-status.json` 파일 변경 시 즉시 갱신
|
|
272
|
-
- 2초마다 시간 정보 자동 갱신
|
|
273
|
-
|
|
274
|
-
**키보드 단축키:**
|
|
275
|
-
- `q` - 종료
|
|
276
|
-
- `r` - 수동 새로고침
|
|
277
|
-
- `c` - 화면 지우기
|
|
278
|
-
- `h` - 도움말
|
|
279
|
-
- `Ctrl+C` - 강제 종료
|
|
280
|
-
|
|
281
|
-
**사용 시나리오:**
|
|
282
103
|
```bash
|
|
283
|
-
|
|
284
|
-
ada
|
|
285
|
-
|
|
286
|
-
# 터미널 2-4: 여러 개발 세션
|
|
287
|
-
ada developer codex
|
|
288
|
-
ada reviewer gemini
|
|
289
|
-
ada qa claude
|
|
104
|
+
ada sprint close # 스프린트 종료
|
|
105
|
+
ada documenter claude # 문서 작성
|
|
290
106
|
```
|
|
291
107
|
|
|
292
108
|
---
|
|
293
109
|
|
|
294
|
-
|
|
110
|
+
## 👥 역할 시스템
|
|
295
111
|
|
|
296
|
-
|
|
112
|
+
### 핵심 역할 (4개) - 모든 프로젝트 필수
|
|
297
113
|
|
|
298
|
-
|
|
114
|
+
| 역할 | 책임 | 산출물 |
|
|
115
|
+
|------|------|--------|
|
|
116
|
+
| **Planner** | 요구사항 수집, Task 분해 | plan.md, backlog/*.md |
|
|
117
|
+
| **Developer** | 코드 구현, Task 완료 | 소스 코드, Task 파일 업데이트 |
|
|
118
|
+
| **Reviewer** | 코드 리뷰, 품질 판정 | review-reports/*.md |
|
|
119
|
+
| **Documenter** | 스프린트 완료 시 문서 작성 | API Changelog, Release Notes, User Guide |
|
|
299
120
|
|
|
300
|
-
|
|
301
|
-
# 최근 세션 로그
|
|
302
|
-
ada logs
|
|
121
|
+
### 선택 역할 (1개) - 기존 프로젝트 도입 시
|
|
303
122
|
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
123
|
+
| 역할 | 책임 | 사용 시점 |
|
|
124
|
+
|------|------|----------|
|
|
125
|
+
| **Analyzer** | 기존 코드베이스 분석, project.md 역생성 | 레거시 프로젝트에 ada 도입 시 |
|
|
307
126
|
|
|
308
127
|
---
|
|
309
128
|
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
**소스:** `src/commands/reset.js`
|
|
129
|
+
## 📂 디렉토리 구조
|
|
313
130
|
|
|
314
|
-
|
|
131
|
+
### 프로젝트 루트
|
|
315
132
|
|
|
316
|
-
```bash
|
|
317
|
-
# 확인 후 초기화
|
|
318
|
-
ada reset
|
|
319
|
-
|
|
320
|
-
# 강제 초기화
|
|
321
|
-
ada reset --force
|
|
322
|
-
ada reset -f
|
|
323
133
|
```
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
134
|
+
artifact-driven-agent/
|
|
135
|
+
├── bin/cli.js # CLI 진입점
|
|
136
|
+
├── src/
|
|
137
|
+
│ ├── commands/ # 명령어 구현
|
|
138
|
+
│ │ ├── setup.js
|
|
139
|
+
│ │ ├── run.js
|
|
140
|
+
│ │ ├── sprint.js # 스프린트 관리
|
|
141
|
+
│ │ └── sessions.js # 세션 모니터링
|
|
142
|
+
│ └── utils/
|
|
143
|
+
│ ├── files.js
|
|
144
|
+
│ └── sessionState.js
|
|
145
|
+
├── core/ # 범용 핵심
|
|
146
|
+
│ ├── roles/ # 5개 역할
|
|
147
|
+
│ ├── artifacts/ # 산출물 템플릿
|
|
148
|
+
│ │ └── sprints/
|
|
149
|
+
│ │ └── _template/ # 스프린트 템플릿
|
|
150
|
+
│ └── rules/ # 5개 규칙
|
|
151
|
+
└── templates/ # 프로젝트 유형별
|
|
152
|
+
├── web-dev/
|
|
153
|
+
├── library/
|
|
154
|
+
├── game/
|
|
155
|
+
└── cli/
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 작업 디렉토리 (setup 후)
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
ai-dev-team/
|
|
162
|
+
├── artifacts/
|
|
163
|
+
│ ├── plan.md # 전체 요구사항
|
|
164
|
+
│ ├── project.md # 기술 기준 (선택)
|
|
165
|
+
│ ├── backlog/ # 스프린트 미할당 Task
|
|
166
|
+
│ │ ├── task-001.md
|
|
167
|
+
│ │ └── task-002.md
|
|
168
|
+
│ └── sprints/ # 스프린트별 디렉토리
|
|
169
|
+
│ ├── sprint-1/ # 완료된 스프린트
|
|
170
|
+
│ │ ├── meta.md
|
|
171
|
+
│ │ ├── tasks/
|
|
172
|
+
│ │ │ ├── task-003.md
|
|
173
|
+
│ │ │ └── task-004.md
|
|
174
|
+
│ │ ├── review-reports/
|
|
175
|
+
│ │ │ ├── task-003.md
|
|
176
|
+
│ │ │ └── task-004.md
|
|
177
|
+
│ │ ├── docs/
|
|
178
|
+
│ │ │ ├── api-changelog.md
|
|
179
|
+
│ │ │ └── release-notes.md
|
|
180
|
+
│ │ └── retrospective.md
|
|
181
|
+
│ └── sprint-2/ # 진행 중인 스프린트
|
|
182
|
+
│ ├── meta.md
|
|
183
|
+
│ └── tasks/
|
|
184
|
+
│ └── task-005.md
|
|
185
|
+
├── roles/ # core + template 병합
|
|
186
|
+
├── rules/
|
|
187
|
+
└── .sessions/ # 세션 이력
|
|
188
|
+
├── logs/
|
|
189
|
+
└── .ada-status.json # 멀티 세션 상태 파일
|
|
335
190
|
```
|
|
336
191
|
|
|
337
|
-
**동작:**
|
|
338
|
-
1. 세팅 안 됐으면 setup 제안
|
|
339
|
-
2. 역할 선택 (목록 표시)
|
|
340
|
-
3. 도구 선택 (목록 표시)
|
|
341
|
-
4. AI 에이전트 실행
|
|
342
|
-
|
|
343
192
|
---
|
|
344
193
|
|
|
345
|
-
##
|
|
194
|
+
## 🖥️ CLI 명령어
|
|
346
195
|
|
|
347
|
-
###
|
|
196
|
+
### 기본 명령어
|
|
348
197
|
|
|
349
|
-
|
|
|
350
|
-
|
|
351
|
-
|
|
|
352
|
-
|
|
|
353
|
-
|
|
|
354
|
-
|
|
|
355
|
-
|
|
|
356
|
-
| **QA** | qa.md | 수용 조건 검증, PASS/FAIL 판정 |
|
|
357
|
-
| **Manager** | manager.md | 스프린트 관리, 승인, 에스컬레이션 처리 |
|
|
358
|
-
|
|
359
|
-
### 템플릿별 특화 역할
|
|
360
|
-
|
|
361
|
-
| 템플릿 | 역할 | 책임 |
|
|
362
|
-
|--------|------|------|
|
|
363
|
-
| web-dev | backend | API 설계, 서버 구현 |
|
|
364
|
-
| web-dev | frontend | UI 구현, API 연동 |
|
|
365
|
-
| library | library-developer | 공개 API 설계, 버전 관리 |
|
|
366
|
-
| game | game-logic | 게임 시스템 설계 |
|
|
367
|
-
| game | rendering | 화면/이펙트 구현 |
|
|
368
|
-
| cli | cli-developer | 명령어 설계, 출력 형식 |
|
|
369
|
-
|
|
370
|
-
---
|
|
371
|
-
|
|
372
|
-
## 📄 산출물 (Artifacts)
|
|
373
|
-
|
|
374
|
-
### Core 산출물 (8개)
|
|
375
|
-
|
|
376
|
-
| 문서 | 용도 | 관리자 | 상태 |
|
|
377
|
-
|------|------|--------|------|
|
|
378
|
-
| plan.md | 기획서 | Planner | Draft → Confirmed |
|
|
379
|
-
| project.md | 기술 기준 | Architect | Draft → **Frozen** |
|
|
380
|
-
| backlog.md | Task 목록 | Planner, Manager | - |
|
|
381
|
-
| current-sprint.md | 현재 스프린트 | Manager | - |
|
|
382
|
-
| decision.md | 판단 기록 (최우선) | Manager | - |
|
|
383
|
-
| architecture-options.md | 아키텍처 옵션 | Architect | - |
|
|
384
|
-
| review-report.md | 리뷰 결과 | Reviewer | - |
|
|
385
|
-
| qa-report.md | QA 결과 | QA | - |
|
|
386
|
-
|
|
387
|
-
### 템플릿별 산출물
|
|
388
|
-
|
|
389
|
-
| 템플릿 | 문서 | 용도 |
|
|
390
|
-
|--------|------|------|
|
|
391
|
-
| web-dev | api.md, ui.md | API 계약, 화면 설계 |
|
|
392
|
-
| library | public-api.md, examples.md, changelog.md | 공개 API, 예제, 변경 이력 |
|
|
393
|
-
| game | game-systems.md, assets.md, hud.md | 시스템, 에셋, HUD |
|
|
394
|
-
| cli | commands.md, output-format.md | 명령어, 출력 형식 |
|
|
395
|
-
|
|
396
|
-
---
|
|
397
|
-
|
|
398
|
-
## 📋 규칙 (Rules) 전체 상세
|
|
399
|
-
|
|
400
|
-
### Core 규칙 (5개)
|
|
401
|
-
|
|
402
|
-
---
|
|
198
|
+
| 명령어 | 설명 |
|
|
199
|
+
|--------|------|
|
|
200
|
+
| `ada` | 대화형 모드 |
|
|
201
|
+
| `ada setup [template]` | 템플릿 세팅 (web, lib, game, cli) |
|
|
202
|
+
| `ada status` | 상태 확인 |
|
|
203
|
+
| `ada validate [doc]` | 문서 검증 |
|
|
204
|
+
| `ada reset [-f]` | 초기화 |
|
|
403
205
|
|
|
404
|
-
|
|
206
|
+
### 스프린트 관리
|
|
405
207
|
|
|
406
|
-
|
|
208
|
+
| 명령어 | 설명 |
|
|
209
|
+
|--------|------|
|
|
210
|
+
| `ada sprint create` | 새 스프린트 생성 |
|
|
211
|
+
| `ada sprint add task-001 ...` | Task 추가 |
|
|
212
|
+
| `ada sprint close` | 현재 스프린트 종료 |
|
|
213
|
+
| `ada sprint list` | 스프린트 목록 |
|
|
407
214
|
|
|
408
|
-
|
|
215
|
+
### AI 에이전트 실행
|
|
409
216
|
|
|
410
|
-
|
|
217
|
+
```bash
|
|
218
|
+
# 정식 형식
|
|
219
|
+
ada run <role> <tool>
|
|
411
220
|
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
전체 기획 → 전체 설계 → 전체 개발 → 전체 테스트
|
|
221
|
+
# 단축 형식 (run 생략)
|
|
222
|
+
ada <role> <tool>
|
|
415
223
|
|
|
416
|
-
|
|
417
|
-
|
|
224
|
+
# 예시
|
|
225
|
+
ada planner claude
|
|
226
|
+
ada developer codex
|
|
227
|
+
ada reviewer gemini
|
|
228
|
+
ada documenter claude
|
|
418
229
|
```
|
|
419
230
|
|
|
420
|
-
|
|
421
|
-
- `current-sprint.md`에 정의된 Task만 작업
|
|
422
|
-
- 스프린트 외 작업 금지 (Manager 승인 없이)
|
|
423
|
-
- "김에" 작업 금지
|
|
424
|
-
|
|
425
|
-
**Task 완료 조건:**
|
|
426
|
-
- [ ] 수용 조건 100% 충족
|
|
427
|
-
- [ ] Reviewer PASS
|
|
428
|
-
- [ ] QA PASS
|
|
429
|
-
- [ ] Manager 확인
|
|
430
|
-
|
|
431
|
-
---
|
|
432
|
-
|
|
433
|
-
#### 2. `escalation.md` - Manager 보고 기준
|
|
434
|
-
|
|
435
|
-
**위치:** `core/rules/escalation.md`
|
|
231
|
+
**지원 도구:** claude, codex, gemini, copilot
|
|
436
232
|
|
|
437
|
-
|
|
233
|
+
### 세션 모니터링
|
|
438
234
|
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
- 혼자 결정하지 않음
|
|
235
|
+
```bash
|
|
236
|
+
# 세션 목록 및 상태
|
|
237
|
+
ada sessions
|
|
443
238
|
|
|
444
|
-
|
|
239
|
+
# 실시간 모니터링 대시보드
|
|
240
|
+
ada sessions --watch
|
|
241
|
+
ada sessions -w
|
|
445
242
|
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
| 문서 간 충돌 | plan.md ↔ project.md 불일치 |
|
|
451
|
-
| 역할 간 해석 불일치 | 같은 문서 다르게 해석 |
|
|
452
|
-
| 구현 불가능 판단 | 기술적으로 불가 |
|
|
453
|
-
| 보안/안전 이슈 | 심각한 취약점 발견 |
|
|
454
|
-
|
|
455
|
-
**보고 사항 (REPORT):**
|
|
456
|
-
- 예상보다 규모가 큼
|
|
457
|
-
- 의존성 문제 발견
|
|
458
|
-
- 일정 지연 예상
|
|
243
|
+
# 세션 로그 확인
|
|
244
|
+
ada logs
|
|
245
|
+
ada logs [session-id]
|
|
246
|
+
```
|
|
459
247
|
|
|
460
248
|
---
|
|
461
249
|
|
|
462
|
-
|
|
250
|
+
## 🔄 워크플로우
|
|
463
251
|
|
|
464
|
-
|
|
252
|
+
### 신규 프로젝트
|
|
465
253
|
|
|
466
|
-
|
|
254
|
+
```
|
|
255
|
+
1. Planner: 요구사항 수집
|
|
256
|
+
→ plan.md + backlog/*.md 생성
|
|
467
257
|
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
- 반복 되돌림 시 프로세스 점검
|
|
258
|
+
2. 사용자: 스프린트 생성
|
|
259
|
+
→ ada sprint create
|
|
260
|
+
→ ada sprint add task-001 task-002
|
|
472
261
|
|
|
473
|
-
|
|
262
|
+
3. Developer: Task 구현
|
|
263
|
+
→ 코드 작성
|
|
264
|
+
→ Task 상태를 DONE으로 변경
|
|
474
265
|
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
| project.md 규칙 위반 | Developer | 불필요 |
|
|
479
|
-
| 구조적 문제 | Architect | 필요 |
|
|
480
|
-
| 설계 수준 문제 | Architect | 필요 |
|
|
266
|
+
4. Reviewer: 코드 리뷰
|
|
267
|
+
→ review-reports/*.md 생성
|
|
268
|
+
→ PASS/REJECT 판정
|
|
481
269
|
|
|
482
|
-
|
|
270
|
+
5. 사용자: 스프린트 종료
|
|
271
|
+
→ ada sprint close
|
|
483
272
|
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
| 버그 | Developer |
|
|
487
|
-
| 수용 조건 오해 | Planner |
|
|
488
|
-
| 설계 문제 | Architect |
|
|
273
|
+
6. Documenter: 문서 작성
|
|
274
|
+
→ docs/*.md 생성 (API Changelog, Release Notes 등)
|
|
489
275
|
|
|
490
|
-
|
|
276
|
+
7. 다음 스프린트 시작
|
|
277
|
+
→ ada sprint create
|
|
278
|
+
```
|
|
491
279
|
|
|
492
|
-
|
|
280
|
+
### 기존 프로젝트
|
|
493
281
|
|
|
494
|
-
|
|
282
|
+
```
|
|
283
|
+
0. Analyzer: 코드베이스 분석
|
|
284
|
+
→ project.md 역생성
|
|
495
285
|
|
|
496
|
-
|
|
286
|
+
1. Planner: 추가 기능 기획
|
|
287
|
+
→ plan.md 업데이트
|
|
288
|
+
→ backlog/*.md 생성
|
|
497
289
|
|
|
498
|
-
|
|
290
|
+
2. 이후 신규 프로젝트와 동일
|
|
291
|
+
```
|
|
499
292
|
|
|
500
|
-
|
|
293
|
+
### Task 상태 흐름
|
|
501
294
|
|
|
502
295
|
```
|
|
503
|
-
|
|
504
|
-
2. project.md ← 기술 기준 (Frozen)
|
|
505
|
-
3. plan.md ← 요구사항 기준
|
|
506
|
-
4. backlog.md ← Task/수용 조건
|
|
507
|
-
5. 인터페이스 문서 ← api.md, ui.md 등
|
|
508
|
-
6. current-sprint.md ← 현재 범위
|
|
509
|
-
7. architecture-options.md
|
|
510
|
-
8. review/qa-report.md
|
|
296
|
+
BACKLOG → IN_DEV → DONE → (리뷰 후) → 스프린트 완료
|
|
511
297
|
```
|
|
512
298
|
|
|
513
|
-
**충돌 해결:**
|
|
514
|
-
- 상위 문서가 정답
|
|
515
|
-
- 하위 문서를 상위에 맞게 수정
|
|
516
|
-
- 수정 불가 시 Manager 에스컬레이션
|
|
517
|
-
|
|
518
299
|
---
|
|
519
300
|
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
**위치:** `core/rules/rfc.md`
|
|
523
|
-
|
|
524
|
-
Frozen 상태 문서 변경을 위한 공식 절차입니다.
|
|
301
|
+
## 📋 규칙 시스템
|
|
525
302
|
|
|
526
|
-
|
|
527
|
-
- project.md 변경
|
|
528
|
-
- plan.md의 확정된 기능 범위 변경
|
|
529
|
-
- decision.md 항목 번복
|
|
530
|
-
|
|
531
|
-
**RFC 절차:**
|
|
532
|
-
|
|
533
|
-
```
|
|
534
|
-
1. RFC 문서 작성 (ai-dev-team/artifacts/rfc/RFC-NNNN-title.md)
|
|
535
|
-
2. Manager 리뷰
|
|
536
|
-
3. 승인/거부 결정
|
|
537
|
-
4. 승인 시: 문서 업데이트 + decision.md 기록
|
|
538
|
-
```
|
|
539
|
-
|
|
540
|
-
**RFC 상태:**
|
|
303
|
+
### Core 규칙 (5개)
|
|
541
304
|
|
|
542
|
-
|
|
|
305
|
+
| 규칙 | 용도 |
|
|
543
306
|
|------|------|
|
|
544
|
-
|
|
|
545
|
-
|
|
|
546
|
-
|
|
|
547
|
-
|
|
|
548
|
-
|
|
549
|
-
**긴급 변경:**
|
|
550
|
-
- 보안 취약점, 심각한 버그 등
|
|
551
|
-
- 구두 승인 후 적용
|
|
552
|
-
- 24시간 내 RFC 사후 작성
|
|
553
|
-
|
|
554
|
-
---
|
|
307
|
+
| `iteration.md` | 스프린트/Task 단위 작업 규칙 |
|
|
308
|
+
| `escalation.md` | 에스컬레이션 기준 |
|
|
309
|
+
| `rollback.md` | REJECT 시 처리 절차 |
|
|
310
|
+
| `document-priority.md` | 문서 충돌 시 우선순위 |
|
|
311
|
+
| `rfc.md` | Frozen 문서 변경 절차 |
|
|
555
312
|
|
|
556
313
|
### 템플릿별 규칙
|
|
557
314
|
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
REST API 변경 절차를 정의합니다.
|
|
565
|
-
|
|
566
|
-
**변경 유형:**
|
|
567
|
-
|
|
568
|
-
| 유형 | 예시 | 승인 필요 |
|
|
569
|
-
|------|------|:--------:|
|
|
570
|
-
| 추가 | 새 엔드포인트 | 불필요 |
|
|
571
|
-
| 수정 (호환) | 선택 필드 추가 | 불필요 |
|
|
572
|
-
| 수정 (Breaking) | 필수 필드 추가, 삭제 | **Manager 승인** |
|
|
573
|
-
| 삭제 | 엔드포인트 제거 | **Manager 승인** |
|
|
574
|
-
|
|
575
|
-
**Breaking Change 절차:**
|
|
576
|
-
1. api.md에 Deprecated 표시
|
|
577
|
-
2. RFC 작성
|
|
578
|
-
3. Manager 승인
|
|
579
|
-
4. 마이그레이션 가이드 작성
|
|
580
|
-
5. 변경 적용
|
|
581
|
-
|
|
582
|
-
---
|
|
583
|
-
|
|
584
|
-
#### `versioning.md` (library)
|
|
585
|
-
|
|
586
|
-
**위치:** `templates/library/rules/versioning.md`
|
|
587
|
-
|
|
588
|
-
Semantic Versioning 규칙을 정의합니다.
|
|
589
|
-
|
|
590
|
-
**버전 형식:** `MAJOR.MINOR.PATCH`
|
|
591
|
-
|
|
592
|
-
| 변경 유형 | 버전 증가 | 예시 |
|
|
593
|
-
|----------|----------|------|
|
|
594
|
-
| Breaking Change | MAJOR | 1.0.0 → 2.0.0 |
|
|
595
|
-
| 새 기능 (호환) | MINOR | 1.0.0 → 1.1.0 |
|
|
596
|
-
| 버그 수정 | PATCH | 1.0.0 → 1.0.1 |
|
|
597
|
-
|
|
598
|
-
**changelog.md 필수 기록:**
|
|
599
|
-
- 변경 내용
|
|
600
|
-
- Breaking Change 여부
|
|
601
|
-
- 마이그레이션 가이드 (필요 시)
|
|
602
|
-
|
|
603
|
-
---
|
|
604
|
-
|
|
605
|
-
#### `system-change.md` (game)
|
|
606
|
-
|
|
607
|
-
**위치:** `templates/game/rules/system-change.md`
|
|
608
|
-
|
|
609
|
-
게임 시스템 변경 절차를 정의합니다.
|
|
610
|
-
|
|
611
|
-
**변경 영향 분석 필수:**
|
|
612
|
-
- 밸런스 영향
|
|
613
|
-
- 다른 시스템 의존성
|
|
614
|
-
- 저장 데이터 호환성
|
|
615
|
-
|
|
616
|
-
**변경 유형:**
|
|
617
|
-
|
|
618
|
-
| 유형 | 승인 필요 |
|
|
619
|
-
|------|:--------:|
|
|
620
|
-
| 수치 조정 (10% 이내) | 불필요 |
|
|
621
|
-
| 수치 조정 (10% 초과) | QA 확인 |
|
|
622
|
-
| 시스템 로직 변경 | **Manager 승인** |
|
|
623
|
-
| 새 시스템 추가 | **Architect 설계** |
|
|
624
|
-
|
|
625
|
-
---
|
|
626
|
-
|
|
627
|
-
#### `command-change.md` (cli)
|
|
628
|
-
|
|
629
|
-
**위치:** `templates/cli/rules/command-change.md`
|
|
630
|
-
|
|
631
|
-
CLI 명령어 변경 절차를 정의합니다.
|
|
632
|
-
|
|
633
|
-
**하위 호환성 원칙:**
|
|
634
|
-
- 기존 명령어 삭제 금지 (Deprecated 후 다음 메이저 버전)
|
|
635
|
-
- 기존 옵션 동작 변경 금지
|
|
636
|
-
- 출력 형식 변경 시 --format 옵션 제공
|
|
637
|
-
|
|
638
|
-
**변경 유형:**
|
|
639
|
-
|
|
640
|
-
| 유형 | 승인 필요 |
|
|
641
|
-
|------|:--------:|
|
|
642
|
-
| 새 명령어 추가 | 불필요 |
|
|
643
|
-
| 새 옵션 추가 | 불필요 |
|
|
644
|
-
| 명령어 Deprecated | **Manager 승인** |
|
|
645
|
-
| 출력 형식 변경 | QA 확인 |
|
|
315
|
+
| 템플릿 | 규칙 | 용도 |
|
|
316
|
+
|--------|------|------|
|
|
317
|
+
| web-dev | `api-change.md` | API 변경 절차 |
|
|
318
|
+
| library | `versioning.md` | Semantic Versioning |
|
|
319
|
+
| game | `system-change.md` | 게임 시스템 변경 |
|
|
320
|
+
| cli | `command-change.md` | CLI 명령어 변경 |
|
|
646
321
|
|
|
647
322
|
---
|
|
648
323
|
|
|
649
|
-
##
|
|
324
|
+
## 📄 산출물
|
|
650
325
|
|
|
651
|
-
###
|
|
326
|
+
### Core 산출물
|
|
652
327
|
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
Manager (스프린트 시작)
|
|
664
|
-
↓
|
|
665
|
-
[Sprint Loop]
|
|
666
|
-
Developer → Reviewer → QA → Manager (Task 완료)
|
|
667
|
-
↓
|
|
668
|
-
Manager (스프린트 종료)
|
|
669
|
-
↓
|
|
670
|
-
(다음 스프린트 또는 완료)
|
|
671
|
-
```
|
|
328
|
+
| 문서 | 관리자 | 용도 |
|
|
329
|
+
|------|--------|------|
|
|
330
|
+
| plan.md | Planner | 전체 요구사항 |
|
|
331
|
+
| project.md | 사용자/팀 (선택) | 기술 기준 (Frozen) |
|
|
332
|
+
| backlog/*.md | Planner | 스프린트 미할당 Task |
|
|
333
|
+
| sprints/sprint-N/meta.md | 자동 생성 | 스프린트 메타정보 |
|
|
334
|
+
| sprints/sprint-N/tasks/*.md | Developer | Task별 상세 정보 |
|
|
335
|
+
| sprints/sprint-N/review-reports/*.md | Reviewer | 리뷰 결과 |
|
|
336
|
+
| sprints/sprint-N/docs/*.md | Documenter | 릴리스 문서 |
|
|
337
|
+
| sprints/sprint-N/retrospective.md | 사용자 | 회고 |
|
|
672
338
|
|
|
673
|
-
###
|
|
339
|
+
### 템플릿별 산출물
|
|
674
340
|
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
341
|
+
| 템플릿 | 문서 | 용도 |
|
|
342
|
+
|--------|------|------|
|
|
343
|
+
| web-dev | api.md, ui.md | API 계약, 화면 설계 |
|
|
344
|
+
| library | public-api.md, changelog.md | 공개 API, 변경 이력 |
|
|
345
|
+
| game | game-systems.md, assets.md | 시스템, 에셋 |
|
|
346
|
+
| cli | commands.md, output-format.md | 명령어, 출력 형식 |
|
|
678
347
|
|
|
679
348
|
---
|
|
680
349
|
|
|
681
350
|
## 🖥️ 멀티 세션 모드
|
|
682
351
|
|
|
683
|
-
여러 터미널에서 동시에 다른 역할을 실행할 수 있습니다.
|
|
352
|
+
여러 터미널에서 동시에 다른 역할을 실행할 수 있습니다.
|
|
684
353
|
|
|
685
354
|
### 사용 예시
|
|
686
355
|
|
|
687
356
|
```bash
|
|
688
|
-
# 터미널 1:
|
|
689
|
-
ada
|
|
357
|
+
# 터미널 1: Planner
|
|
358
|
+
ada planner claude
|
|
690
359
|
|
|
691
360
|
# 터미널 2: Developer
|
|
692
361
|
ada developer codex
|
|
693
362
|
|
|
694
363
|
# 터미널 3: Reviewer
|
|
695
364
|
ada reviewer gemini
|
|
365
|
+
|
|
366
|
+
# 터미널 4: 실시간 모니터링
|
|
367
|
+
ada sessions --watch
|
|
696
368
|
```
|
|
697
369
|
|
|
698
370
|
### 자동 세션 관리
|
|
699
371
|
|
|
700
372
|
**세션 시작 시:**
|
|
701
373
|
- `.ada-status.json`에 자동 등록
|
|
702
|
-
-
|
|
703
|
-
-
|
|
374
|
+
- 터미널 타이틀 설정 (예: "ADA: developer (codex)")
|
|
375
|
+
- 역할 이모지 배너 표시
|
|
704
376
|
|
|
705
377
|
**세션 종료 시:**
|
|
706
378
|
- 상태 파일에서 자동 제거
|
|
707
|
-
-
|
|
379
|
+
- 세션 로그 저장
|
|
708
380
|
|
|
709
381
|
### 상태 파일
|
|
710
382
|
|
|
711
383
|
```
|
|
712
|
-
ai-dev-team/.ada-status.json
|
|
384
|
+
ai-dev-team/.sessions/.ada-status.json
|
|
713
385
|
```
|
|
714
386
|
|
|
715
387
|
모든 세션이 이 파일을 통해 상태를 공유합니다.
|
|
716
388
|
|
|
717
|
-
|
|
718
|
-
- `activeSessions[]`:
|
|
719
|
-
- `pendingQuestions[]`: 응답 대기 중인 질문
|
|
720
|
-
- `taskProgress{}`: Task별 진행률
|
|
389
|
+
**구성:**
|
|
390
|
+
- `activeSessions[]`: 실행 중인 세션
|
|
721
391
|
- `notifications[]`: 세션 간 알림
|
|
722
|
-
-
|
|
723
|
-
|
|
724
|
-
### 실시간 모니터링
|
|
392
|
+
- (기존 Manager 관련 필드는 제거됨)
|
|
725
393
|
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
```bash
|
|
729
|
-
ada sessions
|
|
730
|
-
```
|
|
394
|
+
---
|
|
731
395
|
|
|
732
|
-
|
|
396
|
+
## ⚠️ 핵심 원칙
|
|
733
397
|
|
|
734
|
-
|
|
735
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
736
|
-
📋 세션 상태
|
|
737
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
398
|
+
### 금지 사항
|
|
738
399
|
|
|
739
|
-
|
|
400
|
+
- ❌ 문서 없는 진행
|
|
401
|
+
- ❌ 기준 없는 판단
|
|
402
|
+
- ❌ 감으로 추가된 기술
|
|
403
|
+
- ❌ 스프린트 외 작업
|
|
404
|
+
- ❌ "김에" 리팩토링
|
|
405
|
+
- ❌ 역할 간 경계 침범
|
|
740
406
|
|
|
741
|
-
|
|
742
|
-
developer codex 2024-12-29 14:20 🟢 active
|
|
743
|
-
reviewer gemini 2024-12-29 14:25 🟢 active
|
|
407
|
+
### 필수 사항
|
|
744
408
|
|
|
745
|
-
|
|
409
|
+
- ✅ 문서 기준 판단
|
|
410
|
+
- ✅ 역할별 책임 분리
|
|
411
|
+
- ✅ Task 단위 반복 개발
|
|
412
|
+
- ✅ 스프린트 단위 관리
|
|
413
|
+
- ✅ REJECT 시 원인 분석
|
|
746
414
|
|
|
747
|
-
|
|
748
|
-
질문: Redis 캐시를 적용할까요?
|
|
749
|
-
옵션: y: 적용, n: 미적용
|
|
415
|
+
---
|
|
750
416
|
|
|
751
|
-
📊
|
|
417
|
+
## 📊 템플릿 비교
|
|
752
418
|
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
419
|
+
| 템플릿 | 설명 | 특화 문서 |
|
|
420
|
+
|--------|------|----------|
|
|
421
|
+
| **web-dev** | 웹 서비스/API 서버 | api.md, ui.md |
|
|
422
|
+
| **library** | npm/pip 라이브러리 | public-api.md, changelog.md |
|
|
423
|
+
| **game** | 게임 개발 | game-systems.md, assets.md |
|
|
424
|
+
| **cli** | CLI 도구 | commands.md, output-format.md |
|
|
757
425
|
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
AI 에이전트가 Manager에게 질문해야 할 때, `.ada-status.json`의 `pendingQuestions`에 질문을 추가합니다.
|
|
761
|
-
|
|
762
|
-
**질문 등록 (AI가 수행):**
|
|
763
|
-
|
|
764
|
-
```javascript
|
|
765
|
-
// AI가 .ada-status.json 파일을 직접 수정
|
|
766
|
-
{
|
|
767
|
-
"pendingQuestions": [
|
|
768
|
-
{
|
|
769
|
-
"id": "QD001",
|
|
770
|
-
"from": "developer",
|
|
771
|
-
"to": "manager",
|
|
772
|
-
"question": "Redis 캐시를 적용할까요?",
|
|
773
|
-
"options": ["y: 적용", "n: 미적용"],
|
|
774
|
-
"status": "waiting",
|
|
775
|
-
"createdAt": "2024-12-29T14:30:00Z"
|
|
776
|
-
}
|
|
777
|
-
]
|
|
778
|
-
}
|
|
779
|
-
```
|
|
426
|
+
---
|
|
780
427
|
|
|
781
|
-
|
|
428
|
+
## 🎯 주요 개선 사항 (v0.2.0)
|
|
782
429
|
|
|
783
|
-
|
|
430
|
+
### 역할 시스템 간소화
|
|
784
431
|
|
|
785
|
-
|
|
432
|
+
**이전 (v0.1.x):**
|
|
433
|
+
- 7개 Core 역할 + 템플릿별 특화 역할 (총 13개)
|
|
434
|
+
- Manager 중심의 복잡한 승인 프로세스
|
|
435
|
+
- 역할 간 blocking 문제 (backend ↔ frontend)
|
|
786
436
|
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
437
|
+
**현재 (v0.2.x):**
|
|
438
|
+
- 4개 핵심 역할 (planner, developer, reviewer, documenter)
|
|
439
|
+
- 사용자 직접 스프린트 관리 (CLI 명령어)
|
|
440
|
+
- 단순화된 워크플로우
|
|
791
441
|
|
|
792
|
-
###
|
|
442
|
+
### 스프린트 기반 구조
|
|
793
443
|
|
|
794
|
-
|
|
444
|
+
**이전:**
|
|
445
|
+
- 단일 파일 (backlog.md, current-sprint.md)
|
|
446
|
+
- Git 충돌 위험
|
|
447
|
+
- Task별 독립성 부족
|
|
795
448
|
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
449
|
+
**현재:**
|
|
450
|
+
- 디렉토리 기반 (sprints/sprint-N/)
|
|
451
|
+
- Task별 개별 파일 (task-NNN.md)
|
|
452
|
+
- 리뷰/문서도 Task별 분리
|
|
453
|
+
- 완료된 스프린트는 불변 (이력 보존)
|
|
800
454
|
|
|
801
|
-
###
|
|
455
|
+
### 자동화 개선
|
|
802
456
|
|
|
803
|
-
|
|
804
|
-
- `
|
|
805
|
-
- `
|
|
457
|
+
**추가된 CLI 명령어:**
|
|
458
|
+
- `ada sprint create` - 스프린트 자동 생성
|
|
459
|
+
- `ada sprint add` - Task 자동 추가
|
|
460
|
+
- `ada sprint close` - 스프린트 종료 및 회고 템플릿 생성
|
|
461
|
+
- `ada sprint list` - 스프린트 목록 확인
|
|
806
462
|
|
|
807
463
|
---
|
|
808
464
|
|
|
809
|
-
##
|
|
465
|
+
## 🔧 개발 환경
|
|
810
466
|
|
|
811
|
-
|
|
467
|
+
### 필수 요구사항
|
|
812
468
|
|
|
813
|
-
|
|
469
|
+
- Node.js 18+
|
|
470
|
+
- npm 7+
|
|
814
471
|
|
|
815
|
-
|
|
816
|
-
ai-dev-team/artifacts/features/
|
|
817
|
-
├── F001-user-auth/
|
|
818
|
-
│ ├── spec.md # Feature 스펙
|
|
819
|
-
│ ├── api.md # Feature API
|
|
820
|
-
│ ├── ui.md # Feature UI
|
|
821
|
-
│ ├── review.md # 리뷰 기록
|
|
822
|
-
│ └── qa.md # QA 기록
|
|
823
|
-
└── _template/ # 템플릿
|
|
824
|
-
```
|
|
825
|
-
|
|
826
|
-
### 사용 시점
|
|
827
|
-
|
|
828
|
-
**사용 권장:**
|
|
829
|
-
- 프로젝트 규모 M 이상
|
|
830
|
-
- 기능 3개 이상
|
|
831
|
-
- 병렬 개발 필요
|
|
472
|
+
### 로컬 개발
|
|
832
473
|
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
### 명명 규칙
|
|
839
|
-
|
|
840
|
-
```
|
|
841
|
-
<Feature-ID>-<feature-name>/
|
|
474
|
+
```bash
|
|
475
|
+
git clone https://github.com/silbaram/artifact-driven-agent.git
|
|
476
|
+
cd artifact-driven-agent
|
|
477
|
+
npm install
|
|
478
|
+
npm link # 전역 ada 명령어 등록
|
|
842
479
|
```
|
|
843
480
|
|
|
844
|
-
|
|
481
|
+
### 테스트
|
|
845
482
|
|
|
846
|
-
|
|
483
|
+
```bash
|
|
484
|
+
npm test # Node.js 내장 test runner 사용
|
|
485
|
+
```
|
|
847
486
|
|
|
848
487
|
---
|
|
849
488
|
|
|
850
|
-
##
|
|
489
|
+
## 📄 문서
|
|
851
490
|
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
| 버전 관리 | - | ✅ | - | ✅ |
|
|
857
|
-
| 에셋 관리 | - | - | ✅ | - |
|
|
858
|
-
| UI/UX 문서 | ✅ | - | ✅ | ✅ |
|
|
491
|
+
- **CLAUDE.md**: Claude Code AI를 위한 상세 가이드
|
|
492
|
+
- **core/roles/*.md**: 각 역할의 상세 규칙
|
|
493
|
+
- **core/rules/*.md**: 핵심 규칙 문서
|
|
494
|
+
- **templates/*/**: 템플릿별 특화 문서
|
|
859
495
|
|
|
860
496
|
---
|
|
861
497
|
|
|
862
|
-
##
|
|
863
|
-
|
|
864
|
-
### 금지 사항
|
|
498
|
+
## 🤝 기여
|
|
865
499
|
|
|
866
|
-
|
|
867
|
-
- ❌ 기준 없는 판단
|
|
868
|
-
- ❌ 감으로 추가된 기술
|
|
869
|
-
- ❌ 스프린트 외 작업
|
|
870
|
-
- ❌ Frozen 문서 무단 변경
|
|
500
|
+
이슈 및 PR 환영합니다!
|
|
871
501
|
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
- ✅ 문서 기준 판단
|
|
875
|
-
- ✅ 역할별 책임 분리
|
|
876
|
-
- ✅ Task 단위 반복 개발
|
|
877
|
-
- ✅ 변경 시 RFC 절차
|
|
502
|
+
**보고 위치:**
|
|
503
|
+
- GitHub Issues: https://github.com/silbaram/artifact-driven-agent/issues
|
|
878
504
|
|
|
879
505
|
---
|
|
880
506
|
|
|
881
507
|
## 📄 라이선스
|
|
882
508
|
|
|
883
509
|
MIT License
|
|
510
|
+
|
|
511
|
+
---
|
|
512
|
+
|
|
513
|
+
## 📮 연락처
|
|
514
|
+
|
|
515
|
+
- GitHub: [@silbaram](https://github.com/silbaram)
|
|
516
|
+
- npm: [@silbaram/artifact-driven-agent](https://www.npmjs.com/package/@silbaram/artifact-driven-agent)
|