@silbaram/artifact-driven-agent 0.1.7 → 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 +220 -41
- 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 +367 -182
- package/src/commands/sessions.js +633 -694
- 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 +470 -336
- 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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**문서 기반 멀티 AI 에이전트 개발 프레임워크**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
5개 핵심 역할(Planner, Improver, Developer, Reviewer, Documenter)이 스프린트 단위로 협업하여 안정적인 개발 워크플로우를 만듭니다.
|
|
6
6
|
|
|
7
7
|
## 🎯 목표
|
|
8
8
|
|
|
@@ -60,6 +60,36 @@ ada --version
|
|
|
60
60
|
ada --help
|
|
61
61
|
```
|
|
62
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
|
+
|
|
63
93
|
---
|
|
64
94
|
|
|
65
95
|
## 🖥️ 빠른 시작
|
|
@@ -98,22 +128,54 @@ ada developer claude # Task 구현 → DONE 상태로 변경
|
|
|
98
128
|
ada reviewer claude # 코드 리뷰 → review-reports/ 생성
|
|
99
129
|
```
|
|
100
130
|
|
|
101
|
-
### 6. 스프린트 종료
|
|
131
|
+
### 6. 스프린트 종료 및 문서화
|
|
102
132
|
|
|
103
133
|
```bash
|
|
104
|
-
|
|
105
|
-
ada
|
|
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/
|
|
106
167
|
```
|
|
107
168
|
|
|
108
169
|
---
|
|
109
170
|
|
|
110
171
|
## 👥 역할 시스템
|
|
111
172
|
|
|
112
|
-
### 핵심 역할 (
|
|
173
|
+
### 핵심 역할 (5개) - 모든 프로젝트 필수
|
|
113
174
|
|
|
114
175
|
| 역할 | 책임 | 산출물 |
|
|
115
176
|
|------|------|--------|
|
|
116
|
-
| **Planner** | 요구사항 수집, Task 분해 | plan.md, backlog/*.md |
|
|
177
|
+
| **Planner** | 신규 기능 요구사항 수집, Task 분해 | plan.md, backlog/*.md |
|
|
178
|
+
| **Improver** | 기존 기능 개선 분석 및 기획 | improvement-reports/*.md, backlog/*.md |
|
|
117
179
|
| **Developer** | 코드 구현, Task 완료 | 소스 코드, Task 파일 업데이트 |
|
|
118
180
|
| **Reviewer** | 코드 리뷰, 품질 판정 | review-reports/*.md |
|
|
119
181
|
| **Documenter** | 스프린트 완료 시 문서 작성 | API Changelog, Release Notes, User Guide |
|
|
@@ -138,12 +200,14 @@ artifact-driven-agent/
|
|
|
138
200
|
│ │ ├── setup.js
|
|
139
201
|
│ │ ├── run.js
|
|
140
202
|
│ │ ├── sprint.js # 스프린트 관리
|
|
141
|
-
│ │
|
|
203
|
+
│ │ ├── sessions.js # 세션 모니터링
|
|
204
|
+
│ │ └── config.js # 설정 관리
|
|
142
205
|
│ └── utils/
|
|
143
206
|
│ ├── files.js
|
|
207
|
+
│ ├── config.js # 설정 유틸리티
|
|
144
208
|
│ └── sessionState.js
|
|
145
209
|
├── core/ # 범용 핵심
|
|
146
|
-
│ ├── roles/ #
|
|
210
|
+
│ ├── roles/ # 6개 역할
|
|
147
211
|
│ ├── artifacts/ # 산출물 템플릿
|
|
148
212
|
│ │ └── sprints/
|
|
149
213
|
│ │ └── _template/ # 스프린트 템플릿
|
|
@@ -184,9 +248,10 @@ ai-dev-team/
|
|
|
184
248
|
│ └── task-005.md
|
|
185
249
|
├── roles/ # core + template 병합
|
|
186
250
|
├── rules/
|
|
251
|
+
├── ada.config.json # 역할별 AI 도구 설정
|
|
252
|
+
├── .ada-status.json # 멀티 세션 상태 파일
|
|
187
253
|
└── .sessions/ # 세션 이력
|
|
188
|
-
|
|
189
|
-
└── .ada-status.json # 멀티 세션 상태 파일
|
|
254
|
+
└── logs/
|
|
190
255
|
```
|
|
191
256
|
|
|
192
257
|
---
|
|
@@ -199,7 +264,15 @@ ai-dev-team/
|
|
|
199
264
|
|--------|------|
|
|
200
265
|
| `ada` | 대화형 모드 |
|
|
201
266
|
| `ada setup [template]` | 템플릿 세팅 (web, lib, game, cli) |
|
|
202
|
-
| `ada status` | 상태 확인 |
|
|
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` | 이전 백업으로 롤백 |
|
|
203
276
|
| `ada validate [doc]` | 문서 검증 |
|
|
204
277
|
| `ada reset [-f]` | 초기화 |
|
|
205
278
|
|
|
@@ -209,7 +282,11 @@ ai-dev-team/
|
|
|
209
282
|
|--------|------|
|
|
210
283
|
| `ada sprint create` | 새 스프린트 생성 |
|
|
211
284
|
| `ada sprint add task-001 ...` | Task 추가 |
|
|
212
|
-
| `ada sprint
|
|
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` | 스프린트 종료 (파일 유지) |
|
|
213
290
|
| `ada sprint list` | 스프린트 목록 |
|
|
214
291
|
|
|
215
292
|
### AI 에이전트 실행
|
|
@@ -222,12 +299,15 @@ ada run <role> <tool>
|
|
|
222
299
|
ada <role> <tool>
|
|
223
300
|
|
|
224
301
|
# 예시
|
|
225
|
-
ada planner claude
|
|
302
|
+
ada planner claude # 신규 기능 기획
|
|
303
|
+
ada improver claude # 기존 기능 개선 기획
|
|
226
304
|
ada developer codex
|
|
227
305
|
ada reviewer gemini
|
|
228
306
|
ada documenter claude
|
|
229
307
|
```
|
|
230
308
|
|
|
309
|
+
tool을 생략하면 `ada.config.json` 기본값을 사용합니다.
|
|
310
|
+
|
|
231
311
|
**지원 도구:** claude, codex, gemini, copilot
|
|
232
312
|
|
|
233
313
|
### 세션 모니터링
|
|
@@ -240,13 +320,33 @@ ada sessions
|
|
|
240
320
|
ada sessions --watch
|
|
241
321
|
ada sessions -w
|
|
242
322
|
|
|
243
|
-
# 대기 질문이 있으면 자동으로 응답 프롬프트가 표시됩니다.
|
|
244
323
|
# 세션 로그 확인
|
|
245
324
|
ada logs
|
|
246
325
|
ada logs [session-id]
|
|
247
326
|
```
|
|
248
327
|
|
|
249
|
-
|
|
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
|
+
```
|
|
250
350
|
|
|
251
351
|
## 🔄 워크플로우
|
|
252
352
|
|
|
@@ -256,10 +356,9 @@ ada logs [session-id]
|
|
|
256
356
|
1. Planner: 요구사항 수집
|
|
257
357
|
→ plan.md + backlog/*.md 생성
|
|
258
358
|
|
|
259
|
-
2.
|
|
260
|
-
→
|
|
261
|
-
→
|
|
262
|
-
→ 자동 실행: ada sprint add task-001 task-002
|
|
359
|
+
2. 사용자: 스프린트 생성
|
|
360
|
+
→ ada sprint create
|
|
361
|
+
→ ada sprint add task-001 task-002
|
|
263
362
|
|
|
264
363
|
3. Developer: Task 구현
|
|
265
364
|
→ 코드 작성
|
|
@@ -273,9 +372,15 @@ ada logs [session-id]
|
|
|
273
372
|
→ ada sprint close
|
|
274
373
|
|
|
275
374
|
6. Documenter: 문서 작성
|
|
276
|
-
→
|
|
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 배포)
|
|
277
382
|
|
|
278
|
-
|
|
383
|
+
8. 다음 스프린트 시작
|
|
279
384
|
→ ada sprint create
|
|
280
385
|
```
|
|
281
386
|
|
|
@@ -285,11 +390,23 @@ ada logs [session-id]
|
|
|
285
390
|
0. Analyzer: 코드베이스 분석
|
|
286
391
|
→ project.md 역생성
|
|
287
392
|
|
|
288
|
-
1.
|
|
289
|
-
→ plan.md 업데이트
|
|
290
|
-
→ backlog/*.md 생성
|
|
393
|
+
1. [분기점]
|
|
291
394
|
|
|
292
|
-
|
|
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)
|
|
293
410
|
```
|
|
294
411
|
|
|
295
412
|
### Task 상태 흐름
|
|
@@ -369,11 +486,6 @@ ada reviewer gemini
|
|
|
369
486
|
ada sessions --watch
|
|
370
487
|
```
|
|
371
488
|
|
|
372
|
-
**세션 모니터링 포인트**
|
|
373
|
-
- 대기 질문이 생성되면 watch 화면이 자동 프롬프트로 전환됩니다.
|
|
374
|
-
- 프롬프트는 사용자가 직접 입력하며, 응답은 `.ada-status.json`에 저장됩니다.
|
|
375
|
-
- 승인형 질문에 '예'로 응답하면 필요한 CLI 작업을 자동 실행합니다.
|
|
376
|
-
|
|
377
489
|
### 자동 세션 관리
|
|
378
490
|
|
|
379
491
|
**세션 시작 시:**
|
|
@@ -388,17 +500,85 @@ ada sessions --watch
|
|
|
388
500
|
### 상태 파일
|
|
389
501
|
|
|
390
502
|
```
|
|
391
|
-
ai-dev-team/.
|
|
503
|
+
ai-dev-team/.ada-status.json
|
|
392
504
|
```
|
|
393
505
|
|
|
394
506
|
모든 세션이 이 파일을 통해 상태를 공유합니다.
|
|
395
507
|
|
|
396
508
|
**구성:**
|
|
397
509
|
- `activeSessions[]`: 실행 중인 세션
|
|
398
|
-
- `pendingQuestions[]`: 대기 질문
|
|
399
|
-
- `taskProgress
|
|
510
|
+
- `pendingQuestions[]`: 대기 질문
|
|
511
|
+
- `taskProgress{}`: Task 진행 상태
|
|
400
512
|
- `notifications[]`: 세션 간 알림
|
|
401
|
-
-
|
|
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`를 실행하세요.
|
|
402
582
|
|
|
403
583
|
---
|
|
404
584
|
|
|
@@ -444,9 +624,10 @@ ai-dev-team/.sessions/.ada-status.json
|
|
|
444
624
|
- 역할 간 blocking 문제 (backend ↔ frontend)
|
|
445
625
|
|
|
446
626
|
**현재 (v0.2.x):**
|
|
447
|
-
-
|
|
627
|
+
- 5개 핵심 역할 (planner, improver, developer, reviewer, documenter)
|
|
448
628
|
- 사용자 직접 스프린트 관리 (CLI 명령어)
|
|
449
629
|
- 단순화된 워크플로우
|
|
630
|
+
- 신규 기능(Planner)과 개선(Improver) 분리
|
|
450
631
|
|
|
451
632
|
### 스프린트 기반 구조
|
|
452
633
|
|
|
@@ -460,16 +641,18 @@ ai-dev-team/.sessions/.ada-status.json
|
|
|
460
641
|
- Task별 개별 파일 (task-NNN.md)
|
|
461
642
|
- 리뷰/문서도 Task별 분리
|
|
462
643
|
- 완료된 스프린트는 불변 (이력 보존)
|
|
644
|
+
- 종료 시 작업 파일 자동 정리 (archive/ 또는 삭제)
|
|
463
645
|
|
|
464
646
|
### 자동화 개선
|
|
465
647
|
|
|
466
648
|
**추가된 CLI 명령어:**
|
|
467
649
|
- `ada sprint create` - 스프린트 자동 생성
|
|
468
650
|
- `ada sprint add` - Task 자동 추가
|
|
469
|
-
- `ada sprint close` - 스프린트 종료 및
|
|
651
|
+
- `ada sprint close` - 스프린트 종료 및 작업 파일 정리 (archive/clean/keep-all 옵션)
|
|
470
652
|
- `ada sprint list` - 스프린트 목록 확인
|
|
653
|
+
- `ada config` - 설정 조회/변경
|
|
654
|
+
|
|
471
655
|
|
|
472
|
-
---
|
|
473
656
|
|
|
474
657
|
## 🔧 개발 환경
|
|
475
658
|
|
|
@@ -524,7 +707,3 @@ MIT License
|
|
|
524
707
|
- GitHub: [@silbaram](https://github.com/silbaram)
|
|
525
708
|
- npm: [@silbaram/artifact-driven-agent](https://www.npmjs.com/package/@silbaram/artifact-driven-agent)
|
|
526
709
|
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
web-dev
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
[2026-01-24 16:45:51] [INFO] 세션 시작: role=manager, tool=claude, template=web-dev
|
|
2
|
+
[2026-01-24 16:45:51] [INFO] 세션 등록: 20260124-014551-00f04724
|
|
3
|
+
[2026-01-24 16:45:51] [INFO] 시스템 프롬프트 저장: D:\development-code\artifact-driven-agent\ai-dev-team\.sessions\20260124-014551-00f04724\system-prompt.md
|
|
4
|
+
[2026-01-24 16:45:51] [INFO] claude CLI 실행 (automation: perfect, captureOutput: false)
|
|
5
|
+
[2026-01-24 16:46:10] [INFO] 세션 종료 (completed): 정상 종료
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
[2026-01-24 16:46:23] [INFO] 세션 시작: role=manager, tool=codex, template=web-dev
|
|
2
|
+
[2026-01-24 16:46:23] [INFO] 세션 등록: 20260124-014623-cb2b1d44
|
|
3
|
+
[2026-01-24 16:46:23] [INFO] 시스템 프롬프트 저장: D:\development-code\artifact-driven-agent\ai-dev-team\.sessions\20260124-014623-cb2b1d44\system-prompt.md
|
|
4
|
+
[2026-01-24 16:46:23] [INFO] codex CLI 실행 (automation: manual, captureOutput: false)
|
|
5
|
+
[2026-01-24 16:46:33] [INFO] 세션 종료 (completed): 정상 종료
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0",
|
|
3
|
+
"defaults": {
|
|
4
|
+
"tool": "claude"
|
|
5
|
+
},
|
|
6
|
+
"roles": {
|
|
7
|
+
"manager": "claude",
|
|
8
|
+
"planner": "claude",
|
|
9
|
+
"architect": "claude",
|
|
10
|
+
"developer": "claude",
|
|
11
|
+
"reviewer": "claude",
|
|
12
|
+
"improver": "claude",
|
|
13
|
+
"documenter": "claude"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
# API Specification
|
|
2
|
+
|
|
3
|
+
> Backend와 Frontend의 공식 계약 문서
|
|
4
|
+
> 변경 시 rules/api-change.md 절차를 따른다
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 0. 문서 메타
|
|
9
|
+
|
|
10
|
+
| 항목 | 값 |
|
|
11
|
+
|------|-----|
|
|
12
|
+
| 버전 | v1.0 |
|
|
13
|
+
| Base URL | /api/v1 |
|
|
14
|
+
| 최종 수정 | YYYY-MM-DD |
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 1. 공통 규칙
|
|
19
|
+
|
|
20
|
+
### 1.1 HTTP 메서드
|
|
21
|
+
|
|
22
|
+
| 메서드 | 용도 | 멱등성 |
|
|
23
|
+
|--------|------|:------:|
|
|
24
|
+
| GET | 조회 | ✅ |
|
|
25
|
+
| POST | 생성 | ❌ |
|
|
26
|
+
| PUT | 전체 수정 | ✅ |
|
|
27
|
+
| PATCH | 부분 수정 | ❌ |
|
|
28
|
+
| DELETE | 삭제 | ✅ |
|
|
29
|
+
|
|
30
|
+
### 1.2 경로 규칙
|
|
31
|
+
|
|
32
|
+
- 리소스명: 복수형 소문자 (예: `/users`, `/posts`)
|
|
33
|
+
- 단일 리소스: `/{resource}/{id}`
|
|
34
|
+
- 중첩 리소스: `/{parent}/{parentId}/{child}`
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 2. 인증/권한
|
|
39
|
+
|
|
40
|
+
| 항목 | 값 |
|
|
41
|
+
|------|-----|
|
|
42
|
+
| Status | 사용 / 미사용 |
|
|
43
|
+
| Scheme | Bearer Token / Cookie / API Key |
|
|
44
|
+
| Token Location | Authorization: Bearer {token} |
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## 3. 응답 규격 (Response Envelope)
|
|
49
|
+
|
|
50
|
+
### 3.1 Success Response
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"success": true,
|
|
55
|
+
"data": { },
|
|
56
|
+
"error": null,
|
|
57
|
+
"meta": {
|
|
58
|
+
"requestId": "uuid",
|
|
59
|
+
"timestamp": "2024-01-01T00:00:00Z"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 3.2 Failure Response
|
|
65
|
+
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"success": false,
|
|
69
|
+
"data": null,
|
|
70
|
+
"error": {
|
|
71
|
+
"code": "ERROR_CODE",
|
|
72
|
+
"message": "사용자에게 표시할 메시지",
|
|
73
|
+
"details": { }
|
|
74
|
+
},
|
|
75
|
+
"meta": {
|
|
76
|
+
"requestId": "uuid",
|
|
77
|
+
"timestamp": "2024-01-01T00:00:00Z"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 4. 공통 에러 코드
|
|
85
|
+
|
|
86
|
+
| HTTP | 에러 코드 | 설명 |
|
|
87
|
+
|------|----------|------|
|
|
88
|
+
| 400 | BAD_REQUEST | 잘못된 요청 |
|
|
89
|
+
| 400 | VALIDATION_ERROR | 유효성 검사 실패 |
|
|
90
|
+
| 401 | UNAUTHORIZED | 인증 필요 |
|
|
91
|
+
| 403 | FORBIDDEN | 권한 없음 |
|
|
92
|
+
| 404 | NOT_FOUND | 리소스 없음 |
|
|
93
|
+
| 409 | CONFLICT | 충돌 |
|
|
94
|
+
| 500 | INTERNAL_ERROR | 서버 오류 |
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## 5. 페이지네이션
|
|
99
|
+
|
|
100
|
+
### Request
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
GET /resources?page=1&size=20&sort=createdAt,desc
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Response
|
|
107
|
+
|
|
108
|
+
```json
|
|
109
|
+
{
|
|
110
|
+
"success": true,
|
|
111
|
+
"data": {
|
|
112
|
+
"content": [...],
|
|
113
|
+
"page": {
|
|
114
|
+
"number": 1,
|
|
115
|
+
"size": 20,
|
|
116
|
+
"totalElements": 100,
|
|
117
|
+
"totalPages": 5
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 6. API 엔드포인트 정의
|
|
126
|
+
|
|
127
|
+
### 6.1 [리소스명]
|
|
128
|
+
|
|
129
|
+
#### GET /resources
|
|
130
|
+
|
|
131
|
+
**설명:** 목록 조회
|
|
132
|
+
|
|
133
|
+
**Request:**
|
|
134
|
+
```
|
|
135
|
+
Query Parameters:
|
|
136
|
+
- page: number (default: 1)
|
|
137
|
+
- size: number (default: 20)
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Response (200):**
|
|
141
|
+
```json
|
|
142
|
+
{
|
|
143
|
+
"success": true,
|
|
144
|
+
"data": {
|
|
145
|
+
"content": [
|
|
146
|
+
{
|
|
147
|
+
"id": "uuid",
|
|
148
|
+
"name": "string",
|
|
149
|
+
"createdAt": "datetime"
|
|
150
|
+
}
|
|
151
|
+
],
|
|
152
|
+
"page": { ... }
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**에러:**
|
|
158
|
+
| 상황 | 코드 |
|
|
159
|
+
|------|------|
|
|
160
|
+
| 잘못된 파라미터 | BAD_REQUEST |
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
#### POST /resources
|
|
165
|
+
|
|
166
|
+
**설명:** 생성
|
|
167
|
+
|
|
168
|
+
**Request:**
|
|
169
|
+
```json
|
|
170
|
+
{
|
|
171
|
+
"name": "string (required)",
|
|
172
|
+
"description": "string (optional)"
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
**Response (201):**
|
|
177
|
+
```json
|
|
178
|
+
{
|
|
179
|
+
"success": true,
|
|
180
|
+
"data": {
|
|
181
|
+
"id": "uuid",
|
|
182
|
+
"name": "string",
|
|
183
|
+
"createdAt": "datetime"
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**에러:**
|
|
189
|
+
| 상황 | 코드 |
|
|
190
|
+
|------|------|
|
|
191
|
+
| 필수 필드 누락 | VALIDATION_ERROR |
|
|
192
|
+
| 중복 | CONFLICT |
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## 7. API 목록 요약
|
|
197
|
+
|
|
198
|
+
| 메서드 | 경로 | 설명 | 상태 | Task |
|
|
199
|
+
|--------|------|------|:----:|------|
|
|
200
|
+
| GET | /resources | 목록 조회 | ✅ | TASK-001 |
|
|
201
|
+
| POST | /resources | 생성 | ⏳ | TASK-001 |
|
|
202
|
+
| GET | /resources/{id} | 단일 조회 | 📋 | TASK-002 |
|
|
203
|
+
|
|
204
|
+
상태: ✅ 완료 / ⏳ 진행중 / 📋 예정
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## 8. 변경 이력
|
|
209
|
+
|
|
210
|
+
| Task | 날짜 | 변경 내용 |
|
|
211
|
+
|------|------|----------|
|
|
212
|
+
| [TASK-001] | YYYY-MM-DD | 초기 API 작성 |
|