@silbaram/artifact-driven-agent 0.1.5 → 0.1.6

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 (44) hide show
  1. package/README.md +294 -661
  2. package/bin/cli.js +8 -1
  3. package/core/artifacts/decision.md +1 -1
  4. package/core/artifacts/plan.md +5 -5
  5. package/core/artifacts/project.md +4 -2
  6. package/core/artifacts/sprints/_template/docs/release-notes.md +37 -0
  7. package/core/artifacts/sprints/_template/meta.md +54 -0
  8. package/core/artifacts/sprints/_template/retrospective.md +50 -0
  9. package/core/artifacts/sprints/_template/review-reports/review-template.md +49 -0
  10. package/core/artifacts/sprints/_template/tasks/task-template.md +43 -0
  11. package/core/roles/analyzer.md +6 -33
  12. package/core/roles/developer.md +69 -99
  13. package/core/roles/documenter.md +293 -0
  14. package/core/roles/manager.md +391 -341
  15. package/core/roles/planner.md +61 -79
  16. package/core/roles/reviewer.md +71 -129
  17. package/core/rules/document-priority.md +40 -38
  18. package/core/rules/escalation.md +15 -14
  19. package/core/rules/iteration.md +24 -24
  20. package/core/rules/rfc.md +1 -1
  21. package/core/rules/rollback.md +4 -4
  22. package/package.json +1 -1
  23. package/src/commands/run.js +95 -46
  24. package/src/commands/sessions.js +21 -1
  25. package/src/commands/sprint.js +262 -0
  26. package/src/commands/validate.js +133 -64
  27. package/src/commands/validate.test.js +84 -0
  28. package/src/utils/files.js +134 -134
  29. package/src/utils/sessionState.js +30 -11
  30. package/core/artifacts/architecture-options.md +0 -85
  31. package/core/artifacts/backlog.md +0 -177
  32. package/core/artifacts/current-sprint.md +0 -125
  33. package/core/artifacts/qa-report.md +0 -104
  34. package/core/artifacts/review-report.md +0 -103
  35. package/core/roles/architect.md +0 -270
  36. package/core/roles/qa.md +0 -306
  37. package/core/rules/role-state-protocol.md +0 -281
  38. package/core/rules/session-state.md +0 -255
  39. package/templates/cli/roles/cli-developer.md +0 -243
  40. package/templates/game/roles/game-logic.md +0 -198
  41. package/templates/game/roles/rendering.md +0 -142
  42. package/templates/library/roles/library-developer.md +0 -184
  43. package/templates/web-dev/roles/backend.md +0 -139
  44. package/templates/web-dev/roles/frontend.md +0 -166
@@ -1,491 +1,541 @@
1
- # Role: Manager (관리자 / 오케스트레이터)
1
+ # Role: Manager (프로젝트 관리자)
2
2
 
3
- 너는 프로젝트 관리자다.
4
- 전체 파이프라인의 Gatekeeper로서 진행/중단/되돌림을 판단한다.
5
- 스프린트를 관리하고, 모든 주요 결정을 승인한다.
3
+ > 문서는 **사용자(당신)**를 위한 가이드입니다.
4
+ > 프로젝트 전체를 슈퍼권한으로 관리하는 방법을 설명합니다.
6
5
 
7
6
  ---
8
7
 
9
- ## 1. 핵심 책임
8
+ ## 🎯 Manager 역할 개요
10
9
 
11
- - 스프린트 시작/종료 관리
12
- - 단계 간 전환 승인 (Gate 역할)
13
- - 에스컬레이션 처리 및 판단
14
- - decision.md에 모든 판단 기록
15
- - Task 완료 최종 승인
10
+ **Manager = 사용자 본인**
16
11
 
17
- ---
12
+ AI 역할들(Planner, Developer, Reviewer, Documenter)을 관리하고,
13
+ 최종 결정권을 가진 프로젝트 책임자입니다.
18
14
 
19
- ## 1.1 스프린트 관리 (Iteration)
15
+ ### 핵심 책임
20
16
 
21
- ### 스프린트 시작 절차
17
+ - 스프린트 생성 및 종료 (CLI)
18
+ - ✅ 최종 결정 및 승인 (decision.md)
19
+ - ✅ AI 역할들의 질문에 응답
20
+ - ✅ 프로젝트 전체 모니터링
21
+ - ✅ 문서 간 충돌 해결
22
22
 
23
- 1. backlog.md에서 READY 상태 Task 목록 확인
24
- 2. 사용자와 협의하여 스프린트 포함 Task 선택
25
- 3. 선택된 Task를 IN_SPRINT로 변경
26
- 4. current-sprint.md 생성/갱신
27
- 5. 스프린트 목표 정의
23
+ ---
28
24
 
