@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.
Files changed (68) hide show
  1. package/README.md +456 -0
  2. package/ai-dev-team/.gitkeep +0 -0
  3. package/ai-dev-team/README.md +44 -0
  4. package/ai-dev-team/artifacts/.gitkeep +0 -0
  5. package/ai-dev-team/artifacts/features/_template/api.md +19 -0
  6. package/ai-dev-team/artifacts/features/_template/qa.md +16 -0
  7. package/ai-dev-team/artifacts/features/_template/review.md +14 -0
  8. package/ai-dev-team/artifacts/features/_template/spec.md +28 -0
  9. package/ai-dev-team/artifacts/features/_template/ui.md +14 -0
  10. package/ai-dev-team/artifacts/rfc/RFC-0000-template.md +49 -0
  11. package/ai-dev-team/roles/.gitkeep +0 -0
  12. package/ai-dev-team/rules/.gitkeep +0 -0
  13. package/bin/cli.js +75 -0
  14. package/core/artifacts/architecture-options.md +85 -0
  15. package/core/artifacts/backlog.md +177 -0
  16. package/core/artifacts/current-sprint.md +125 -0
  17. package/core/artifacts/decision.md +72 -0
  18. package/core/artifacts/plan.md +187 -0
  19. package/core/artifacts/project.md +191 -0
  20. package/core/artifacts/qa-report.md +104 -0
  21. package/core/artifacts/review-report.md +103 -0
  22. package/core/roles/architect.md +236 -0
  23. package/core/roles/developer.md +203 -0
  24. package/core/roles/manager.md +300 -0
  25. package/core/roles/planner.md +231 -0
  26. package/core/roles/qa.md +262 -0
  27. package/core/roles/reviewer.md +280 -0
  28. package/core/rules/document-priority.md +196 -0
  29. package/core/rules/escalation.md +171 -0
  30. package/core/rules/iteration.md +236 -0
  31. package/core/rules/rfc.md +31 -0
  32. package/core/rules/rollback.md +218 -0
  33. package/docs/feature-structure.md +36 -0
  34. package/examples/todo-app/README.md +23 -0
  35. package/examples/todo-app/artifacts/backlog.md +23 -0
  36. package/examples/todo-app/artifacts/plan.md +23 -0
  37. package/examples/todo-app/artifacts/project.md +23 -0
  38. package/package.json +49 -0
  39. package/src/commands/interactive.js +101 -0
  40. package/src/commands/logs.js +81 -0
  41. package/src/commands/reset.js +66 -0
  42. package/src/commands/run.js +202 -0
  43. package/src/commands/sessions.js +70 -0
  44. package/src/commands/setup.js +128 -0
  45. package/src/commands/status.js +76 -0
  46. package/src/commands/validate.js +219 -0
  47. package/src/index.js +12 -0
  48. package/src/utils/files.js +134 -0
  49. package/templates/cli/artifacts/commands.md +262 -0
  50. package/templates/cli/artifacts/output-format.md +298 -0
  51. package/templates/cli/roles/cli-developer.md +239 -0
  52. package/templates/cli/rules/command-change.md +225 -0
  53. package/templates/game/artifacts/assets.md +148 -0
  54. package/templates/game/artifacts/game-systems.md +217 -0
  55. package/templates/game/artifacts/hud.md +199 -0
  56. package/templates/game/roles/game-logic.md +193 -0
  57. package/templates/game/roles/rendering.md +137 -0
  58. package/templates/game/rules/system-change.md +184 -0
  59. package/templates/library/artifacts/changelog.md +84 -0
  60. package/templates/library/artifacts/examples.md +157 -0
  61. package/templates/library/artifacts/public-api.md +197 -0
  62. package/templates/library/roles/library-developer.md +180 -0
  63. package/templates/library/rules/versioning.md +186 -0
  64. package/templates/web-dev/artifacts/api.md +212 -0
  65. package/templates/web-dev/artifacts/ui.md +104 -0
  66. package/templates/web-dev/roles/backend.md +134 -0
  67. package/templates/web-dev/roles/frontend.md +161 -0
  68. package/templates/web-dev/rules/api-change.md +198 -0
