@silbaram/artifact-driven-agent 0.1.7 → 0.2.3

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 (189) hide show
  1. package/README.md +510 -60
  2. package/ai-dev-team/.ada-status.template.json +10 -10
  3. package/ai-dev-team/README.md +39 -44
  4. package/ai-dev-team/ada.config.json +15 -0
  5. package/ai-dev-team/artifacts/api.md +2 -0
  6. package/ai-dev-team/artifacts/features/_template/api.md +19 -19
  7. package/ai-dev-team/artifacts/features/_template/review.md +14 -14
  8. package/ai-dev-team/artifacts/features/_template/spec.md +28 -28
  9. package/ai-dev-team/artifacts/features/_template/ui.md +14 -14
  10. package/ai-dev-team/artifacts/improvement-reports/IMP-0000-template.md +57 -0
  11. package/ai-dev-team/artifacts/project.md +2 -0
  12. package/ai-dev-team/artifacts/rfc/RFC-0000-template.md +49 -49
  13. package/core/artifacts/decision.md +72 -72
  14. package/core/artifacts/plan.md +187 -187
  15. package/core/artifacts/project.md +193 -193
  16. package/core/artifacts/sprints/_template/docs/release-notes.md +37 -37
  17. package/core/artifacts/sprints/_template/meta.md +54 -54
  18. package/core/artifacts/sprints/_template/retrospective.md +50 -50
  19. package/core/artifacts/sprints/_template/review-reports/review-template.md +49 -49
  20. package/core/artifacts/sprints/_template/tasks/task-template.md +43 -43
  21. package/core/docs-templates/mkdocs/docs/architecture/overview.md +29 -0
  22. package/core/docs-templates/mkdocs/docs/changelog.md +36 -0
  23. package/core/docs-templates/mkdocs/docs/contributing/contributing.md +60 -0
  24. package/core/docs-templates/mkdocs/docs/getting-started/configuration.md +51 -0
  25. package/core/docs-templates/mkdocs/docs/getting-started/installation.md +41 -0
  26. package/core/docs-templates/mkdocs/docs/getting-started/quick-start.md +56 -0
  27. package/core/docs-templates/mkdocs/docs/guides/api-reference.md +83 -0
  28. package/core/docs-templates/mkdocs/docs/index.md +32 -0
  29. package/core/docs-templates/mkdocs/mkdocs.yml +86 -0
  30. package/core/roles/analyzer.md +265 -243
  31. package/core/roles/developer.md +227 -223
  32. package/core/roles/documenter.md +226 -293
  33. package/core/roles/improver.md +461 -0
  34. package/core/roles/manager.md +574 -541
  35. package/core/roles/planner.md +398 -248
  36. package/core/roles/reviewer.md +294 -266
  37. package/core/rules/document-priority.md +199 -198
  38. package/core/rules/escalation.md +172 -172
  39. package/core/rules/iteration.md +236 -236
  40. package/core/rules/rfc.md +31 -31
  41. package/core/rules/rollback.md +218 -218
  42. package/core/skills/_template/SKILL.md +50 -0
  43. package/core/skills/clean-code/SKILL.md +177 -0
  44. package/core/skills/code-review-checklist/SKILL.md +125 -0
  45. package/core/skills/error-handling/SKILL.md +155 -0
  46. package/core/skills/talk-game-dot-design/SKILL.md +85 -0
  47. package/core/skills/talk-game-dot-design/references/asset-specs.md +57 -0
  48. package/core/skills/talk-game-dot-design/references/review-checklist.md +34 -0
  49. package/core/skills/task-writing/SKILL.md +166 -0
  50. package/core/skills/testing-patterns/SKILL.md +140 -0
  51. package/dist/bin/cli.d.ts +2 -0
  52. package/dist/bin/cli.js +121 -0
  53. package/dist/bin/cli.js.map +1 -0
  54. package/dist/src/commands/config.d.ts +4 -0
  55. package/dist/src/commands/config.js +427 -0
  56. package/dist/src/commands/config.js.map +1 -0
  57. package/dist/src/commands/docs.d.ts +12 -0
  58. package/dist/src/commands/docs.js +453 -0
  59. package/dist/src/commands/docs.js.map +1 -0
  60. package/dist/src/commands/interactive.d.ts +4 -0
  61. package/dist/src/commands/interactive.js +380 -0
  62. package/dist/src/commands/interactive.js.map +1 -0
  63. package/dist/src/commands/logs.d.ts +1 -0
  64. package/dist/src/commands/logs.js +76 -0
  65. package/dist/src/commands/logs.js.map +1 -0
  66. package/dist/src/commands/monitor.d.ts +6 -0
  67. package/dist/src/commands/monitor.js +216 -0
  68. package/dist/src/commands/monitor.js.map +1 -0
  69. package/dist/src/commands/reset.d.ts +4 -0
  70. package/dist/src/commands/reset.js +57 -0
  71. package/dist/src/commands/reset.js.map +1 -0
  72. package/dist/src/commands/run.d.ts +45 -0
  73. package/dist/src/commands/run.js +421 -0
  74. package/dist/src/commands/run.js.map +1 -0
  75. package/dist/src/commands/sessions.d.ts +5 -0
  76. package/dist/src/commands/sessions.js +563 -0
  77. package/dist/src/commands/sessions.js.map +1 -0
  78. package/dist/src/commands/setup.d.ts +1 -0
  79. package/dist/src/commands/setup.js +132 -0
  80. package/dist/src/commands/setup.js.map +1 -0
  81. package/dist/src/commands/skills.d.ts +4 -0
  82. package/dist/src/commands/skills.js +748 -0
  83. package/dist/src/commands/skills.js.map +1 -0
  84. package/dist/src/commands/sprint.d.ts +4 -0
  85. package/dist/src/commands/sprint.js +434 -0
  86. package/dist/src/commands/sprint.js.map +1 -0
  87. package/dist/src/commands/status.d.ts +1 -0
  88. package/dist/src/commands/status.js +97 -0
  89. package/dist/src/commands/status.js.map +1 -0
  90. package/dist/src/commands/upgrade.d.ts +6 -0
  91. package/dist/src/commands/upgrade.js +350 -0
  92. package/dist/src/commands/upgrade.js.map +1 -0
  93. package/dist/src/commands/validate.d.ts +8 -0
  94. package/dist/src/commands/validate.js +260 -0
  95. package/dist/src/commands/validate.js.map +1 -0
  96. package/dist/src/commands/validate.test.d.ts +1 -0
  97. package/dist/src/commands/validate.test.js +74 -0
  98. package/dist/src/commands/validate.test.js.map +1 -0
  99. package/{src/index.js → dist/src/index.d.ts} +2 -3
  100. package/dist/src/index.js +15 -0
  101. package/dist/src/index.js.map +1 -0
  102. package/dist/src/types/common.d.ts +31 -0
  103. package/dist/src/types/common.js +2 -0
  104. package/dist/src/types/common.js.map +1 -0
  105. package/dist/src/types/config.d.ts +46 -0
  106. package/dist/src/types/config.js +2 -0
  107. package/dist/src/types/config.js.map +1 -0
  108. package/dist/src/types/index.d.ts +53 -0
  109. package/dist/src/types/index.js +2 -0
  110. package/dist/src/types/index.js.map +1 -0
  111. package/dist/src/types/session.d.ts +87 -0
  112. package/dist/src/types/session.js +2 -0
  113. package/dist/src/types/session.js.map +1 -0
  114. package/dist/src/types/task.d.ts +32 -0
  115. package/dist/src/types/task.js +2 -0
  116. package/dist/src/types/task.js.map +1 -0
  117. package/dist/src/ui/dashboard.d.ts +9 -0
  118. package/dist/src/ui/dashboard.js +468 -0
  119. package/dist/src/ui/dashboard.js.map +1 -0
  120. package/dist/src/ui/keyHandler.d.ts +47 -0
  121. package/dist/src/ui/keyHandler.js +132 -0
  122. package/dist/src/ui/keyHandler.js.map +1 -0
  123. package/dist/src/ui/quickActions.d.ts +25 -0
  124. package/dist/src/ui/quickActions.js +106 -0
  125. package/dist/src/ui/quickActions.js.map +1 -0
  126. package/dist/src/utils/config.d.ts +33 -0
  127. package/dist/src/utils/config.js +135 -0
  128. package/dist/src/utils/config.js.map +1 -0
  129. package/dist/src/utils/files.d.ts +84 -0
  130. package/dist/src/utils/files.js +202 -0
  131. package/dist/src/utils/files.js.map +1 -0
  132. package/dist/src/utils/promptBuilder.d.ts +39 -0
  133. package/dist/src/utils/promptBuilder.js +726 -0
  134. package/dist/src/utils/promptBuilder.js.map +1 -0
  135. package/dist/src/utils/sessionState.d.ts +83 -0
  136. package/dist/src/utils/sessionState.js +466 -0
  137. package/dist/src/utils/sessionState.js.map +1 -0
  138. package/dist/src/utils/sessionState.process.test.d.ts +1 -0
  139. package/dist/src/utils/sessionState.process.test.js +93 -0
  140. package/dist/src/utils/sessionState.process.test.js.map +1 -0
  141. package/dist/src/utils/sessionState.test.d.ts +1 -0
  142. package/dist/src/utils/sessionState.test.js +150 -0
  143. package/dist/src/utils/sessionState.test.js.map +1 -0
  144. package/dist/src/utils/sprintUtils.d.ts +13 -0
  145. package/dist/src/utils/sprintUtils.js +129 -0
  146. package/dist/src/utils/sprintUtils.js.map +1 -0
  147. package/dist/src/utils/taskParser.d.ts +9 -0
  148. package/dist/src/utils/taskParser.js +122 -0
  149. package/dist/src/utils/taskParser.js.map +1 -0
  150. package/dist/src/utils/taskParser.test.d.ts +1 -0
  151. package/dist/src/utils/taskParser.test.js +69 -0
  152. package/dist/src/utils/taskParser.test.js.map +1 -0
  153. package/package.json +62 -47
  154. package/templates/cli/artifacts/commands.md +262 -262
  155. package/templates/cli/artifacts/output-format.md +298 -298
  156. package/templates/cli/rules/command-change.md +225 -225
  157. package/templates/game/artifacts/assets.md +148 -148
  158. package/templates/game/artifacts/game-systems.md +217 -217
  159. package/templates/game/artifacts/hud.md +199 -199
  160. package/templates/game/rules/system-change.md +184 -184
  161. package/templates/library/artifacts/changelog.md +84 -84
  162. package/templates/library/artifacts/examples.md +157 -157
  163. package/templates/library/artifacts/public-api.md +197 -197
  164. package/templates/library/rules/versioning.md +186 -186
  165. package/templates/web-dev/artifacts/api.md +212 -212
  166. package/templates/web-dev/artifacts/ui.md +104 -104
  167. package/templates/web-dev/rules/api-change.md +198 -198
  168. package/ai-dev-team/.gitkeep +0 -0
  169. package/ai-dev-team/artifacts/.gitkeep +0 -0
  170. package/ai-dev-team/artifacts/features/_template/qa.md +0 -16
  171. package/ai-dev-team/roles/.gitkeep +0 -0
  172. package/ai-dev-team/rules/.gitkeep +0 -0
  173. package/bin/cli.js +0 -83
  174. package/examples/todo-app/README.md +0 -23
  175. package/examples/todo-app/artifacts/backlog.md +0 -23
  176. package/examples/todo-app/artifacts/plan.md +0 -23
  177. package/examples/todo-app/artifacts/project.md +0 -23
  178. package/src/commands/interactive.js +0 -101
  179. package/src/commands/logs.js +0 -81
  180. package/src/commands/reset.js +0 -66
  181. package/src/commands/run.js +0 -554
  182. package/src/commands/sessions.js +0 -707
  183. package/src/commands/setup.js +0 -128
  184. package/src/commands/sprint.js +0 -262
  185. package/src/commands/status.js +0 -76
  186. package/src/commands/validate.js +0 -288
  187. package/src/commands/validate.test.js +0 -84
  188. package/src/utils/files.js +0 -134
  189. package/src/utils/sessionState.js +0 -379
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
 