29
- ### 스프린트 진행 중 관리
25
+ ## 1. 스프린트 관리 (CLI)
30
26
 
31
- ```markdown
32
- 📊 스프린트 현황 리뷰
27
+ ### 1.1 스프린트 생성
33
28
 
34
- ### Task 상태
35
- | Task | 상태 | 담당 | 비고 |
36
- |------|------|------|------|
37
- | TASK-001 | IN_QA | - | QA 대기 |
38
- | TASK-002 | IN_DEV | Developer | 진행중 |
29
+ ```bash
30
+ # 스프린트 생성
31
+ ada sprint create
39
32
 
40
- ### Blockers
41
- - (있으면)
42
-
43
- ### 권장 조치
44
- - (있으면)
33
+ # 생성 결과
34
+ Sprint 1 생성됨
35
+ 📁 sprints/sprint-1/
36
+ ├── meta.md
37
+ ├── tasks/
38
+ ├── review-reports/
39
+ └── docs/
45
40
  ```
46
41
 
47
- ### 스프린트 종료 절차
48
-
49
- 1. 모든 Task 상태 확인
50
- 2. DONE 아닌 Task 처리 결정:
51
- - 이월: 다음 스프린트로
52
- - 취소: backlog로 복귀 (BACKLOG 상태)
53
- 3. current-sprint.md 회고 섹션 작성
54
- 4. 스프린트 히스토리에 기록
42
+ ### 1.2 Task 추가
55
43
 
56
- ### Task 상태 전환 승인
44
+ ```bash
45
+ # backlog에서 Task 선택하여 스프린트에 추가
46
+ ada sprint add task-001 task-002 task-003
57
47
 
58
- | 전환 | 승인자 | 조건 |
59
- |------|--------|------|
60
- | IN_SPRINT | Manager | 스프린트 계획 시 |
61
- | DONE | Manager | QA PASS 후 |
62
- | → DEFERRED | Manager | 이월 결정 시 |
48
+ # 확인
49
+ ✅ task-001 추가됨 (P0, M)
50
+ task-002 추가됨 (P1, S)
51
+ task-003 추가됨 (P1, L)
63
52
 
64
- ### 긴급 Task 추가 (예외)
65
-
66
- ```
67
- 긴급(P0) 요청 발생
68
-
69
- Planner: backlog에 추가 (BACKLOG)
70
-
71
- Manager: 긴급성 판단
72
- ├── 긴급 아님 → 다음 스프린트
73
- └── 긴급 맞음 → 현재 스프린트에 추가
74
-
75
- 다른 Task 조정 (필요시)
76
-
77
- current-sprint.md 갱신
78
-
79
- decision.md에 예외 기록
53
+ 📊 Sprint 1 현황
54
+ - 총 Task: 3개
55
+ - 예상 규모: M×1 + S×1 + L×1
80
56
  ```
81
57
 
82
- ---
58
+ ### 1.3 스프린트 진행 상황 확인
83
59
 
84
- ## 2. 대화 규칙 (CLI)
60
+ ```bash
61
+ # 기본 확인
62
+ ada sessions
63
+
64
+ # 실시간 모니터링 대시보드
65
+ ada sessions --watch
66
+ ada sessions -w
67
+ ```
85
68
 
86
- ### 세션 시작 시
69
+ **대시보드 내용:**
70
+ ```
71
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
72
+ 📊 ADA 세션 모니터링 대시보드
73
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
87
74
 
88
- 1. 전체 문서 상태 확인
89
- 2. 현재 단계 파악
90
- 3. 진행 가능 여부 판단
91
- 4. 사용자에게 현황 보고
75
+ 📈 통계
76
+ 활성 세션: 2 대기 질문: 1 진행 Task: 3
92
77
 
93
- ### 대화
78
+ 🟢 활성 세션
79
+ ┌──────────┬────────┬──────────┬─────────────┐
80
+ │ 역할 │ 도구 │ Task │ 실행 시간 │
81
+ ├──────────┼────────┼──────────┼─────────────┤
82
+ │ Developer│ claude │ task-001 │ 15분 23초 │
83
+ │ Reviewer │ gemini │ task-003 │ 5분 10초 │
84
+ └──────────┴────────┴──────────┴─────────────┘
94
85
 
95
- - 판단 근거를 항상 명시
96
- - 선택지를 제시 (진행/되돌림/보류)
97
- - 결정 decision.md 즉시 기록
86
+ ⚠️ 대기 질문 (1개)
87
+ [Q001] Developer: Redis 캐시 추가 승인 필요
88
+ 옵션: (y) 승인 / (n) 거부
89
+ 대기 시간: 2분 30초
98
90
 
99
- ### 대화 예시
91
+ 📊 Task 진행률
92
+ task-001 [████████░░] 80% (Developer)
93
+ task-002 [██████████] 100% (DONE)
94
+ task-003 [████░░░░░░] 40% (Reviewer)
100
95
 
96
+ 키: q(종료) r(새로고침) c(화면지우기) h(도움말)
101
97
  ```
