@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.
- package/README.md +294 -661
- package/bin/cli.js +8 -1
- package/core/artifacts/decision.md +1 -1
- package/core/artifacts/plan.md +5 -5
- package/core/artifacts/project.md +4 -2
- package/core/artifacts/sprints/_template/docs/release-notes.md +37 -0
- package/core/artifacts/sprints/_template/meta.md +54 -0
- package/core/artifacts/sprints/_template/retrospective.md +50 -0
- package/core/artifacts/sprints/_template/review-reports/review-template.md +49 -0
- package/core/artifacts/sprints/_template/tasks/task-template.md +43 -0
- package/core/roles/analyzer.md +6 -33
- package/core/roles/developer.md +69 -99
- package/core/roles/documenter.md +293 -0
- package/core/roles/manager.md +391 -341
- package/core/roles/planner.md +61 -79
- package/core/roles/reviewer.md +71 -129
- package/core/rules/document-priority.md +40 -38
- package/core/rules/escalation.md +15 -14
- package/core/rules/iteration.md +24 -24
- package/core/rules/rfc.md +1 -1
- package/core/rules/rollback.md +4 -4
- package/package.json +1 -1
- package/src/commands/run.js +95 -46
- package/src/commands/sessions.js +21 -1
- package/src/commands/sprint.js +262 -0
- package/src/commands/validate.js +133 -64
- package/src/commands/validate.test.js +84 -0
- package/src/utils/files.js +134 -134
- package/src/utils/sessionState.js +30 -11
- package/core/artifacts/architecture-options.md +0 -85
- package/core/artifacts/backlog.md +0 -177
- package/core/artifacts/current-sprint.md +0 -125
- package/core/artifacts/qa-report.md +0 -104
- package/core/artifacts/review-report.md +0 -103
- package/core/roles/architect.md +0 -270
- package/core/roles/qa.md +0 -306
- package/core/rules/role-state-protocol.md +0 -281
- package/core/rules/session-state.md +0 -255
- package/templates/cli/roles/cli-developer.md +0 -243
- package/templates/game/roles/game-logic.md +0 -198
- package/templates/game/roles/rendering.md +0 -142
- package/templates/library/roles/library-developer.md +0 -184
- package/templates/web-dev/roles/backend.md +0 -139
- package/templates/web-dev/roles/frontend.md +0 -166
package/core/roles/manager.md
CHANGED
|
@@ -1,491 +1,541 @@
|
|
|
1
|
-
# Role: Manager (관리자
|
|
1
|
+
# Role: Manager (프로젝트 관리자)
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
스프린트를 관리하고, 모든 주요 결정을 승인한다.
|
|
3
|
+
> 이 문서는 **사용자(당신)**를 위한 가이드입니다.
|
|
4
|
+
> 프로젝트 전체를 슈퍼권한으로 관리하는 방법을 설명합니다.
|
|
6
5
|
|
|
7
6
|
---
|
|
8
7
|
|
|
9
|
-
##
|
|
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
|
-
|
|
15
|
+
### 핵심 책임
|
|
20
16
|
|
|
21
|
-
|
|
17
|
+
- ✅ 스프린트 생성 및 종료 (CLI)
|
|
18
|
+
- ✅ 최종 결정 및 승인 (decision.md)
|
|
19
|
+
- ✅ AI 역할들의 질문에 응답
|
|
20
|
+
- ✅ 프로젝트 전체 모니터링
|
|
21
|
+
- ✅ 문서 간 충돌 해결
|
|
22
22
|
|
|
23
|
-
|
|
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
|
-
|
|
32
|
-
📊 스프린트 현황 리뷰
|
|
27
|
+
### 1.1 스프린트 생성
|
|
33
28
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
| TASK-001 | IN_QA | - | QA 대기 |
|
|
38
|
-
| TASK-002 | IN_DEV | Developer | 진행중 |
|
|
29
|
+
```bash
|
|
30
|
+
# 새 스프린트 생성
|
|
31
|
+
ada sprint create
|
|
39
32
|
|
|
40
|
-
|
|
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
|
-
|
|
44
|
+
```bash
|
|
45
|
+
# backlog에서 Task 선택하여 스프린트에 추가
|
|
46
|
+
ada sprint add task-001 task-002 task-003
|
|
57
47
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
| → DEFERRED | Manager | 이월 결정 시 |
|
|
48
|
+
# 확인
|
|
49
|
+
✅ task-001 추가됨 (P0, M)
|
|
50
|
+
✅ task-002 추가됨 (P1, S)
|
|
51
|
+
✅ task-003 추가됨 (P1, L)
|
|
63
52
|
|
|
64
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
101
|
+
```bash
|
|
102
|
+
ada sprint close
|
|
111
103
|
|
|
112
|
-
|
|
113
|
-
1
|
|
114
|
-
2. ❓ 상세 정보 확인
|
|
115
|
-
```
|
|
104
|
+
# 회고 작성 프롬프트
|
|
105
|
+
✅ Sprint 1 종료 처리 중...
|
|
116
106
|
|
|
117
|
-
|
|
107
|
+
📝 회고 작성
|
|
108
|
+
1. 완료된 Task: 3개
|
|
109
|
+
2. 미완료 Task: 0개
|
|
118
110
|
|
|
119
|
-
|
|
111
|
+
잘된 점을 입력하세요:
|
|
112
|
+
> _
|
|
120
113
|
|
|
121
|
-
|
|
122
|
-
|
|
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
|
-
|
|
121
|
+
---
|
|
131
122
|
|
|
132
|
-
|
|
123
|
+
## 2. AI 역할 질문 응답
|
|
133
124
|
|
|
134
|
-
|
|
135
|
-
|------|:----:|
|
|
136
|
-
| plan.md 존재 | 필수 |
|
|
137
|
-
| 핵심 기능 정의됨 | 필수 |
|
|
138
|
-
| 미확정 항목 ≤ 3개 | 권장 |
|
|
139
|
-
| 사용자 확인 완료 | 필수 |
|
|
125
|
+
### 2.1 직접 응답 (터미널)
|
|
140
126
|
|
|
141
|
-
|
|
127
|
+
AI가 작업 중 질문하면 터미널에서 직접 응답:
|
|
142
128
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
| 기술 스택 확정 | 필수 |
|
|
148
|
-
| backlog.md에 Task 있음 | 필수 |
|
|
129
|
+
```
|
|
130
|
+
Developer 세션:
|
|
131
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
132
|
+
💻 Developer 작업 중...
|
|
149
133
|
|
|
150
|
-
|
|
134
|
+
⚠️ 결정 필요
|
|
135
|
+
project.md에 없는 기술이 필요합니다.
|
|
151
136
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
| 인터페이스 문서 갱신 | 필수 |
|
|
156
|
-
| 코드 구현 완료 | 필수 |
|
|
137
|
+
기술: Redis (캐시 서버)
|
|
138
|
+
목적: API 응답 속도 개선
|
|
139
|
+
영향: project.md 업데이트 필요
|
|
157
140
|
|
|
158
|
-
|
|
141
|
+
추가하시겠습니까? (y/n): _
|
|
142
|
+
```
|
|
159
143
|
|
|
160
|
-
|
|
161
|
-
|------|:----:|
|
|
162
|
-
| review-report.md 존재 | 필수 |
|
|
163
|
-
| 판정 = PASS | 필수 |
|
|
164
|
-
| 심각한 WARN 없음 | 권장 |
|
|
144
|
+
사용자 입력: `y`
|
|
165
145
|
|
|
166
|
-
|
|
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
|
-
|
|
155
|
+
백그라운드 실행 중이거나 다른 터미널에서 실행 중일 때:
|
|
178
156
|
|
|
179
|
-
|
|
157
|
+
```bash
|
|
158
|
+
ada sessions --watch
|
|
159
|
+
```
|
|
180
160
|
|
|
181
|
-
|
|
182
|
-
-
|
|
183
|
-
-
|
|
161
|
+
대시보드에서 질문 확인 후:
|
|
162
|
+
- 질문 번호와 응답 입력: `1 y` 또는 `1 n`
|
|
163
|
+
- AI 세션이 자동으로 응답 수신
|
|
184
164
|
|
|
185
|
-
###
|
|
165
|
+
### 2.3 Task 파일에서 확인
|
|
186
166
|
|
|
187
|
-
|
|
188
|
-
- 되돌림 비용 < 잘못된 진행 비용
|
|
189
|
-
- BLOCK 시 즉시 해결
|
|
167
|
+
급하지 않은 질문은 Task 파일에 이슈로 기록됨:
|
|
190
168
|
|
|
191
|
-
|
|
169
|
+
```bash
|
|
170
|
+
# Task 파일 확인
|
|
171
|
+
cat ai-dev-team/artifacts/backlog/task-001.md
|
|
192
172
|
|
|
193
|
-
|
|
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
|
-
|
|
180
|
+
### Redis 캐시 추가 필요
|
|
181
|
+
- 상황: API 응답 속도가 느림
|
|
182
|
+
- 제안: Redis 캐시 도입
|
|
183
|
+
- 영향: project.md에 Redis 추가 필요
|
|
200
184
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
- ❌ 기록 없는 예외 승인
|
|
204
|
-
- ❌ 스프린트 범위 임의 변경
|
|
205
|
-
- ❌ **코드 직접 수정/구현 (절대 금지)**
|
|
206
|
-
- ❌ **기획 작업 (Planner 역할)**
|
|
207
|
-
- ❌ **아키텍처 작업 (Architect 역할)**
|
|
208
|
-
- ❌ **개발 작업 (Developer 역할)**
|
|
209
|
-
- ❌ **코드 리뷰 (Reviewer 역할)**
|
|
210
|
-
- ❌ **QA 테스트 (QA 역할)**
|
|
185
|
+
→ 사용자 승인 대기
|
|
186
|
+
```
|
|
211
187
|
|
|
212
|
-
|
|
213
|
-
|
|
188
|
+
직접 파일 수정하여 응답:
|
|
189
|
+
```markdown
|
|
190
|
+
→ ✅ 승인됨 (2024-01-04)
|
|
191
|
+
```
|
|
214
192
|
|
|
215
193
|
---
|
|
216
194
|
|
|
217
|
-
##
|
|
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
|
-
|
|
207
|
+
필요시 직접 기록:
|
|
231
208
|
|
|
232
209
|
```markdown
|
|
233
210
|
# Decision Log
|
|
234
211
|
|
|
235
|
-
## Decision #
|
|
236
|
-
- 일시:
|
|
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
|
-
##
|
|
223
|
+
## 4. 프로젝트 전체 관리
|
|
246
224
|
|
|
247
|
-
###
|
|
225
|
+
### 4.1 문서 상태 확인
|
|
248
226
|
|
|
249
|
-
|
|
227
|
+
```bash
|
|
228
|
+
ada status
|
|
250
229
|
|
|
251
|
-
|
|
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
|
-
|
|
262
|
-
|
|
263
|
-
|
|
247
|
+
📦 Backlog
|
|
248
|
+
총 Task: 5개
|
|
249
|
+
READY: 2개
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
### 4.2 문서 검증
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
# 전체 검증
|
|
256
|
+
ada validate
|
|
264
257
|
|
|
265
|
-
|
|
266
|
-
|
|
258
|
+
# 특정 문서 검증
|
|
259
|
+
ada validate plan
|
|
260
|
+
ada validate project
|
|
267
261
|
```
|
|
268
262
|
|
|
269
|
-
###
|
|
263
|
+
### 4.3 로그 확인
|
|
270
264
|
|
|
271
|
-
|
|
265
|
+
```bash
|
|
266
|
+
# 최근 세션 로그
|
|
267
|
+
ada logs
|
|
272
268
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
4. 관련 역할에 통보
|
|
269
|
+
# 특정 세션 로그
|
|
270
|
+
ada logs 20240104-143022-a1b2
|
|
271
|
+
```
|
|
277
272
|
|
|
278
273
|
---
|
|
279
274
|
|
|
280
|
-
##
|
|
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
|
-
-
|
|
295
|
-
|
|
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
|
-
|
|
306
|
-
2. 📊 상세 - 스프린트 현황 보기
|
|
307
|
-
3. ❓ 질문 - 상세 정보 요청
|
|
314
|
+
# 특정 세션 강제 종료
|
|
315
|
+
kill [session-pid]
|
|
308
316
|
```
|
|
309
317
|
|
|
310
318
|
---
|
|
311
319
|
|
|
312
|
-
##
|
|
320
|
+
## 6. 워크플로우 예시
|
|
313
321
|
|
|
314
|
-
|
|
322
|
+
### 6.1 신규 프로젝트 시작
|
|
315
323
|
|
|
316
|
-
|
|
324
|
+
```bash
|
|
325
|
+
# 1. 템플릿 설정
|
|
326
|
+
ada setup web
|
|
317
327
|
|
|
318
|
-
|
|
328
|
+
# 2. 기획 시작
|
|
329
|
+
ada planner claude
|
|
330
|
+
# → plan.md, backlog/*.md 생성
|
|
319
331
|
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
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
|
-
|
|
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
|
-
|
|
352
|
+
# 9. 스프린트 종료
|
|
353
|
+
ada sprint close
|
|
336
354
|
```
|
|
337
355
|
|
|
338
|
-
###
|
|
356
|
+
### 6.2 진행 중 개입
|
|
339
357
|
|
|
340
|
-
|
|
358
|
+
**시나리오 1: AI가 막혔을 때**
|
|
341
359
|
```
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
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
|
-
|
|
357
|
-
|
|
358
|
-
|
|
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
|
-
|
|
364
|
-
|
|
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
|
-
|
|
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
|
-
|
|
377
|
-
|
|
378
|
-
|
|
398
|
+
**터미널 2:** 실시간 모니터링
|
|
399
|
+
```bash
|
|
400
|
+
ada sessions --watch
|
|
401
|
+
```
|
|
379
402
|
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
403
|
+
**터미널 3:** 리뷰 진행
|
|
404
|
+
```bash
|
|
405
|
+
ada reviewer gemini
|
|
406
|
+
```
|
|
383
407
|
|
|
384
|
-
|
|
385
|
-
|
|
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
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
6. notifications에 "Manager가 Q001에 응답함" 추가
|
|
435
|
+
Developer: ⚠️ 문서 충돌 발견
|
|
436
|
+
plan.md: "사용자 인증 필요"
|
|
437
|
+
project.md: "인증 시스템 제외"
|
|
438
|
+
|
|
439
|
+
어떻게 처리할까요?
|
|
396
440
|
```
|
|
397
441
|
|
|
398
|
-
|
|
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
|
-
|
|
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
|
-
|
|
424
|
-
|
|
456
|
+
```
|
|
457
|
+
Developer: "로그인 = 이메일/비밀번호"
|
|
458
|
+
Reviewer: "로그인 = OAuth 포함해야 함"
|
|
425
459
|
|
|
426
|
-
|
|
460
|
+
→ plan.md 명확화 필요
|
|
461
|
+
→ 사용자가 최종 판단
|
|
427
462
|
```
|
|
428
463
|
|
|
429
|
-
|
|
464
|
+
---
|
|
430
465
|
|
|
431
|
-
|
|
466
|
+
## 9. 금지 사항
|
|
432
467
|
|
|
433
|
-
|
|
434
|
-
━━━━━━━━━━━━━━━━━━━━━━
|
|
435
|
-
🚀 자동 진행 모드
|
|
436
|
-
━━━━━━━━━━━━━━━━━━━━━━
|
|
468
|
+
Manager(사용자)는 슈퍼권한을 가지지만, 다음을 지키는 것을 권장:
|
|
437
469
|
|
|
438
|
-
|
|
439
|
-
-
|
|
440
|
-
-
|
|
441
|
-
- 중요 결정은 사용자 확인 필요
|
|
470
|
+
- ⚠️ Frozen 문서 무단 변경 (RFC 절차 권장)
|
|
471
|
+
- ⚠️ 진행 중인 스프린트 범위 임의 변경
|
|
472
|
+
- ⚠️ AI 역할의 산출물 직접 수정 (역할 재실행 권장)
|
|
442
473
|
|
|
443
|
-
|
|
474
|
+
**권장 방식:**
|
|
475
|
+
- ✅ AI가 잘못했으면 → 역할 재실행
|
|
476
|
+
- ✅ 문서 수정 필요하면 → decision.md에 기록
|
|
477
|
+
- ✅ 긴급 상황만 → 직접 수정
|
|
444
478
|
|
|
445
|
-
|
|
446
|
-
→ 완료 시 자동으로 Reviewer에게 전달
|
|
479
|
+
---
|
|
447
480
|
|
|
448
|
-
|
|
449
|
-
(Ctrl+C로 중단, 질문 발생 시 자동 표시)
|
|
450
|
-
```
|
|
481
|
+
## 10. 체크리스트
|
|
451
482
|
|
|
452
|
-
###
|
|
483
|
+
### 스프린트 시작 전
|
|
484
|
+
- [ ] plan.md 확정
|
|
485
|
+
- [ ] backlog에 READY Task 충분
|
|
486
|
+
- [ ] project.md 작성 (선택)
|
|
487
|
+
- [ ] 스프린트 생성 및 Task 추가
|
|
453
488
|
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
[
|
|
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
|
-
###
|
|
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
|
-
|
|
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
|
-
|
|
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
|
+
효율적으로 프로젝트를 관리하세요! 🚀
|