@silbaram/artifact-driven-agent 0.1.0 → 0.1.1

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 (2) hide show
  1. package/README.md +471 -273
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -21,77 +21,46 @@ CLI 기반 멀티 AI 에이전트를 사용해 기획 → 설계 → 개발 →
21
21
  ```
22
22
  artifact-driven-agent/
23
23
 
24
- ├── README.md
25
- ├── .gitignore
24
+ ├── package.json # npm 패키지 설정
25
+ ├── bin/
26
+ │ └── cli.js # CLI 진입점 (ada 명령어)
26
27
 
27
- ├── scripts/ # 🔧 실행 스크립트
28
- │ ├── ai-role.sh # Linux/Mac
29
- │ ├── ai-role.ps1 # Windows PowerShell
30
- │ ├── ai-role.bat # Windows CMD
31
- └── lint/
32
- └── validate-docs.sh # 문서 검증 스크립트
28
+ ├── src/ # CLI 소스 코드
29
+ │ ├── index.js # 모듈 익스포트
30
+ │ ├── commands/ # 명령어 구현
31
+ ├── setup.js # 템플릿 세팅
32
+ │ ├── status.js # 상태 확인
33
+ │ ├── reset.js # 초기화
34
+ │ │ ├── validate.js # 문서 검증
35
+ │ │ ├── sessions.js # 세션 목록
36
+ │ │ ├── logs.js # 로그 확인
37
+ │ │ ├── run.js # AI 에이전트 실행
38
+ │ │ └── interactive.js # 대화형 모드
39
+ │ └── utils/
40
+ │ └── files.js # 파일/경로 유틸리티
33
41
 
34
- ├── ai-dev-team/ # 🎯 작업 디렉토리 (setup 사용)
35
- │ ├── roles/ # 세팅된 역할들
36
- │ ├── artifacts/ # 세팅된 산출물 템플릿
37
- │ ├── features/ # Feature 단위 산출물
38
- │ │ │ └── _template/ # Feature 템플릿
39
- │ │ └── rfc/ # RFC 변경 요청서
40
- │ │ └── RFC-0000-template.md
41
- │ └── rules/ # 세팅된 규칙들
42
+ ├── core/ # 범용 핵심 (6역할, 8산출물, 5규칙)
43
+ │ ├── roles/
44
+ │ ├── artifacts/
45
+ └── rules/
42
46
 
43
- ├── core/ # 🔵 범용 핵심 (소스)
44
- │ ├── roles/ # 6개: planner, architect, developer,
45
- │ │ # reviewer, qa, manager
46
- ├── planner.md
47
- │ ├── architect.md
48
- │ │ ├── developer.md
49
- │ │ ├── reviewer.md
50
- │ │ ├── qa.md
51
- │ │ └── manager.md
52
- │ │
53
- │ ├── artifacts/ # 8개: 공통 산출물 템플릿
54
- │ │ ├── plan.md
55
- │ │ ├── project.md
56
- │ │ ├── backlog.md
57
- │ │ ├── current-sprint.md
58
- │ │ ├── decision.md
59
- │ │ ├── architecture-options.md
60
- │ │ ├── review-report.md
61
- │ │ └── qa-report.md
62
- │ │
63
- │ └── rules/ # 5개: 공통 규칙
64
- │ ├── iteration.md
65
- │ ├── escalation.md
66
- │ ├── rollback.md
67
- │ ├── document-priority.md
68
- │ └── rfc.md # RFC 변경 관리 규칙
47
+ ├── templates/ # 프로젝트 유형별 템플릿
48
+ │ ├── web-dev/
49
+ ├── library/
50
+ │ ├── game/
51
+ └── cli/
69
52
 
70
- ├── templates/ # 🟢 프로젝트 유형별 템플릿 (소스)
71
- ├── web-dev/ # 서비스 개발
72
- ├── library/ # 라이브러리/SDK 개발
73
- │ ├── game/ # 게임 개발
74
- │ └── cli/ # CLI 도구 개발
75
-
76
- ├── docs/ # 📖 가이드 문서
77
- │ └── feature-structure.md # Feature 단위 구조 가이드
78
-
79
- └── examples/ # 📚 예제 프로젝트
80
- └── todo-app/ # Todo App 예제
81
- ├── README.md
82
- └── artifacts/
83
- ├── plan.md
84
- ├── project.md
85
- └── backlog.md
53
+ ├── ai-dev-team/ # 작업 디렉토리 (setup 사용)
54
+ ├── docs/ # 가이드 문서
55
+ ├── examples/ # 예제 프로젝트
56
+ └── scripts/ # 스크립트 (레거시)
86
57
  ```
87
58
 
88
59
  ---
89
60
 
