@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.
Files changed (80) hide show
  1. package/README.md +220 -41
  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 +367 -182
  58. package/src/commands/sessions.js +633 -694
  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 +470 -336
  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
@@ -2,7 +2,7 @@
2
2
 
3
3
  **문서 기반 멀티 AI 에이전트 개발 프레임워크**
4
4
 
5
- 4개 핵심 역할(Planner, Developer, Reviewer, Documenter)이 스프린트 단위로 협업하여 안정적인 개발 워크플로우를 만듭니다.
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
- ada sprint close # 스프린트 종료
105
- ada documenter claude # 문서 작성
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
- ### 핵심 역할 (4개) - 모든 프로젝트 필수
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
- │ │ └── sessions.js # 세션 모니터링
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/ # 5개 역할
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
- ├── logs/
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 close` | 현재 스프린트 종료 |
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. Manager: 스프린트 생성/Task 할당
260
- (plan.md Confirmed 후 watch에서 승인하면 자동 실행)
261
- 자동 실행: ada sprint create
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
- docs/*.md 생성 (API Changelog, Release Notes 등)
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
- 7. 다음 스프린트 시작
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. Planner: 추가 기능 기획
289
- → plan.md 업데이트
290
- → backlog/*.md 생성
393
+ 1. [분기점]
291
394
 
292
- 2. 이후 신규 프로젝트와 동일
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/.sessions/.ada-status.json
503
+ ai-dev-team/.ada-status.json
392
504
  ```
393
505
 
394
506
  모든 세션이 이 파일을 통해 상태를 공유합니다.
395
507
 
396
508
  **구성:**
397
509
  - `activeSessions[]`: 실행 중인 세션
398
- - `pendingQuestions[]`: 대기 질문 및 응답 상태
399
- - `taskProgress[]`: Task 진행 상황
510
+ - `pendingQuestions[]`: 대기 질문
511
+ - `taskProgress{}`: Task 진행 상태
400
512
  - `notifications[]`: 세션 간 알림
401
- - (기존 Manager 관련 필드는 제거됨)
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
- - 4개 핵심 역할 (planner, developer, reviewer, documenter)
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,10 @@
1
+ {
2
+ "version": "1.0",
3
+ "updatedAt": "2026-01-24T16:46:33.177Z",
4
+ "currentPhase": "planning",
5
+ "activeSessions": [],
6
+ "pendingQuestions": [],
7
+ "taskProgress": {},
8
+ "notifications": [],
9
+ "locks": {}
10
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "packageVersion": "0.1.9",
3
+ "workspaceVersion": "0.1.9",
4
+ "template": "web-dev",
5
+ "lastUpgrade": "2026-01-24T16:43:39.762Z"
6
+ }
@@ -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 작성 |