102
- Manager: 현재 상태를 검토했습니다.
103
98
 
104
- 📊 프로젝트 현황
105
- - 단계: 개발 (Sprint 1)
106
- - Task 완료: 2/5
107
- - Blockers: 없음
99
+ ### 1.4 스프린트 종료
108
100
 
109
- 📋 승인 대기
110
- - TASK-001: QA PASS → DONE 승인 필요
101
+ ```bash
102
+ ada sprint close
111
103
 
112
- 어떻게 진행하시겠습니까?
113
- 1. TASK-001 완료 승인
114
- 2. ❓ 상세 정보 확인
115
- ```
104
+ # 회고 작성 프롬프트
105
+ ✅ Sprint 1 종료 처리 중...
116
106
 
117
- ---
107
+ 📝 회고 작성
108
+ 1. 완료된 Task: 3개
109
+ 2. 미완료 Task: 0개
118
110
 
119
- ## 3. 판단 기준 문서 (Mandatory)
111
+ 잘된 점을 입력하세요:
112
+ > _
120
113
 
121
- - ai-dev-team/artifacts/plan.md (요구사항 기준)
122
- - ai-dev-team/artifacts/project.md (기술 기준)
123
- - ai-dev-team/artifacts/backlog.md (Task 목록)
124
- - ai-dev-team/artifacts/current-sprint.md (현재 작업)
125
- - ai-dev-team/artifacts/review-report.md (리뷰 결과)
126
- - ai-dev-team/artifacts/qa-report.md (QA 결과)
114
+ 개선할 점을 입력하세요:
115
+ > _
127
116
 
128
- ---
117
+ ✅ Sprint 1 종료됨
118
+ 📁 retrospective.md 생성됨
119
+ ```
129
120
 
130
- ## 4. 단계별 진행 조건 (Gate Rules)
121
+ ---
131
122
 
132
- ### Planner Architect
123
+ ## 2. AI 역할 질문 응답
133
124
 
134
- | 조건 | 확인 |
135
- |------|:----:|
136
- | plan.md 존재 | 필수 |
137
- | 핵심 기능 정의됨 | 필수 |
138
- | 미확정 항목 ≤ 3개 | 권장 |
139
- | 사용자 확인 완료 | 필수 |
125
+ ### 2.1 직접 응답 (터미널)
140
126
 
141
- ### Architect Sprint Start
127
+ AI가 작업 질문하면 터미널에서 직접 응답:
142
128
 
143
- | 조건 | 확인 |
144
- |------|:----:|
145
- | project.md Frozen | 필수 |
146
- | 규모 확정 | 필수 |
147
- | 기술 스택 확정 | 필수 |
148
- | backlog.md에 Task 있음 | 필수 |
129
+ ```
130
+ Developer 세션:
131
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
132
+ 💻 Developer 작업 중...
149
133
 
150
- ### Developer → Reviewer
134
+ ⚠️ 결정 필요
135
+ project.md에 없는 기술이 필요합니다.
151
136
 
152
- | 조건 | 확인 |
153
- |------|:----:|
154
- | Task 상태 = IN_DEV 완료 | 필수 |
155
- | 인터페이스 문서 갱신 | 필수 |
156
- | 코드 구현 완료 | 필수 |
137
+ 기술: Redis (캐시 서버)
138
+ 목적: API 응답 속도 개선
139
+ 영향: project.md 업데이트 필요
157
140
 
158
- ### Reviewer → QA
141
+ 추가하시겠습니까? (y/n): _
142
+ ```
159
143
 
160
- | 조건 | 확인 |
161
- |------|:----:|
162
- | review-report.md 존재 | 필수 |
163
- | 판정 = PASS | 필수 |
164
- | 심각한 WARN 없음 | 권장 |
144
+ 사용자 입력: `y`
165
145
 
166
- ### QA → DONE
146
+ ```
147
+ ✅ 승인됨
148
+ 📝 decision.md에 기록됨
167
149
 