90
- ## 🚀 빠른 시작
91
-
92
- ### 설치 방법
61
+ ## 🚀 설치
93
62
 
94
- #### 방법 1: npm (권장)
63
+ ### 방법 1: npm 설치 (권장)
95
64
 
96
65
  ```bash
97
66
  # 전역 설치
@@ -101,311 +70,563 @@ npm install -g @silbaram/artifact-driven-agent
101
70
  npx @silbaram/artifact-driven-agent setup web
102
71
  ```
103
72
 
104
- #### 방법 2: 직접 다운로드
73
+ ### 방법 2: 저장소 클론
105
74
 
106
75
  ```bash
107
- # 저장소 클론
108
76
  git clone https://github.com/silbaram/artifact-driven-agent.git
109
77
  cd artifact-driven-agent
110
78
  npm install
111
79
  npm link # 전역 명령어 등록
112
80
  ```
113
81
 
114
- ### 1단계: 개발 스타일 세팅
82
+ ### 설치 확인
115
83
 
116
84
  ```bash
117
- # npm 설치 후
118
- ada setup web
119
-
120
- # 또는 직접 지정
121
- ada setup web # 웹 서비스 개발 (web-dev 별칭)
122
- ada setup library # 라이브러리 개발 (lib 별칭)
123
- ada setup game # 게임 개발
124
- ada setup cli # CLI 도구 개발
85
+ ada --version
86
+ ada --help
125
87
  ```
126
88
 
127
- > ⚠️ **Windows PowerShell 오류 시**
128
- > ```powershell
129
- > # 현재 세션에서만 실행 허용
130
- > Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
131
- > ```
89
+ ---
132
90
 
133
- ### 2단계: AI 에이전트 실행
91
+ ## 🖥️ CLI 명령어 상세
134
92
 
135
- ```bash
136
- # 대화형으로 역할/도구 선택
137
- ada
93
+ ### 전체 명령어 요약
138
94
 
139
- # 또는 직접 지정
140
- ada backend claude
141
- ada planner codex
142
- ada run frontend gemini
143
- ```
95
+ | 명령어 | 설명 |
96
+ |--------|------|
97
+ | `ada` | 대화형 모드 |
98
+ | `ada setup [template]` | 템플릿 세팅 |
99
+ | `ada status` | 상태 확인 |
100
+ | `ada reset [-f]` | 초기화 |
101
+ | `ada validate [doc]` | 문서 검증 |
102
+ | `ada sessions` | 세션 목록 |
103
+ | `ada logs [id]` | 로그 확인 |
104
+ | `ada run <role> <tool>` | AI 실행 |
105
+ | `ada <role> <tool>` | AI 실행 (단축) |
144
106
 
145
107
  ---
146
108
 
147
- ## 🖥 스크립트 명령어
109
+ ### `ada setup` - 프로젝트 세팅
148
110
 
149
- ### 세팅 명령어
111
+ **소스:** `src/commands/setup.js`
150
112
 
151
- | 명령어 | 설명 |
152
- | ------------------ | ------------------------------ |
153
- | `setup` | 대화형으로 템플릿 선택 후 세팅 |
154
- | `setup <template>` | 특정 템플릿으로 세팅 |
155
- | `status` | 현재 세팅 상태 확인 |
156
- | `reset` | ai-dev-team 초기화 |
113
+ 템플릿을 선택하여 ai-dev-team 디렉토리를 구성합니다.
114
+
115
+ ```bash
116
+ # 대화형 선택
117
+ ada setup
118
+
119
+ # 직접 지정
120
+ ada setup web # 웹 서비스 (web-dev 별칭)
121
+ ada setup lib # 라이브러리 (library 별칭)
122
+ ada setup game # 게임
123
+ ada setup cli # CLI 도구
124
+ ```
157
125
 
158
- ### 실행 명령어
126
+ **동작:**
127
+ 1. `core/` 디렉토리의 공통 roles, artifacts, rules 복사
128
+ 2. 선택한 템플릿의 전용 파일 병합
129
+ 3. Feature/RFC 템플릿 복사
130
+ 4. `.current-template` 파일에 현재 템플릿 저장
159
131
 
160
- | 명령어 | 설명 |
161
- | --------------- | --------------------------------- |
162
- | (인자 없음) | 대화형으로 역할/도구 선택 후 실행 |
163
- | `<role> <tool>` | 직접 역할과 도구 지정해서 실행 |
132
+ ---
164
133
 
165
- ### 검증/관리 명령어
134
+ ### `ada status` - 상태 확인
166
135
 
167
- | 명령어 | 설명 |
168
- | ------------------- | ----------------------------------------- |
169
- | `validate` | 산출물 문서 검증 (plan.md, project.md 등) |
170
- | `sessions` | AI 실행 세션 목록 |
171
- | `logs` | 가장 최근 세션 로그 확인 |
172
- | `logs <session-id>` | 특정 세션 로그 확인 |
136
+ **소스:** `src/commands/status.js`
173
137
 
