@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.
Files changed (189) hide show
  1. package/README.md +510 -60
  2. package/ai-dev-team/.ada-status.template.json +10 -10
  3. package/ai-dev-team/README.md +39 -44
  4. package/ai-dev-team/ada.config.json +15 -0
  5. package/ai-dev-team/artifacts/api.md +2 -0
  6. package/ai-dev-team/artifacts/features/_template/api.md +19 -19
  7. package/ai-dev-team/artifacts/features/_template/review.md +14 -14
  8. package/ai-dev-team/artifacts/features/_template/spec.md +28 -28
  9. package/ai-dev-team/artifacts/features/_template/ui.md +14 -14
  10. package/ai-dev-team/artifacts/improvement-reports/IMP-0000-template.md +57 -0
  11. package/ai-dev-team/artifacts/project.md +2 -0
  12. package/ai-dev-team/artifacts/rfc/RFC-0000-template.md +49 -49
  13. package/core/artifacts/decision.md +72 -72
  14. package/core/artifacts/plan.md +187 -187
  15. package/core/artifacts/project.md +193 -193
  16. package/core/artifacts/sprints/_template/docs/release-notes.md +37 -37
  17. package/core/artifacts/sprints/_template/meta.md +54 -54
  18. package/core/artifacts/sprints/_template/retrospective.md +50 -50
  19. package/core/artifacts/sprints/_template/review-reports/review-template.md +49 -49
  20. package/core/artifacts/sprints/_template/tasks/task-template.md +43 -43
  21. package/core/docs-templates/mkdocs/docs/architecture/overview.md +29 -0
  22. package/core/docs-templates/mkdocs/docs/changelog.md +36 -0
  23. package/core/docs-templates/mkdocs/docs/contributing/contributing.md +60 -0
  24. package/core/docs-templates/mkdocs/docs/getting-started/configuration.md +51 -0
  25. package/core/docs-templates/mkdocs/docs/getting-started/installation.md +41 -0
  26. package/core/docs-templates/mkdocs/docs/getting-started/quick-start.md +56 -0
  27. package/core/docs-templates/mkdocs/docs/guides/api-reference.md +83 -0
  28. package/core/docs-templates/mkdocs/docs/index.md +32 -0
  29. package/core/docs-templates/mkdocs/mkdocs.yml +86 -0
  30. package/core/roles/analyzer.md +265 -243
  31. package/core/roles/developer.md +227 -223
  32. package/core/roles/documenter.md +226 -293
  33. package/core/roles/improver.md +461 -0
  34. package/core/roles/manager.md +574 -541
  35. package/core/roles/planner.md +398 -248
  36. package/core/roles/reviewer.md +294 -266
  37. package/core/rules/document-priority.md +199 -198
  38. package/core/rules/escalation.md +172 -172
  39. package/core/rules/iteration.md +236 -236
  40. package/core/rules/rfc.md +31 -31
  41. package/core/rules/rollback.md +218 -218
  42. package/core/skills/_template/SKILL.md +50 -0
  43. package/core/skills/clean-code/SKILL.md +177 -0
  44. package/core/skills/code-review-checklist/SKILL.md +125 -0
  45. package/core/skills/error-handling/SKILL.md +155 -0
  46. package/core/skills/talk-game-dot-design/SKILL.md +85 -0
  47. package/core/skills/talk-game-dot-design/references/asset-specs.md +57 -0
  48. package/core/skills/talk-game-dot-design/references/review-checklist.md +34 -0
  49. package/core/skills/task-writing/SKILL.md +166 -0
  50. package/core/skills/testing-patterns/SKILL.md +140 -0
  51. package/dist/bin/cli.d.ts +2 -0
  52. package/dist/bin/cli.js +121 -0
  53. package/dist/bin/cli.js.map +1 -0
  54. package/dist/src/commands/config.d.ts +4 -0
  55. package/dist/src/commands/config.js +427 -0
  56. package/dist/src/commands/config.js.map +1 -0
  57. package/dist/src/commands/docs.d.ts +12 -0
  58. package/dist/src/commands/docs.js +453 -0
  59. package/dist/src/commands/docs.js.map +1 -0
  60. package/dist/src/commands/interactive.d.ts +4 -0
  61. package/dist/src/commands/interactive.js +380 -0
  62. package/dist/src/commands/interactive.js.map +1 -0
  63. package/dist/src/commands/logs.d.ts +1 -0
  64. package/dist/src/commands/logs.js +76 -0
  65. package/dist/src/commands/logs.js.map +1 -0
  66. package/dist/src/commands/monitor.d.ts +6 -0
  67. package/dist/src/commands/monitor.js +216 -0
  68. package/dist/src/commands/monitor.js.map +1 -0
  69. package/dist/src/commands/reset.d.ts +4 -0
  70. package/dist/src/commands/reset.js +57 -0
  71. package/dist/src/commands/reset.js.map +1 -0
  72. package/dist/src/commands/run.d.ts +45 -0
  73. package/dist/src/commands/run.js +421 -0
  74. package/dist/src/commands/run.js.map +1 -0
  75. package/dist/src/commands/sessions.d.ts +5 -0
  76. package/dist/src/commands/sessions.js +563 -0
  77. package/dist/src/commands/sessions.js.map +1 -0
  78. package/dist/src/commands/setup.d.ts +1 -0
  79. package/dist/src/commands/setup.js +132 -0
  80. package/dist/src/commands/setup.js.map +1 -0
  81. package/dist/src/commands/skills.d.ts +4 -0
  82. package/dist/src/commands/skills.js +748 -0
  83. package/dist/src/commands/skills.js.map +1 -0
  84. package/dist/src/commands/sprint.d.ts +4 -0
  85. package/dist/src/commands/sprint.js +434 -0
  86. package/dist/src/commands/sprint.js.map +1 -0
  87. package/dist/src/commands/status.d.ts +1 -0
  88. package/dist/src/commands/status.js +97 -0
  89. package/dist/src/commands/status.js.map +1 -0
  90. package/dist/src/commands/upgrade.d.ts +6 -0
  91. package/dist/src/commands/upgrade.js +350 -0
  92. package/dist/src/commands/upgrade.js.map +1 -0
  93. package/dist/src/commands/validate.d.ts +8 -0
  94. package/dist/src/commands/validate.js +260 -0
  95. package/dist/src/commands/validate.js.map +1 -0
  96. package/dist/src/commands/validate.test.d.ts +1 -0
  97. package/dist/src/commands/validate.test.js +74 -0
  98. package/dist/src/commands/validate.test.js.map +1 -0
  99. package/{src/index.js → dist/src/index.d.ts} +2 -3
  100. package/dist/src/index.js +15 -0
  101. package/dist/src/index.js.map +1 -0
  102. package/dist/src/types/common.d.ts +31 -0
  103. package/dist/src/types/common.js +2 -0
  104. package/dist/src/types/common.js.map +1 -0
  105. package/dist/src/types/config.d.ts +46 -0
  106. package/dist/src/types/config.js +2 -0
  107. package/dist/src/types/config.js.map +1 -0
  108. package/dist/src/types/index.d.ts +53 -0
  109. package/dist/src/types/index.js +2 -0
  110. package/dist/src/types/index.js.map +1 -0
  111. package/dist/src/types/session.d.ts +87 -0
  112. package/dist/src/types/session.js +2 -0
  113. package/dist/src/types/session.js.map +1 -0
  114. package/dist/src/types/task.d.ts +32 -0
  115. package/dist/src/types/task.js +2 -0
  116. package/dist/src/types/task.js.map +1 -0
  117. package/dist/src/ui/dashboard.d.ts +9 -0
  118. package/dist/src/ui/dashboard.js +468 -0
  119. package/dist/src/ui/dashboard.js.map +1 -0
  120. package/dist/src/ui/keyHandler.d.ts +47 -0
  121. package/dist/src/ui/keyHandler.js +132 -0
  122. package/dist/src/ui/keyHandler.js.map +1 -0
  123. package/dist/src/ui/quickActions.d.ts +25 -0
  124. package/dist/src/ui/quickActions.js +106 -0
  125. package/dist/src/ui/quickActions.js.map +1 -0
  126. package/dist/src/utils/config.d.ts +33 -0
  127. package/dist/src/utils/config.js +135 -0
  128. package/dist/src/utils/config.js.map +1 -0
  129. package/dist/src/utils/files.d.ts +84 -0
  130. package/dist/src/utils/files.js +202 -0
  131. package/dist/src/utils/files.js.map +1 -0
  132. package/dist/src/utils/promptBuilder.d.ts +39 -0
  133. package/dist/src/utils/promptBuilder.js +726 -0
  134. package/dist/src/utils/promptBuilder.js.map +1 -0
  135. package/dist/src/utils/sessionState.d.ts +83 -0
  136. package/dist/src/utils/sessionState.js +466 -0
  137. package/dist/src/utils/sessionState.js.map +1 -0
  138. package/dist/src/utils/sessionState.process.test.d.ts +1 -0
  139. package/dist/src/utils/sessionState.process.test.js +93 -0
  140. package/dist/src/utils/sessionState.process.test.js.map +1 -0
  141. package/dist/src/utils/sessionState.test.d.ts +1 -0
  142. package/dist/src/utils/sessionState.test.js +150 -0
  143. package/dist/src/utils/sessionState.test.js.map +1 -0
  144. package/dist/src/utils/sprintUtils.d.ts +13 -0
  145. package/dist/src/utils/sprintUtils.js +129 -0
  146. package/dist/src/utils/sprintUtils.js.map +1 -0
  147. package/dist/src/utils/taskParser.d.ts +9 -0
  148. package/dist/src/utils/taskParser.js +122 -0
  149. package/dist/src/utils/taskParser.js.map +1 -0
  150. package/dist/src/utils/taskParser.test.d.ts +1 -0
  151. package/dist/src/utils/taskParser.test.js +69 -0
  152. package/dist/src/utils/taskParser.test.js.map +1 -0
  153. package/package.json +62 -47
  154. package/templates/cli/artifacts/commands.md +262 -262
  155. package/templates/cli/artifacts/output-format.md +298 -298
  156. package/templates/cli/rules/command-change.md +225 -225
  157. package/templates/game/artifacts/assets.md +148 -148
  158. package/templates/game/artifacts/game-systems.md +217 -217
  159. package/templates/game/artifacts/hud.md +199 -199
  160. package/templates/game/rules/system-change.md +184 -184
  161. package/templates/library/artifacts/changelog.md +84 -84
  162. package/templates/library/artifacts/examples.md +157 -157
  163. package/templates/library/artifacts/public-api.md +197 -197
  164. package/templates/library/rules/versioning.md +186 -186
  165. package/templates/web-dev/artifacts/api.md +212 -212
  166. package/templates/web-dev/artifacts/ui.md +104 -104
  167. package/templates/web-dev/rules/api-change.md +198 -198
  168. package/ai-dev-team/.gitkeep +0 -0
  169. package/ai-dev-team/artifacts/.gitkeep +0 -0
  170. package/ai-dev-team/artifacts/features/_template/qa.md +0 -16
  171. package/ai-dev-team/roles/.gitkeep +0 -0
  172. package/ai-dev-team/rules/.gitkeep +0 -0
  173. package/bin/cli.js +0 -83
  174. package/examples/todo-app/README.md +0 -23
  175. package/examples/todo-app/artifacts/backlog.md +0 -23
  176. package/examples/todo-app/artifacts/plan.md +0 -23
  177. package/examples/todo-app/artifacts/project.md +0 -23
  178. package/src/commands/interactive.js +0 -101
  179. package/src/commands/logs.js +0 -81
  180. package/src/commands/reset.js +0 -66
  181. package/src/commands/run.js +0 -554
  182. package/src/commands/sessions.js +0 -707
  183. package/src/commands/setup.js +0 -128
  184. package/src/commands/sprint.js +0 -262
  185. package/src/commands/status.js +0 -76
  186. package/src/commands/validate.js +0 -288
  187. package/src/commands/validate.test.js +0 -84
  188. package/src/utils/files.js +0 -134
  189. package/src/utils/sessionState.js +0 -379