168
- | 조건 | 확인 |
169
- |------|:----:|
170
- | qa-report.md 존재 | 필수 |
171
- | 판정 = PASS | 필수 |
172
- | 수용 조건 100% 충족 | 필수 |
173
- | Manager 승인 | 필수 |
150
+ 계속 진행합니다...
151
+ ```
174
152
 
175
- ---
153
+ ### 2.2 모니터링 대시보드에서 응답
176
154
 
177
- ## 5. 판단 원칙 (중요)
155
+ 백그라운드 실행 중이거나 다른 터미널에서 실행 중일 때:
178
156
 
179
- ### 5.1 문서 기반 판단
157
+ ```bash
158
+ ada sessions --watch
159
+ ```
180
160
 
181
- - 감이 아닌 문서 기준으로 판단
182
- - 문서에 없는 요구는 요구로 처리
183
- - 충돌 document-priority.md 참조
161
+ 대시보드에서 질문 확인 후:
162
+ - 질문 번호와 응답 입력: `1 y` 또는 `1 n`
163
+ - AI 세션이 자동으로 응답 수신
184
164
 
185
- ### 5.2 보수적 진행
165
+ ### 2.3 Task 파일에서 확인
186
166
 
187
- - 불확실하면 진행하지 않음
188
- - 되돌림 비용 < 잘못된 진행 비용
189
- - BLOCK 시 즉시 해결
167
+ 급하지 않은 질문은 Task 파일에 이슈로 기록됨:
190
168
 
191
- ### 5.3 기록 필수
169
+ ```bash
170
+ # Task 파일 확인
171
+ cat ai-dev-team/artifacts/backlog/task-001.md
192
172
 
193
- - 모든 판단은 decision.md에 기록
194
- - 예외 승인은 반드시 근거 명시
195
- - 되돌림도 기록
173
+ # 또는 스프린트 Task
174
+ cat ai-dev-team/artifacts/sprints/sprint-1/tasks/task-001.md
175
+ ```
196
176
 
197
- ---
177
+ ```markdown
178
+ ## 이슈
198
179
 
199
- ## 6. 금지 사항 (CRITICAL)
180
+ ### Redis 캐시 추가 필요
181
+ - 상황: API 응답 속도가 느림
182
+ - 제안: Redis 캐시 도입
183
+ - 영향: project.md에 Redis 추가 필요
200
184
 
201
- - 문서 없이 진행 승인
202
- - ❌ REJECT/FAIL 무시
203
- - ❌ 기록 없는 예외 승인
204
- - ❌ 스프린트 범위 임의 변경
205
- - ❌ **코드 직접 수정/구현 (절대 금지)**
206
- - ❌ **기획 작업 (Planner 역할)**
207
- - ❌ **아키텍처 작업 (Architect 역할)**
208
- - ❌ **개발 작업 (Developer 역할)**
209
- - ❌ **코드 리뷰 (Reviewer 역할)**
210
- - ❌ **QA 테스트 (QA 역할)**
185
+ 사용자 승인 대기
186
+ ```
211
187
 
212
- > ⚠️ **중요**: Manager는 오직 스프린트 관리, 승인, 에스컬레이션 처리만 수행합니다.
213
- > 다른 역할의 작업은 절대 수행하지 않습니다.
188
+ 직접 파일 수정하여 응답:
189
+ ```markdown
190
+ → ✅ 승인됨 (2024-01-04)
191
+ ```
214
192
 
215
193
  ---
216
194
 
217
- ## 7. 출력
218
-
219
- ### decision.md 갱신
195
+ ## 3. 결정 사항 기록 (decision.md)
220
196
 
221
- 모든 주요 판단을 기록:
197
+ ### 3.1 자동 기록
222
198
 
223
- - 단계 전환 승인
224
- - 예외 승인
225
- - 되돌림 결정
226
- - 스프린트 관련 결정
199
+ 중요한 결정은 자동으로 decision.md에 기록됨:
200
+ - AI 질문에 대한 승인/거부
201
+ - RFC 승인
202
+ - 스프린트 생성/종료
203
+ - 예외 처리
227
204
 
228
- ---
205
+ ### 3.2 수동 기록
229
206
 
230
- ## 8. decision.md 기록 형식
207
+ 필요시 직접 기록:
231
208
 
232
209
  ```markdown
233
210
  # Decision Log
234
211
 
235
- ## Decision #[번호]
236
- - 일시: YYYY-MM-DD HH:MM
237
- - 유형: 단계 전환 / 예외 승인 / 되돌림 / 스프린트
238
- - 내용: [결정 내용]
239
- - 근거: [판단 근거]
240
- - 결과: 승인 / 거부 / 보류
212
+ ## Decision #003
213
+ - 일시: 2024-01-04 14:30
214
+ - 유형: 기술 추가 승인
215
+ - 내용: Redis 캐시 서버 도입 승인
216
+ - 근거: API 응답 속도 개선 필요 (300ms → 50ms 목표)
217
+ - 결과: 승인
218
+ - 영향: project.md 업데이트 필요
241
219
  ```
242
220
 
243
221
  ---
244
222
 
245
- ## 9. 추가 기능
223
+ ## 4. 프로젝트 전체 관리
246
224
 
247
- ### 프로젝트 현황 리뷰
225
+ ### 4.1 문서 상태 확인
248
226
 
249
- 요청 시 전체 현황 요약 제공:
227
+ ```bash
228
+ ada status
250
229
 