174
- ### 예시
138
+ 현재 세팅 상태를 확인합니다.
175
139
 
176
140
  ```bash
177
- # 웹 개발로 세팅
178
- ada setup web
179
-
180
- # 현재 상태 확인
181
141
  ada status
142
+ ```
143
+
144
+ **출력 내용:**
145
+ - 현재 템플릿
146
+ - 역할 목록
147
+ - 산출물 목록 (상태 표시: Draft/Confirmed/Frozen)
148
+ - 규칙 목록
149
+
150
+ ---
182
151
 
183
- # 문서 검증 (스프린트 시작 전 권장)
152
+ ### `ada validate` - 문서 검증
153
+
154
+ **소스:** `src/commands/validate.js`
155
+
156
+ 산출물 문서의 완성도를 자동 검사합니다.
157
+
158
+ ```bash
159
+ # 전체 검증
184
160
  ada validate
185
161
 
186
- # 백엔드 개발자로 Claude 실행
162
+ # 특정 문서만
163
+ ada validate plan
164
+ ada validate project
165
+ ada validate backlog
166
+ ada validate sprint
167
+ ```
168
+
169
+ **검사 항목:**
170
+
171
+ | 문서 | 검사 내용 |
172
+ |------|----------|
173
+ | plan.md | 필수 섹션(서비스 개요, 기능 목록, 비기능 요구사항), TBD 3개 이하 |
174
+ | project.md | 필수 섹션(프로젝트 규모, 기술 스택), Frozen 상태, 버전 형식 |
175
+ | backlog.md | Task 개수, 수용 조건 존재 |
176
+ | current-sprint.md | 스프린트 번호, 목표 섹션 |
177
+
178
+ ---
179
+
180
+ ### `ada run` / `ada <role> <tool>` - AI 에이전트 실행
181
+
182
+ **소스:** `src/commands/run.js`
183
+
184
+ 특정 역할로 AI 도구를 실행합니다.
185
+
186
+ ```bash
187
+ # 정식 명령어
188
+ ada run backend claude
189
+ ada run planner codex
190
+
191
+ # 단축 명령어 (run 생략)
187
192
  ada backend claude
193
+ ada planner codex
194
+ ada frontend gemini
195
+ ```
196
+
197
+ **지원 역할:**
198
+ - Core: planner, architect, developer, reviewer, qa, manager
199
+ - 템플릿별: backend, frontend, library-developer, game-logic, rendering, cli-developer
188
200
 
189
- # 세션 목록 확인
201
+ **지원 도구:** claude, codex, gemini, copilot
202
+
203
+ **동작:**
204
+ 1. 세션 ID 생성 (YYYYMMDD-HHMMSS-random)
205
+ 2. 역할 파일 로드 → 시스템 프롬프트 생성
206
+ 3. AI CLI 도구 실행 또는 프롬프트 출력
207
+ 4. 세션/로그 기록
208
+
209
+ ---
210
+
211
+ ### `ada sessions` - 세션 목록
212
+
213
+ **소스:** `src/commands/sessions.js`
214
+
215
+ AI 에이전트 실행 이력을 확인합니다.
216
+
217
+ ```bash
190
218
  ada sessions
219
+ ```
220
+
221
+ ---
191
222
 
192
- # 최근 로그 확인
223
+ ### `ada logs` - 로그 확인
224
+
225
+ **소스:** `src/commands/logs.js`
226
+
227
+ 세션별 상세 로그를 확인합니다.
228
+
229
+ ```bash
230
+ # 최근 세션 로그
193
231
  ada logs
232
+
233
+ # 특정 세션 로그
234
+ ada logs 20241228-143022-a1b2c3d4
235
+ ```
236
+
237
+ ---
238
+
239
+ ### `ada reset` - 초기화
240
+
241
+ **소스:** `src/commands/reset.js`
242
+
243
+ ai-dev-team 디렉토리를 초기 상태로 되돌립니다.
244
+
245
+ ```bash
246
+ # 확인 후 초기화
247
+ ada reset
248
+
249
+ # 강제 초기화
250
+ ada reset --force
251
+ ada reset -f
252
+ ```
253
+
254
+ ---
255
+
256
+ ### `ada` (인자 없음) - 대화형 모드
257
+
258
+ **소스:** `src/commands/interactive.js`
259
+
260
+ 대화형으로 역할과 도구를 선택합니다.
261
+
262
+ ```bash
263
+ ada
194
264
  ```
195
265
 
