@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.
- package/README.md +510 -60
- package/ai-dev-team/.ada-status.template.json +10 -10
- package/ai-dev-team/README.md +39 -44
- package/ai-dev-team/ada.config.json +15 -0
- package/ai-dev-team/artifacts/api.md +2 -0
- package/ai-dev-team/artifacts/features/_template/api.md +19 -19
- package/ai-dev-team/artifacts/features/_template/review.md +14 -14
- package/ai-dev-team/artifacts/features/_template/spec.md +28 -28
- package/ai-dev-team/artifacts/features/_template/ui.md +14 -14
- package/ai-dev-team/artifacts/improvement-reports/IMP-0000-template.md +57 -0
- package/ai-dev-team/artifacts/project.md +2 -0
- package/ai-dev-team/artifacts/rfc/RFC-0000-template.md +49 -49
- package/core/artifacts/decision.md +72 -72
- package/core/artifacts/plan.md +187 -187
- package/core/artifacts/project.md +193 -193
- package/core/artifacts/sprints/_template/docs/release-notes.md +37 -37
- package/core/artifacts/sprints/_template/meta.md +54 -54
- package/core/artifacts/sprints/_template/retrospective.md +50 -50
- package/core/artifacts/sprints/_template/review-reports/review-template.md +49 -49
- package/core/artifacts/sprints/_template/tasks/task-template.md +43 -43
- package/core/docs-templates/mkdocs/docs/architecture/overview.md +29 -0
- package/core/docs-templates/mkdocs/docs/changelog.md +36 -0
- package/core/docs-templates/mkdocs/docs/contributing/contributing.md +60 -0
- package/core/docs-templates/mkdocs/docs/getting-started/configuration.md +51 -0
- package/core/docs-templates/mkdocs/docs/getting-started/installation.md +41 -0
- package/core/docs-templates/mkdocs/docs/getting-started/quick-start.md +56 -0
- package/core/docs-templates/mkdocs/docs/guides/api-reference.md +83 -0
- package/core/docs-templates/mkdocs/docs/index.md +32 -0
- package/core/docs-templates/mkdocs/mkdocs.yml +86 -0
- package/core/roles/analyzer.md +265 -243
- package/core/roles/developer.md +227 -223
- package/core/roles/documenter.md +226 -293
- package/core/roles/improver.md +461 -0
- package/core/roles/manager.md +574 -541
- package/core/roles/planner.md +398 -248
- package/core/roles/reviewer.md +294 -266
- package/core/rules/document-priority.md +199 -198
- package/core/rules/escalation.md +172 -172
- package/core/rules/iteration.md +236 -236
- package/core/rules/rfc.md +31 -31
- package/core/rules/rollback.md +218 -218
- package/core/skills/_template/SKILL.md +50 -0
- package/core/skills/clean-code/SKILL.md +177 -0
- package/core/skills/code-review-checklist/SKILL.md +125 -0
- package/core/skills/error-handling/SKILL.md +155 -0
- package/core/skills/talk-game-dot-design/SKILL.md +85 -0
- package/core/skills/talk-game-dot-design/references/asset-specs.md +57 -0
- package/core/skills/talk-game-dot-design/references/review-checklist.md +34 -0
- package/core/skills/task-writing/SKILL.md +166 -0
- package/core/skills/testing-patterns/SKILL.md +140 -0
- package/dist/bin/cli.d.ts +2 -0
- package/dist/bin/cli.js +121 -0
- package/dist/bin/cli.js.map +1 -0
- package/dist/src/commands/config.d.ts +4 -0
- package/dist/src/commands/config.js +427 -0
- package/dist/src/commands/config.js.map +1 -0
- package/dist/src/commands/docs.d.ts +12 -0
- package/dist/src/commands/docs.js +453 -0
- package/dist/src/commands/docs.js.map +1 -0
- package/dist/src/commands/interactive.d.ts +4 -0
- package/dist/src/commands/interactive.js +380 -0
- package/dist/src/commands/interactive.js.map +1 -0
- package/dist/src/commands/logs.d.ts +1 -0
- package/dist/src/commands/logs.js +76 -0
- package/dist/src/commands/logs.js.map +1 -0
- package/dist/src/commands/monitor.d.ts +6 -0
- package/dist/src/commands/monitor.js +216 -0
- package/dist/src/commands/monitor.js.map +1 -0
- package/dist/src/commands/reset.d.ts +4 -0
- package/dist/src/commands/reset.js +57 -0
- package/dist/src/commands/reset.js.map +1 -0
- package/dist/src/commands/run.d.ts +45 -0
- package/dist/src/commands/run.js +421 -0
- package/dist/src/commands/run.js.map +1 -0
- package/dist/src/commands/sessions.d.ts +5 -0
- package/dist/src/commands/sessions.js +563 -0
- package/dist/src/commands/sessions.js.map +1 -0
- package/dist/src/commands/setup.d.ts +1 -0
- package/dist/src/commands/setup.js +132 -0
- package/dist/src/commands/setup.js.map +1 -0
- package/dist/src/commands/skills.d.ts +4 -0
- package/dist/src/commands/skills.js +748 -0
- package/dist/src/commands/skills.js.map +1 -0
- package/dist/src/commands/sprint.d.ts +4 -0
- package/dist/src/commands/sprint.js +434 -0
- package/dist/src/commands/sprint.js.map +1 -0
- package/dist/src/commands/status.d.ts +1 -0
- package/dist/src/commands/status.js +97 -0
- package/dist/src/commands/status.js.map +1 -0
- package/dist/src/commands/upgrade.d.ts +6 -0
- package/dist/src/commands/upgrade.js +350 -0
- package/dist/src/commands/upgrade.js.map +1 -0
- package/dist/src/commands/validate.d.ts +8 -0
- package/dist/src/commands/validate.js +260 -0
- package/dist/src/commands/validate.js.map +1 -0
- package/dist/src/commands/validate.test.d.ts +1 -0
- package/dist/src/commands/validate.test.js +74 -0
- package/dist/src/commands/validate.test.js.map +1 -0
- package/{src/index.js → dist/src/index.d.ts} +2 -3
- package/dist/src/index.js +15 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/types/common.d.ts +31 -0
- package/dist/src/types/common.js +2 -0
- package/dist/src/types/common.js.map +1 -0
- package/dist/src/types/config.d.ts +46 -0
- package/dist/src/types/config.js +2 -0
- package/dist/src/types/config.js.map +1 -0
- package/dist/src/types/index.d.ts +53 -0
- package/dist/src/types/index.js +2 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/types/session.d.ts +87 -0
- package/dist/src/types/session.js +2 -0
- package/dist/src/types/session.js.map +1 -0
- package/dist/src/types/task.d.ts +32 -0
- package/dist/src/types/task.js +2 -0
- package/dist/src/types/task.js.map +1 -0
- package/dist/src/ui/dashboard.d.ts +9 -0
- package/dist/src/ui/dashboard.js +468 -0
- package/dist/src/ui/dashboard.js.map +1 -0
- package/dist/src/ui/keyHandler.d.ts +47 -0
- package/dist/src/ui/keyHandler.js +132 -0
- package/dist/src/ui/keyHandler.js.map +1 -0
- package/dist/src/ui/quickActions.d.ts +25 -0
- package/dist/src/ui/quickActions.js +106 -0
- package/dist/src/ui/quickActions.js.map +1 -0
- package/dist/src/utils/config.d.ts +33 -0
- package/dist/src/utils/config.js +135 -0
- package/dist/src/utils/config.js.map +1 -0
- package/dist/src/utils/files.d.ts +84 -0
- package/dist/src/utils/files.js +202 -0
- package/dist/src/utils/files.js.map +1 -0
- package/dist/src/utils/promptBuilder.d.ts +39 -0
- package/dist/src/utils/promptBuilder.js +726 -0
- package/dist/src/utils/promptBuilder.js.map +1 -0
- package/dist/src/utils/sessionState.d.ts +83 -0
- package/dist/src/utils/sessionState.js +466 -0
- package/dist/src/utils/sessionState.js.map +1 -0
- package/dist/src/utils/sessionState.process.test.d.ts +1 -0
- package/dist/src/utils/sessionState.process.test.js +93 -0
- package/dist/src/utils/sessionState.process.test.js.map +1 -0
- package/dist/src/utils/sessionState.test.d.ts +1 -0
- package/dist/src/utils/sessionState.test.js +150 -0
- package/dist/src/utils/sessionState.test.js.map +1 -0
- package/dist/src/utils/sprintUtils.d.ts +13 -0
- package/dist/src/utils/sprintUtils.js +129 -0
- package/dist/src/utils/sprintUtils.js.map +1 -0
- package/dist/src/utils/taskParser.d.ts +9 -0
- package/dist/src/utils/taskParser.js +122 -0
- package/dist/src/utils/taskParser.js.map +1 -0
- package/dist/src/utils/taskParser.test.d.ts +1 -0
- package/dist/src/utils/taskParser.test.js +69 -0
- package/dist/src/utils/taskParser.test.js.map +1 -0
- package/package.json +62 -47
- package/templates/cli/artifacts/commands.md +262 -262
- package/templates/cli/artifacts/output-format.md +298 -298
- package/templates/cli/rules/command-change.md +225 -225
- package/templates/game/artifacts/assets.md +148 -148
- package/templates/game/artifacts/game-systems.md +217 -217
- package/templates/game/artifacts/hud.md +199 -199
- package/templates/game/rules/system-change.md +184 -184
- package/templates/library/artifacts/changelog.md +84 -84
- package/templates/library/artifacts/examples.md +157 -157
- package/templates/library/artifacts/public-api.md +197 -197
- package/templates/library/rules/versioning.md +186 -186
- package/templates/web-dev/artifacts/api.md +212 -212
- package/templates/web-dev/artifacts/ui.md +104 -104
- package/templates/web-dev/rules/api-change.md +198 -198
- package/ai-dev-team/.gitkeep +0 -0
- package/ai-dev-team/artifacts/.gitkeep +0 -0
- package/ai-dev-team/artifacts/features/_template/qa.md +0 -16
- package/ai-dev-team/roles/.gitkeep +0 -0
- package/ai-dev-team/rules/.gitkeep +0 -0
- package/bin/cli.js +0 -83
- package/examples/todo-app/README.md +0 -23
- package/examples/todo-app/artifacts/backlog.md +0 -23
- package/examples/todo-app/artifacts/plan.md +0 -23
- package/examples/todo-app/artifacts/project.md +0 -23
- package/src/commands/interactive.js +0 -101
- package/src/commands/logs.js +0 -81
- package/src/commands/reset.js +0 -66
- package/src/commands/run.js +0 -554
- package/src/commands/sessions.js +0 -707
- package/src/commands/setup.js +0 -128
- package/src/commands/sprint.js +0 -262
- package/src/commands/status.js +0 -76
- package/src/commands/validate.js +0 -288
- package/src/commands/validate.test.js +0 -84
- package/src/utils/files.js +0 -134
- package/src/utils/sessionState.js +0 -379
|
@@ -1,198 +1,198 @@
|
|
|
1
|
-
# API Change Rules (API 변경 규칙)
|
|
2
|
-
|
|
3
|
-
> 이 문서는 api.md 변경 시 따라야 할 절차를 정의한다.
|
|
4
|
-
> API는 Backend와 Frontend의 계약이므로 일방적 변경은 금지된다.
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## 1. API 변경 원칙
|
|
9
|
-
|
|
10
|
-
- api.md는 **Backend와 Frontend의 공식 계약**
|
|
11
|
-
- 변경은 **양측 합의** 후에만 가능
|
|
12
|
-
- **Breaking change는 Manager 승인** 필수
|
|
13
|
-
- 모든 변경은 **문서에 기록**
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## 2. 변경 유형 분류
|
|
18
|
-
|
|
19
|
-
### 2.1 Non-Breaking Change (하위 호환)
|
|
20
|
-
|
|
21
|
-
| 유형 | 예시 | 승인 |
|
|
22
|
-
|------|------|------|
|
|
23
|
-
| 새 엔드포인트 추가 | POST /api/v1/new | Frontend 통보 |
|
|
24
|
-
| 응답에 optional 필드 추가 | 기존 + new_field | Frontend 통보 |
|
|
25
|
-
| 새 에러 코드 추가 | ERROR_NEW | Frontend 통보 |
|
|
26
|
-
| 요청에 optional 파라미터 | ?new_param=value | Frontend 통보 |
|
|
27
|
-
|
|
28
|
-
### 2.2 Breaking Change (하위 비호환)
|
|
29
|
-
|
|
30
|
-
| 유형 | 예시 | 승인 |
|
|
31
|
-
|------|------|------|
|
|
32
|
-
| 엔드포인트 삭제/변경 | /v1/old → /v2/new | Manager 필수 |
|
|
33
|
-
| 필수 필드 추가 | required 필드 | Manager 필수 |
|
|
34
|
-
| 필드 삭제 | 기존 필드 제거 | Manager 필수 |
|
|
35
|
-
| 필드 타입 변경 | string → number | Manager 필수 |
|
|
36
|
-
| 에러 코드 변경/삭제 | 기존 코드 변경 | Manager 필수 |
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## 3. 변경 절차
|
|
41
|
-
|
|
42
|
-
### 3.1 Non-Breaking Change
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
Backend 변경 필요 발견
|
|
46
|
-
↓
|
|
47
|
-
api.md에 [PROPOSED] 태그로 추가
|
|
48
|
-
↓
|
|
49
|
-
Frontend에 통보
|
|
50
|
-
↓
|
|
51
|
-
Frontend 확인 (48시간 내)
|
|
52
|
-
├── 이의 없음 → [PROPOSED] 제거, 확정
|
|
53
|
-
└── 이의 있음 → 협의 후 조정
|
|
54
|
-
↓
|
|
55
|
-
api.md 갱신 → 구현 진행
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### 3.2 Breaking Change
|
|
59
|
-
|
|
60
|
-
```
|
|
61
|
-
Breaking Change 필요 발견
|
|
62
|
-
↓
|
|
63
|
-
Manager에게 에스컬레이션
|
|
64
|
-
↓
|
|
65
|
-
api.md에 [BREAKING] 태그로 추가
|
|
66
|
-
↓
|
|
67
|
-
Manager 검토
|
|
68
|
-
├── 승인 → Frontend 통보 → 마이그레이션 계획
|
|
69
|
-
└── 거부 → 대안 검토
|
|
70
|
-
↓
|
|
71
|
-
양측 합의 후 구현
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
## 4. 변경 요청 형식
|
|
77
|
-
|
|
78
|
-
### 4.1 Non-Breaking 변경 통보
|
|
79
|
-
|
|
80
|
-
```markdown
|
|
81
|
-
## API 변경 통보
|
|
82
|
-
|
|
83
|
-
- 유형: Non-Breaking
|
|
84
|
-
- Task: TASK-XXX
|
|
85
|
-
- 대상: [엔드포인트]
|
|
86
|
-
|
|
87
|
-
### 변경 내용
|
|
88
|
-
[변경 설명]
|
|
89
|
-
|
|
90
|
-
### 영향
|
|
91
|
-
- 기존 동작: 영향 없음
|
|
92
|
-
- 추가 사항: [내용]
|
|
93
|
-
|
|
94
|
-
### 일정
|
|
95
|
-
- 적용 예정: YYYY-MM-DD
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
### 4.2 Breaking 변경 요청
|
|
99
|
-
|
|
100
|
-
```markdown
|
|
101
|
-
## API Breaking Change 요청
|
|
102
|
-
|
|
103
|
-
- 유형: Breaking
|
|
104
|
-
- Task: TASK-XXX
|
|
105
|
-
- 대상: [엔드포인트]
|
|
106
|
-
|
|
107
|
-
### 변경 내용
|
|
108
|
-
- Before: [현재]
|
|
109
|
-
- After: [변경 후]
|
|
110
|
-
|
|
111
|
-
### 변경 사유
|
|
112
|
-
[필요 이유]
|
|
113
|
-
|
|
114
|
-
### 영향 분석
|
|
115
|
-
- 영향받는 화면: [목록]
|
|
116
|
-
- Frontend 수정 필요: [내용]
|
|
117
|
-
|
|
118
|
-
### 마이그레이션 계획
|
|
119
|
-
1. [단계]
|
|
120
|
-
2. [단계]
|
|
121
|
-
|
|
122
|
-
### 일정
|
|
123
|
-
- 승인 필요: YYYY-MM-DD
|
|
124
|
-
- 적용 예정: YYYY-MM-DD
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## 5. 역할별 책임
|
|
130
|
-
|
|
131
|
-
| 역할 | 책임 |
|
|
132
|
-
|------|------|
|
|
133
|
-
| Backend | 변경 제안, api.md 갱신, 구현 |
|
|
134
|
-
| Frontend | 변경 검토, 영향 분석, 적용 |
|
|
135
|
-
| Manager | Breaking change 승인, 일정 조정 |
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## 6. 버전 관리
|
|
140
|
-
|
|
141
|
-
### 6.1 URL 버전
|
|
142
|
-
|
|
143
|
-
- 현재: /api/v1
|
|
144
|
-
- Major Breaking 시: /api/v2
|
|
145
|
-
|
|
146
|
-
### 6.2 하위 호환 기간
|
|
147
|
-
|
|
148
|
-
- Breaking change 시 구버전 유지: 최소 2주
|
|
149
|
-
- 양측 합의 시 단축 가능
|
|
150
|
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
## 7. 긴급 변경
|
|
154
|
-
|
|
155
|
-
### 긴급 상황
|
|
156
|
-
|
|
157
|
-
- 보안 취약점
|
|
158
|
-
- 심각한 버그
|
|
159
|
-
|
|
160
|
-
### 긴급 절차
|
|
161
|
-
|
|
162
|
-
```
|
|
163
|
-
긴급 상황 발생
|
|
164
|
-
↓
|
|
165
|
-
Manager에게 즉시 보고
|
|
166
|
-
↓
|
|
167
|
-
Manager 판단 (1시간 내)
|
|
168
|
-
↓
|
|
169
|
-
승인 시: 즉시 변경 + 사후 문서화
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
---
|
|
173
|
-
|
|
174
|
-
## 8. 금지 사항
|
|
175
|
-
|
|
176
|
-
- ❌ Frontend 통보 없이 API 변경
|
|
177
|
-
- ❌ Manager 승인 없이 Breaking change
|
|
178
|
-
- ❌ 문서 갱신 없이 구현 변경
|
|
179
|
-
- ❌ 합의 없이 일정 변경
|
|
180
|
-
|
|
181
|
-
---
|
|
182
|
-
|
|
183
|
-
## 9. 체크리스트
|
|
184
|
-
|
|
185
|
-
### API 변경 전 체크리스트
|
|
186
|
-
|
|
187
|
-
- [ ] 변경 유형 분류 (Non-Breaking / Breaking)
|
|
188
|
-
- [ ] api.md에 [PROPOSED]/[BREAKING] 태그 추가
|
|
189
|
-
- [ ] Frontend 통보 완료
|
|
190
|
-
- [ ] (Breaking인 경우) Manager 승인 완료
|
|
191
|
-
- [ ] 마이그레이션 계획 수립 (필요 시)
|
|
192
|
-
|
|
193
|
-
### API 변경 후 체크리스트
|
|
194
|
-
|
|
195
|
-
- [ ] api.md 갱신 (태그 제거)
|
|
196
|
-
- [ ] 변경 이력 기록
|
|
197
|
-
- [ ] Frontend 구현 완료 확인
|
|
198
|
-
- [ ] 테스트 완료
|
|
1
|
+
# API Change Rules (API 변경 규칙)
|
|
2
|
+
|
|
3
|
+
> 이 문서는 api.md 변경 시 따라야 할 절차를 정의한다.
|
|
4
|
+
> API는 Backend와 Frontend의 계약이므로 일방적 변경은 금지된다.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. API 변경 원칙
|
|
9
|
+
|
|
10
|
+
- api.md는 **Backend와 Frontend의 공식 계약**
|
|
11
|
+
- 변경은 **양측 합의** 후에만 가능
|
|
12
|
+
- **Breaking change는 Manager 승인** 필수
|
|
13
|
+
- 모든 변경은 **문서에 기록**
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 2. 변경 유형 분류
|
|
18
|
+
|
|
19
|
+
### 2.1 Non-Breaking Change (하위 호환)
|
|
20
|
+
|
|
21
|
+
| 유형 | 예시 | 승인 |
|
|
22
|
+
|------|------|------|
|
|
23
|
+
| 새 엔드포인트 추가 | POST /api/v1/new | Frontend 통보 |
|
|
24
|
+
| 응답에 optional 필드 추가 | 기존 + new_field | Frontend 통보 |
|
|
25
|
+
| 새 에러 코드 추가 | ERROR_NEW | Frontend 통보 |
|
|
26
|
+
| 요청에 optional 파라미터 | ?new_param=value | Frontend 통보 |
|
|
27
|
+
|
|
28
|
+
### 2.2 Breaking Change (하위 비호환)
|
|
29
|
+
|
|
30
|
+
| 유형 | 예시 | 승인 |
|
|
31
|
+
|------|------|------|
|
|
32
|
+
| 엔드포인트 삭제/변경 | /v1/old → /v2/new | Manager 필수 |
|
|
33
|
+
| 필수 필드 추가 | required 필드 | Manager 필수 |
|
|
34
|
+
| 필드 삭제 | 기존 필드 제거 | Manager 필수 |
|
|
35
|
+
| 필드 타입 변경 | string → number | Manager 필수 |
|
|
36
|
+
| 에러 코드 변경/삭제 | 기존 코드 변경 | Manager 필수 |
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 3. 변경 절차
|
|
41
|
+
|
|
42
|
+
### 3.1 Non-Breaking Change
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
Backend 변경 필요 발견
|
|
46
|
+
↓
|
|
47
|
+
api.md에 [PROPOSED] 태그로 추가
|
|
48
|
+
↓
|
|
49
|
+
Frontend에 통보
|
|
50
|
+
↓
|
|
51
|
+
Frontend 확인 (48시간 내)
|
|
52
|
+
├── 이의 없음 → [PROPOSED] 제거, 확정
|
|
53
|
+
└── 이의 있음 → 협의 후 조정
|
|
54
|
+
↓
|
|
55
|
+
api.md 갱신 → 구현 진행
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 3.2 Breaking Change
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
Breaking Change 필요 발견
|
|
62
|
+
↓
|
|
63
|
+
Manager에게 에스컬레이션
|
|
64
|
+
↓
|
|
65
|
+
api.md에 [BREAKING] 태그로 추가
|
|
66
|
+
↓
|
|
67
|
+
Manager 검토
|
|
68
|
+
├── 승인 → Frontend 통보 → 마이그레이션 계획
|
|
69
|
+
└── 거부 → 대안 검토
|
|
70
|
+
↓
|
|
71
|
+
양측 합의 후 구현
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 4. 변경 요청 형식
|
|
77
|
+
|
|
78
|
+
### 4.1 Non-Breaking 변경 통보
|
|
79
|
+
|
|
80
|
+
```markdown
|
|
81
|
+
## API 변경 통보
|
|
82
|
+
|
|
83
|
+
- 유형: Non-Breaking
|
|
84
|
+
- Task: TASK-XXX
|
|
85
|
+
- 대상: [엔드포인트]
|
|
86
|
+
|
|
87
|
+
### 변경 내용
|
|
88
|
+
[변경 설명]
|
|
89
|
+
|
|
90
|
+
### 영향
|
|
91
|
+
- 기존 동작: 영향 없음
|
|
92
|
+
- 추가 사항: [내용]
|
|
93
|
+
|
|
94
|
+
### 일정
|
|
95
|
+
- 적용 예정: YYYY-MM-DD
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### 4.2 Breaking 변경 요청
|
|
99
|
+
|
|
100
|
+
```markdown
|
|
101
|
+
## API Breaking Change 요청
|
|
102
|
+
|
|
103
|
+
- 유형: Breaking
|
|
104
|
+
- Task: TASK-XXX
|
|
105
|
+
- 대상: [엔드포인트]
|
|
106
|
+
|
|
107
|
+
### 변경 내용
|
|
108
|
+
- Before: [현재]
|
|
109
|
+
- After: [변경 후]
|
|
110
|
+
|
|
111
|
+
### 변경 사유
|
|
112
|
+
[필요 이유]
|
|
113
|
+
|
|
114
|
+
### 영향 분석
|
|
115
|
+
- 영향받는 화면: [목록]
|
|
116
|
+
- Frontend 수정 필요: [내용]
|
|
117
|
+
|
|
118
|
+
### 마이그레이션 계획
|
|
119
|
+
1. [단계]
|
|
120
|
+
2. [단계]
|
|
121
|
+
|
|
122
|
+
### 일정
|
|
123
|
+
- 승인 필요: YYYY-MM-DD
|
|
124
|
+
- 적용 예정: YYYY-MM-DD
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## 5. 역할별 책임
|
|
130
|
+
|
|
131
|
+
| 역할 | 책임 |
|
|
132
|
+
|------|------|
|
|
133
|
+
| Backend | 변경 제안, api.md 갱신, 구현 |
|
|
134
|
+
| Frontend | 변경 검토, 영향 분석, 적용 |
|
|
135
|
+
| Manager | Breaking change 승인, 일정 조정 |
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## 6. 버전 관리
|
|
140
|
+
|
|
141
|
+
### 6.1 URL 버전
|
|
142
|
+
|
|
143
|
+
- 현재: /api/v1
|
|
144
|
+
- Major Breaking 시: /api/v2
|
|
145
|
+
|
|
146
|
+
### 6.2 하위 호환 기간
|
|
147
|
+
|
|
148
|
+
- Breaking change 시 구버전 유지: 최소 2주
|
|
149
|
+
- 양측 합의 시 단축 가능
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 7. 긴급 변경
|
|
154
|
+
|
|
155
|
+
### 긴급 상황
|
|
156
|
+
|
|
157
|
+
- 보안 취약점
|
|
158
|
+
- 심각한 버그
|
|
159
|
+
|
|
160
|
+
### 긴급 절차
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
긴급 상황 발생
|
|
164
|
+
↓
|
|
165
|
+
Manager에게 즉시 보고
|
|
166
|
+
↓
|
|
167
|
+
Manager 판단 (1시간 내)
|
|
168
|
+
↓
|
|
169
|
+
승인 시: 즉시 변경 + 사후 문서화
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## 8. 금지 사항
|
|
175
|
+
|
|
176
|
+
- ❌ Frontend 통보 없이 API 변경
|
|
177
|
+
- ❌ Manager 승인 없이 Breaking change
|
|
178
|
+
- ❌ 문서 갱신 없이 구현 변경
|
|
179
|
+
- ❌ 합의 없이 일정 변경
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## 9. 체크리스트
|
|
184
|
+
|
|
185
|
+
### API 변경 전 체크리스트
|
|
186
|
+
|
|
187
|
+
- [ ] 변경 유형 분류 (Non-Breaking / Breaking)
|
|
188
|
+
- [ ] api.md에 [PROPOSED]/[BREAKING] 태그 추가
|
|
189
|
+
- [ ] Frontend 통보 완료
|
|
190
|
+
- [ ] (Breaking인 경우) Manager 승인 완료
|
|
191
|
+
- [ ] 마이그레이션 계획 수립 (필요 시)
|
|
192
|
+
|
|
193
|
+
### API 변경 후 체크리스트
|
|
194
|
+
|
|
195
|
+
- [ ] api.md 갱신 (태그 제거)
|
|
196
|
+
- [ ] 변경 이력 기록
|
|
197
|
+
- [ ] Frontend 구현 완료 확인
|
|
198
|
+
- [ ] 테스트 완료
|
package/ai-dev-team/.gitkeep
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/bin/cli.js
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
import { program } from 'commander';
|
|
4
|
-
import { setup } from '../src/commands/setup.js';
|
|
5
|
-
import { status } from '../src/commands/status.js';
|
|
6
|
-
import { reset } from '../src/commands/reset.js';
|
|
7
|
-
import { validate } from '../src/commands/validate.js';
|
|
8
|
-
import { sessions } from '../src/commands/sessions.js';
|
|
9
|
-
import { logs } from '../src/commands/logs.js';
|
|
10
|
-
import { run } from '../src/commands/run.js';
|
|
11
|
-
import { interactive } from '../src/commands/interactive.js';
|
|
12
|
-
import sprint from '../src/commands/sprint.js';
|
|
13
|
-
import { createRequire } from 'node:module';
|
|
14
|
-
|
|
15
|
-
const require = createRequire(import.meta.url);
|
|
16
|
-
const { version } = require('../package.json');
|
|
17
|
-
program
|
|
18
|
-
.name('ada')
|
|
19
|
-
.description('Artifact-Driven AI Agent Framework\nAI가 규칙을 어기지 못하게 하는 문서 기반 개발')
|
|
20
|
-
.version(version);
|
|
21
|
-
|
|
22
|
-
// Setup command
|
|
23
|
-
program
|
|
24
|
-
.command('setup [template]')
|
|
25
|
-
.description('프로젝트 템플릿 세팅 (web, library, game, cli)')
|
|
26
|
-
.action(setup);
|
|
27
|
-
|
|
28
|
-
// Status command
|
|
29
|
-
program
|
|
30
|
-
.command('status')
|
|
31
|
-
.description('현재 세팅 상태 확인')
|
|
32
|
-
.action(status);
|
|
33
|
-
|
|
34
|
-
// Reset command
|
|
35
|
-
program
|
|
36
|
-
.command('reset')
|
|
37
|
-
.description('ai-dev-team 초기화')
|
|
38
|
-
.option('-f, --force', '확인 없이 강제 초기화')
|
|
39
|
-
.action(reset);
|
|
40
|
-
|
|
41
|
-
// Validate command
|
|
42
|
-
program
|
|
43
|
-
.command('validate [doc]')
|
|
44
|
-
.description('문서 검증 (plan, project, backlog, sprint 또는 전체)')
|
|
45
|
-
.action(validate);
|
|
46
|
-
|
|
47
|
-
// Sessions command
|
|
48
|
-
program
|
|
49
|
-
.command('sessions')
|
|
50
|
-
.description('AI 실행 세션 목록')
|
|
51
|
-
.option('-w, --watch', '실시간 모니터링 모드')
|
|
52
|
-
.action(sessions);
|
|
53
|
-
|
|
54
|
-
// Logs command
|
|
55
|
-
program
|
|
56
|
-
.command('logs [sessionId]')
|
|
57
|
-
.description('세션 로그 확인')
|
|
58
|
-
.action(logs);
|
|
59
|
-
|
|
60
|
-
// Sprint command
|
|
61
|
-
program
|
|
62
|
-
.command('sprint <action> [tasks...]')
|
|
63
|
-
.description('스프린트 관리 (create, add, close, list)')
|
|
64
|
-
.action(sprint);
|
|
65
|
-
|
|
66
|
-
// Run command
|
|
67
|
-
program
|
|
68
|
-
.command('run <role> <tool>')
|
|
69
|
-
.description('AI 에이전트 실행 (예: run backend claude)')
|
|
70
|
-
.action(run);
|
|
71
|
-
|
|
72
|
-
// Parse arguments
|
|
73
|
-
const args = process.argv.slice(2);
|
|
74
|
-
|
|
75
|
-
if (args.length === 0) {
|
|
76
|
-
// 인자 없으면 대화형 모드
|
|
77
|
-
interactive();
|
|
78
|
-
} else if (args.length === 2 && !args[0].startsWith('-') && !['setup', 'status', 'reset', 'validate', 'sessions', 'logs', 'run', 'sprint'].includes(args[0])) {
|
|
79
|
-
// 두 개의 인자가 명령어가 아니면 role tool로 간주
|
|
80
|
-
run(args[0], args[1]);
|
|
81
|
-
} else {
|
|
82
|
-
program.parse();
|
|
83
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# 예제: Todo App 프로젝트
|
|
2
|
-
|
|
3
|
-
> Artifact-Driven AI Agent Framework 예제
|
|
4
|
-
|
|
5
|
-
## 프로젝트 개요
|
|
6
|
-
|
|
7
|
-
- **규모**: S (Small)
|
|
8
|
-
- **기간**: 1주일
|
|
9
|
-
- **상태**: ✅ 완료
|
|
10
|
-
|
|
11
|
-
## 워크플로우
|
|
12
|
-
|
|
13
|
-
1. Planner: plan.md 작성 → Confirmed
|
|
14
|
-
2. Architect: project.md 작성 → Frozen
|
|
15
|
-
3. Manager: 스프린트 시작
|
|
16
|
-
4. Developer/Reviewer/QA: Task 완료
|
|
17
|
-
5. Manager: 스프린트 종료
|
|
18
|
-
|
|
19
|
-
## 산출물
|
|
20
|
-
|
|
21
|
-
- `artifacts/plan.md` - 기획서
|
|
22
|
-
- `artifacts/project.md` - 기술 기준
|
|
23
|
-
- `artifacts/backlog.md` - Task 목록
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Backlog
|
|
2
|
-
|
|
3
|
-
> DONE: 5개
|
|
4
|
-
|
|
5
|
-
## ~~TASK-001: 데이터 모델~~ ✅
|
|
6
|
-
- 상태: DONE
|
|
7
|
-
- 크기: S
|
|
8
|
-
|
|
9
|
-
## ~~TASK-002: 추가 기능~~ ✅
|
|
10
|
-
- 상태: DONE
|
|
11
|
-
- 크기: M
|
|
12
|
-
|
|
13
|
-
## ~~TASK-003: 삭제 기능~~ ✅
|
|
14
|
-
- 상태: DONE
|
|
15
|
-
- 크기: S
|
|
16
|
-
|
|
17
|
-
## ~~TASK-004: 완료 토글~~ ✅
|
|
18
|
-
- 상태: DONE
|
|
19
|
-
- 크기: S
|
|
20
|
-
|
|
21
|
-
## ~~TASK-005: 필터~~ ✅
|
|
22
|
-
- 상태: DONE
|
|
23
|
-
- 크기: M
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Todo App 기획서
|
|
2
|
-
|
|
3
|
-
> 상태: Confirmed | 버전: v1.0
|
|
4
|
-
|
|
5
|
-
## ✅ 체크리스트
|
|
6
|
-
|
|
7
|
-
- [x] 서비스 개요 작성
|
|
8
|
-
- [x] 기능 목록 정의
|
|
9
|
-
- [x] 비기능 요구사항 정의
|
|
10
|
-
|
|
11
|
-
## 서비스 개요
|
|
12
|
-
|
|
13
|
-
- **무엇**: 웹 기반 Todo 리스트
|
|
14
|
-
- **누가**: 개인 사용자
|
|
15
|
-
- **왜**: 간단한 할 일 관리
|
|
16
|
-
|
|
17
|
-
## 기능 목록
|
|
18
|
-
|
|
19
|
-
| ID | 기능명 | 우선순위 |
|
|
20
|
-
|----|--------|:--------:|
|
|
21
|
-
| F001 | Task CRUD | P0 |
|
|
22
|
-
| F002 | 완료 표시 | P0 |
|
|
23
|
-
| F003 | 필터링 | P1 |
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Project Standards (Frozen)
|
|
2
|
-
|
|
3
|
-
> 🔒 Frozen 상태
|
|
4
|
-
|
|
5
|
-
## ✅ 체크리스트
|
|
6
|
-
|
|
7
|
-
- [x] 기술 스택 결정
|
|
8
|
-
- [x] 프로젝트 구조 정의
|
|
9
|
-
|
|
10
|
-
## 프로젝트 규모
|
|
11
|
-
|
|
12
|
-
| 항목 | 값 |
|
|
13
|
-
|------|-----|
|
|
14
|
-
| 규모 | S |
|
|
15
|
-
| 복잡도 | 낮음 |
|
|
16
|
-
|
|
17
|
-
## 기술 스택
|
|
18
|
-
|
|
19
|
-
| 영역 | 선택 | 버전 |
|
|
20
|
-
|------|------|------|
|
|
21
|
-
| 언어 | JavaScript | ES2022 |
|
|
22
|
-
| 번들러 | Vite | 5.0.10 |
|
|
23
|
-
| 테스트 | Vitest | 1.1.0 |
|