@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.
- package/README.md +709 -516
- package/ai-dev-team/.ada-status.json +10 -0
- package/ai-dev-team/.ada-version +6 -0
- package/ai-dev-team/.current-template +1 -0
- package/ai-dev-team/.sessions/logs/20260124-014551-00f04724.log +5 -0
- package/ai-dev-team/.sessions/logs/20260124-014623-cb2b1d44.log +5 -0
- package/ai-dev-team/ada.config.json +15 -0
- package/ai-dev-team/artifacts/api.md +212 -0
- package/ai-dev-team/artifacts/decision.md +72 -0
- package/ai-dev-team/artifacts/improvement-reports/IMP-0000-template.md +57 -0
- package/ai-dev-team/artifacts/plan.md +187 -0
- package/ai-dev-team/artifacts/project.md +193 -0
- package/ai-dev-team/artifacts/sprints/_template/docs/release-notes.md +37 -0
- package/ai-dev-team/artifacts/sprints/_template/meta.md +54 -0
- package/ai-dev-team/artifacts/sprints/_template/retrospective.md +50 -0
- package/ai-dev-team/artifacts/sprints/_template/review-reports/review-template.md +49 -0
- package/ai-dev-team/artifacts/sprints/_template/tasks/task-template.md +43 -0
- package/ai-dev-team/artifacts/ui.md +104 -0
- package/ai-dev-team/roles/analyzer.md +265 -0
- package/ai-dev-team/roles/developer.md +222 -0
- package/ai-dev-team/roles/documenter.md +715 -0
- package/ai-dev-team/roles/improver.md +461 -0
- package/ai-dev-team/roles/manager.md +544 -0
- package/ai-dev-team/roles/planner.md +398 -0
- package/ai-dev-team/roles/reviewer.md +294 -0
- package/ai-dev-team/rules/api-change.md +198 -0
- package/ai-dev-team/rules/document-priority.md +199 -0
- package/ai-dev-team/rules/escalation.md +172 -0
- package/ai-dev-team/rules/iteration.md +236 -0
- package/ai-dev-team/rules/rfc.md +31 -0
- package/ai-dev-team/rules/rollback.md +218 -0
- package/bin/cli.js +49 -5
- package/core/artifacts/sprints/_template/meta.md +4 -4
- package/core/docs-templates/mkdocs/docs/architecture/overview.md +29 -0
- package/core/docs-templates/mkdocs/docs/changelog.md +36 -0
- package/core/docs-templates/mkdocs/docs/contributing/contributing.md +60 -0
- package/core/docs-templates/mkdocs/docs/getting-started/configuration.md +51 -0
- package/core/docs-templates/mkdocs/docs/getting-started/installation.md +41 -0
- package/core/docs-templates/mkdocs/docs/getting-started/quick-start.md +56 -0
- package/core/docs-templates/mkdocs/docs/guides/api-reference.md +83 -0
- package/core/docs-templates/mkdocs/docs/index.md +32 -0
- package/core/docs-templates/mkdocs/mkdocs.yml +86 -0
- package/core/roles/analyzer.md +32 -10
- package/core/roles/developer.md +222 -223
- package/core/roles/documenter.md +592 -170
- package/core/roles/improver.md +461 -0
- package/core/roles/manager.md +4 -1
- package/core/roles/planner.md +160 -10
- package/core/roles/reviewer.md +31 -3
- package/core/rules/document-priority.md +2 -1
- package/core/rules/rollback.md +3 -3
- package/package.json +1 -1
- package/src/commands/config.js +371 -0
- package/src/commands/docs.js +502 -0
- package/src/commands/interactive.js +324 -33
- package/src/commands/monitor.js +236 -0
- package/src/commands/run.js +360 -122
- package/src/commands/sessions.js +270 -70
- package/src/commands/setup.js +22 -1
- package/src/commands/sprint.js +295 -54
- package/src/commands/status.js +34 -1
- package/src/commands/upgrade.js +416 -0
- package/src/commands/validate.js +4 -3
- package/src/index.js +1 -0
- package/src/ui/dashboard.js +518 -0
- package/src/ui/keyHandler.js +147 -0
- package/src/ui/quickActions.js +111 -0
- package/src/utils/config.js +74 -0
- package/src/utils/files.js +70 -3
- package/src/utils/sessionState.js +472 -328
- package/src/utils/sessionState.process.test.js +101 -0
- package/src/utils/sessionState.test.js +183 -0
- package/src/utils/sprintUtils.js +134 -0
- package/src/utils/taskParser.js +134 -0
- package/src/utils/taskParser.test.js +76 -0
- package/ai-dev-team/artifacts/features/_template/qa.md +0 -16
- package/examples/todo-app/README.md +0 -23
- package/examples/todo-app/artifacts/backlog.md +0 -23
- package/examples/todo-app/artifacts/plan.md +0 -23
- 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
|
-
|
|
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
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
ada
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
###
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
###
|
|
132
|
-
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
├──
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
###
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
ada
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
```
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
-
|
|
453
|
-
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
-
|
|
493
|
-
-
|
|
494
|
-
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
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
|
+
|