266
+ **동작:**
267
+ 1. 세팅 안 됐으면 setup 제안
268
+ 2. 역할 선택 (목록 표시)
269
+ 3. 도구 선택 (목록 표시)
270
+ 4. AI 에이전트 실행
271
+
196
272
  ---
197
273
 
198
274
  ## 👥 역할 (Roles)
199
275
 
200
- ### Core 역할 (모든 템플릿에서 사용)
276
+ ### Core 역할 (6개)
201
277
 
202
- | 역할 | 파일 | 책임 |
203
- | --------- | ------------ | ------------------------- |
204
- | Planner | planner.md | 요구사항 수집, Task 분해 |
205
- | Architect | architect.md | 규모 예측, 기술 스택 결정 |
206
- | Developer | developer.md | 코드 구현 (범용) |
207
- | Reviewer | reviewer.md | 코드 리뷰 |
208
- | QA | qa.md | 수용 조건 검증 |
209
- | Manager | manager.md | 스프린트 관리, 승인 |
278
+ | 역할 | 파일 | 책임 |
279
+ |------|------|------|
280
+ | **Planner** | planner.md | 요구사항 수집, Task 분해, plan.md/backlog.md 작성 |
281
+ | **Architect** | architect.md | 규모 예측, 기술 스택 결정, project.md 작성 |
282
+ | **Developer** | developer.md | 코드 구현 (범용) |
283
+ | **Reviewer** | reviewer.md | 코드 리뷰, PASS/REJECT 판정 |
284
+ | **QA** | qa.md | 수용 조건 검증, PASS/FAIL 판정 |
285
+ | **Manager** | manager.md | 스프린트 관리, 승인, 에스컬레이션 처리 |
210
286
 
211
287
  ### 템플릿별 특화 역할
212
288
 
213
- | 템플릿 | 역할 | 책임 |
214
- | ------- | ----------------- | ------------------------ |
215
- | web | backend | API 설계, 서버 구현 |
216
- | web | frontend | UI 구현, API 연동 |
289
+ | 템플릿 | 역할 | 책임 |
290
+ |--------|------|------|
291
+ | web-dev | backend | API 설계, 서버 구현 |
292
+ | web-dev | frontend | UI 구현, API 연동 |
217
293
  | library | library-developer | 공개 API 설계, 버전 관리 |
218
- | game | game-logic | 게임 시스템 설계 |
219
- | game | rendering | 화면/이펙트 구현 |
220
- | cli | cli-developer | 명령어 설계, 출력 형식 |
294
+ | game | game-logic | 게임 시스템 설계 |
295
+ | game | rendering | 화면/이펙트 구현 |
296
+ | cli | cli-developer | 명령어 설계, 출력 형식 |
221
297
 
222
298
  ---
223
299
 
224
300
  ## 📄 산출물 (Artifacts)
225
301
 
226
- ### Core 산출물
302
+ ### Core 산출물 (8개)
227
303
 
228
- | 문서 | 용도 | 관리자 |
229
- | ----------------------- | ------------------ | ---------------- |
230
- | plan.md | 기획서 | Planner |
231
- | project.md | 기술 기준 (Frozen) | Architect |
232
- | backlog.md | Task 목록 | Planner, Manager |
233
- | current-sprint.md | 현재 스프린트 | Manager |
234
- | decision.md | 판단 기록 | Manager |
235
- | architecture-options.md | 아키텍처 협상 | Architect |
236
- | review-report.md | 리뷰 결과 | Reviewer |
237
- | qa-report.md | QA 결과 | QA |
304
+ | 문서 | 용도 | 관리자 | 상태 |
305
+ |------|------|--------|------|
306
+ | plan.md | 기획서 | Planner | Draft → Confirmed |
307
+ | project.md | 기술 기준 | Architect | Draft → **Frozen** |
308
+ | backlog.md | Task 목록 | Planner, Manager | - |
309
+ | current-sprint.md | 현재 스프린트 | Manager | - |
310
+ | decision.md | 판단 기록 (최우선) | Manager | - |
311
+ | architecture-options.md | 아키텍처 옵션 | Architect | - |
312
+ | review-report.md | 리뷰 결과 | Reviewer | - |
313
+ | qa-report.md | QA 결과 | QA | - |
238
314
 
239
315
  ### 템플릿별 산출물
240
316
 