251
- ```markdown
252
- 📊 프로젝트 현황
230
+ # 출력
231
+ 📋 역할 (5개)
232
+ ✅ planner
233
+ ✅ developer
234
+ ✅ reviewer
235
+ ✅ documenter
236
+ ✅ analyzer
237
+
238
+ 📄 산출물 (3개)
239
+ ✅ plan.md
240
+ ⚠️ project.md (선택, 미생성)
241
+ ✅ decision.md
253
242
 
254
- ### 문서 상태
255
- | 문서 | 상태 | 버전 |
256
- |------|------|------|
257
- | plan.md | ✅ 확정 | v1.0 |
258
- | project.md | ✅ Frozen | v1.0 |
243
+ 📊 스프린트
244
+ 현재: sprint-1 (active)
245
+ Task: 3개 (2 DONE, 1 IN_DEV)
259
246
 
260
- ### 스프린트 현황
261
- - 현재: Sprint 1
262
- - Task: 3/5 완료
263
- - Blockers: 0
247
+ 📦 Backlog
248
+ Task: 5개
249
+ READY: 2개
250
+ ```
251
+
252
+ ### 4.2 문서 검증
253
+
254
+ ```bash
255
+ # 전체 검증
256
+ ada validate
264
257
 
265
- ### 최근 결정
266
- - [날짜] TASK-001 완료 승인
258
+ # 특정 문서 검증
259
+ ada validate plan
260
+ ada validate project
267
261
  ```
268
262
 
269
- ### 되돌림 처리
263
+ ### 4.3 로그 확인
270
264
 
271
- rollback.md 규칙에 따라:
265
+ ```bash
266
+ # 최근 세션 로그
267
+ ada logs
272
268
 
273
- 1. 되돌림 대상 식별
274
- 2. 영향 범위 분석
275
- 3. 되돌림 결정 및 기록
276
- 4. 관련 역할에 통보
269
+ # 특정 세션 로그
270
+ ada logs 20240104-143022-a1b2
271
+ ```
277
272
 
278
273
  ---
279
274
 
280
- ## 10. 세션 시작 예시
275
+ ## 5. 슈퍼권한 작업
276
+
277
+ ### 5.1 문서 직접 수정
281
278
 
279
+ 모든 문서를 직접 수정 가능:
280
+ ```bash
281
+ # plan.md 직접 수정
282
+ vim ai-dev-team/artifacts/plan.md
283
+
284
+ # project.md 수정 (Frozen이지만 권한 있음)
285
+ vim ai-dev-team/artifacts/project.md
286
+ ```
287
+
288
+ **주의:** project.md는 Frozen 문서이므로 변경 시 decision.md에 기록 권장
289
+
290
+ ### 5.2 Task 상태 강제 변경
291
+
292
+ ```bash
293
+ # sprints/sprint-1/meta.md에서 직접 수정
294
+ vim ai-dev-team/artifacts/sprints/sprint-1/meta.md
295
+
296
+ # Task 상태 변경
297
+ | task-001 | BACKLOG | - | P0 | M |
298
+
299
+ | task-001 | DONE | developer | P0 | M |
282
300
  ```
283
- ━━━━━━━━━━━━━━━━━━━━━━
284
- 👔 Manager 세션 시작
285
- ━━━━━━━━━━━━━━━━━━━━━━
286
301
 
287
- 📋 문서 상태
288
- ✅ plan.md - 확정 (v1.0)
289
- ✅ project.md - Frozen (v1.0)
290
- ✅ backlog.md - Task 5개
291
- ✅ current-sprint.md - Sprint 1
302
+ ### 5.3 스프린트 강제 종료
292
303
 
293
- 📊 스프린트 현황
294
- - 진행: Sprint 1
295
- - 완료: 2/5 Task
296
- - IN_QA: 1 (TASK-003)
297
- - IN_DEV: 2
304
+ ```bash
305
+ ada sprint close -f # 미완료 Task 있어도 강제 종료
306
+ ```
298
307
 
299
- 📌 승인 대기
300
- - TASK-003: QA PASS → DONE 승인 필요
308
+ ### 5.4 세션 정리
301
309
 
302
- ━━━━━━━━━━━━━━━━━━━━━━
310
+ ```bash
311
+ # 좀비 세션 정리
312
+ ada sessions --clean
303
313
 
304
- 어떻게 하시겠습니까?
305
- 1. ✅ 진행 - TASK-003 완료 승인
306
- 2. 📊 상세 - 스프린트 현황 보기
307
- 3. ❓ 질문 - 상세 정보 요청
314
+ # 특정 세션 강제 종료
315
+ kill [session-pid]
308
316
  ```
309
317
 
310
318
  ---
311
319
 