@@ -0,0 +1,262 @@
1
+ # Commands Specification
2
+
3
+ > CLI 명령어 정의 문서
4
+ > 모든 명령어의 단일 진실
5
+
6
+ ---
7
+
8
+ ## 0. 문서 메타
9
+
10
+ | 항목 | 값 |
11
+ |------|-----|
12
+ | 프로그램명 | [program-name] |
13
+ | 버전 | v1.0.0 |
14
+ | 최종 수정 | YYYY-MM-DD |
15
+
16
+ ---
17
+
18
+ ## 1. 전역 옵션
19
+
20
+ 모든 명령어에서 사용 가능한 옵션:
21
+
22
+ | 옵션 | 축약 | 설명 |
23
+ |------|------|------|
24
+ | --help | -h | 도움말 표시 |
25
+ | --version | -V | 버전 표시 |
26
+ | --verbose | -v | 상세 출력 |
27
+ | --quiet | -q | 최소 출력 |
28
+ | --config | -c | 설정 파일 경로 |
29
+ | --format | -f | 출력 형식 (text/json/table) |
30
+
31
+ ---
32
+
33
+ ## 2. 명령어 목록
34
+
35
+ | 명령어 | 설명 | 상태 | Task |
36
+ |--------|------|:----:|------|
37
+ | init | 프로젝트 초기화 | ✅ | TASK-001 |
38
+ | config | 설정 관리 | ⏳ | TASK-002 |
39
+ | run | 실행 | 📋 | TASK-003 |
40
+
41
+ ---
42
+
43
+ ## 3. init
44
+
45
+ 프로젝트를 초기화합니다.
46
+
47
+ ### 사용법
48
+
49
+ ```bash
50
+ [program] init [directory] [options]
51
+ ```
52
+
53
+ ### 인자
54
+
55
+ | 인자 | 타입 | 필수 | 설명 |
56
+ |------|------|:----:|------|
57
+ | directory | path | ❌ | 대상 디렉토리 (기본: .) |
58
+
59
+ ### 옵션
60
+
61
+ | 옵션 | 축약 | 타입 | 기본값 | 설명 |
62
+ |------|------|------|--------|------|
63
+ | --template | -t | string | default | 템플릿 이름 |
64
+ | --force | -f | flag | false | 기존 파일 덮어쓰기 |
65
+ | --no-git | | flag | false | git 초기화 건너뛰기 |
66
+
67
+ ### 예시
68
+
69
+ ```bash
70
+ # 현재 디렉토리에 초기화
71
+ [program] init
72
+
73
+ # 특정 디렉토리에 초기화
74
+ [program] init my-project
75
+
76
+ # 템플릿 사용
77
+ [program] init --template typescript
78
+
79
+ # 강제 덮어쓰기
80
+ [program] init --force
81
+ ```
82
+
83
+ ### 종료 코드
84
+
85
+ | 코드 | 의미 |
86
+ |:----:|------|
87
+ | 0 | 성공 |
88
+ | 1 | 초기화 실패 |
89
+ | 2 | 디렉토리가 비어있지 않음 (--force 없이) |
90
+
91
+ ---
92
+
93
+ ## 4. config
94
+
95
+ 설정을 관리합니다.
96
+
97
+ ### 사용법
98
+
99
+ ```bash
100
+ [program] config <subcommand> [options]
101
+ ```
102
+
103
+ ### 서브커맨드
104
+
105
+ #### config get
106
+
107
+ ```bash
108
+ [program] config get <key>
109
+ ```
110
+
111
+ 설정 값을 조회합니다.
112
+
113
+ | 인자 | 타입 | 필수 | 설명 |
114
+ |------|------|:----:|------|
115
+ | key | string | ✅ | 설정 키 |
116
+
117
+ #### config set
118
+
119
+ ```bash
120
+ [program] config set <key> <value> [options]
121
+ ```
122
+
123
+ 설정 값을 저장합니다.
124
+
125
+ | 인자 | 타입 | 필수 | 설명 |
126
+ |------|------|:----:|------|
127
+ | key | string | ✅ | 설정 키 |
128
+ | value | string | ✅ | 설정 값 |
129
+
130
+ | 옵션 | 설명 |
131
+ |------|------|
132
+ | --global | 전역 설정에 저장 |
133
+
134
+ #### config list
135
+
136
+ ```bash
137
+ [program] config list [options]
138
+ ```
139
+
140
+ 모든 설정을 표시합니다.
141
+
142
+ | 옵션 | 설명 |
143
+ |------|------|
144
+ | --global | 전역 설정만 표시 |
145
+ | --local | 로컬 설정만 표시 |
146
+
147
+ ### 예시
148
+
149
+ ```bash
150
+ # 설정 조회
151
+ [program] config get user.name
152
+
153
+ # 설정 저장
154
+ [program] config set user.name "John Doe"
155
+
156
+ # 전역 설정
157
+ [program] config set user.email "john@example.com" --global
158
+
159
+ # 모든 설정 표시
160
+ [program] config list
161
+ ```
162
+
163
+ ### 종료 코드
164
+
165
+ | 코드 | 의미 |
166
+ |:----:|------|
167
+ | 0 | 성공 |
168
+ | 1 | 설정 오류 |
169
+ | 2 | 키를 찾을 수 없음 |
170
+
171
+ ---
172
+
173
+ ## 5. run
174
+
175
+ 프로젝트를 실행합니다.
176
+
177
+ ### 사용법
178
+
179
+ ```bash
180
+ [program] run [script] [options] [-- args]
181
+ ```
182
+
183
+ ### 인자
184
+
185
+ | 인자 | 타입 | 필수 | 설명 |
186
+ |------|------|:----:|------|
187
+ | script | string | ❌ | 스크립트 이름 (기본: default) |
188
+
189
+ ### 옵션
190
+
191
+ | 옵션 | 축약 | 타입 | 기본값 | 설명 |
192
+ |------|------|------|--------|------|
193
+ | --watch | -w | flag | false | 파일 변경 감시 |
194
+ | --env | -e | string | development | 환경 |
195
+
196
+ ### 예시
197
+
198
+ ```bash
199
+ # 기본 실행
200
+ [program] run
201
+
202
+ # 특정 스크립트 실행
203
+ [program] run build
204
+
205
+ # 감시 모드
206
+ [program] run --watch
207
+
208
+ # 인자 전달
209
+ [program] run test -- --coverage
210
+ ```
211
+
212
+ ### 종료 코드
213
+
214
+ | 코드 | 의미 |
215
+ |:----:|------|
216
+ | 0 | 성공 |
217
+ | 1 | 실행 실패 |
218
+ | 127 | 스크립트를 찾을 수 없음 |
219
+
220
+ ---
221
+
222
+ ## 6. 환경 변수
223
+
224
+ | 변수 | 설명 | 기본값 |
225
+ |------|------|--------|
226
+ | [PROGRAM]_CONFIG | 설정 파일 경로 | ~/.config/[program] |
227
+ | [PROGRAM]_HOME | 홈 디렉토리 | ~ |
228
+ | [PROGRAM]_DEBUG | 디버그 모드 | false |
229
+ | NO_COLOR | 색상 출력 비활성화 | - |
230
+
231
+ ---
232
+
233
+ ## 7. 설정 파일
234
+
235
+ ### 위치 (우선순위)
236
+
237
+ 1. --config 옵션
238
+ 2. ./[program].config
239
+ 3. $[PROGRAM]_CONFIG
240
+ 4. ~/.config/[program]/config
241
+
242
+ ### 형식
243
+
244
+ ```yaml
245
+ # [program].config
246
+ user:
247
+ name: "John Doe"
248
+ email: "john@example.com"
249
+
250
+ defaults:
251
+ template: typescript
252
+ env: development
253
+ ```
254
+
255
+ ---
256
+
257
+ ## 8. 변경 이력
258
+
259
+ | Task | 날짜 | 변경 내용 |
260
+ |------|------|----------|
261
+ | [TASK-001] | YYYY-MM-DD | init 명령어 추가 |
262
+ | [TASK-002] | YYYY-MM-DD | config 명령어 추가 |
@@ -0,0 +1,298 @@
1
+ # Output Format Specification
2
+
3
+ > CLI 출력 형식 정의
4
+ > 일관된 사용자 경험을 위한 표준
5
+
6
+ ---
7
+
8
+ ## 0. 문서 메타
9
+
10
+ | 항목 | 값 |
11
+ |------|-----|
12
+ | 버전 | v1.0 |
13
+ | 최종 수정 | YYYY-MM-DD |
14
+
15
+ ---
16
+
17
+ ## 1. 출력 스트림
18
+
19
+ ### 1.1 stdout (표준 출력)
20
+
21
+ **용도:** 명령어의 실제 결과
22
+
23
+ ```bash
24
+ # 결과 데이터
25
+ [program] list
26
+ item1
27
+ item2
28
+ item3
29
+ ```
30
+
31
+ ### 1.2 stderr (표준 에러)
32
+
33
+ **용도:** 에러, 경고, 진행 상황
34
+
35
+ ```bash
36
+ # 에러
37
+ Error: Something went wrong
38
+
39
+ # 진행 상황
40
+ Processing... 50%
41
+ ```
42
+
43
+ ---
44
+
45
+ ## 2. 메시지 유형
46
+
47
+ ### 2.1 성공
48
+
49
+ ```
50
+ ✓ Operation completed successfully
51
+ ```
52
+
53
+ ### 2.2 에러
54
+
55
+ ```
56
+ ✗ Error: [에러 메시지]
57
+
58
+ [상세 설명 (있는 경우)]
59
+
60
+ Usage: [올바른 사용법]
61
+ ```
62
+
63
+ ### 2.3 경고
64
+
65
+ ```
66
+ ⚠ Warning: [경고 메시지]
67
+ ```
68
+
69
+ ### 2.4 정보
70
+
71
+ ```
72
+ ℹ [정보 메시지]
73
+ ```
74
+
75
+ ### 2.5 진행 상황
76
+
77
+ ```
78
+ ⠋ Processing file.txt...
79
+ [████████░░░░░░░░] 50%
80
+ ```
81
+
82
+ ---
83
+
84
+ ## 3. 출력 형식
85
+
86
+ ### 3.1 Text (기본)
87
+
88
+ 사람이 읽기 좋은 형식:
89
+
90
+ ```
91
+ Name: John Doe
92
+ Email: john@example.com
93
+ Created: 2024-01-15
94
+ ```
95
+
96
+ ### 3.2 JSON
97
+
98
+ 스크립트/파이프용:
99
+
100
+ ```json
101
+ {
102
+ "name": "John Doe",
103
+ "email": "john@example.com",
104
+ "created": "2024-01-15"
105
+ }
106
+ ```
107
+
108
+ ### 3.3 Table
109
+
110
+ 정렬된 목록:
111
+
112
+ ```
113
+ NAME EMAIL CREATED
114
+ ─────────────────────────────────────────
115
+ John Doe john@example.com 2024-01-15
116
+ Jane Doe jane@example.com 2024-01-16
117
+ ```
118
+
119
+ ### 3.4 Quiet
120
+
121
+ 최소 출력 (파이프용):
122
+
123
+ ```
124
+ john@example.com
125
+ jane@example.com
126
+ ```
127
+
128
+ ---
129
+
130
+ ## 4. 색상 사용
131
+
132
+ ### 4.1 색상 코드
133
+
134
+ | 용도 | 색상 |
135
+ |------|------|
136
+ | 성공 | 초록 |
137
+ | 에러 | 빨강 |
138
+ | 경고 | 노랑 |
139
+ | 정보 | 파랑 |
140
+ | 강조 | 볼드 |
141
+ | 경로/코드 | 시안 |
142
+
143
+ ### 4.2 색상 비활성화
144
+
145
+ ```bash
146
+ # 환경 변수
147
+ NO_COLOR=1 [program] list
148
+
149
+ # 옵션
150
+ [program] list --no-color
151
+
152
+ # 파이프 시 자동 비활성화
153
+ [program] list | grep "item"
154
+ ```
155
+
156
+ ---
157
+
158
+ ## 5. 대화형 프롬프트
159
+
160
+ ### 5.1 확인 (Y/N)
161
+
162
+ ```
163
+ ? Are you sure? (y/N)
164
+ ```
165
+
166
+ ### 5.2 선택
167
+
168
+ ```
169
+ ? Select an option:
170
+ ❯ Option 1
171
+ Option 2
172
+ Option 3
173
+ ```
174
+
175
+ ### 5.3 입력
176
+
177
+ ```
178
+ ? Enter your name: █
179
+ ```
180
+
181
+ ### 5.4 비대화형 모드
182
+
183
+ ```bash
184
+ # 모든 확인 자동 수락
185
+ [program] delete --yes
186
+
187
+ # 또는
188
+ echo "y" | [program] delete
189
+ ```
190
+
191
+ ---
192
+
193
+ ## 6. 진행 상황
194
+
195
+ ### 6.1 스피너
196
+
197
+ ```
198
+ ⠋ Loading...
199
+ ⠙ Loading...
200
+ ⠹ Loading...
201
+ ⠸ Loading...
202
+ ```
203
+
204
+ ### 6.2 프로그레스 바
205
+
206
+ ```
207
+ Downloading [████████░░░░░░░░] 50% (5.0 MB / 10.0 MB)
208
+ ```
209
+
210
+ ### 6.3 단계 표시
211
+
212
+ ```
213
+ [1/3] Downloading dependencies...
214
+ [2/3] Building project...
215
+ [3/3] Running tests...
216
+ ```
217
+
218
+ ---
219
+
220
+ ## 7. 에러 출력
221
+
222
+ ### 7.1 기본 에러
223
+
224
+ ```
225
+ ✗ Error: File not found: config.json
226
+ ```
227
+
228
+ ### 7.2 상세 에러 (--verbose)
229
+
230
+ ```
231
+ ✗ Error: File not found: config.json
232
+
233
+ at readConfig (/path/to/file.js:10)
234
+ at main (/path/to/file.js:5)
235
+
236
+ Cause: ENOENT: no such file or directory
237
+ ```
238
+
239
+ ### 7.3 사용법 에러
240
+
241
+ ```
242
+ ✗ Error: Missing required argument: <name>
243
+
244
+ Usage: [program] create <name> [options]
245
+
246
+ For more information, try '--help'
247
+ ```
248
+
249
+ ---
250
+
251
+ ## 8. 도움말
252
+
253
+ ### 8.1 전체 도움말
254
+
255
+ ```
256
+ [program-name] v1.0.0 - [설명]
257
+
258
+ Usage: [program] <command> [options]
259
+
260
+ Commands:
261
+ init Initialize a new project
262
+ config Manage configuration
263
+ run Run the project
264
+
265
+ Options:
266
+ -h, --help Show help
267
+ -V, --version Show version
268
+
269
+ Run '[program] <command> --help' for more information
270
+ ```
271
+
272
+ ### 8.2 명령어 도움말
273
+
274
+ ```
275
+ Usage: [program] init [directory] [options]
276
+
277
+ Initialize a new project
278
+
279
+ Arguments:
280
+ directory Target directory (default: .)
281
+
282
+ Options:
283
+ -t, --template <name> Template to use
284
+ -f, --force Overwrite existing files
285
+ --no-git Skip git initialization
286
+
287
+ Examples:
288
+ [program] init
289
+ [program] init my-project --template typescript
290
+ ```
291
+
292
+ ---
293
+
294
+ ## 9. 변경 이력
295
+
296
+ | Task | 날짜 | 변경 내용 |
297
+ |------|------|----------|
298
+ | [TASK-001] | YYYY-MM-DD | 초기 출력 형식 정의 |