241
- | 템플릿 | 문서 | 용도 |
242
- | ------- | ---------------- | --------------- |
243
- | web | api.md | REST API 계약 |
244
- | web | ui.md | 화면 설계 |
245
- | library | public-api.md | 공개 인터페이스 |
246
- | library | examples.md | 사용 예제 |
247
- | library | changelog.md | 버전 변경 이력 |
248
- | game | game-systems.md | 게임 시스템 |
249
- | game | assets.md | 에셋 목록 |
250
- | game | hud.md | HUD/UI 설계 |
251
- | cli | commands.md | 명령어 정의 |
252
- | cli | output-format.md | 출력 형식 |
317
+ | 템플릿 | 문서 | 용도 |
318
+ |--------|------|------|
319
+ | web-dev | api.md, ui.md | API 계약, 화면 설계 |
320
+ | library | public-api.md, examples.md, changelog.md | 공개 API, 예제, 변경 이력 |
321
+ | game | game-systems.md, assets.md, hud.md | 시스템, 에셋, HUD |
322
+ | cli | commands.md, output-format.md | 명령어, 출력 형식 |
253
323
 
254
324
  ---
255
325
 
256
- ## 📋 규칙 (Rules)
326
+ ## 📋 규칙 (Rules) 전체 상세
257
327
 
258
- ### Core 규칙
328
+ ### Core 규칙 (5개)
259
329
 
260
- | 규칙 | 용도 |
261
- | -------------------- | ----------------------- |
262
- | iteration.md | 스프린트/Task 단위 작업 |
263
- | escalation.md | Manager 보고 기준 |
264
- | rollback.md | REJECT/FAIL 시 되돌림 |
265
- | document-priority.md | 문서 충돌 해결 |
266
- | rfc.md | Frozen 문서 변경 절차 |
267
-
268
- ### 템플릿별 규칙
330
+ ---
269
331
 
270
- | 템플릿 | 규칙 | 용도 |
271
- | ------- | ----------------- | ------------------- |
272
- | web | api-change.md | API 변경 절차 |
273
- | library | versioning.md | Semantic Versioning |
274
- | game | system-change.md | 게임 시스템 변경 |
275
- | cli | command-change.md | 명령어 변경 절차 |
332
+ #### 1. `iteration.md` - 스프린트/Task 단위 작업
276
333
 
277
- ---
334
+ **위치:** `core/rules/iteration.md`
278
335
 
279
- ## 🔄 워크플로우
336
+ Task 단위 반복 개발 규칙을 정의합니다.
280
337
 
281
- ### 전체 흐름
338
+ **핵심 원칙:**
282
339
 
283
340
  ```
284
- Planner (plan.md + backlog.md)
285
-
286
- Architect (project.md)
287
-
288
- Manager (스프린트 시작)
289
-
290
- [Sprint Loop]
291
- Developer → Reviewer → QA → Manager (Task 완료)
292
-
293
- Manager (스프린트 종료)
294
-
295
- (다음 스프린트 또는 완료)
341
+ 잘못된 방식 (Waterfall)
342
+ 전체 기획 → 전체 설계 → 전체 개발 → 전체 테스트
343
+
344
+ ✅ 올바른 방식 (Iterative)
345
+ Task 1 완성 → Task 2 완성 → Task 3 완성 → ...
296
346
  ```
297
347
 
298
- ### Task 상태 흐름
348
+ **작업 범위 제한:**
349
+ - `current-sprint.md`에 정의된 Task만 작업
350
+ - 스프린트 외 작업 금지 (Manager 승인 없이)
351
+ - "김에" 작업 금지
352
+
353
+ **Task 완료 조건:**
354
+ - [ ] 수용 조건 100% 충족
355
+ - [ ] Reviewer PASS
356
+ - [ ] QA PASS
357
+ - [ ] Manager 확인
358
+
359
+ ---
360
+
361
+ #### 2. `escalation.md` - Manager 보고 기준
362
+
363
+ **위치:** `core/rules/escalation.md`
364
+
365
+ Manager에게 보고해야 하는 상황을 정의합니다.
366
+
367
+ **에스컬레이션 원칙:**
368
+ - 판단 불가 시 → 즉시 에스컬레이션
369
+ - 규칙 외 상황 → 즉시 에스컬레이션
370
+ - 혼자 결정하지 않음
371
+
372
+ **즉시 에스컬레이션 (BLOCK):**
373
+
374
+ | 상황 | 예시 |
375
+ |------|------|
376
+ | project.md에 없는 기술 필요 | 새 라이브러리 도입 필요 |
377
+ | 요구사항 모호/충돌 | plan.md 해석 불가 |
378
+ | 문서 간 충돌 | plan.md ↔ project.md 불일치 |
379
+ | 역할 간 해석 불일치 | 같은 문서 다르게 해석 |
380
+ | 구현 불가능 판단 | 기술적으로 불가 |
381
+ | 보안/안전 이슈 | 심각한 취약점 발견 |
382
+
383
+ **보고 사항 (REPORT):**
384
+ - 예상보다 규모가 큼
385
+ - 의존성 문제 발견
386
+ - 일정 지연 예상
387
+
388
+ ---
389
+
390
+ #### 3. `rollback.md` - REJECT/FAIL 시 되돌림
391
+
392
+ **위치:** `core/rules/rollback.md`
393
+
394
+ REJECT/FAIL 발생 시 처리 절차를 정의합니다.
395
+
396
+ **되돌림 원칙:**
397
+ - REJECT/FAIL은 정상적인 피드백
398
+ - 되돌림 시 원인 분석 필수
399
+ - 반복 되돌림 시 프로세스 점검
400
+
401
+ **Reviewer REJECT 처리:**
402
+
403
+ | REJECT 유형 | 되돌림 대상 | Manager 개입 |
404
+ |-------------|------------|:------------:|
405
+ | 수용 조건 미충족 | Developer | 불필요 |
406
+ | project.md 규칙 위반 | Developer | 불필요 |
407
+ | 구조적 문제 | Architect | 필요 |
408
+ | 설계 수준 문제 | Architect | 필요 |
409
+
410
+ **QA FAIL 처리:**
411
+
412
+ | FAIL 유형 | 되돌림 대상 |
413
+ |-----------|------------|
414
+ | 버그 | Developer |
415
+ | 수용 조건 오해 | Planner |
416
+ | 설계 문제 | Architect |
417
+
418
+ **3회 반복 시:** Manager가 원인 분석 후 프로세스 점검
419
+
420
+ ---
421
+
422
+ #### 4. `document-priority.md` - 문서 충돌 해결
423
+
424
+ **위치:** `core/rules/document-priority.md`
425
+
426
+ 문서 간 충돌 시 우선순위를 정의합니다.
427
+
428
+ **우선순위 (높은 순):**
299
429
 