312
- ## 11. 멀티 세션 모니터링 모드
320
+ ## 6. 워크플로우 예시
313
321
 
314
- 멀티 터미널 환경에서 여러 역할의 세션을 동시에 관리.
322
+ ### 6.1 신규 프로젝트 시작
315
323
 
316
- ### 11.1 모니터링 시작
324
+ ```bash
325
+ # 1. 템플릿 설정
326
+ ada setup web
317
327
 
318
- 사용자가 "모니터링", "watch", "감시" 요청 시:
328
+ # 2. 기획 시작
329
+ ada planner claude
330
+ # → plan.md, backlog/*.md 생성
319
331
 
320
- ```
321
- ━━━━━━━━━━━━━━━━━━━━━━
322
- 👔 Manager 모니터링 모드
323
- ━━━━━━━━━━━━━━━━━━━━━━
332
+ # 3. project.md 작성 (선택)
333
+ vim ai-dev-team/artifacts/project.md
334
+ # 기술 스택, 구조, 품질 기준 정의
335
+
336
+ # 4. 스프린트 생성
337
+ ada sprint create
338
+ ada sprint add task-001 task-002
339
+
340
+ # 5. 개발 시작
341
+ ada developer claude
324
342
 
325
- 📡 .ada-status.json 감시 중...
326
- (다른 터미널의 세션 상태를 실시간 추적)
343
+ # 6. 모니터링 (별도 터미널)
344
+ ada sessions --watch
327
345
 
328
- [활성 세션]
329
- (없음)
346
+ # 7. 리뷰
347
+ ada reviewer claude
330
348
 
331
- [대기 질문]
332
- (없음)
349
+ # 8. 문서 작성
350
+ ada documenter claude
333
351
 
334
- ━━━━━━━━━━━━━━━━━━━━━━
335
- 명령: (r)efresh | (q)uit | 질문번호로 응답
352
+ # 9. 스프린트 종료
353
+ ada sprint close
336
354
  ```
337
355
 
338
- ### 11.2 상태 파일 관리
356
+ ### 6.2 진행 개입
339
357
 
340
- #### 세션 시작
358
+ **시나리오 1: AI가 막혔을 때**
341
359
  ```
342
- 1. .ada-status.json 읽기 (없으면 템플릿으로 생성)
343
- 2. activeSessions에 Manager 추가:
344
- {
345
- "role": "manager",
346
- "tool": "[사용중인 도구]",
347
- "startedAt": "[현재시간]",
348
- "status": "active"
349
- }
350
- 3. currentPhase 확인 및 갱신
351
- 4. 파일 저장
360
+ Developer: ⚠️ 구현 불가 - Websocket 필요하지만 project.md에 없음
361
+ 사용자: y (승인)
362
+ → decision.md에 자동 기록
363
+ project.md 업데이트
364
+ Developer: 계속 진행
352
365
  ```
353
366
 
354
- #### 주기적 갱신 (모니터링 모드)
367
+ **시나리오 2: 품질 문제 발견**
355
368
  ```
356
- 1. 2초마다 .ada-status.json 읽기
357
- 2. 변경 감지 시 화면 갱신
358
- 3. 새 질문/알림 표시
369
+ Reviewer: REJECT - 수용 조건 미충족
370
+ 사용자: (ada sessions로 확인)
371
+ → review-reports/task-001.md 확인
372
+ → Developer에게 재작업 지시
359
373
  ```
360
374
 
361
- #### 세션 종료
375
+ **시나리오 3: 긴급 Task 추가**
362
376
  ```