package/package.json CHANGED
@@ -1,48 +1,63 @@
1
- {
2
- "name": "@silbaram/artifact-driven-agent",
3
- "version": "0.1.7",
4
- "description": "CLI 기반 멀티 AI 에이전트 개발 프레임워크 - AI가 규칙을 어기지 못하게 하는 문서 기반 개발",
5
- "type": "module",
6
- "bin": {
7
- "ada": "./bin/cli.js"
8
- },
9
- "files": [
10
- "bin",
11
- "src",
12
- "core",
13
- "templates",
14
- "examples",
15
- "ai-dev-team"
16
- ],
17
- "scripts": {
18
- "test": "node --test src/**/*.test.js",
19
- "lint": "echo 'No linter configured'"
20
- },
21
- "keywords": [
22
- "ai",
23
- "agent",
24
- "cli",
25
- "development",
26
- "framework",
27
- "artifact",
28
- "multi-agent",
29
- "claude",
30
- "codex",
31
- "automation"
32
- ],
33
- "author": "silbaram <silbaram79@gmail.com>",
34
- "license": "MIT",
35
- "repository": {
36
- "type": "git",
37
- "url": "https://github.com/silbaram/artifact-driven-agent"
38
- },
39
- "dependencies": {
40
- "chalk": "^5.3.0",
41
- "commander": "^12.1.0",
42
- "fs-extra": "^11.2.0",
43
- "inquirer": "^9.2.15"
44
- },
45
- "engines": {
46
- "node": ">=18.0.0"
47
- }
1
+ {
2
+ "name": "@silbaram/artifact-driven-agent",
3
+ "version": "0.2.3",
4
+ "description": "CLI 기반 멀티 AI 에이전트 개발 프레임워크 - AI가 규칙을 어기지 못하게 하는 문서 기반 개발",
5
+ "type": "module",
6
+ "main": "./dist/src/index.js",
7
+ "types": "./dist/src/index.d.ts",
8
+ "bin": {
9
+ "ada": "./dist/bin/cli.js"
10
+ },
11
+ "files": [
12
+ "dist",
13
+ "core",
14
+ "templates",
15
+ "examples",
16
+ "ai-dev-team"
17
+ ],
18
+ "scripts": {
19
+ "build": "tsc && node scripts/add-shebang.js",
20
+ "dev": "tsx watch bin/cli.ts",
21
+ "typecheck": "tsc --noEmit",
22
+ "test": "node scripts/run-tests.js",
23
+ "pretest": "npm run build",
24
+ "lint": "echo 'No linter configured'",
25
+ "prepublishOnly": "npm run build && npm test",
26
+ "postversion": "git push && git push --tags"
27
+ },
28
+ "keywords": [
29
+ "ai",
30
+ "agent",
31
+ "cli",
32
+ "development",
33
+ "framework",
34
+ "artifact",
35
+ "multi-agent",
36
+ "claude",
37
+ "codex",
38
+ "automation"
39
+ ],
40
+ "author": "silbaram <silbaram79@gmail.com>",
41
+ "license": "MIT",
42
+ "repository": {
43
+ "type": "git",
44
+ "url": "https://github.com/silbaram/artifact-driven-agent"
45
+ },
46
+ "dependencies": {
47
+ "chalk": "^5.3.0",
48
+ "commander": "^12.1.0",
49
+ "fs-extra": "^11.2.0",
50
+ "inquirer": "^9.2.15"
51
+ },
52
+ "engines": {
53
+ "node": ">=18.0.0"
54
+ },
55
+ "devDependencies": {
56
+ "@types/fs-extra": "^11.0.4",
57
+ "@types/inquirer": "^9.0.9",
58
+ "@types/node": "^25.1.0",
59
+ "rimraf": "^6.1.2",
60
+ "tsx": "^4.21.0",
61
+ "typescript": "^5.9.3"
62
+ }
48
63
  }
@@ -1,262 +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 명령어 추가 |
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 명령어 추가 |