300
430
  ```
301
- BACKLOG READY IN_SPRINT → IN_DEV → IN_REVIEW → IN_QA → DONE
431
+ 1. decision.md ← Manager 판단 (최우선)
432
+ 2. project.md ← 기술 기준 (Frozen)
433
+ 3. plan.md ← 요구사항 기준
434
+ 4. backlog.md ← Task/수용 조건
435
+ 5. 인터페이스 문서 ← api.md, ui.md 등
436
+ 6. current-sprint.md ← 현재 범위
437
+ 7. architecture-options.md
438
+ 8. review/qa-report.md
302
439
  ```
303
440
 
441
+ **충돌 해결:**
442
+ - 상위 문서가 정답
443
+ - 하위 문서를 상위에 맞게 수정
444
+ - 수정 불가 시 Manager 에스컬레이션
445
+
304
446
  ---
305
447
 
306
- ## 🔒 RFC (변경 관리)
448
+ #### 5. `rfc.md` - Frozen 문서 변경 절차
307
449
 
308
- Frozen 상태인 `project.md`나 확정된 `plan.md`를 변경해야 할 때 사용합니다.
450
+ **위치:** `core/rules/rfc.md`
309
451
 
310
- ### RFC가 필요한 경우
452
+ Frozen 상태 문서 변경을 위한 공식 절차입니다.
311
453
 
454
+ **RFC 필요 상황:**
312
455
  - project.md 변경
313
456
  - plan.md의 확정된 기능 범위 변경
314
457
  - decision.md 항목 번복
315
458
 
316
- ### RFC 절차
459
+ **RFC 절차:**
317
460
 
318
- 1. `ai-dev-team/artifacts/rfc/RFC-NNNN-title.md` 작성
461
+ ```
462
+ 1. RFC 문서 작성 (ai-dev-team/artifacts/rfc/RFC-NNNN-title.md)
319
463
  2. Manager 리뷰
320
464
  3. 승인/거부 결정
321
465
  4. 승인 시: 문서 업데이트 + decision.md 기록
466
+ ```
322
467
 
323
- 상세 규칙: `core/rules/rfc.md`
468
+ **RFC 상태:**
469
+
470
+ | 상태 | 설명 |
471
+ |------|------|
472
+ | Draft | 작성 중 |
473
+ | Under Review | 리뷰 중 |
474
+ | Approved | 승인됨 |
475
+ | Rejected | 거부됨 |
476
+
477
+ **긴급 변경:**
478
+ - 보안 취약점, 심각한 버그 등
479
+ - 구두 승인 후 적용
480
+ - 24시간 내 RFC 사후 작성
324
481
 
325
482
  ---
326
483
 
327
- ## 📦 Feature 단위 구조 (대규모 프로젝트)
484
+ ### 템플릿별 규칙
485
+
486
+ ---
328
487
 
329
- 규모 M 이상, 기능 3개 이상일 때 Feature 단위로 산출물을 분리합니다.
488
+ #### `api-change.md` (web-dev)
330
489
 