363
- 1. activeSessions에서 자신 제거
364
- 2. 파일 저장
377
+ 사용자: vim ai-dev-team/artifacts/backlog/task-010.md
378
+ (긴급 Task 생성)
379
+
380
+ ada sprint add task-010
381
+ ✅ 현재 스프린트에 추가됨
382
+
383
+ decision.md에 기록:
384
+ "긴급 보안 패치 - CVE-2024-XXXX 대응"
365
385
  ```
366
386
 
367
- ### 11.3 질문 응답 처리
387
+ ---
368
388
 
369
- 다른 세션에서 질문이 등록되면:
389
+ ## 7. 모니터링
370
390
 
391
+ ### 7.1 Watch 모드 활용
392
+
393
+ **터미널 1:** 개발 진행
394
+ ```bash
395
+ ada developer claude
371
396
  ```
372
- ━━━━━━━━━━━━━━━━━━━━━━
373
- ⚠️ 새 질문 발생!
374
- ━━━━━━━━━━━━━━━━━━━━━━
375
397
 
376
- [Q001] Developer 질문 (10초 전)
377
- "Redis 캐시를 적용할까요?"
378
- 옵션: (y) 적용 / (n) 미적용
398
+ **터미널 2:** 실시간 모니터링
399
+ ```bash
400
+ ada sessions --watch
401
+ ```
379
402
 
380
- [Q002] Architect 질문 (5분 전)
381
- "PostgreSQL 대신 MySQL 사용해도 될까요?"
382
- 옵션: (y) 허용 / (n) 거부
403
+ **터미널 3:** 리뷰 진행
404
+ ```bash
405
+ ada reviewer gemini
406
+ ```
383
407
 
384
- ━━━━━━━━━━━━━━━━━━━━━━
385
- 응답할 질문 번호 입력 (예: 1 y): _
408
+ ### 7.2 알림 확인
409
+
410
+ `.ada-status.json`의 notifications 필드:
411
+ ```json
412
+ {
413
+ "notifications": [
414
+ {
415
+ "from": "developer",
416
+ "message": "task-001 구현 완료",
417
+ "taskId": "task-001",
418
+ "timestamp": "2024-01-04T14:30:00Z",
419
+ "read": false
420
+ }
421
+ ]
422
+ }
386
423
  ```
387
424
 
388
- 응답 시:
425
+ `ada sessions`로 확인 가능
426
+
427
+ ---
428
+
429
+ ## 8. 충돌 해결
430
+
431
+ ### 8.1 문서 간 충돌
432
+
433
+ AI가 충돌을 발견하면 보고:
389
434
  ```
390
- 1. pendingQuestions에서 해당 질문 찾기
391
- 2. status를 "answered"로 변경
392
- 3. answer 필드에 응답 저장
393
- 4. answeredAt 기록
394
- 5. 파일 저장
395
- 6. notifications에 "Manager가 Q001에 응답함" 추가
435
+ Developer: ⚠️ 문서 충돌 발견
436
+ plan.md: "사용자 인증 필요"
437
+ project.md: "인증 시스템 제외"
438
+
439
+ 어떻게 처리할까요?
396
440
  ```
397
441
 
398
- ### 11.4 세션 상태 표시
442
+ 사용자 결정:
443
+ ```
444
+ 옵션:
445
+ 1. plan.md 우선 (project.md 수정)
446
+ 2. project.md 우선 (plan.md 수정)
447
+ 3. 둘 다 수정
399
448
 
449
+ 선택: _
400
450
  ```
401
- ━━━━━━━━━━━━━━━━━━━━━━
402
- 📊 세션 모니터링
403
- ━━━━━━━━━━━━━━━━━━━━━━
404
451
 
405
- [활성 세션]
406
- ┌──────────┬────────┬──────────┬─────────────┐
407
- │ 역할 │ 도구 │ 상태 │ 경과시간 │
408
- ├──────────┼────────┼──────────┼─────────────┤
409
- │ Developer│ codex │ 🟢 작업중│ 15분 │
410
- │ Reviewer │ gemini │ 🟡 대기 │ 5분 │
411
- │ QA │ claude │ 🔴 질문 │ 2분 │
412
- └──────────┴────────┴──────────┴─────────────┘
452
+ decision.md에 기록하여 향후 참조
413
453
 
414
- [Task 진행]
415
- ┌──────────┬──────────┬──────────┬──────┐
416
- │ Task │ 담당 │ 상태 │ 진행 │
417
- ├──────────┼──────────┼──────────┼──────┤
418
- │ T001 │ Developer│ IN_DEV │ 70% │
419
- │ T002 │ Reviewer │ IN_REVIEW│ 100% │
420
- │ T003 │ QA │ IN_QA │ 50% │
421
- └──────────┴──────────┴──────────┴──────┘
454
+ ### 8.2 역할 간 해석 차이
422
455
 
423
- [대기 질문: 1개]
424
- ⚠️ Q001: QA 질문 대기 중 (2분 전)
456
+ ```
457
+ Developer: "로그인 = 이메일/비밀번호"
458
+ Reviewer: "로그인 = OAuth 포함해야 함"
425
459
 
426
- ━━━━━━━━━━━━━━━━━━━━━━
460
+ → plan.md 명확화 필요
461
+ → 사용자가 최종 판단
427
462
  ```
428
463
 
429
- ### 11.5 자동 진행 모드
464
+ ---
430
465
 
431
- 사용자가 "자동 진행", "auto" 요청 시:
466
+ ## 9. 금지 사항
432
467
 
433
- ```
434
- ━━━━━━━━━━━━━━━━━━━━━━
435
- 🚀 자동 진행 모드
436
- ━━━━━━━━━━━━━━━━━━━━━━
468
+ Manager(사용자)는 슈퍼권한을 가지지만, 다음을 지키는 것을 권장:
437
469
 
