@silbaram/artifact-driven-agent 0.1.5 → 0.1.7

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