@@ -19,14 +19,17 @@
19
19
 
20
20
  AI 에이전트 실행 시, 시스템 프롬프트에 다음을 포함합니다:
21
21
 
22
- 1. **모든 규칙 파일 내용** (rules/*.md)
23
- 2. **핵심 산출물 내용** (plan.md, project.md, 현재 스프린트 Task 파일)
24
- 3. **인터페이스 문서 내용** (api.md, ui.md 등)
22
+ 1. **역할 정의** - 역할의 책임과 권한
23
+ 2. **모든 규칙 파일 내용** (rules/*.md)
24
+ 3. **전문 스킬** (skills/*.md) - 역할에 지정된 기술 스택 가이드
25
+ 4. **핵심 산출물 내용** (plan.md, project.md, 현재 스프린트 Task 파일)
26
+ 5. **인터페이스 문서 내용** (api.md, ui.md 등)
25
27
 
26
28
  이를 통해 AI는:
27
29
  - 문서에 명시된 규칙을 따라야만 함
28
30
  - 현재 스프린트 범위를 벗어날 수 없음
29
31
  - project.md에 없는 기술을 추가할 수 없음
32
+ - 프로젝트의 코딩 패턴과 스타일을 자동으로 준수
30
33
 
31
34
  **파일명만 나열하지 않고, 내용을 포함**하는 것이 핵심입니다.
32
35
 
@@ -44,13 +47,14 @@ npm install -g @silbaram/artifact-driven-agent
44
47
  npx @silbaram/artifact-driven-agent setup web
45
48
  ```
46
49
 
47
- ### 저장소 클론
50
+ ### 저장소 클론 (개발자용)
48
51
 
49
52
  ```bash
50
53
  git clone https://github.com/silbaram/artifact-driven-agent.git
51
54
  cd artifact-driven-agent
52
- npm install
53
- npm link # 전역 명령어 등록
55
+ npm install # 의존성 설치
56
+ npm run build # TypeScript 컴파일
57
+ npm link # 전역 명령어 등록
54
58
  ```
55
59
 
56
60
  ### 설치 확인
@@ -60,6 +64,36 @@ ada --version
60
64
  ada --help
61
65
  ```
62
66
 
67
+ ### 업그레이드
68
+
69
+ npm 패키지를 업데이트한 후, 기존 작업공간도 최신 버전으로 업그레이드해야 합니다.
70
+
71
+ ```bash
72
+ # npm 패키지 업데이트
73
+ npm install -g @silbaram/artifact-driven-agent@latest
74
+
75
+ # 작업공간 상태 확인 (버전 불일치 경고 표시)
76
+ ada status
77
+
78
+ # 변경 사항 미리보기
79
+ ada upgrade --dry-run
80
+
81
+ # 안전 업그레이드 (백업 + 확인)
82
+ ada upgrade
83
+
84
+ # 강제 업그레이드 (확인 없이)
85
+ ada upgrade --force
86
+
87
+ # 문제 발생 시 롤백
88
+ ada upgrade --rollback
89
+ ```
90
+
91
+ **업그레이드 동작:**
92
+ - ✅ `roles/`, `rules/` 디렉토리 업데이트 (프레임워크 파일)
93
+ - ✅ 자동 백업 생성 (`.backups/upgrade-YYYYMMDD-HHMMSS/`)
94
+ - ✅ 사용자 데이터 보존 (`backlog/`, `sprints/`, `decision.md`, `project.md`, `plan.md`)
95
+ - ✅ 버전 추적 (`.ada-version` 파일)
96
+
63
97
  ---
64
98
 
65
99
  ## 🖥️ 빠른 시작
@@ -98,22 +132,54 @@ ada developer claude # Task 구현 → DONE 상태로 변경
98
132
  ada reviewer claude # 코드 리뷰 → review-reports/ 생성
99
133
  ```
100
134
 
101
- ### 6. 스프린트 종료
135
+ ### 6. 스프린트 종료 및 문서화
136
+
137
+ ```bash
138
+ # 스프린트 종료 및 정리
139
+ ada sprint close # 작업 파일을 archive/ 폴더로 이동 (권장)
140
+ ada sprint close --clean # 작업 파일 완전 삭제 (최종 문서만 유지)
141
+ ada sprint close --keep-all # 모든 파일 유지
142
+
143
+ # 문서 작성
144
+ ada documenter claude # Release Notes, API Changelog 등 생성
145
+ ```
146
+
147
+ ### 7. (선택) 프로젝트 문서 관리
102
148
 
103
149
  ```bash
104
- ada sprint close # 스프린트 종료
105
- ada documenter claude # 문서 작성
150
+ # 문서 사이트 초기화 (최초 1회)
151
+ ada docs init
152
+
153
+ # 문서 생성/업데이트
154
+ ada documenter claude # Documenter가 docs/ 업데이트
155
+
156
+ # 로컬 미리보기
157
+ ada docs serve
158
+
159
+ # GitHub Pages 배포 (MkDocs 자동 배포 지원)
160
+ ada docs publish
161
+ ```
162
+
163
+ **종료 후 구조 (기본):**
164
+ ```
165
+ sprints/sprint-N/
166
+ ├── meta.md # 스프린트 정보
167
+ ├── docs/ # 최종 문서 ✅
168
+ └── archive/ # 작업 과정 보관
169
+ ├── tasks/
170
+ └── review-reports/
106
171
  ```
107
172
 
108
173
  ---
109
174
 
110
175
  ## 👥 역할 시스템
111
176
 
112
- ### 핵심 역할 (4개) - 모든 프로젝트 필수
177
+ ### 핵심 역할 (5개) - 모든 프로젝트 필수
113
178
 
114
179
  | 역할 | 책임 | 산출물 |
115
180
  |------|------|--------|
116
- | **Planner** | 요구사항 수집, Task 분해 | plan.md, backlog/*.md |
181
+ | **Planner** | 신규 기능 요구사항 수집, Task 분해 | plan.md, backlog/*.md |
182
+ | **Improver** | 기존 기능 개선 분석 및 기획 | improvement-reports/*.md, backlog/*.md |
117
183
  | **Developer** | 코드 구현, Task 완료 | 소스 코드, Task 파일 업데이트 |
118
184
  | **Reviewer** | 코드 리뷰, 품질 판정 | review-reports/*.md |
119
185
  | **Documenter** | 스프린트 완료 시 문서 작성 | API Changelog, Release Notes, User Guide |
@@ -132,22 +198,38 @@ ada documenter claude # 문서 작성
132
198
 
133
199
  ```
134
200
  artifact-driven-agent/
135
- ├── bin/cli.js # CLI 진입점
201
+ ├── bin/
202
+ │ └── cli.ts # CLI 진입점 (TypeScript)
136
203
  ├── src/
137
- │ ├── commands/ # 명령어 구현
138
- │ │ ├── setup.js
139
- │ │ ├── run.js
140
- │ │ ├── sprint.js # 스프린트 관리
141
- │ │ └── sessions.js # 세션 모니터링
142
- │ └── utils/
143
- ├── files.js
144
- └── sessionState.js
204
+ │ ├── commands/ # 명령어 구현 (TypeScript)
205
+ │ │ ├── setup.ts
206
+ │ │ ├── run.ts
207
+ │ │ ├── sprint.ts # 스프린트 관리
208
+ │ │ ├── sessions.ts # 세션 모니터링
209
+ └── config.ts # 설정 관리
210
+ ├── utils/
211
+ │ ├── files.ts
212
+ │ │ ├── config.ts # 설정 유틸리티
213
+ │ │ └── sessionState.ts
214
+ │ ├── ui/
215
+ │ │ ├── dashboard.ts # 대시보드
216
+ │ │ └── keyHandler.ts
217
+ │ └── types/ # TypeScript 타입 정의
218
+ │ ├── common.ts
219
+ │ ├── session.ts
220
+ │ ├── config.ts
221
+ │ ├── task.ts
222
+ │ └── index.ts
223
+ ├── dist/ # 빌드 출력 (.js 파일)
224
+ ├── tsconfig.json # TypeScript 설정
145
225
  ├── core/ # 범용 핵심
146
- │ ├── roles/ # 5개 역할
226
+ │ ├── roles/ # 6개 역할
147
227
  │ ├── artifacts/ # 산출물 템플릿
148
228
  │ │ └── sprints/
149
229
  │ │ └── _template/ # 스프린트 템플릿
150
- └── rules/ # 5개 규칙
230
+ ├── rules/ # 5개 규칙
231
+ │ └── skills/ # 🆕 스킬 템플릿
232
+ │ └── _template/
151
233
  └── templates/ # 프로젝트 유형별
152
234
  ├── web-dev/
153
235
  ├── library/
@@ -184,9 +266,17 @@ ai-dev-team/
184
266
  │ └── task-005.md
185
267
  ├── roles/ # core + template 병합
186
268
  ├── rules/
269
+ ├── skills/ # 🆕 역할별 전문 스킬
270
+ │ ├── _template/
271
+ │ │ └── SKILL.md
272
+ │ ├── spring-boot/
273
+ │ │ └── SKILL.md
274
+ │ └── kotlin/
275
+ │ └── SKILL.md
276
+ ├── ada.config.json # 역할별 AI 도구 + 스킬 설정
277
+ ├── .ada-status.json # 멀티 세션 상태 파일
187
278
  └── .sessions/ # 세션 이력
188
- ├── logs/
189
- └── .ada-status.json # 멀티 세션 상태 파일
279
+ └── logs/
190
280
  ```
191
281
 
192
282
  ---
@@ -199,7 +289,15 @@ ai-dev-team/
199
289
  |--------|------|
200
290
  | `ada` | 대화형 모드 |
201
291
  | `ada setup [template]` | 템플릿 세팅 (web, lib, game, cli) |
202
- | `ada status` | 상태 확인 |
292
+ | `ada status` | 상태 확인 (버전 체크 포함) |
293
+ | `ada config` | 설정 변경 (대화형) |
294
+ | `ada config show` | 현재 설정 보기 |
295
+ | `ada config list` | 현재 설정 보기 (show와 동일) |
296
+ | `ada config get <key>` | 설정 값 조회 |
297
+ | `ada config set <key> <value>` | 설정 값 변경 |
298
+ | `ada upgrade` | 작업공간을 최신 버전으로 업그레이드 |
299
+ | `ada upgrade --dry-run` | 변경 사항 미리보기 |
300
+ | `ada upgrade --rollback` | 이전 백업으로 롤백 |
203
301
  | `ada validate [doc]` | 문서 검증 |
204
302
  | `ada reset [-f]` | 초기화 |
205
303
 
@@ -209,7 +307,11 @@ ai-dev-team/
209
307
  |--------|------|
210
308
  | `ada sprint create` | 새 스프린트 생성 |
211
309
  | `ada sprint add task-001 ...` | Task 추가 |
212
- | `ada sprint close` | 현재 스프린트 종료 |
310
+ | `ada sprint sync` | meta.md 상태 동기화 (Task 파일 반영) |
311
+ | `ada sprint close` | 스프린트 종료 (작업 파일 archive/) |
312
+ | `ada sprint close --auto` | 스프린트 자동 종료 (회고 기본값) |
313
+ | `ada sprint close --clean` | 스프린트 종료 (작업 파일 삭제) |
314
+ | `ada sprint close --keep-all` | 스프린트 종료 (파일 유지) |
213
315
  | `ada sprint list` | 스프린트 목록 |
214
316
 
215
317
  ### AI 에이전트 실행
@@ -222,12 +324,15 @@ ada run <role> <tool>
222
324
  ada <role> <tool>
223
325
 
224
326
  # 예시
225
- ada planner claude
327
+ ada planner claude # 신규 기능 기획
328
+ ada improver claude # 기존 기능 개선 기획
226
329
  ada developer codex
227
330
  ada reviewer gemini
228
331
  ada documenter claude
229
332
  ```
230
333
 
334
+ tool을 생략하면 `ada.config.json` 기본값을 사용합니다.
335
+
231
336
  **지원 도구:** claude, codex, gemini, copilot
232
337
 
233
338
  ### 세션 모니터링
@@ -240,13 +345,81 @@ ada sessions
240
345
  ada sessions --watch
241
346
  ada sessions -w
242
347
 
243
- # 대기 질문이 있으면 자동으로 응답 프롬프트가 표시됩니다.
244
348
  # 세션 로그 확인
245
349
  ada logs
246
350
  ada logs [session-id]
247
351
  ```
248
352
 
249
- ---
353
+ ### 문서 관리
354
+
355
+ ```bash
356
+ # 문서 구조 초기화 (MkDocs/Jekyll)
357
+ ada docs init
358
+ ada docs init -g mkdocs # MkDocs 템플릿
359
+ ada docs init -g jekyll # Jekyll 템플릿
360
+
361
+ # 문서 생성 (Documenter 역할 실행 안내)
362
+ ada docs generate
363
+
364
+ # 로컬 문서 서버 실행
365
+ ada docs serve
366
+
367
+ # GitHub Pages 배포 (MkDocs 자동 배포 지원)
368
+ ada docs publish
369
+ ```
370
+
371
+ **참고:** 실제 문서 내용 생성은 Documenter 역할로 수행합니다:
372
+ ```bash
373
+ ada documenter claude
374
+ ```
375
+
376
+ ### 스킬 관리
377
+
378
+ 스킬은 AI 도구의 **네이티브 스킬 시스템**을 통해 적용됩니다.
379
+
380
+ | 도구 | 스킬 탐색 경로 |
381
+ |------|---------------|
382
+ | Claude Code | `.claude/skills/` |
383
+ | Gemini CLI | `.gemini/skills/` |
384
+ | Codex | `.agents/skills/` |
385
+
386
+ ```bash
387
+ # 스킬 목록 (ada 저장소)
388
+ ada skills list
389
+
390
+ # 스킬 상세 정보
391
+ ada skills info spring-boot
392
+
393
+ # 스킬 적용 (네이티브 경로에 복사)
394
+ ada skills apply spring-boot # 모든 도구에 적용
395
+ ada skills apply spring-boot claude # 특정 도구에만 적용
396
+
397
+ # 스킬 제거
398
+ ada skills remove spring-boot # 모든 도구에서 제거
399
+ ada skills remove spring-boot gemini # 특정 도구에서만 제거
400
+
401
+ # 적용 상태 확인
402
+ ada skills status
403
+
404
+ # 대화형 적용/삭제 UI
405
+ ada skills ui
406
+ ```
407
+
408
+ **스킬 추가 방법:**
409
+ 커뮤니티나 GitHub에서 스킬을 다운로드하여 `ai-dev-team/skills/` 디렉토리에 추가합니다.
410
+
411
+ ```bash
412
+ # 예시: GitHub에서 스킬 다운로드
413
+ cd ai-dev-team/skills/
414
+ git clone https://github.com/awesome-ada/spring-boot-skill.git spring-boot
415
+
416
+ # 또는 직접 복사
417
+ cp -r /path/to/spring-boot ai-dev-team/skills/
418
+
419
+ # 확인 및 적용
420
+ ada skills list
421
+ ada skills apply spring-boot
422
+ ```
250
423
 
251
424
  ## 🔄 워크플로우
252
425
 
@@ -256,10 +429,9 @@ ada logs [session-id]
256
429
  1. Planner: 요구사항 수집
257
430
  → plan.md + backlog/*.md 생성
258
431
 
259
- 2. Manager: 스프린트 생성/Task 할당
260
- (plan.md Confirmed 후 watch에서 승인하면 자동 실행)
261
- 자동 실행: ada sprint create
262
- → 자동 실행: ada sprint add task-001 task-002
432
+ 2. 사용자: 스프린트 생성
433
+ ada sprint create
434
+ → ada sprint add task-001 task-002
263
435
 
264
436
  3. Developer: Task 구현
265
437
  → 코드 작성
@@ -273,9 +445,15 @@ ada logs [session-id]
273
445
  → ada sprint close
274
446
 
275
447
  6. Documenter: 문서 작성
276
- docs/*.md 생성 (API Changelog, Release Notes 등)
448
+ ada documenter claude
449
+ → sprints/sprint-N/docs/*.md 생성 (Release Notes, API Changelog 등)
450
+ → (선택) 프로젝트 docs/ 업데이트 (문서 사이트용)
451
+
452
+ 7. (선택) 문서 사이트 배포
453
+ → ada docs serve (로컬 미리보기)
454
+ → ada docs publish (GitHub Pages 배포)
277
455
 
278
- 7. 다음 스프린트 시작
456
+ 8. 다음 스프린트 시작
279
457
  → ada sprint create
280
458
  ```
281
459
 
@@ -285,11 +463,23 @@ ada logs [session-id]
285
463
  0. Analyzer: 코드베이스 분석
286
464
  → project.md 역생성
287
465
 
288
- 1. Planner: 추가 기능 기획
289
- → plan.md 업데이트
290
- → backlog/*.md 생성
466
+ 1. [분기점]
291
467
 
292
- 2. 이후 신규 프로젝트와 동일
468
+ A) 신규 기능 추가 시:
469
+ Planner: 추가 기능 기획
470
+ → plan.md 업데이트
471
+ → backlog/*.md 생성
472
+
473
+ B) 기존 기능 개선 시:
474
+ Improver: 개선 분석 및 기획
475
+ → improvement-reports/IMP-NNN.md 생성
476
+ → backlog/*.md 생성
477
+
478
+ 2. 사용자: 스프린트 생성
479
+ → ada sprint create
480
+ → ada sprint add task-001 task-002
481
+
482
+ 3. 이후 신규 프로젝트와 동일 (Developer → Reviewer → Documenter)
293
483
  ```
294
484
 
295
485
  ### Task 상태 흐름
@@ -369,11 +559,6 @@ ada reviewer gemini
369
559
  ada sessions --watch
370
560
  ```
371
561
 
372
- **세션 모니터링 포인트**
373
- - 대기 질문이 생성되면 watch 화면이 자동 프롬프트로 전환됩니다.
374
- - 프롬프트는 사용자가 직접 입력하며, 응답은 `.ada-status.json`에 저장됩니다.
375
- - 승인형 질문에 '예'로 응답하면 필요한 CLI 작업을 자동 실행합니다.
376
-
377
562
  ### 자동 세션 관리
378
563
 
379
564
  **세션 시작 시:**
@@ -388,17 +573,262 @@ ada sessions --watch
388
573
  ### 상태 파일
389
574
 
390
575
  ```
391
- ai-dev-team/.sessions/.ada-status.json
576
+ ai-dev-team/.ada-status.json
392
577
  ```
393
578
 
394
579
  모든 세션이 이 파일을 통해 상태를 공유합니다.
395
580
 
396
581
  **구성:**
397
582
  - `activeSessions[]`: 실행 중인 세션
398
- - `pendingQuestions[]`: 대기 질문 및 응답 상태
399
- - `taskProgress[]`: Task 진행 상황
583
+ - `pendingQuestions[]`: 대기 질문
584
+ - `taskProgress{}`: Task 진행 상태
400
585
  - `notifications[]`: 세션 간 알림
401
- - (기존 Manager 관련 필드는 제거됨)
586
+ - `locks{}`: 파일 잠금 상태
587
+
588
+ ---
589
+
590
+ ## ⚙️ 설정 관리
591
+
592
+ 역할별로 사용할 AI 도구를 설정할 수 있습니다.
593
+
594
+ ### 설정 파일
595
+
596
+ ```
597
+ ai-dev-team/ada.config.json
598
+ ```
599
+
600
+ ```json
601
+ {
602
+ "version": "1.0",
603
+ "defaults": {
604
+ "tool": "claude"
605
+ },
606
+ "roles": {
607
+ "manager": "claude",
608
+ "planner": "claude",
609
+ "developer": "gemini",
610
+ "reviewer": "claude",
611
+ "documenter": "claude"
612
+ }
613
+ }
614
+ ```
615
+
616
+ ### 대화형 설정
617
+
618
+ ```bash
619
+ ada config
620
+ ```
621
+
622
+ **메뉴:**
623
+ - 📋 현재 설정 보기
624
+ - 🔧 역할별 도구 설정
625
+ - ⚡ 기본 도구 변경
626
+ - 🎯 빠른 설정 (프리셋)
627
+
628
+ ### 프리셋
629
+
630
+ | 프리셋 | 설명 |
631
+ |--------|------|
632
+ | All Claude | 모든 역할에 Claude 사용 |
633
+ | All Gemini | 모든 역할에 Gemini 사용 |
634
+ | Mixed Optimal | 역할별 최적 조합 |
635
+ | Dev Gemini + Review Claude | 개발은 Gemini, 리뷰는 Claude |
636
+
637
+ ### 명령어 모드
638
+
639
+ ```bash
640
+ # 개별 역할 설정
641
+ ada config set roles.developer gemini
642
+ ada config set roles.reviewer claude
643
+
644
+ # 기본 도구 변경
645
+ ada config set defaults.tool gemini
646
+
647
+ # 설정 확인
648
+ ada config show # 또는 ada config list
649
+
650
+ # 특정 값 조회
651
+ ada config get roles.manager
652
+ ```
653
+
654
+ 설정을 초기화하려면 `ai-dev-team/ada.config.json` 삭제 후 `ada config`를 실행하세요.
655
+
656
+ ---
657
+
658
+ ## 🎓 스킬 시스템
659
+
660
+ 역할별로 기술 스택, 패턴, 코딩 스타일 등의 전문 지식을 스킬로 정의하여 AI에게 자동으로 제공할 수 있습니다.
661
+
662
+ ### 개념
663
+
664
+ **스킬(Skill)**은 특정 기술이나 패턴에 대한 가이드를 담은 마크다운 문서입니다.
665
+
666
+ - 역할별로 필요한 스킬을 지정하면, AI 실행 시 자동으로 로드됩니다.
667
+ - 프로젝트별 기술 스택 표준화 및 코딩 패턴 통일에 유용합니다.
668
+
669
+ ### 스킬 구조
670
+
671
+ ```
672
+ ai-dev-team/skills/
673
+ ├── _template/ # 템플릿
674
+ │ └── SKILL.md
675
+ ├── spring-boot/ # 사용자 생성 스킬
676
+ │ ├── SKILL.md # 메인 파일 (필수)
677
+ │ ├── examples/ # 예시 코드 (선택)
678
+ │ └── references/ # 참조 문서 (선택)
679
+ └── kotlin/
680
+ └── SKILL.md
681
+ ```
682
+
683
+ **SKILL.md 예시:**
684
+ ```yaml
685
+ ---
686
+ name: spring-boot
687
+ description: Spring Boot 백엔드 개발 시 Kotlin, REST API, JPA 패턴 적용
688
+ ---
689
+
690
+ # Spring Boot + Kotlin 백엔드 개발
691
+
692
+ ## Controller 패턴
693
+ - `@RestController` + `@RequestMapping` 사용
694
+ - 경로는 복수형 명사 (`/api/users`)
695
+
696
+ ## Service 계층
697
+ - `@Service` + `@Transactional` 조합
698
+
699
+ ## Repository
700
+ - Spring Data JPA 사용
701
+ ```
702
+
703
+ ### 사용 방법
704
+
705
+ **1. 스킬 다운로드 또는 생성:**
706
+
707
+ 커뮤니티에서 검증된 스킬을 다운로드하거나, 직접 생성합니다.
708
+
709
+ ```bash
710
+ # 방법 1: 커뮤니티에서 다운로드 (권장)
711
+ cd ai-dev-team/skills/
712
+ git clone https://github.com/awesome-ada/spring-boot-skill.git spring-boot
713
+ git clone https://github.com/awesome-ada/kotlin-skill.git kotlin
714
+
715
+ # 방법 2: 직접 생성
716
+ mkdir -p ai-dev-team/skills/spring-boot
717
+ touch ai-dev-team/skills/spring-boot/SKILL.md
718
+ code ai-dev-team/skills/spring-boot/SKILL.md
719
+ ```
720
+
721
+ **2. 스킬 확인:**
722
+ ```bash
723
+ ada skills list
724
+ ```
725
+
726
+ **3. 스킬 적용 (네이티브 경로에 복사):**
727
+ ```bash
728
+ # 모든 도구에 적용
729
+ ada skills apply spring-boot kotlin
730
+
731
+ # 또는 특정 도구에만 적용
732
+ ada skills apply spring-boot claude
733
+
734
+ # 적용 상태 확인
735
+ ada skills status
736
+ ```
737
+
738
+ **4. AI 실행:**
739
+ ```bash
740
+ ada developer claude
741
+
742
+ # → Claude가 .claude/skills/에서 스킬을 자동으로 로드
743
+ # → 해당 패턴에 맞춰 코드 생성!
744
+ ```
745
+
746
+ ### 네이티브 스킬 경로
747
+
748
+ 각 AI 도구는 자체 스킬 탐색 경로에서 스킬을 자동으로 인식합니다:
749
+
750
+ | 도구 | 스킬 탐색 경로 |
751
+ |------|---------------|
752
+ | Claude Code | `.claude/skills/` |
753
+ | Gemini CLI | `.gemini/skills/` |
754
+ | Codex | `.agents/skills/` |
755
+
756
+ `ada skills apply` 명령은 ada 스킬 저장소의 스킬을 이 네이티브 경로로 복사합니다.
757
+
758
+ ```
759
+ ai-dev-team/skills/spring-boot/ → .claude/skills/spring-boot/
760
+ → .gemini/skills/spring-boot/
761
+ → .agents/skills/spring-boot/
762
+ ```
763
+
764
+ ### 작동 원리
765
+
766
+ 1. **스킬 저장**: `ai-dev-team/skills/`에 스킬 저장
767
+ 2. **스킬 적용**: `ada skills apply`로 네이티브 경로에 복사
768
+ 3. **AI 실행**: 각 AI 도구가 자체 스킬 경로에서 자동 로드
769
+
770
+ 이를 통해 AI는 프로젝트의 기술 스택과 코딩 패턴을 자동으로 따르게 됩니다.
771
+
772
+ ### 예시 시나리오
773
+
774
+ **Spring Boot + Kotlin 프로젝트:**
775
+
776
+ ```bash
777
+ # 1. 스킬 다운로드 (커뮤니티에서)
778
+ cd ai-dev-team/skills/
779
+ git clone https://github.com/awesome-ada/spring-boot-skill.git spring-boot
780
+ git clone https://github.com/awesome-ada/kotlin-skill.git kotlin
781
+ git clone https://github.com/awesome-ada/rest-api-skill.git rest-api
782
+
783
+ # 2. 확인
784
+ ada skills list
785
+
786
+ # 3. 스킬 적용 (네이티브 경로에 복사)
787
+ ada skills apply spring-boot
788
+ ada skills apply kotlin
789
+ ada skills apply rest-api
790
+
791
+ # 4. 개발 실행
792
+ ada developer claude
793
+
794
+ # → Controller 작성 시 자동으로:
795
+ # - @RestController + @RequestMapping 패턴 사용
796
+ # - Kotlin data class 활용
797
+ # - REST API 네이밍 규칙 준수
798
+ ```
799
+
800
+ **Python FastAPI 프로젝트:**
801
+
802
+ ```bash
803
+ # 커뮤니티에서 스킬 다운로드
804
+ cd ai-dev-team/skills/
805
+ git clone https://github.com/awesome-ada/fastapi-skill.git fastapi
806
+ git clone https://github.com/awesome-ada/pydantic-skill.git pydantic
807
+
808
+ # 스킬 적용
809
+ ada skills apply fastapi
810
+ ada skills apply pydantic
811
+
812
+ ada developer claude
813
+ ```
814
+
815
+ ### 스킬 관리 명령어
816
+
817
+ | 명령어 | 설명 |
818
+ |--------|------|
819
+ | `ada skills list` | 스킬 목록 (적용 상태 포함) |
820
+ | `ada skills info <name>` | 스킬 상세 정보 |
821
+ | `ada skills apply <name> [tool]` | 스킬 적용 (네이티브 경로에 복사) |
822
+ | `ada skills remove <name> [tool]` | 스킬 제거 |
823
+ | `ada skills status` | 도구별 적용 상태 확인 |
824
+ | `ada skills ui` | 대화형 스킬 적용/삭제 |
825
+
826
+ **지원 도구:** `claude`, `gemini`, `codex`
827
+
828
+ **스킬 추가 방법:**
829
+ - 커뮤니티 저장소에서 다운로드
830
+ - 직접 `ai-dev-team/skills/<name>/SKILL.md` 생성
831
+ - 팀 내부 스킬 공유
402
832
 
403
833
  ---
404
834
 
@@ -444,9 +874,10 @@ ai-dev-team/.sessions/.ada-status.json
444
874
  - 역할 간 blocking 문제 (backend ↔ frontend)
445
875
 
446
876
  **현재 (v0.2.x):**
447
- - 4개 핵심 역할 (planner, developer, reviewer, documenter)
877
+ - 5개 핵심 역할 (planner, improver, developer, reviewer, documenter)
448
878
  - 사용자 직접 스프린트 관리 (CLI 명령어)
449
879
  - 단순화된 워크플로우
880
+ - 신규 기능(Planner)과 개선(Improver) 분리
450
881
 
451
882
  ### 스프린트 기반 구조
452
883
 
@@ -460,16 +891,18 @@ ai-dev-team/.sessions/.ada-status.json
460
891
  - Task별 개별 파일 (task-NNN.md)
461
892
  - 리뷰/문서도 Task별 분리
462
893
  - 완료된 스프린트는 불변 (이력 보존)
894
+ - 종료 시 작업 파일 자동 정리 (archive/ 또는 삭제)
463
895
 
464
896
  ### 자동화 개선
465
897
 
466
898
  **추가된 CLI 명령어:**
467
899
  - `ada sprint create` - 스프린트 자동 생성
468
900
  - `ada sprint add` - Task 자동 추가
469
- - `ada sprint close` - 스프린트 종료 및 회고 템플릿 생성
901
+ - `ada sprint close` - 스프린트 종료 및 작업 파일 정리 (archive/clean/keep-all 옵션)
470
902
  - `ada sprint list` - 스프린트 목록 확인
903
+ - `ada config` - 설정 조회/변경
904
+
471
905
 
472
- ---
473
906
 
474
907
  ## 🔧 개발 환경
475
908
 
@@ -483,14 +916,35 @@ ai-dev-team/.sessions/.ada-status.json
483
916
  ```bash
484
917
  git clone https://github.com/silbaram/artifact-driven-agent.git
485
918
  cd artifact-driven-agent
486
- npm install
487
- npm link # 전역 ada 명령어 등록
919
+ npm install # 의존성 설치
920
+ npm run build # TypeScript 컴파일
921
+ npm link # 전역 ada 명령어 등록
488
922
  ```
489
923
 
490
- ### 테스트
924
+ ### 개발 스크립트
491
925
 
492
926
  ```bash
493
- npm test # Node.js 내장 test runner 사용
927
+ npm run build # TypeScript 컴파일 (dist/ 생성)
928
+ npm run dev # TypeScript watch 모드 (개발 중)
929
+ npm run typecheck # 타입 체크만 실행
930
+ npm test # 테스트 실행 (Node.js 내장 test runner)
931
+ ```
932
+
933
+ ### 프로젝트 구조 (TypeScript)
934
+
935
+ ```
936
+ artifact-driven-agent/
937
+ ├── bin/
938
+ │ └── cli.ts # CLI 진입점 (TypeScript)
939
+ ├── src/
940
+ │ ├── commands/ # 명령어 구현 (.ts)
941
+ │ ├── utils/ # 유틸리티 (.ts)
942
+ │ ├── ui/ # UI 컴포넌트 (.ts)
943
+ │ └── types/ # TypeScript 타입 정의
944
+ ├── dist/ # 빌드 출력 (npm run build)
945
+ ├── tsconfig.json # TypeScript 설정
946
+ ├── core/ # 프레임워크 핵심
947
+ └── templates/ # 프로젝트 템플릿
494
948
  ```
495
949
 
496
950
  ---
@@ -524,7 +978,3 @@ MIT License
524
978
  - GitHub: [@silbaram](https://github.com/silbaram)
525
979
  - npm: [@silbaram/artifact-driven-agent](https://www.npmjs.com/package/@silbaram/artifact-driven-agent)
526
980
 
527
-
528
-
529
-
530
-