331
- ```
332
- ai-dev-team/artifacts/features/
333
- ├── F001-user-auth/
334
- │ ├── spec.md # Feature 스펙
335
- │ ├── api.md # Feature API
336
- │ ├── ui.md # Feature UI
337
- │ ├── review.md # 리뷰 기록
338
- │ └── qa.md # QA 기록
339
- └── _template/ # 템플릿
340
- ```
490
+ **위치:** `templates/web-dev/rules/api-change.md`
341
491
 
342
- 상세 가이드: `docs/feature-structure.md`
492
+ REST API 변경 절차를 정의합니다.
493
+
494
+ **변경 유형:**
495
+
496
+ | 유형 | 예시 | 승인 필요 |
497
+ |------|------|:--------:|
498
+ | 추가 | 새 엔드포인트 | 불필요 |
499
+ | 수정 (호환) | 선택 필드 추가 | 불필요 |
500
+ | 수정 (Breaking) | 필수 필드 추가, 삭제 | **Manager 승인** |
501
+ | 삭제 | 엔드포인트 제거 | **Manager 승인** |
502
+
503
+ **Breaking Change 절차:**
504
+ 1. api.md에 Deprecated 표시
505
+ 2. RFC 작성
506
+ 3. Manager 승인
507
+ 4. 마이그레이션 가이드 작성
508
+ 5. 변경 적용
343
509
 
344
510
  ---
345
511
 
346
- ## 문서 검증
512
+ #### `versioning.md` (library)
347
513
 
348
- 스프린트 시작 전 문서 완성도를 자동 검사합니다.
514
+ **위치:** `templates/library/rules/versioning.md`
349
515
 
350
- ```bash
351
- ada validate
352
- ```
516
+ Semantic Versioning 규칙을 정의합니다.
353
517
 
354
- ### 검사 항목
518
+ **버전 형식:** `MAJOR.MINOR.PATCH`
355
519
 
356
- - plan.md: 필수 섹션, TBD 3개 이하
357
- - project.md: Frozen 상태, 버전 형식
358
- - backlog.md: Task 개수, 수용 조건
359
- - current-sprint.md: 스프린트 번호, 목표
520
+ | 변경 유형 | 버전 증가 | 예시 |
521
+ |----------|----------|------|
522
+ | Breaking Change | MAJOR | 1.0.0 2.0.0 |
523
+ | 새 기능 (호환) | MINOR | 1.0.0 1.1.0 |
524
+ | 버그 수정 | PATCH | 1.0.0 → 1.0.1 |
525
+
526
+ **changelog.md 필수 기록:**
527
+ - 변경 내용
528
+ - Breaking Change 여부
529
+ - 마이그레이션 가이드 (필요 시)
360
530
 
361
531
  ---
362
532
 
363
- ## 🔍 세션/로그 관리
533
+ #### `system-change.md` (game)
364
534
 
365
- AI 에이전트 실행마다 세션 ID가 부여되어 추적이 가능합니다.
535
+ **위치:** `templates/game/rules/system-change.md`
366
536
 
367
- ```bash
368
- # 세션 목록
369
- ada sessions
537
+ 게임 시스템 변경 절차를 정의합니다.
370
538
 
371
- # 로그 확인
372
- ada logs
373
- ada logs 20241227-143022-a1b2c3d4
539
+ **변경 영향 분석 필수:**
540
+ - 밸런스 영향
541
+ - 다른 시스템 의존성
542
+ - 저장 데이터 호환성
543
+
544
+ **변경 유형:**
545
+
546
+ | 유형 | 승인 필요 |
547
+ |------|:--------:|
548
+ | 수치 조정 (10% 이내) | 불필요 |
549
+ | 수치 조정 (10% 초과) | QA 확인 |
550
+ | 시스템 로직 변경 | **Manager 승인** |
551
+ | 새 시스템 추가 | **Architect 설계** |
552
+
553
+ ---
554
+
555
+ #### `command-change.md` (cli)
556
+
557
+ **위치:** `templates/cli/rules/command-change.md`
558
+
559
+ CLI 명령어 변경 절차를 정의합니다.
560
+
561
+ **하위 호환성 원칙:**
562
+ - 기존 명령어 삭제 금지 (Deprecated 후 다음 메이저 버전)
563
+ - 기존 옵션 동작 변경 금지
564
+ - 출력 형식 변경 시 --format 옵션 제공
565
+
566
+ **변경 유형:**
567
+
568
+ | 유형 | 승인 필요 |
569
+ |------|:--------:|
570
+ | 새 명령어 추가 | 불필요 |
571
+ | 새 옵션 추가 | 불필요 |
572
+ | 명령어 Deprecated | **Manager 승인** |
573
+ | 출력 형식 변경 | QA 확인 |
574
+
575
+ ---
576
+
577
+ ## 🔄 워크플로우
578
+
579
+ ### 전체 흐름
580
+
581
+ ```
582
+ Planner (plan.md + backlog.md)
583
+
584
+ Architect (project.md → Frozen)
585
+
586
+ Manager (스프린트 시작)
587
+
588
+ [Sprint Loop]
589
+ Developer → Reviewer → QA → Manager (Task 완료)
590
+
591
+ Manager (스프린트 종료)
592
+
593
+ (다음 스프린트 또는 완료)
374
594
  ```
375
595
 
376
- ### 세션 ID 형식
596
+ ### Task 상태 흐름
377
597
 
378
598
  ```
