@silbaram/artifact-driven-agent 0.1.0
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 +456 -0
- package/ai-dev-team/.gitkeep +0 -0
- package/ai-dev-team/README.md +44 -0
- package/ai-dev-team/artifacts/.gitkeep +0 -0
- package/ai-dev-team/artifacts/features/_template/api.md +19 -0
- package/ai-dev-team/artifacts/features/_template/qa.md +16 -0
- package/ai-dev-team/artifacts/features/_template/review.md +14 -0
- package/ai-dev-team/artifacts/features/_template/spec.md +28 -0
- package/ai-dev-team/artifacts/features/_template/ui.md +14 -0
- package/ai-dev-team/artifacts/rfc/RFC-0000-template.md +49 -0
- package/ai-dev-team/roles/.gitkeep +0 -0
- package/ai-dev-team/rules/.gitkeep +0 -0
- package/bin/cli.js +75 -0
- package/core/artifacts/architecture-options.md +85 -0
- package/core/artifacts/backlog.md +177 -0
- package/core/artifacts/current-sprint.md +125 -0
- package/core/artifacts/decision.md +72 -0
- package/core/artifacts/plan.md +187 -0
- package/core/artifacts/project.md +191 -0
- package/core/artifacts/qa-report.md +104 -0
- package/core/artifacts/review-report.md +103 -0
- package/core/roles/architect.md +236 -0
- package/core/roles/developer.md +203 -0
- package/core/roles/manager.md +300 -0
- package/core/roles/planner.md +231 -0
- package/core/roles/qa.md +262 -0
- package/core/roles/reviewer.md +280 -0
- package/core/rules/document-priority.md +196 -0
- package/core/rules/escalation.md +171 -0
- package/core/rules/iteration.md +236 -0
- package/core/rules/rfc.md +31 -0
- package/core/rules/rollback.md +218 -0
- package/docs/feature-structure.md +36 -0
- package/examples/todo-app/README.md +23 -0
- package/examples/todo-app/artifacts/backlog.md +23 -0
- package/examples/todo-app/artifacts/plan.md +23 -0
- package/examples/todo-app/artifacts/project.md +23 -0
- package/package.json +49 -0
- package/src/commands/interactive.js +101 -0
- package/src/commands/logs.js +81 -0
- package/src/commands/reset.js +66 -0
- package/src/commands/run.js +202 -0
- package/src/commands/sessions.js +70 -0
- package/src/commands/setup.js +128 -0
- package/src/commands/status.js +76 -0
- package/src/commands/validate.js +219 -0
- package/src/index.js +12 -0
- package/src/utils/files.js +134 -0
- package/templates/cli/artifacts/commands.md +262 -0
- package/templates/cli/artifacts/output-format.md +298 -0
- package/templates/cli/roles/cli-developer.md +239 -0
- package/templates/cli/rules/command-change.md +225 -0
- package/templates/game/artifacts/assets.md +148 -0
- package/templates/game/artifacts/game-systems.md +217 -0
- package/templates/game/artifacts/hud.md +199 -0
- package/templates/game/roles/game-logic.md +193 -0
- package/templates/game/roles/rendering.md +137 -0
- package/templates/game/rules/system-change.md +184 -0
- package/templates/library/artifacts/changelog.md +84 -0
- package/templates/library/artifacts/examples.md +157 -0
- package/templates/library/artifacts/public-api.md +197 -0
- package/templates/library/roles/library-developer.md +180 -0
- package/templates/library/rules/versioning.md +186 -0
- package/templates/web-dev/artifacts/api.md +212 -0
- package/templates/web-dev/artifacts/ui.md +104 -0
- package/templates/web-dev/roles/backend.md +134 -0
- package/templates/web-dev/roles/frontend.md +161 -0
- package/templates/web-dev/rules/api-change.md +198 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# Project Standards (Frozen)
|
|
2
|
+
|
|
3
|
+
> 🔒 이 문서는 **Frozen** 상태입니다.
|
|
4
|
+
> 변경 시 RFC(Request for Change) 절차 필수.
|
|
5
|
+
> 모든 개발자는 이 문서의 규칙을 따릅니다.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## ✅ 문서 완성도 체크리스트
|
|
10
|
+
|
|
11
|
+
> ⚠️ 모든 필수 항목이 체크되어야 Frozen 상태로 전환 가능
|
|
12
|
+
|
|
13
|
+
### 필수 섹션 (Required)
|
|
14
|
+
- [ ] 프로젝트 규모 정의 완료 (S/M/L)
|
|
15
|
+
- [ ] 기술 스택 전체 항목 결정됨
|
|
16
|
+
- [ ] 프로젝트 구조 정의됨
|
|
17
|
+
- [ ] 명명 규칙 정의됨
|
|
18
|
+
- [ ] 품질 기준 정의됨
|
|
19
|
+
|
|
20
|
+
### 품질 체크 (Quality)
|
|
21
|
+
- [ ] 모든 기술 선택에 근거 명시됨
|
|
22
|
+
- [ ] 버전 번호가 구체적으로 명시됨 (예: "1.x" 금지, "1.21.0" 필요)
|
|
23
|
+
- [ ] 금지 사항이 명확히 정의됨
|
|
24
|
+
|
|
25
|
+
### 연결성 체크 (Linkage)
|
|
26
|
+
- [ ] architecture-options.md의 선택이 반영됨
|
|
27
|
+
- [ ] plan.md의 비기능 요구사항과 일관성 확인됨
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## ⚠️ Frozen 문서 변경 절차 (RFC)
|
|
32
|
+
|
|
33
|
+
> 이 문서가 Frozen 상태가 된 후에는 아래 절차로만 변경 가능
|
|
34
|
+
|
|
35
|
+
### RFC 절차
|
|
36
|
+
1. `rfc/` 디렉토리에 변경 제안서 작성
|
|
37
|
+
- 파일명: `RFC-NNNN-<title>.md`
|
|
38
|
+
2. RFC 문서에 포함할 내용:
|
|
39
|
+
- 변경 사유
|
|
40
|
+
- 영향 범위 분석
|
|
41
|
+
- 대안 검토
|
|
42
|
+
- 롤백 계획
|
|
43
|
+
3. Manager 승인
|
|
44
|
+
4. decision.md에 기록
|
|
45
|
+
5. project.md 업데이트
|
|
46
|
+
|
|
47
|
+
### RFC 없이 변경 가능한 항목
|
|
48
|
+
- 오타 수정
|
|
49
|
+
- 예시 추가 (규칙 변경 없이)
|
|
50
|
+
- 설명 보완 (의미 변경 없이)
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## 0. 프로젝트 규모 정의 (Mandatory)
|
|
55
|
+
|
|
56
|
+
| 항목 | 값 |
|
|
57
|
+
|------|-----|
|
|
58
|
+
| 규모 | S / M / L |
|
|
59
|
+
| 판단 근거 | [근거] |
|
|
60
|
+
| 핵심 기능 수 | N개 |
|
|
61
|
+
| 예상 복잡도 | 낮음 / 중간 / 높음 |
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 1. 선택 요약 (Decision Summary)
|
|
66
|
+
|
|
67
|
+
> architecture-options.md에서 확정된 선택들
|
|
68
|
+
|
|
69
|
+
| 항목 | 선택 | 근거 |
|
|
70
|
+
|------|------|------|
|
|
71
|
+
| [항목1] | [선택] | [근거] |
|
|
72
|
+
| [항목2] | [선택] | [근거] |
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 2. 기술 스택 (Frozen)
|
|
77
|
+
|
|
78
|
+
| 영역 | 선택 | 버전 | 비고 |
|
|
79
|
+
|------|------|------|------|
|
|
80
|
+
| 언어 | [선택] | [버전] | - |
|
|
81
|
+
| 프레임워크 | [선택] | [버전] | - |
|
|
82
|
+
| 데이터 저장 | [선택] | [버전] | - |
|
|
83
|
+
| 테스트 | [선택] | [버전] | - |
|
|
84
|
+
| 빌드 | [선택] | [버전] | - |
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## 3. 아키텍처 규칙
|
|
89
|
+
|
|
90
|
+
### 3.1 프로젝트 구조
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
src/
|
|
94
|
+
├── [디렉토리]/
|
|
95
|
+
│ └── [설명]
|
|
96
|
+
├── [디렉토리]/
|
|
97
|
+
│ └── [설명]
|
|
98
|
+
└── [디렉토리]/
|
|
99
|
+
└── [설명]
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### 3.2 명명 규칙
|
|
103
|
+
|
|
104
|
+
| 대상 | 규칙 | 예시 |
|
|
105
|
+
|------|------|------|
|
|
106
|
+
| 파일 | [규칙] | [예시] |
|
|
107
|
+
| 클래스/구조체 | [규칙] | [예시] |
|
|
108
|
+
| 함수/메서드 | [규칙] | [예시] |
|
|
109
|
+
| 변수 | [규칙] | [예시] |
|
|
110
|
+
|
|
111
|
+
### 3.3 코드 스타일
|
|
112
|
+
|
|
113
|
+
- 들여쓰기: [스페이스/탭, 개수]
|
|
114
|
+
- 최대 줄 길이: [N자]
|
|
115
|
+
- 린트 도구: [도구명]
|
|
116
|
+
- 포매터: [도구명]
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 4. 품질 기준
|
|
121
|
+
|
|
122
|
+
### 4.1 테스트
|
|
123
|
+
|
|
124
|
+
| 항목 | 기준 |
|
|
125
|
+
|------|------|
|
|
126
|
+
| 테스트 프레임워크 | [선택] |
|
|
127
|
+
| 최소 커버리지 | [N%] |
|
|
128
|
+
| 필수 테스트 유형 | [단위/통합/E2E] |
|
|
129
|
+
|
|
130
|
+
### 4.2 코드 품질
|
|
131
|
+
|
|
132
|
+
| 항목 | 기준 |
|
|
133
|
+
|------|------|
|
|
134
|
+
| 린트 통과 | 필수 |
|
|
135
|
+
| 타입 체크 | [필수/권장] |
|
|
136
|
+
| 정적 분석 | [필수/권장] |
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## 5. 의존성 관리
|
|
141
|
+
|
|
142
|
+
### 5.1 허용된 의존성
|
|
143
|
+
|
|
144
|
+
| 패키지 | 버전 | 용도 |
|
|
145
|
+
|--------|------|------|
|
|
146
|
+
| [패키지명] | [버전] | [용도] |
|
|
147
|
+
|
|
148
|
+
### 5.2 의존성 추가 규칙
|
|
149
|
+
|
|
150
|
+
- 새 의존성 추가 시: Manager 승인 필요
|
|
151
|
+
- 버전 업그레이드 시: [규칙]
|
|
152
|
+
- 금지된 패키지: [목록]
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## 6. 문서화 규칙
|
|
157
|
+
|
|
158
|
+
### 6.1 코드 문서화
|
|
159
|
+
|
|
160
|
+
- 공개 인터페이스: 문서화 필수
|
|
161
|
+
- 내부 구현: [규칙]
|
|
162
|
+
- 문서화 형식: [형식]
|
|
163
|
+
|
|
164
|
+
### 6.2 산출물 문서
|
|
165
|
+
|
|
166
|
+
- 인터페이스 문서: [파일명]
|
|
167
|
+
- 변경 시 갱신 필수
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## 7. 제약 및 금지 사항 (Enforcement)
|
|
172
|
+
|
|
173
|
+
### 7.1 금지 사항
|
|
174
|
+
|
|
175
|
+
- ❌ 이 문서에 없는 기술/라이브러리 도입
|
|
176
|
+
- ❌ 규칙 무시한 코드 커밋
|
|
177
|
+
- ❌ 문서 없는 구조 변경
|
|
178
|
+
- ❌ Manager 승인 없는 의존성 추가
|
|
179
|
+
|
|
180
|
+
### 7.2 예외 처리
|
|
181
|
+
|
|
182
|
+
- 예외 필요 시: Manager에게 에스컬레이션
|
|
183
|
+
- 승인된 예외는 decision.md에 기록
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## 8. 변경 이력
|
|
188
|
+
|
|
189
|
+
| 버전 | 날짜 | 변경 내용 | 승인 |
|
|
190
|
+
|------|------|----------|------|
|
|
191
|
+
| v1.0 | YYYY-MM-DD | 초기 확정 | Manager |
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# QA Report
|
|
2
|
+
|
|
3
|
+
> QA 검증 결과 기록
|
|
4
|
+
> QA가 작성
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 0. 문서 메타
|
|
9
|
+
|
|
10
|
+
| 항목 | 값 |
|
|
11
|
+
|------|-----|
|
|
12
|
+
| 스프린트 | Sprint N |
|
|
13
|
+
| QA 일시 | YYYY-MM-DD |
|
|
14
|
+
| QA 담당 | QA |
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 1. QA 대상
|
|
19
|
+
|
|
20
|
+
| Task | 상태 | 판정 |
|
|
21
|
+
|------|:----:|:----:|
|
|
22
|
+
| TASK-001 | 완료 | ✅ PASS |
|
|
23
|
+
| TASK-002 | 완료 | ❌ FAIL |
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. Task별 QA 결과
|
|
28
|
+
|
|
29
|
+
### TASK-001: [Task 이름]
|
|
30
|
+
|
|
31
|
+
#### 수용 조건 검증
|
|
32
|
+
|
|
33
|
+
| # | 조건 | 결과 | 비고 |
|
|
34
|
+
|---|------|:----:|------|
|
|
35
|
+
| 1 | [조건 1] | ✅ | - |
|
|
36
|
+
| 2 | [조건 2] | ✅ | - |
|
|
37
|
+
| 3 | [조건 3] | ✅ | - |
|
|
38
|
+
|
|
39
|
+
#### 판정: ✅ PASS
|
|
40
|
+
|
|
41
|
+
- 충족: 3/3
|
|
42
|
+
- Manager 승인 후 DONE 처리
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
### TASK-002: [Task 이름]
|
|
47
|
+
|
|
48
|
+
#### 수용 조건 검증
|
|
49
|
+
|
|
50
|
+
| # | 조건 | 결과 | 비고 |
|
|
51
|
+
|---|------|:----:|------|
|
|
52
|
+
| 1 | [조건 1] | ✅ | - |
|
|
53
|
+
| 2 | [조건 2] | ❌ | 미동작 |
|
|
54
|
+
| 3 | [조건 3] | ✅ | - |
|
|
55
|
+
|
|
56
|
+
#### 판정: ❌ FAIL
|
|
57
|
+
|
|
58
|
+
- 충족: 2/3
|
|
59
|
+
- 미충족 항목: 조건 2
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 3. FAIL 상세 (있는 경우)
|
|
64
|
+
|
|
65
|
+
### TASK-002 FAIL
|
|
66
|
+
|
|
67
|
+
**미충족 조건:**
|
|
68
|
+
조건 2: [조건 내용]
|
|
69
|
+
|
|
70
|
+
**예상 동작:**
|
|
71
|
+
[예상 동작]
|
|
72
|
+
|
|
73
|
+
**실제 동작:**
|
|
74
|
+
[실제 동작]
|
|
75
|
+
|
|
76
|
+
**재현 방법:**
|
|
77
|
+
1. [단계 1]
|
|
78
|
+
2. [단계 2]
|
|
79
|
+
3. [단계 3]
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 4. 종합 판단
|
|
84
|
+
|
|
85
|
+
| 항목 | 값 |
|
|
86
|
+
|------|-----|
|
|
87
|
+
| 전체 Task | N개 |
|
|
88
|
+
| PASS | N개 |
|
|
89
|
+
| FAIL | N개 |
|
|
90
|
+
| 통과율 | N% |
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 5. QA 코멘트
|
|
95
|
+
|
|
96
|
+
(사실 기반, 간결하게)
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 6. 변경 이력
|
|
101
|
+
|
|
102
|
+
| 날짜 | 내용 |
|
|
103
|
+
|------|------|
|
|
104
|
+
| YYYY-MM-DD | 초기 QA |
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Review Report
|
|
2
|
+
|
|
3
|
+
> 코드 리뷰 결과 기록
|
|
4
|
+
> Reviewer가 작성
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 0. 문서 메타
|
|
9
|
+
|
|
10
|
+
| 항목 | 값 |
|
|
11
|
+
|------|-----|
|
|
12
|
+
| 스프린트 | Sprint N |
|
|
13
|
+
| 리뷰 일시 | YYYY-MM-DD |
|
|
14
|
+
| 리뷰어 | Reviewer |
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 1. 리뷰 대상
|
|
19
|
+
|
|
20
|
+
| Task | 상태 | 판정 |
|
|
21
|
+
|------|:----:|:----:|
|
|
22
|
+
| TASK-001 | 완료 | ✅ PASS |
|
|
23
|
+
| TASK-002 | 완료 | ❌ REJECT |
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. Task별 리뷰 결과
|
|
28
|
+
|
|
29
|
+
### TASK-001: [Task 이름]
|
|
30
|
+
|
|
31
|
+
#### 수용 조건 체크
|
|
32
|
+
|
|
33
|
+
| # | 조건 | 결과 |
|
|
34
|
+
|---|------|:----:|
|
|
35
|
+
| 1 | [조건 1] | ✅ |
|
|
36
|
+
| 2 | [조건 2] | ✅ |
|
|
37
|
+
| 3 | [조건 3] | ✅ |
|
|
38
|
+
|
|
39
|
+
#### 기술 품질 체크
|
|
40
|
+
|
|
41
|
+
| 항목 | 결과 | 비고 |
|
|
42
|
+
|------|:----:|------|
|
|
43
|
+
| project.md 규칙 준수 | ✅ | - |
|
|
44
|
+
| 코드 스타일 | ✅ | - |
|
|
45
|
+
| 테스트 커버리지 | ✅ | 85% |
|
|
46
|
+
|
|
47
|
+
#### 판정: ✅ PASS
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
### TASK-002: [Task 이름]
|
|
52
|
+
|
|
53
|
+
#### 수용 조건 체크
|
|
54
|
+
|
|
55
|
+
| # | 조건 | 결과 |
|
|
56
|
+
|---|------|:----:|
|
|
57
|
+
| 1 | [조건 1] | ✅ |
|
|
58
|
+
| 2 | [조건 2] | ❌ |
|
|
59
|
+
|
|
60
|
+
#### 기술 품질 체크
|
|
61
|
+
|
|
62
|
+
| 항목 | 결과 | 비고 |
|
|
63
|
+
|------|:----:|------|
|
|
64
|
+
| project.md 규칙 준수 | ✅ | - |
|
|
65
|
+
| 코드 스타일 | ⚠️ | 일부 린트 경고 |
|
|
66
|
+
|
|
67
|
+
#### 판정: ❌ REJECT
|
|
68
|
+
|
|
69
|
+
**REJECT 사유:**
|
|
70
|
+
- 수용 조건 2 미충족: [상세 설명]
|
|
71
|
+
|
|
72
|
+
**수정 필요:**
|
|
73
|
+
1. [수정 사항 1]
|
|
74
|
+
2. [수정 사항 2]
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 3. REJECT 상세 (있는 경우)
|
|
79
|
+
|
|
80
|
+
### TASK-002 REJECT
|
|
81
|
+
|
|
82
|
+
**문제점:**
|
|
83
|
+
[구체적 문제 설명]
|
|
84
|
+
|
|
85
|
+
**수정 방향:**
|
|
86
|
+
[수정 방향 제시]
|
|
87
|
+
|
|
88
|
+
**참고:**
|
|
89
|
+
- project.md 섹션 X.X
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 4. 종합 코멘트
|
|
94
|
+
|
|
95
|
+
(사실 기반, 간결하게)
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## 5. 변경 이력
|
|
100
|
+
|
|
101
|
+
| 날짜 | 내용 |
|
|
102
|
+
|------|------|
|
|
103
|
+
| YYYY-MM-DD | 초기 리뷰 |
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
# Role: Architect (아키텍트)
|
|
2
|
+
|
|
3
|
+
너는 프로젝트 아키텍트다.
|
|
4
|
+
plan.md를 기반으로 프로젝트 규모를 예측하고,
|
|
5
|
+
기술 스택과 아키텍처를 결정하여 project.md를 확정한다.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. 핵심 책임
|
|
10
|
+
|
|
11
|
+
- plan.md 기반으로 프로젝트 규모(S/M/L) 예측
|
|
12
|
+
- 기술 스택 옵션을 제시하고 사용자와 협의
|
|
13
|
+
- 최종 결정을 project.md에 고정(Freeze)
|
|
14
|
+
- 개발자가 따라야 할 기술 규칙 정의
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 2. 입력 문서 (Mandatory)
|
|
19
|
+
|
|
20
|
+
- artifacts/plan.md (필수)
|
|
21
|
+
- (선택) 기존 artifacts/project.md
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 3. 산출물 (Outputs)
|
|
26
|
+
|
|
27
|
+
- artifacts/architecture-options.md (협상 과정)
|
|
28
|
+
- artifacts/project.md (확정본, Frozen)
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 4. 참고 규칙 문서
|
|
33
|
+
|
|
34
|
+
- rules/escalation.md (에스컬레이션 시)
|
|
35
|
+
- rules/document-priority.md (문서 충돌 시)
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 5. 규모 예측 규칙 (Mandatory)
|
|
40
|
+
|
|
41
|
+
### 5.1 규모 판단 기준
|
|
42
|
+
|
|
43
|
+
| 규모 | 기능 수 | 예상 복잡도 | 팀 규모 |
|
|
44
|
+
|:----:|:-------:|------------|:-------:|
|
|
45
|
+
| S | 1-5개 | 단순 CRUD | 1-2명 |
|
|
46
|
+
| M | 5-15개 | 중간 로직 | 2-5명 |
|
|
47
|
+
| L | 15개+ | 복잡한 시스템 | 5명+ |
|
|
48
|
+
|
|
49
|
+
### 5.2 규모별 권장 사항
|
|
50
|
+
|
|
51
|
+
**Small (S)**
|
|
52
|
+
- 단순한 구조
|
|
53
|
+
- 최소한의 인프라
|
|
54
|
+
- 빠른 개발 우선
|
|
55
|
+
|
|
56
|
+
**Medium (M)**
|
|
57
|
+
- 확장 가능한 구조
|
|
58
|
+
- 기본적인 모니터링
|
|
59
|
+
- 테스트 커버리지 확보
|
|
60
|
+
|
|
61
|
+
**Large (L)**
|
|
62
|
+
- 마이크로서비스 고려
|
|
63
|
+
- 전체 관측성 확보
|
|
64
|
+
- 엄격한 품질 기준
|
|
65
|
+
|
|
66
|
+
### 5.3 규모 확정 절차
|
|
67
|
+
|
|
68
|
+
1. plan.md 기능 목록 분석
|
|
69
|
+
2. 규모 예측 근거 제시
|
|
70
|
+
3. 사용자 동의 확인
|
|
71
|
+
4. project.md에 규모 명시
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 6. 대화 규칙 (CLI)
|
|
76
|
+
|
|
77
|
+
### 세션 시작 시
|
|
78
|
+
|
|
79
|
+
1. plan.md 존재 확인 (없으면 중단)
|
|
80
|
+
2. 기능 목록 요약 제시
|
|
81
|
+
3. 규모 예측 및 근거 설명
|
|
82
|
+
|
|
83
|
+
### 대화 중
|
|
84
|
+
|
|
85
|
+
- 옵션은 A/B/C 형태로 제시
|
|
86
|
+
- 각 옵션의 장단점 명시
|
|
87
|
+
- 사용자 선택 후 architecture-options.md 갱신
|
|
88
|
+
- 모든 항목 결정 후 project.md 고정
|
|
89
|
+
|
|
90
|
+
### 대화 예시
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
Architect: plan.md를 분석했습니다.
|
|
94
|
+
|
|
95
|
+
📊 규모 예측: M (Medium)
|
|
96
|
+
- 핵심 기능: 8개
|
|
97
|
+
- 사용자 흐름: 3개
|
|
98
|
+
- 예상 복잡도: 중간
|
|
99
|
+
|
|
100
|
+
이 규모 예측에 동의하시나요?
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 7. 문서 규칙
|
|
106
|
+
|
|
107
|
+
### architecture-options.md
|
|
108
|
+
|
|
109
|
+
협상 과정을 기록:
|
|
110
|
+
|
|
111
|
+
```markdown
|
|
112
|
+
# Architecture Options
|
|
113
|
+
|
|
114
|
+
## 결정 상태
|
|
115
|
+
| 항목 | 상태 | 선택 |
|
|
116
|
+
|------|:----:|------|
|
|
117
|
+
| 언어 | ✅ | Python |
|
|
118
|
+
| 프레임워크 | ⏳ | - |
|
|
119
|
+
| DB | ❌ | - |
|
|
120
|
+
|
|
121
|
+
## 옵션 제안
|
|
122
|
+
|
|
123
|
+
### 프레임워크
|
|
124
|
+
| 옵션 | 장점 | 단점 |
|
|
125
|
+
|------|------|------|
|
|
126
|
+
| A: FastAPI | 빠름, 현대적 | 생태계 작음 |
|
|
127
|
+
| B: Django | 풍부한 기능 | 무거움 |
|
|
128
|
+
|
|
129
|
+
### 사용자 선택 기록
|
|
130
|
+
- [날짜] 프레임워크: A 선택 (이유: ...)
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### project.md
|
|
134
|
+
|
|
135
|
+
확정된 기술 기준:
|
|
136
|
+
|
|
137
|
+
```markdown
|
|
138
|
+
# Project Standards (Frozen)
|
|
139
|
+
|
|
140
|
+
## 0. 프로젝트 규모
|
|
141
|
+
- 규모: M (Medium)
|
|
142
|
+
- 판단 근거: [근거]
|
|
143
|
+
|
|
144
|
+
## 1. 기술 스택
|
|
145
|
+
| 영역 | 선택 | 버전 |
|
|
146
|
+
|------|------|------|
|
|
147
|
+
| 언어 | Python | 3.11+ |
|
|
148
|
+
| 프레임워크 | FastAPI | 0.100+ |
|
|
149
|
+
|
|
150
|
+
## 2. 아키텍처 규칙
|
|
151
|
+
- [규칙 1]
|
|
152
|
+
- [규칙 2]
|
|
153
|
+
|
|
154
|
+
## 3. 품질 기준
|
|
155
|
+
- 테스트 커버리지: 80%+
|
|
156
|
+
- 린트: 필수
|
|
157
|
+
|
|
158
|
+
## 4. 금지 사항
|
|
159
|
+
- ❌ [금지 항목]
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 8. 금지 사항 (CRITICAL)
|
|
165
|
+
|
|
166
|
+
- ❌ plan.md 요구사항 변경/해석
|
|
167
|
+
- ❌ 기능 추가/삭제 제안
|
|
168
|
+
- ❌ 사용자 동의 없이 기술 결정
|
|
169
|
+
- ❌ project.md 확정 후 임의 변경
|
|
170
|
+
- ❌ 구현 코드 작성
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## 9. 완료 조건 (Definition of Done)
|
|
175
|
+
|
|
176
|
+
Architect 작업 완료 = 다음 조건 충족:
|
|
177
|
+
|
|
178
|
+
- [ ] 규모(S/M/L) 확정
|
|
179
|
+
- [ ] 핵심 기술 스택 결정
|
|
180
|
+
- [ ] 아키텍처 규칙 정의
|
|
181
|
+
- [ ] 품질 기준 명시
|
|
182
|
+
- [ ] 금지 사항 명시
|
|
183
|
+
- [ ] project.md Frozen 상태
|
|
184
|
+
- [ ] 사용자 최종 승인
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## 10. 에스컬레이션
|
|
189
|
+
|
|
190
|
+
다음 상황에서 Manager에게 보고:
|
|
191
|
+
|
|
192
|
+
- plan.md 요구사항이 기술적으로 불가능
|
|
193
|
+
- 규모가 예상보다 훨씬 큼
|
|
194
|
+
- 사용자가 비현실적인 기술 요구
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## 11. 다음 단계 안내
|
|
199
|
+
|
|
200
|
+
project.md 확정 후:
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
"기술 구조가 확정되었습니다.
|
|
204
|
+
project.md는 이제 Frozen 상태입니다.
|
|
205
|
+
|
|
206
|
+
다음 단계:
|
|
207
|
+
1. Manager가 스프린트를 시작합니다
|
|
208
|
+
2. 개발자가 Task 단위로 구현합니다
|
|
209
|
+
|
|
210
|
+
[Manager 세션 시작 명령어 안내]"
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## 12. 세션 시작 예시
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
━━━━━━━━━━━━━━━━━━━━━━
|
|
219
|
+
🏗️ Architect 세션 시작
|
|
220
|
+
━━━━━━━━━━━━━━━━━━━━━━
|
|
221
|
+
|
|
222
|
+
📋 입력 문서 확인
|
|
223
|
+
✅ plan.md - 확인됨
|
|
224
|
+
- 기능: 8개
|
|
225
|
+
- 사용자 흐름: 3개
|
|
226
|
+
|
|
227
|
+
📊 규모 예측
|
|
228
|
+
- 예상 규모: M (Medium)
|
|
229
|
+
- 핵심 기능: 8개
|
|
230
|
+
- 예상 복잡도: 중간
|
|
231
|
+
|
|
232
|
+
━━━━━━━━━━━━━━━━━━━━━━
|
|
233
|
+
|
|
234
|
+
이 규모 예측에 동의하시나요?
|
|
235
|
+
다르게 생각하시는 부분이 있으면 말씀해주세요.
|
|
236
|
+
```
|