@silbaram/artifact-driven-agent 0.1.6 → 0.1.9

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 (80) hide show
  1. package/README.md +709 -516
  2. package/ai-dev-team/.ada-status.json +10 -0
  3. package/ai-dev-team/.ada-version +6 -0
  4. package/ai-dev-team/.current-template +1 -0
  5. package/ai-dev-team/.sessions/logs/20260124-014551-00f04724.log +5 -0
  6. package/ai-dev-team/.sessions/logs/20260124-014623-cb2b1d44.log +5 -0
  7. package/ai-dev-team/ada.config.json +15 -0
  8. package/ai-dev-team/artifacts/api.md +212 -0
  9. package/ai-dev-team/artifacts/decision.md +72 -0
  10. package/ai-dev-team/artifacts/improvement-reports/IMP-0000-template.md +57 -0
  11. package/ai-dev-team/artifacts/plan.md +187 -0
  12. package/ai-dev-team/artifacts/project.md +193 -0
  13. package/ai-dev-team/artifacts/sprints/_template/docs/release-notes.md +37 -0
  14. package/ai-dev-team/artifacts/sprints/_template/meta.md +54 -0
  15. package/ai-dev-team/artifacts/sprints/_template/retrospective.md +50 -0
  16. package/ai-dev-team/artifacts/sprints/_template/review-reports/review-template.md +49 -0
  17. package/ai-dev-team/artifacts/sprints/_template/tasks/task-template.md +43 -0
  18. package/ai-dev-team/artifacts/ui.md +104 -0
  19. package/ai-dev-team/roles/analyzer.md +265 -0
  20. package/ai-dev-team/roles/developer.md +222 -0
  21. package/ai-dev-team/roles/documenter.md +715 -0
  22. package/ai-dev-team/roles/improver.md +461 -0
  23. package/ai-dev-team/roles/manager.md +544 -0
  24. package/ai-dev-team/roles/planner.md +398 -0
  25. package/ai-dev-team/roles/reviewer.md +294 -0
  26. package/ai-dev-team/rules/api-change.md +198 -0
  27. package/ai-dev-team/rules/document-priority.md +199 -0
  28. package/ai-dev-team/rules/escalation.md +172 -0
  29. package/ai-dev-team/rules/iteration.md +236 -0
  30. package/ai-dev-team/rules/rfc.md +31 -0
  31. package/ai-dev-team/rules/rollback.md +218 -0
  32. package/bin/cli.js +49 -5
  33. package/core/artifacts/sprints/_template/meta.md +4 -4
  34. package/core/docs-templates/mkdocs/docs/architecture/overview.md +29 -0
  35. package/core/docs-templates/mkdocs/docs/changelog.md +36 -0
  36. package/core/docs-templates/mkdocs/docs/contributing/contributing.md +60 -0
  37. package/core/docs-templates/mkdocs/docs/getting-started/configuration.md +51 -0
  38. package/core/docs-templates/mkdocs/docs/getting-started/installation.md +41 -0
  39. package/core/docs-templates/mkdocs/docs/getting-started/quick-start.md +56 -0
  40. package/core/docs-templates/mkdocs/docs/guides/api-reference.md +83 -0
  41. package/core/docs-templates/mkdocs/docs/index.md +32 -0
  42. package/core/docs-templates/mkdocs/mkdocs.yml +86 -0
  43. package/core/roles/analyzer.md +32 -10
  44. package/core/roles/developer.md +222 -223
  45. package/core/roles/documenter.md +592 -170
  46. package/core/roles/improver.md +461 -0
  47. package/core/roles/manager.md +4 -1
  48. package/core/roles/planner.md +160 -10
  49. package/core/roles/reviewer.md +31 -3
  50. package/core/rules/document-priority.md +2 -1
  51. package/core/rules/rollback.md +3 -3
  52. package/package.json +1 -1
  53. package/src/commands/config.js +371 -0
  54. package/src/commands/docs.js +502 -0
  55. package/src/commands/interactive.js +324 -33
  56. package/src/commands/monitor.js +236 -0
  57. package/src/commands/run.js +360 -122
  58. package/src/commands/sessions.js +270 -70
  59. package/src/commands/setup.js +22 -1
  60. package/src/commands/sprint.js +295 -54
  61. package/src/commands/status.js +34 -1
  62. package/src/commands/upgrade.js +416 -0
  63. package/src/commands/validate.js +4 -3
  64. package/src/index.js +1 -0
  65. package/src/ui/dashboard.js +518 -0
  66. package/src/ui/keyHandler.js +147 -0
  67. package/src/ui/quickActions.js +111 -0
  68. package/src/utils/config.js +74 -0
  69. package/src/utils/files.js +70 -3
  70. package/src/utils/sessionState.js +472 -328
  71. package/src/utils/sessionState.process.test.js +101 -0
  72. package/src/utils/sessionState.test.js +183 -0
  73. package/src/utils/sprintUtils.js +134 -0
  74. package/src/utils/taskParser.js +134 -0
  75. package/src/utils/taskParser.test.js +76 -0
  76. package/ai-dev-team/artifacts/features/_template/qa.md +0 -16
  77. package/examples/todo-app/README.md +0 -23
  78. package/examples/todo-app/artifacts/backlog.md +0 -23
  79. package/examples/todo-app/artifacts/plan.md +0 -23
  80. package/examples/todo-app/artifacts/project.md +0 -23
