@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,225 +1,225 @@
|
|
|
1
|
-
# Command Change Rules (명령어 변경 규칙)
|
|
2
|
-
|
|
3
|
-
> CLI 명령어 변경 시 따라야 할 절차
|
|
4
|
-
> 하위 호환성 유지 및 사용자 경험 보호
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## 1. 명령어 변경 원칙
|
|
9
|
-
|
|
10
|
-
- commands.md는 **명령어의 단일 진실**
|
|
11
|
-
- **하위 호환성**을 최대한 유지
|
|
12
|
-
- Breaking change는 **Major 버전**에서만
|
|
13
|
-
- 모든 변경은 **문서에 기록**
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## 2. 변경 유형 분류
|
|
18
|
-
|
|
19
|
-
### 2.1 Non-Breaking Change (호환)
|
|
20
|
-
|
|
21
|
-
| 유형 | 예시 | 승인 |
|
|
22
|
-
|------|------|------|
|
|
23
|
-
| 새 명령어 추가 | `myapp new-command` | 기록만 |
|
|
24
|
-
| 새 옵션 추가 | `--new-option` | 기록만 |
|
|
25
|
-
| 새 서브커맨드 추가 | `myapp config new-sub` | 기록만 |
|
|
26
|
-
| 기본값 변경 (호환) | 기본 출력 형식 | 기록만 |
|
|
27
|
-
|
|
28
|
-
### 2.2 Breaking Change (비호환)
|
|
29
|
-
|
|
30
|
-
| 유형 | 예시 | 승인 |
|
|
31
|
-
|------|------|------|
|
|
32
|
-
| 명령어 삭제 | `myapp old-command` 제거 | Manager |
|
|
33
|
-
| 명령어 이름 변경 | `old` → `new` | Manager |
|
|
34
|
-
| 필수 인자 추가 | 기존 명령어에 필수 인자 | Manager |
|
|
35
|
-
| 옵션 삭제 | `--removed-option` | Manager |
|
|
36
|
-
| 옵션 동작 변경 | `--flag` 의미 변경 | Manager |
|
|
37
|
-
| 종료 코드 변경 | 코드 의미 변경 | Manager |
|
|
38
|
-
| 출력 형식 변경 | 기본 출력 구조 변경 | Manager |
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## 3. 변경 절차
|
|
43
|
-
|
|
44
|
-
### 3.1 Non-Breaking Change
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
변경 필요 발견
|
|
48
|
-
↓
|
|
49
|
-
commands.md에 [ADDED] 태그로 추가
|
|
50
|
-
↓
|
|
51
|
-
구현 진행
|
|
52
|
-
↓
|
|
53
|
-
문서 확정 (태그 제거)
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### 3.2 Breaking Change
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
Breaking Change 필요 발견
|
|
60
|
-
↓
|
|
61
|
-
Manager에게 에스컬레이션
|
|
62
|
-
↓
|
|
63
|
-
commands.md에 [BREAKING] 태그로 추가
|
|
64
|
-
↓
|
|
65
|
-
Deprecation 계획 수립
|
|
66
|
-
↓
|
|
67
|
-
Manager 승인
|
|
68
|
-
↓
|
|
69
|
-
Deprecation 구현 (경고 출력)
|
|
70
|
-
↓
|
|
71
|
-
다음 Major 버전에서 제거
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
## 4. Deprecation 절차
|
|
77
|
-
|
|
78
|
-
### 4.1 단계
|
|
79
|
-
|
|
80
|
-
```
|
|
81
|
-
1. MINOR 버전: Deprecated 표시 + 경고 출력
|
|
82
|
-
2. 최소 1개 MINOR 버전 유지
|
|
83
|
-
3. 다음 MAJOR: 제거
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
### 4.2 Deprecation 경고
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
$ myapp old-command
|
|
90
|
-
|
|
91
|
-
⚠ Warning: 'old-command' is deprecated and will be removed in v2.0.0
|
|
92
|
-
Use 'new-command' instead.
|
|
93
|
-
|
|
94
|
-
[실제 동작 수행]
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
### 4.3 문서 표시
|
|
98
|
-
|
|
99
|
-
```markdown
|
|
100
|
-
## old-command ⚠️ Deprecated
|
|
101
|
-
|
|
102
|
-
> **Deprecated since v1.2.0**
|
|
103
|
-
> v2.0.0에서 제거 예정
|
|
104
|
-
> 대신 `new-command`를 사용하세요.
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
---
|
|
108
|
-
|
|
109
|
-
## 5. 명령어 별칭
|
|
110
|
-
|
|
111
|
-
Breaking change를 피하기 위한 방법:
|
|
112
|
-
|
|
113
|
-
### 5.1 별칭 추가
|
|
114
|
-
|
|
115
|
-
```bash
|
|
116
|
-
# 새 이름이 주, 기존 이름은 별칭
|
|
117
|
-
myapp new-command # 주 명령어
|
|
118
|
-
myapp old-command # 별칭 (경고 없음)
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### 5.2 Soft Deprecation
|
|
122
|
-
|
|
123
|
-
```bash
|
|
124
|
-
# 별칭을 유지하되 문서에서만 새 이름 권장
|
|
125
|
-
# 경고 출력 없음, 문서만 업데이트
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
---
|
|
129
|
-
|
|
130
|
-
## 6. 출력 형식 변경
|
|
131
|
-
|
|
132
|
-
### 6.1 JSON 출력
|
|
133
|
-
|
|
134
|
-
- JSON 스키마 변경은 Breaking
|
|
135
|
-
- 필드 추가는 Non-Breaking
|
|
136
|
-
- 필드 제거는 Breaking
|
|
137
|
-
- 타입 변경은 Breaking
|
|
138
|
-
|
|
139
|
-
### 6.2 Text 출력
|
|
140
|
-
|
|
141
|
-
- 레이아웃 변경은 허용
|
|
142
|
-
- 파싱에 의존하는 출력 변경은 Breaking
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
## 7. 버전별 변경 가이드
|
|
147
|
-
|
|
148
|
-
| 버전 유형 | 허용 변경 |
|
|
149
|
-
|----------|----------|
|
|
150
|
-
| PATCH | 버그 수정, 문서 수정 |
|
|
151
|
-
| MINOR | 새 명령어/옵션, Deprecation |
|
|
152
|
-
| MAJOR | Breaking changes, 제거 |
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## 8. 변경 요청 형식
|
|
157
|
-
|
|
158
|
-
### Non-Breaking
|
|
159
|
-
|
|
160
|
-
```markdown
|
|
161
|
-
## 명령어 추가 요청
|
|
162
|
-
|
|
163
|
-
- Task: TASK-XXX
|
|
164
|
-
- 유형: Non-Breaking
|
|
165
|
-
|
|
166
|
-
### 추가 내용
|
|
167
|
-
- 명령어: `myapp new-command`
|
|
168
|
-
- 설명: [설명]
|
|
169
|
-
|
|
170
|
-
### 사용 예시
|
|
171
|
-
```bash
|
|
172
|
-
myapp new-command --option value
|
|
173
|
-
```
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
### Breaking
|
|
177
|
-
|
|
178
|
-
```markdown
|
|
179
|
-
## Breaking Change 요청
|
|
180
|
-
|
|
181
|
-
- Task: TASK-XXX
|
|
182
|
-
- 유형: Breaking
|
|
183
|
-
|
|
184
|
-
### 변경 내용
|
|
185
|
-
- Before: `myapp old-command`
|
|
186
|
-
- After: `myapp new-command`
|
|
187
|
-
|
|
188
|
-
### 변경 사유
|
|
189
|
-
[사유]
|
|
190
|
-
|
|
191
|
-
### 마이그레이션 가이드
|
|
192
|
-
1. [단계]
|
|
193
|
-
2. [단계]
|
|
194
|
-
|
|
195
|
-
### Deprecation 계획
|
|
196
|
-
- v1.2.0: Deprecated + 경고
|
|
197
|
-
- v2.0.0: 제거
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
---
|
|
201
|
-
|
|
202
|
-
## 9. 금지 사항
|
|
203
|
-
|
|
204
|
-
- ❌ 문서 없이 명령어 변경
|
|
205
|
-
- ❌ Manager 승인 없이 Breaking change
|
|
206
|
-
- ❌ Deprecation 없이 명령어 제거
|
|
207
|
-
- ❌ 경고 없이 동작 변경
|
|
208
|
-
|
|
209
|
-
---
|
|
210
|
-
|
|
211
|
-
## 10. 체크리스트
|
|
212
|
-
|
|
213
|
-
### 명령어 변경 전
|
|
214
|
-
|
|
215
|
-
- [ ] 변경 유형 분류 (Non-Breaking/Breaking)
|
|
216
|
-
- [ ] commands.md에 태그 추가
|
|
217
|
-
- [ ] (Breaking) Manager 승인
|
|
218
|
-
- [ ] (Breaking) Deprecation 계획
|
|
219
|
-
|
|
220
|
-
### 명령어 변경 후
|
|
221
|
-
|
|
222
|
-
- [ ] commands.md 갱신
|
|
223
|
-
- [ ] output-format.md 갱신 (필요 시)
|
|
224
|
-
- [ ] 변경 이력 기록
|
|
225
|
-
- [ ] 테스트 완료
|
|
1
|
+
# Command Change Rules (명령어 변경 규칙)
|
|
2
|
+
|
|
3
|
+
> CLI 명령어 변경 시 따라야 할 절차
|
|
4
|
+
> 하위 호환성 유지 및 사용자 경험 보호
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. 명령어 변경 원칙
|
|
9
|
+
|
|
10
|
+
- commands.md는 **명령어의 단일 진실**
|
|
11
|
+
- **하위 호환성**을 최대한 유지
|
|
12
|
+
- Breaking change는 **Major 버전**에서만
|
|
13
|
+
- 모든 변경은 **문서에 기록**
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 2. 변경 유형 분류
|
|
18
|
+
|
|
19
|
+
### 2.1 Non-Breaking Change (호환)
|
|
20
|
+
|
|
21
|
+
| 유형 | 예시 | 승인 |
|
|
22
|
+
|------|------|------|
|
|
23
|
+
| 새 명령어 추가 | `myapp new-command` | 기록만 |
|
|
24
|
+
| 새 옵션 추가 | `--new-option` | 기록만 |
|
|
25
|
+
| 새 서브커맨드 추가 | `myapp config new-sub` | 기록만 |
|
|
26
|
+
| 기본값 변경 (호환) | 기본 출력 형식 | 기록만 |
|
|
27
|
+
|
|
28
|
+
### 2.2 Breaking Change (비호환)
|
|
29
|
+
|
|
30
|
+
| 유형 | 예시 | 승인 |
|
|
31
|
+
|------|------|------|
|
|
32
|
+
| 명령어 삭제 | `myapp old-command` 제거 | Manager |
|
|
33
|
+
| 명령어 이름 변경 | `old` → `new` | Manager |
|
|
34
|
+
| 필수 인자 추가 | 기존 명령어에 필수 인자 | Manager |
|
|
35
|
+
| 옵션 삭제 | `--removed-option` | Manager |
|
|
36
|
+
| 옵션 동작 변경 | `--flag` 의미 변경 | Manager |
|
|
37
|
+
| 종료 코드 변경 | 코드 의미 변경 | Manager |
|
|
38
|
+
| 출력 형식 변경 | 기본 출력 구조 변경 | Manager |
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 3. 변경 절차
|
|
43
|
+
|
|
44
|
+
### 3.1 Non-Breaking Change
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
변경 필요 발견
|
|
48
|
+
↓
|
|
49
|
+
commands.md에 [ADDED] 태그로 추가
|
|
50
|
+
↓
|
|
51
|
+
구현 진행
|
|
52
|
+
↓
|
|
53
|
+
문서 확정 (태그 제거)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 3.2 Breaking Change
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
Breaking Change 필요 발견
|
|
60
|
+
↓
|
|
61
|
+
Manager에게 에스컬레이션
|
|
62
|
+
↓
|
|
63
|
+
commands.md에 [BREAKING] 태그로 추가
|
|
64
|
+
↓
|
|
65
|
+
Deprecation 계획 수립
|
|
66
|
+
↓
|
|
67
|
+
Manager 승인
|
|
68
|
+
↓
|
|
69
|
+
Deprecation 구현 (경고 출력)
|
|
70
|
+
↓
|
|
71
|
+
다음 Major 버전에서 제거
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 4. Deprecation 절차
|
|
77
|
+
|
|
78
|
+
### 4.1 단계
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
1. MINOR 버전: Deprecated 표시 + 경고 출력
|
|
82
|
+
2. 최소 1개 MINOR 버전 유지
|
|
83
|
+
3. 다음 MAJOR: 제거
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### 4.2 Deprecation 경고
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
$ myapp old-command
|
|
90
|
+
|
|
91
|
+
⚠ Warning: 'old-command' is deprecated and will be removed in v2.0.0
|
|
92
|
+
Use 'new-command' instead.
|
|
93
|
+
|
|
94
|
+
[실제 동작 수행]
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### 4.3 문서 표시
|
|
98
|
+
|
|
99
|
+
```markdown
|
|
100
|
+
## old-command ⚠️ Deprecated
|
|
101
|
+
|
|
102
|
+
> **Deprecated since v1.2.0**
|
|
103
|
+
> v2.0.0에서 제거 예정
|
|
104
|
+
> 대신 `new-command`를 사용하세요.
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## 5. 명령어 별칭
|
|
110
|
+
|
|
111
|
+
Breaking change를 피하기 위한 방법:
|
|
112
|
+
|
|
113
|
+
### 5.1 별칭 추가
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# 새 이름이 주, 기존 이름은 별칭
|
|
117
|
+
myapp new-command # 주 명령어
|
|
118
|
+
myapp old-command # 별칭 (경고 없음)
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### 5.2 Soft Deprecation
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# 별칭을 유지하되 문서에서만 새 이름 권장
|
|
125
|
+
# 경고 출력 없음, 문서만 업데이트
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## 6. 출력 형식 변경
|
|
131
|
+
|
|
132
|
+
### 6.1 JSON 출력
|
|
133
|
+
|
|
134
|
+
- JSON 스키마 변경은 Breaking
|
|
135
|
+
- 필드 추가는 Non-Breaking
|
|
136
|
+
- 필드 제거는 Breaking
|
|
137
|
+
- 타입 변경은 Breaking
|
|
138
|
+
|
|
139
|
+
### 6.2 Text 출력
|
|
140
|
+
|
|
141
|
+
- 레이아웃 변경은 허용
|
|
142
|
+
- 파싱에 의존하는 출력 변경은 Breaking
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## 7. 버전별 변경 가이드
|
|
147
|
+
|
|
148
|
+
| 버전 유형 | 허용 변경 |
|
|
149
|
+
|----------|----------|
|
|
150
|
+
| PATCH | 버그 수정, 문서 수정 |
|
|
151
|
+
| MINOR | 새 명령어/옵션, Deprecation |
|
|
152
|
+
| MAJOR | Breaking changes, 제거 |
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## 8. 변경 요청 형식
|
|
157
|
+
|
|
158
|
+
### Non-Breaking
|
|
159
|
+
|
|
160
|
+
```markdown
|
|
161
|
+
## 명령어 추가 요청
|
|
162
|
+
|
|
163
|
+
- Task: TASK-XXX
|
|
164
|
+
- 유형: Non-Breaking
|
|
165
|
+
|
|
166
|
+
### 추가 내용
|
|
167
|
+
- 명령어: `myapp new-command`
|
|
168
|
+
- 설명: [설명]
|
|
169
|
+
|
|
170
|
+
### 사용 예시
|
|
171
|
+
```bash
|
|
172
|
+
myapp new-command --option value
|
|
173
|
+
```
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Breaking
|
|
177
|
+
|
|
178
|
+
```markdown
|
|
179
|
+
## Breaking Change 요청
|
|
180
|
+
|
|
181
|
+
- Task: TASK-XXX
|
|
182
|
+
- 유형: Breaking
|
|
183
|
+
|
|
184
|
+
### 변경 내용
|
|
185
|
+
- Before: `myapp old-command`
|
|
186
|
+
- After: `myapp new-command`
|
|
187
|
+
|
|
188
|
+
### 변경 사유
|
|
189
|
+
[사유]
|
|
190
|
+
|
|
191
|
+
### 마이그레이션 가이드
|
|
192
|
+
1. [단계]
|
|
193
|
+
2. [단계]
|
|
194
|
+
|
|
195
|
+
### Deprecation 계획
|
|
196
|
+
- v1.2.0: Deprecated + 경고
|
|
197
|
+
- v2.0.0: 제거
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## 9. 금지 사항
|
|
203
|
+
|
|
204
|
+
- ❌ 문서 없이 명령어 변경
|
|
205
|
+
- ❌ Manager 승인 없이 Breaking change
|
|
206
|
+
- ❌ Deprecation 없이 명령어 제거
|
|
207
|
+
- ❌ 경고 없이 동작 변경
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## 10. 체크리스트
|
|
212
|
+
|
|
213
|
+
### 명령어 변경 전
|
|
214
|
+
|
|
215
|
+
- [ ] 변경 유형 분류 (Non-Breaking/Breaking)
|
|
216
|
+
- [ ] commands.md에 태그 추가
|
|
217
|
+
- [ ] (Breaking) Manager 승인
|
|
218
|
+
- [ ] (Breaking) Deprecation 계획
|
|
219
|
+
|
|
220
|
+
### 명령어 변경 후
|
|
221
|
+
|
|
222
|
+
- [ ] commands.md 갱신
|
|
223
|
+
- [ ] output-format.md 갱신 (필요 시)
|
|
224
|
+
- [ ] 변경 이력 기록
|
|
225
|
+
- [ ] 테스트 완료
|