379
- YYYYMMDD-HHMMSS-<random>
380
- 예: 20241227-143022-a1b2c3d4
599
+ BACKLOG → READY → IN_SPRINT → IN_DEV → IN_REVIEW → IN_QA → DONE
381
600
  ```
382
601
 
383
602
  ---
384
603
 
385
- ## 📚 예제 프로젝트
386
-
387
- `examples/todo-app/`에 완성된 예제가 있습니다.
604
+ ## 📦 Feature 단위 구조 (대규모)
388
605
 
389
- - 규모: S (Small)
390
- - 기간: 1주일
391
- - 완료된 산출물: plan.md, project.md, backlog.md
606
+ 규모 M 이상, 기능 3개 이상일 때 사용합니다.
392
607
 
393
- 학습 포인트:
394
- 1. 문서 순서: plan → project → 개발
395
- 2. 체크리스트로 완성도 보장
396
- 3. Task 단위 작업
608
+ ```
609
+ ai-dev-team/artifacts/features/
610
+ ├── F001-user-auth/
611
+ │ ├── spec.md
612
+ │ ├── api.md
613
+ │ ├── ui.md
614
+ │ ├── review.md
615
+ │ └── qa.md
616
+ └── _template/
617
+ ```
397
618
 
398
619
  ---
399
620
 
400
621
  ## 📊 템플릿 비교
401
622
 
402
- | 항목 | web | library | game | cli |
403
- | ----------- | :---: | :-----: | :---: | :---: |
404
- | 개발자 역할 | 2개 | 1개 | 2개 | 1개 |
405
- | API 계약 | | | - | |
406
- | 버전 관리 | - | | - | |
407
- | 에셋 관리 | - | - | | - |
408
- | UI/UX 문서 | | - | | |
623
+ | 항목 | web-dev | library | game | cli |
624
+ |------|:-------:|:-------:|:----:|:---:|
625
+ | 개발자 역할 | 2개 | 1개 | 2개 | 1개 |
626
+ | API 계약 | | | - | |
627
+ | 버전 관리 | - | | - | |
628
+ | 에셋 관리 | - | - | | - |
629
+ | UI/UX 문서 | | - | | |
409
630
 
410
631
  ---
411
632
 
@@ -417,40 +638,17 @@ YYYYMMDD-HHMMSS-<random>
417
638
  - ❌ 기준 없는 판단
418
639
  - ❌ 감으로 추가된 기술
419
640
  - ❌ 스프린트 외 작업
420
- - ❌ 수용 조건 기능 추가
641
+ - ❌ Frozen 문서 무단 변경
421
642
 
422
643
  ### 필수 사항
423
644
 
424
645
  - ✅ 문서 기준 판단
425
646
  - ✅ 역할별 책임 분리
426
647
  - ✅ Task 단위 반복 개발
427
- - ✅ 스프린트 범위 준수
428
-
429
- ---
430
-
431
- ## 📚 추가 정보
432
-
433
- ### 문서 우선순위
434
-
435
- ```
436
- decision.md > project.md > plan.md > backlog.md > 인터페이스 문서
437
- ```
438
-
439
- ### 에스컬레이션 기준
440
-
441
- - project.md에 없는 기술 필요 → BLOCK
442
- - 요구사항 모호 → BLOCK
443
- - 예상보다 규모 큼 → 보고
444
-
445
- ### 되돌림 규칙
446
-
447
- - Reviewer REJECT → Developer 수정
448
- - QA FAIL → 원인에 따라 대상 결정
449
- - 3회 반복 → Manager 개입
648
+ - ✅ 변경 RFC 절차
450
649
 
451
650
  ---
452
651
 
453
- ## 🤝 기여
652
+ ## 📄 라이선스
454
653
 
455
- 프레임워크는 AI 에이전트 기반 개발의 표준화를 목표로 합니다.
456
- 새로운 템플릿이나 규칙 개선 제안은 언제나 환영합니다.
654
+ MIT License
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silbaram/artifact-driven-agent",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "CLI 기반 멀티 AI 에이전트 개발 프레임워크 - AI가 규칙을 어기지 못하게 하는 문서 기반 개발",
5
5
  "type": "module",
6
6
  "bin": {