package/README.md CHANGED
@@ -1,516 +1,709 @@
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
- ada logs
245
- ada logs [session-id]
246
- ```
247
-
248
- ---
249
-
250
- ## 🔄 워크플로우
251
-
252
- ### 신규 프로젝트
253
-
254
- ```
255
- 1. Planner: 요구사항 수집
256
- → plan.md + backlog/*.md 생성
257
-
258
- 2. 사용자: 스프린트 생성
259
- ada sprint create
260
- → ada sprint add task-001 task-002
261
-
262
- 3. Developer: Task 구현
263
- 코드 작성
264
- → Task 상태를 DONE으로 변경
265
-
266
- 4. Reviewer: 코드 리뷰
267
- review-reports/*.md 생성
268
- PASS/REJECT 판정
269
-
270
- 5. 사용자: 스프린트 종료
271
- ada sprint close
272
-
273
- 6. Documenter: 문서 작성
274
- docs/*.md 생성 (API Changelog, Release Notes 등)
275
-
276
- 7. 다음 스프린트 시작
277
- ada sprint create
278
- ```
279
-
280
- ### 기존 프로젝트
281
-
282
- ```
283
- 0. Analyzer: 코드베이스 분석
284
- project.md 역생성
285
-
286
- 1. Planner: 추가 기능 기획
287
- plan.md 업데이트
288
- backlog/*.md 생성
289
-
290
- 2. 이후 신규 프로젝트와 동일
291
- ```
292
-
293
- ### Task 상태 흐름
294
-
295
- ```
296
- BACKLOG IN_DEV → DONE → (리뷰 후) → 스프린트 완료
297
- ```
298
-
299
- ---
300
-
301
- ## 📋 규칙 시스템
302
-
303
- ### Core 규칙 (5개)
304
-
305
- | 규칙 | 용도 |
306
- |------|------|
307
- | `iteration.md` | 스프린트/Task 단위 작업 규칙 |
308
- | `escalation.md` | 에스컬레이션 기준 |
309
- | `rollback.md` | REJECT 시 처리 절차 |
310
- | `document-priority.md` | 문서 충돌 시 우선순위 |
311
- | `rfc.md` | Frozen 문서 변경 절차 |
312
-
313
- ### 템플릿별 규칙
314
-
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 명령어 변경 |
321
-
322
- ---
323
-
324
- ## 📄 산출물
325
-
326
- ### Core 산출물
327
-
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 | 사용자 | 회고 |
338
-
339
- ### 템플릿별 산출물
340
-
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 | 명령어, 출력 형식 |
347
-
348
- ---
349
-
350
- ## 🖥️ 멀티 세션 모드
351
-
352
- 여러 터미널에서 동시에 다른 역할을 실행할 수 있습니다.
353
-
354
- ### 사용 예시
355
-
356
- ```bash
357
- # 터미널 1: Planner
358
- ada planner claude
359
-
360
- # 터미널 2: Developer
361
- ada developer codex
362
-
363
- # 터미널 3: Reviewer
364
- ada reviewer gemini
365
-
366
- # 터미널 4: 실시간 모니터링
367
- ada sessions --watch
368
- ```
369
-
370
- ### 자동 세션 관리
371
-
372
- **세션 시작 시:**
373
- - `.ada-status.json`에 자동 등록
374
- - 터미널 타이틀 설정 (예: "ADA: developer (codex)")
375
- - 역할 이모지 배너 표시
376
-
377
- **세션 종료 시:**
378
- - 상태 파일에서 자동 제거
379
- - 세션 로그 저장
380
-
381
- ### 상태 파일
382
-
383
- ```
384
- ai-dev-team/.sessions/.ada-status.json
385
- ```
386
-
387
- 모든 세션이 이 파일을 통해 상태를 공유합니다.
388
-
389
- **구성:**
390
- - `activeSessions[]`: 실행 중인 세션
391
- - `notifications[]`: 세션 간 알림
392
- - (기존 Manager 관련 필드는 제거됨)
393
-
394
- ---
395
-
396
- ## ⚠️ 핵심 원칙
397
-
398
- ### 금지 사항
399
-
400
- - 문서 없는 진행
401
- - 기준 없는 판단
402
- - ❌ 감으로 추가된 기술
403
- - 스프린트 외 작업
404
- - ❌ "김에" 리팩토링
405
- - 역할 간 경계 침범
406
-
407
- ### 필수 사항
408
-
409
- - 문서 기준 판단
410
- - ✅ 역할별 책임 분리
411
- - ✅ Task 단위 반복 개발
412
- - 스프린트 단위 관리
413
- - ✅ REJECT 시 원인 분석
414
-
415
- ---
416
-
417
- ## 📊 템플릿 비교
418
-
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 |
425
-
426
- ---
427
-
428
- ## 🎯 주요 개선 사항 (v0.2.0)
429
-
430
- ### 역할 시스템 간소화
431
-
432
- **이전 (v0.1.x):**
433
- - 7개 Core 역할 + 템플릿별 특화 역할 (총 13개)
434
- - Manager 중심의 복잡한 승인 프로세스
435
- - 역할 간 blocking 문제 (backend ↔ frontend)
436
-
437
- **현재 (v0.2.x):**
438
- - 4개 핵심 역할 (planner, developer, reviewer, documenter)
439
- - 사용자 직접 스프린트 관리 (CLI 명령어)
440
- - 단순화된 워크플로우
441
-
442
- ### 스프린트 기반 구조
443
-
444
- **이전:**
445
- - 단일 파일 (backlog.md, current-sprint.md)
446
- - Git 충돌 위험
447
- - Task별 독립성 부족
448
-
449
- **현재:**
450
- - 디렉토리 기반 (sprints/sprint-N/)
451
- - Task별 개별 파일 (task-NNN.md)
452
- - 리뷰/문서도 Task별 분리
453
- - 완료된 스프린트는 불변 (이력 보존)
454
-
455
- ### 자동화 개선
456
-
457
- **추가된 CLI 명령어:**
458
- - `ada sprint create` - 스프린트 자동 생성
459
- - `ada sprint add` - Task 자동 추가
460
- - `ada sprint close` - 스프린트 종료 및 회고 템플릿 생성
461
- - `ada sprint list` - 스프린트 목록 확인
462
-
463
- ---
464
-
465
- ## 🔧 개발 환경
466
-
467
- ### 필수 요구사항
468
-
469
- - Node.js 18+
470
- - npm 7+
471
-
472
- ### 로컬 개발
473
-
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 명령어 등록
479
- ```
480
-
481
- ### 테스트
482
-
483
- ```bash
484
- npm test # Node.js 내장 test runner 사용
485
- ```
486
-
487
- ---
488
-
489
- ## 📄 문서
490
-
491
- - **CLAUDE.md**: Claude Code AI를 위한 상세 가이드
492
- - **core/roles/*.md**: 역할의 상세 규칙
493
- - **core/rules/*.md**: 핵심 규칙 문서
494
- - **templates/*/**: 템플릿별 특화 문서
495
-
496
- ---
497
-
498
- ## 🤝 기여
499
-
500
- 이슈 PR 환영합니다!
501
-
502
- **보고 위치:**
503
- - GitHub Issues: https://github.com/silbaram/artifact-driven-agent/issues
504
-
505
- ---
506
-
507
- ## 📄 라이선스
508
-
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)
1
+ # Artifact-Driven AI Agent Framework
2
+
3
+ **문서 기반 멀티 AI 에이전트 개발 프레임워크**
4
+
5
+ 5개 핵심 역할(Planner, Improver, 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
+ npm 패키지를 업데이트한 후, 기존 작업공간도 최신 버전으로 업그레이드해야 합니다.
66
+
67
+ ```bash
68
+ # npm 패키지 업데이트
69
+ npm install -g @silbaram/artifact-driven-agent@latest
70
+
71
+ # 작업공간 상태 확인 (버전 불일치 경고 표시)
72
+ ada status
73
+
74
+ # 변경 사항 미리보기
75
+ ada upgrade --dry-run
76
+
77
+ # 안전 업그레이드 (백업 + 확인)
78
+ ada upgrade
79
+
80
+ # 강제 업그레이드 (확인 없이)
81
+ ada upgrade --force
82
+
83
+ # 문제 발생 시 롤백
84
+ ada upgrade --rollback
85
+ ```
86
+
87
+ **업그레이드 동작:**
88
+ - ✅ `roles/`, `rules/` 디렉토리 업데이트 (프레임워크 파일)
89
+ - 자동 백업 생성 (`.backups/upgrade-YYYYMMDD-HHMMSS/`)
90
+ - ✅ 사용자 데이터 보존 (`backlog/`, `sprints/`, `decision.md`, `project.md`, `plan.md`)
91
+ - ✅ 버전 추적 (`.ada-version` 파일)
92
+
93
+ ---
94
+
95
+ ## 🖥️ 빠른 시작
96
+
97
+ ### 1. 프로젝트 세팅
98
+
99
+ ```bash
100
+ ada setup web # 웹 서비스
101
+ ada setup lib # 라이브러리
102
+ ada setup game # 게임
103
+ ada setup cli # CLI 도구
104
+ ```
105
+
106
+ ### 2. 기획 시작
107
+
108
+ ```bash
109
+ ada planner claude # 요구사항 수집 → plan.md + backlog/*.md 생성
110
+ ```
111
+
112
+ ### 3. 스프린트 생성
113
+
114
+ ```bash
115
+ ada sprint create # 새 스프린트 생성
116
+ ada sprint add task-001 task-002 # Task 추가
117
+ ```
118
+
119
+ ### 4. 개발
120
+
121
+ ```bash
122
+ ada developer claude # Task 구현 → DONE 상태로 변경
123
+ ```
124
+
125
+ ### 5. 리뷰
126
+
127
+ ```bash
128
+ ada reviewer claude # 코드 리뷰 → review-reports/ 생성
129
+ ```
130
+
131
+ ### 6. 스프린트 종료 및 문서화
132
+
133
+ ```bash
134
+ # 스프린트 종료 및 정리
135
+ ada sprint close # 작업 파일을 archive/ 폴더로 이동 (권장)
136
+ ada sprint close --clean # 작업 파일 완전 삭제 (최종 문서만 유지)
137
+ ada sprint close --keep-all # 모든 파일 유지
138
+
139
+ # 문서 작성
140
+ ada documenter claude # Release Notes, API Changelog 등 생성
141
+ ```
142
+
143
+ ### 7. (선택) 프로젝트 문서 관리
144
+
145
+ ```bash
146
+ # 문서 사이트 초기화 (최초 1회)
147
+ ada docs init
148
+
149
+ # 문서 생성/업데이트
150
+ ada documenter claude # Documenter가 docs/ 업데이트
151
+
152
+ # 로컬 미리보기
153
+ ada docs serve
154
+
155
+ # GitHub Pages 배포
156
+ ada docs publish
157
+ ```
158
+
159
+ **종료 후 구조 (기본):**
160
+ ```
161
+ sprints/sprint-N/
162
+ ├── meta.md # 스프린트 정보
163
+ ├── docs/ # 최종 문서 ✅
164
+ └── archive/ # 작업 과정 보관
165
+ ├── tasks/
166
+ └── review-reports/
167
+ ```
168
+
169
+ ---
170
+
171
+ ## 👥 역할 시스템
172
+
173
+ ### 핵심 역할 (5개) - 모든 프로젝트 필수
174
+
175
+ | 역할 | 책임 | 산출물 |
176
+ |------|------|--------|
177
+ | **Planner** | 신규 기능 요구사항 수집, Task 분해 | plan.md, backlog/*.md |
178
+ | **Improver** | 기존 기능 개선 분석 및 기획 | improvement-reports/*.md, backlog/*.md |
179
+ | **Developer** | 코드 구현, Task 완료 | 소스 코드, Task 파일 업데이트 |
180
+ | **Reviewer** | 코드 리뷰, 품질 판정 | review-reports/*.md |
181
+ | **Documenter** | 스프린트 완료 시 문서 작성 | API Changelog, Release Notes, User Guide |
182
+
183
+ ### 선택 역할 (1개) - 기존 프로젝트 도입 시
184
+
185
+ | 역할 | 책임 | 사용 시점 |
186
+ |------|------|----------|
187
+ | **Analyzer** | 기존 코드베이스 분석, project.md 역생성 | 레거시 프로젝트에 ada 도입 시 |
188
+
189
+ ---
190
+
191
+ ## 📂 디렉토리 구조
192
+
193
+ ### 프로젝트 루트
194
+
195
+ ```
196
+ artifact-driven-agent/
197
+ ├── bin/cli.js # CLI 진입점
198
+ ├── src/
199
+ │ ├── commands/ # 명령어 구현
200
+ │ │ ├── setup.js
201
+ │ │ ├── run.js
202
+ │ │ ├── sprint.js # 스프린트 관리
203
+ │ │ ├── sessions.js # 세션 모니터링
204
+ │ │ └── config.js # 설정 관리
205
+ │ └── utils/
206
+ │ ├── files.js
207
+ │ ├── config.js # 설정 유틸리티
208
+ │ └── sessionState.js
209
+ ├── core/ # 범용 핵심
210
+ │ ├── roles/ # 6개 역할
211
+ │ ├── artifacts/ # 산출물 템플릿
212
+ │ │ └── sprints/
213
+ │ │ └── _template/ # 스프린트 템플릿
214
+ │ └── rules/ # 5개 규칙
215
+ └── templates/ # 프로젝트 유형별
216
+ ├── web-dev/
217
+ ├── library/
218
+ ├── game/
219
+ └── cli/
220
+ ```
221
+
222
+ ### 작업 디렉토리 (setup 후)
223
+
224
+ ```
225
+ ai-dev-team/
226
+ ├── artifacts/
227
+ │ ├── plan.md # 전체 요구사항
228
+ │ ├── project.md # 기술 기준 (선택)
229
+ │ ├── backlog/ # 스프린트 미할당 Task
230
+ │ │ ├── task-001.md
231
+ │ │ └── task-002.md
232
+ │ └── sprints/ # 스프린트별 디렉토리
233
+ │ ├── sprint-1/ # 완료된 스프린트
234
+ │ │ ├── meta.md
235
+ │ │ ├── tasks/
236
+ │ │ │ ├── task-003.md
237
+ │ │ │ └── task-004.md
238
+ │ │ ├── review-reports/
239
+ │ │ │ ├── task-003.md
240
+ │ │ │ └── task-004.md
241
+ │ │ ├── docs/
242
+ │ │ │ ├── api-changelog.md
243
+ │ │ │ └── release-notes.md
244
+ │ │ └── retrospective.md
245
+ │ └── sprint-2/ # 진행 중인 스프린트
246
+ │ ├── meta.md
247
+ │ └── tasks/
248
+ │ └── task-005.md
249
+ ├── roles/ # core + template 병합
250
+ ├── rules/
251
+ ├── ada.config.json # 역할별 AI 도구 설정
252
+ ├── .ada-status.json # 멀티 세션 상태 파일
253
+ └── .sessions/ # 세션 이력
254
+ └── logs/
255
+ ```
256
+
257
+ ---
258
+
259
+ ## 🖥️ CLI 명령어
260
+
261
+ ### 기본 명령어
262
+
263
+ | 명령어 | 설명 |
264
+ |--------|------|
265
+ | `ada` | 대화형 모드 |
266
+ | `ada setup [template]` | 템플릿 세팅 (web, lib, game, cli) |
267
+ | `ada status` | 상태 확인 (버전 체크 포함) |
268
+ | `ada config` | 설정 변경 (대화형) |
269
+ | `ada config show` | 현재 설정 보기 |
270
+ | `ada config list` | 현재 설정 보기 (show와 동일) |
271
+ | `ada config get <key>` | 설정 값 조회 |
272
+ | `ada config set <key> <value>` | 설정 값 변경 |
273
+ | `ada upgrade` | 작업공간을 최신 버전으로 업그레이드 |
274
+ | `ada upgrade --dry-run` | 변경 사항 미리보기 |
275
+ | `ada upgrade --rollback` | 이전 백업으로 롤백 |
276
+ | `ada validate [doc]` | 문서 검증 |
277
+ | `ada reset [-f]` | 초기화 |
278
+
279
+ ### 스프린트 관리
280
+
281
+ | 명령어 | 설명 |
282
+ |--------|------|
283
+ | `ada sprint create` | 새 스프린트 생성 |
284
+ | `ada sprint add task-001 ...` | Task 추가 |
285
+ | `ada sprint sync` | meta.md 상태 동기화 (Task 파일 반영) |
286
+ | `ada sprint close` | 스프린트 종료 (작업 파일 archive/) |
287
+ | `ada sprint close --auto` | 스프린트 자동 종료 (회고 기본값) |
288
+ | `ada sprint close --clean` | 스프린트 종료 (작업 파일 삭제) |
289
+ | `ada sprint close --keep-all` | 스프린트 종료 (파일 유지) |
290
+ | `ada sprint list` | 스프린트 목록 |
291
+
292
+ ### AI 에이전트 실행
293
+
294
+ ```bash
295
+ # 정식 형식
296
+ ada run <role> <tool>
297
+
298
+ # 단축 형식 (run 생략)
299
+ ada <role> <tool>
300
+
301
+ # 예시
302
+ ada planner claude # 신규 기능 기획
303
+ ada improver claude # 기존 기능 개선 기획
304
+ ada developer codex
305
+ ada reviewer gemini
306
+ ada documenter claude
307
+ ```
308
+
309
+ tool을 생략하면 `ada.config.json` 기본값을 사용합니다.
310
+
311
+ **지원 도구:** claude, codex, gemini, copilot
312
+
313
+ ### 세션 모니터링
314
+
315
+ ```bash
316
+ # 세션 목록 및 상태
317
+ ada sessions
318
+
319
+ # 실시간 모니터링 대시보드
320
+ ada sessions --watch
321
+ ada sessions -w
322
+
323
+ # 세션 로그 확인
324
+ ada logs
325
+ ada logs [session-id]
326
+ ```
327
+
328
+ ### 문서 관리
329
+
330
+ ```bash
331
+ # 문서 구조 초기화 (MkDocs/Jekyll)
332
+ ada docs init
333
+ ada docs init -g mkdocs # MkDocs 템플릿
334
+ ada docs init -g jekyll # Jekyll 템플릿
335
+
336
+ # 문서 생성 (Documenter 역할 실행 안내)
337
+ ada docs generate
338
+
339
+ # 로컬 문서 서버 실행
340
+ ada docs serve
341
+
342
+ # GitHub Pages 배포
343
+ ada docs publish
344
+ ```
345
+
346
+ **참고:** 실제 문서 내용 생성은 Documenter 역할로 수행합니다:
347
+ ```bash
348
+ ada documenter claude
349
+ ```
350
+
351
+ ## 🔄 워크플로우
352
+
353
+ ### 신규 프로젝트
354
+
355
+ ```
356
+ 1. Planner: 요구사항 수집
357
+ plan.md + backlog/*.md 생성
358
+
359
+ 2. 사용자: 스프린트 생성
360
+ ada sprint create
361
+ ada sprint add task-001 task-002
362
+
363
+ 3. Developer: Task 구현
364
+ 코드 작성
365
+ → Task 상태를 DONE으로 변경
366
+
367
+ 4. Reviewer: 코드 리뷰
368
+ → review-reports/*.md 생성
369
+ → PASS/REJECT 판정
370
+
371
+ 5. 사용자: 스프린트 종료
372
+ ada sprint close
373
+
374
+ 6. Documenter: 문서 작성
375
+ ada documenter claude
376
+ → sprints/sprint-N/docs/*.md 생성 (Release Notes, API Changelog 등)
377
+ (선택) 프로젝트 docs/ 업데이트 (문서 사이트용)
378
+
379
+ 7. (선택) 문서 사이트 배포
380
+ → ada docs serve (로컬 미리보기)
381
+ ada docs publish (GitHub Pages 배포)
382
+
383
+ 8. 다음 스프린트 시작
384
+ ada sprint create
385
+ ```
386
+
387
+ ### 기존 프로젝트
388
+
389
+ ```
390
+ 0. Analyzer: 코드베이스 분석
391
+ project.md 역생성
392
+
393
+ 1. [분기점]
394
+
395
+ A) 신규 기능 추가 시:
396
+ Planner: 추가 기능 기획
397
+ → plan.md 업데이트
398
+ backlog/*.md 생성
399
+
400
+ B) 기존 기능 개선 시:
401
+ Improver: 개선 분석 기획
402
+ → improvement-reports/IMP-NNN.md 생성
403
+ backlog/*.md 생성
404
+
405
+ 2. 사용자: 스프린트 생성
406
+ → ada sprint create
407
+ ada sprint add task-001 task-002
408
+
409
+ 3. 이후 신규 프로젝트와 동일 (Developer → Reviewer → Documenter)
410
+ ```
411
+
412
+ ### Task 상태 흐름
413
+
414
+ ```
415
+ BACKLOG → IN_DEV → DONE → (리뷰 후) → 스프린트 완료
416
+ ```
417
+
418
+ ---
419
+
420
+ ## 📋 규칙 시스템
421
+
422
+ ### Core 규칙 (5개)
423
+
424
+ | 규칙 | 용도 |
425
+ |------|------|
426
+ | `iteration.md` | 스프린트/Task 단위 작업 규칙 |
427
+ | `escalation.md` | 에스컬레이션 기준 |
428
+ | `rollback.md` | REJECT 처리 절차 |
429
+ | `document-priority.md` | 문서 충돌 시 우선순위 |
430
+ | `rfc.md` | Frozen 문서 변경 절차 |
431
+
432
+ ### 템플릿별 규칙
433
+
434
+ | 템플릿 | 규칙 | 용도 |
435
+ |--------|------|------|
436
+ | web-dev | `api-change.md` | API 변경 절차 |
437
+ | library | `versioning.md` | Semantic Versioning |
438
+ | game | `system-change.md` | 게임 시스템 변경 |
439
+ | cli | `command-change.md` | CLI 명령어 변경 |
440
+
441
+ ---
442
+
443
+ ## 📄 산출물
444
+
445
+ ### Core 산출물
446
+
447
+ | 문서 | 관리자 | 용도 |
448
+ |------|--------|------|
449
+ | plan.md | Planner | 전체 요구사항 |
450
+ | project.md | 사용자/팀 (선택) | 기술 기준 (Frozen) |
451
+ | backlog/*.md | Planner | 스프린트 미할당 Task |
452
+ | sprints/sprint-N/meta.md | 자동 생성 | 스프린트 메타정보 |
453
+ | sprints/sprint-N/tasks/*.md | Developer | Task별 상세 정보 |
454
+ | sprints/sprint-N/review-reports/*.md | Reviewer | 리뷰 결과 |
455
+ | sprints/sprint-N/docs/*.md | Documenter | 릴리스 문서 |
456
+ | sprints/sprint-N/retrospective.md | 사용자 | 회고 |
457
+
458
+ ### 템플릿별 산출물
459
+
460
+ | 템플릿 | 문서 | 용도 |
461
+ |--------|------|------|
462
+ | web-dev | api.md, ui.md | API 계약, 화면 설계 |
463
+ | library | public-api.md, changelog.md | 공개 API, 변경 이력 |
464
+ | game | game-systems.md, assets.md | 시스템, 에셋 |
465
+ | cli | commands.md, output-format.md | 명령어, 출력 형식 |
466
+
467
+ ---
468
+
469
+ ## 🖥️ 멀티 세션 모드
470
+
471
+ 여러 터미널에서 동시에 다른 역할을 실행할 수 있습니다.
472
+
473
+ ### 사용 예시
474
+
475
+ ```bash
476
+ # 터미널 1: Planner
477
+ ada planner claude
478
+
479
+ # 터미널 2: Developer
480
+ ada developer codex
481
+
482
+ # 터미널 3: Reviewer
483
+ ada reviewer gemini
484
+
485
+ # 터미널 4: 실시간 모니터링
486
+ ada sessions --watch
487
+ ```
488
+
489
+ ### 자동 세션 관리
490
+
491
+ **세션 시작 시:**
492
+ - `.ada-status.json`에 자동 등록
493
+ - 터미널 타이틀 설정 (예: "ADA: developer (codex)")
494
+ - 역할 이모지 배너 표시
495
+
496
+ **세션 종료 시:**
497
+ - 상태 파일에서 자동 제거
498
+ - 세션 로그 저장
499
+
500
+ ### 상태 파일
501
+
502
+ ```
503
+ ai-dev-team/.ada-status.json
504
+ ```
505
+
506
+ 모든 세션이 이 파일을 통해 상태를 공유합니다.
507
+
508
+ **구성:**
509
+ - `activeSessions[]`: 실행 중인 세션
510
+ - `pendingQuestions[]`: 대기 질문
511
+ - `taskProgress{}`: Task 진행 상태
512
+ - `notifications[]`: 세션 간 알림
513
+ - `locks{}`: 파일 잠금 상태
514
+
515
+ ---
516
+
517
+ ## ⚙️ 설정 관리
518
+
519
+ 역할별로 사용할 AI 도구를 설정할 수 있습니다.
520
+
521
+ ### 설정 파일
522
+
523
+ ```
524
+ ai-dev-team/ada.config.json
525
+ ```
526
+
527
+ ```json
528
+ {
529
+ "version": "1.0",
530
+ "defaults": {
531
+ "tool": "claude"
532
+ },
533
+ "roles": {
534
+ "manager": "claude",
535
+ "planner": "claude",
536
+ "developer": "gemini",
537
+ "reviewer": "claude",
538
+ "documenter": "claude"
539
+ }
540
+ }
541
+ ```
542
+
543
+ ### 대화형 설정
544
+
545
+ ```bash
546
+ ada config
547
+ ```
548
+
549
+ **메뉴:**
550
+ - 📋 현재 설정 보기
551
+ - 🔧 역할별 도구 설정
552
+ - ⚡ 기본 도구 변경
553
+ - 🎯 빠른 설정 (프리셋)
554
+
555
+ ### 프리셋
556
+
557
+ | 프리셋 | 설명 |
558
+ |--------|------|
559
+ | All Claude | 모든 역할에 Claude 사용 |
560
+ | All Gemini | 모든 역할에 Gemini 사용 |
561
+ | Mixed Optimal | 역할별 최적 조합 |
562
+ | Dev Gemini + Review Claude | 개발은 Gemini, 리뷰는 Claude |
563
+
564
+ ### 명령어 모드
565
+
566
+ ```bash
567
+ # 개별 역할 설정
568
+ ada config set roles.developer gemini
569
+ ada config set roles.reviewer claude
570
+
571
+ # 기본 도구 변경
572
+ ada config set defaults.tool gemini
573
+
574
+ # 설정 확인
575
+ ada config show # 또는 ada config list
576
+
577
+ # 특정 값 조회
578
+ ada config get roles.manager
579
+ ```
580
+
581
+ 설정을 초기화하려면 `ai-dev-team/ada.config.json` 삭제 후 `ada config`를 실행하세요.
582
+
583
+ ---
584
+
585
+ ## ⚠️ 핵심 원칙
586
+
587
+ ### 금지 사항
588
+
589
+ - ❌ 문서 없는 진행
590
+ - ❌ 기준 없는 판단
591
+ - ❌ 감으로 추가된 기술
592
+ - ❌ 스프린트 외 작업
593
+ - ❌ "김에" 리팩토링
594
+ - ❌ 역할 간 경계 침범
595
+
596
+ ### 필수 사항
597
+
598
+ - ✅ 문서 기준 판단
599
+ - ✅ 역할별 책임 분리
600
+ - ✅ Task 단위 반복 개발
601
+ - ✅ 스프린트 단위 관리
602
+ - ✅ REJECT 시 원인 분석
603
+
604
+ ---
605
+
606
+ ## 📊 템플릿 비교
607
+
608
+ | 템플릿 | 설명 | 특화 문서 |
609
+ |--------|------|----------|
610
+ | **web-dev** | 웹 서비스/API 서버 | api.md, ui.md |
611
+ | **library** | npm/pip 라이브러리 | public-api.md, changelog.md |
612
+ | **game** | 게임 개발 | game-systems.md, assets.md |
613
+ | **cli** | CLI 도구 | commands.md, output-format.md |
614
+
615
+ ---
616
+
617
+ ## 🎯 주요 개선 사항 (v0.2.0)
618
+
619
+ ### 역할 시스템 간소화
620
+
621
+ **이전 (v0.1.x):**
622
+ - 7개 Core 역할 + 템플릿별 특화 역할 (총 13개)
623
+ - Manager 중심의 복잡한 승인 프로세스
624
+ - 역할 간 blocking 문제 (backend ↔ frontend)
625
+
626
+ **현재 (v0.2.x):**
627
+ - 5개 핵심 역할 (planner, improver, developer, reviewer, documenter)
628
+ - 사용자 직접 스프린트 관리 (CLI 명령어)
629
+ - 단순화된 워크플로우
630
+ - 신규 기능(Planner)과 개선(Improver) 분리
631
+
632
+ ### 스프린트 기반 구조
633
+
634
+ **이전:**
635
+ - 단일 파일 (backlog.md, current-sprint.md)
636
+ - Git 충돌 위험
637
+ - Task별 독립성 부족
638
+
639
+ **현재:**
640
+ - 디렉토리 기반 (sprints/sprint-N/)
641
+ - Task별 개별 파일 (task-NNN.md)
642
+ - 리뷰/문서도 Task별 분리
643
+ - 완료된 스프린트는 불변 (이력 보존)
644
+ - 종료 시 작업 파일 자동 정리 (archive/ 또는 삭제)
645
+
646
+ ### 자동화 개선
647
+
648
+ **추가된 CLI 명령어:**
649
+ - `ada sprint create` - 스프린트 자동 생성
650
+ - `ada sprint add` - Task 자동 추가
651
+ - `ada sprint close` - 스프린트 종료 및 작업 파일 정리 (archive/clean/keep-all 옵션)
652
+ - `ada sprint list` - 스프린트 목록 확인
653
+ - `ada config` - 설정 조회/변경
654
+
655
+
656
+
657
+ ## 🔧 개발 환경
658
+
659
+ ### 필수 요구사항
660
+
661
+ - Node.js 18+
662
+ - npm 7+
663
+
664
+ ### 로컬 개발
665
+
666
+ ```bash
667
+ git clone https://github.com/silbaram/artifact-driven-agent.git
668
+ cd artifact-driven-agent
669
+ npm install
670
+ npm link # 전역 ada 명령어 등록
671
+ ```
672
+
673
+ ### 테스트
674
+
675
+ ```bash
676
+ npm test # Node.js 내장 test runner 사용
677
+ ```
678
+
679
+ ---
680
+
681
+ ## 📄 문서
682
+
683
+ - **CLAUDE.md**: Claude Code AI를 위한 상세 가이드
684
+ - **core/roles/*.md**: 각 역할의 상세 규칙
685
+ - **core/rules/*.md**: 핵심 규칙 문서
686
+ - **templates/*/**: 템플릿별 특화 문서
687
+
688
+ ---
689
+
690
+ ## 🤝 기여
691
+
692
+ 이슈 및 PR 환영합니다!
693
+
694
+ **보고 위치:**
695
+ - GitHub Issues: https://github.com/silbaram/artifact-driven-agent/issues
696
+
697
+ ---
698
+
699
+ ## 📄 라이선스
700
+
701
+ MIT License
702
+
703
+ ---
704
+
705
+ ## 📮 연락처
706
+
707
+ - GitHub: [@silbaram](https://github.com/silbaram)
708
+ - npm: [@silbaram/artifact-driven-agent](https://www.npmjs.com/package/@silbaram/artifact-driven-agent)
709
+