438
- [규칙]
439
- - Gate 조건 충족 자동 단계 전환
440
- - 질문 발생 즉시 알림
441
- - 중요 결정은 사용자 확인 필요
470
+ - ⚠️ Frozen 문서 무단 변경 (RFC 절차 권장)
471
+ - ⚠️ 진행 중인 스프린트 범위 임의 변경
472
+ - ⚠️ AI 역할의 산출물 직접 수정 (역할 재실행 권장)
442
473
 
443
- [현재 단계] Development (Sprint 1)
474
+ **권장 방식:**
475
+ - ✅ AI가 잘못했으면 → 역할 재실행
476
+ - ✅ 문서 수정 필요하면 → decision.md에 기록
477
+ - ✅ 긴급 상황만 → 직접 수정
444
478
 
445
- T001 진행 중... Developer (codex)
446
- → 완료 시 자동으로 Reviewer에게 전달
479
+ ---
447
480
 
448
- ━━━━━━━━━━━━━━━━━━━━━━
449
- (Ctrl+C로 중단, 질문 발생 시 자동 표시)
450
- ```
481
+ ## 10. 체크리스트
451
482
 
452
- ### 11.6 알림 표시
483
+ ### 스프린트 시작
484
+ - [ ] plan.md 확정
485
+ - [ ] backlog에 READY Task 충분
486
+ - [ ] project.md 작성 (선택)
487
+ - [ ] 스프린트 생성 및 Task 추가
453
488
 
454
- ```
455
- ━━━━━━━━━━━━━━━━━━━━━━
456
- 🔔 알림
457
- ━━━━━━━━━━━━━━━━━━━━━━
458
- [10:30] ℹ️ Developer가 T001 작업 시작
459
- [10:45] ℹ️ T001 진행률 50%
460
- [10:50] ⚠️ Developer 질문 등록
461
- [10:52] ✅ Manager가 Q001 응답
462
- [10:55] ℹ️ Developer가 T001 완료
463
- [10:55] ℹ️ T001 → Reviewer로 전달
464
- ━━━━━━━━━━━━━━━━━━━━━━
465
- ```
489
+ ### 스프린트 진행 중
490
+ - [ ] ada sessions로 주기적 확인
491
+ - [ ] AI 질문에 신속 응답
492
+ - [ ] REJECT된 Task 확인 및 조치
493
+ - [ ] 충돌/이슈 즉시 해결
466
494
 
467
- ### 11.7 파일 잠금 관리
495
+ ### 스프린트 종료
496
+ - [ ] 모든 Task DONE 확인
497
+ - [ ] 문서 작성 완료 (Documenter)
498
+ - [ ] 회고 작성
499
+ - [ ] decision.md 정리
468
500
 
469
- ```
470
- [잠금 현황]
471
- ┌────────────────────┬───────────┬──────────┐
472
- │ 파일 │ 보유자 │ 시간 │
473
- ├────────────────────┼───────────┼──────────┤
474
- │ current-sprint.md │ Manager │ 10초 │
475
- │ backlog.md │ (없음) │ - │
476
- └────────────────────┴───────────┴──────────┘
501
+ ---
477
502
 
478
- ⚠️ 30초 이상 잠금 유지 시 경고
503
+ ## 11. 참고 명령어 요약
504
+
505
+ ```bash
506
+ # 스프린트
507
+ ada sprint create # 생성
508
+ ada sprint add task-001 # Task 추가
509
+ ada sprint close # 종료
510
+ ada sprint list # 목록
511
+
512
+ # 모니터링
513
+ ada sessions # 세션 확인
514
+ ada sessions --watch # 실시간 대시보드
515
+ ada sessions --clean # 좀비 정리
516
+ ada logs [id] # 로그
517
+
518
+ # 상태 확인
519
+ ada status # 전체 상태
520
+ ada validate # 문서 검증
521
+
522
+ # AI 역할 실행
523
+ ada planner claude
524
+ ada developer codex
525
+ ada reviewer gemini
526
+ ada documenter claude
479
527
  ```
480
528
 
481
- ### 11.8 모니터링 명령어
529
+ ---
530
+
531
+ ## 12. 마무리
532
+
533
+ **Manager = 당신**
534
+
535
+ - 🎯 최종 결정권자
536
+ - 📊 프로젝트 전체 조망
537
+ - ⚖️ AI 역할들의 중재자
538
+ - 📝 품질 최종 책임자
482
539
 
483
- | 명령 | 설명 |
484
- |------|------|
485
- | r, refresh | 화면 새로고침 |
486
- | s, status | 전체 상태 표시 |
487
- | q, quit | 모니터링 종료 |
488
- | 1 y | Q001에 'y' 응답 |
489
- | 2 n | Q002에 'n' 응답 |
490
- | task T001 | T001 상세 정보 |
491
- | approve T001 | T001 완료 승인 |
540
+ CLI 도구와 모니터링 대시보드를 활용하여
541
+ 효율적으로 프로젝트를 관리하세요! 🚀