aiwf 0.3.3 → 0.3.4

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 (203) hide show
  1. package/.aiwf/config/language.json +1 -1
  2. package/.aiwf/sessions/session_1752877859489_1t7n2fhdb.json +7 -0
  3. package/.aiwf/sessions/session_1752877859515_cwdv211ry.json +7 -0
  4. package/.aiwf/sessions/session_1752877860664_huziadmbo.json +7 -0
  5. package/.aiwf/sessions/session_1752877860666_kyr5u1np6.json +7 -0
  6. package/.aiwf/sessions/session_1752877861848_9yinepw3t.json +7 -0
  7. package/.aiwf/sessions/session_1752877861874_y32sputuc.json +7 -0
  8. package/.aiwf/sessions/session_1752877862685_ivxbl5rhz.json +7 -0
  9. package/.aiwf/sessions/session_1752877862820_wnq4glvxi.json +7 -0
  10. package/.aiwf/sessions/session_1752877864632_3ebnpaelb.json +7 -0
  11. package/.aiwf/sessions/session_1752877864879_b9zgjcb7d.json +7 -0
  12. package/.aiwf/sessions/session_1752877865533_x14m1vodi.json +7 -0
  13. package/.aiwf/sessions/session_1752877865562_gkoh19n7d.json +7 -0
  14. package/.aiwf/sessions/session_1752877866333_wp8qpdcoh.json +7 -0
  15. package/.aiwf/sessions/session_1752877866509_dawntfpab.json +7 -0
  16. package/.aiwf/sessions/session_1752877866890_plc5vfucl.json +7 -0
  17. package/.aiwf/sessions/session_1752877866895_ga8hmq3oi.json +7 -0
  18. package/.aiwf/sessions/session_1752877867761_ayjp4v5f5.json +7 -0
  19. package/.aiwf/sessions/session_1752877867892_lfz6jy252.json +7 -0
  20. package/.aiwf/sessions/session_1752877868139_7bqd9ubli.json +7 -0
  21. package/.aiwf/sessions/session_1752877868162_zq3ofjbsh.json +7 -0
  22. package/.aiwf/sessions/session_1752877869054_7rlgm9jt6.json +7 -0
  23. package/.aiwf/sessions/session_1752877869477_ax3nhbxzr.json +7 -0
  24. package/.aiwf/sessions/session_1752877870095_6hgp4vl1e.json +7 -0
  25. package/.aiwf/sessions/session_1752877870381_qfcrdg4li.json +7 -0
  26. package/.aiwf/sessions/session_1752877871895_pgd5vllhz.json +7 -0
  27. package/.aiwf/sessions/session_1752877872199_jbhv2g2da.json +7 -0
  28. package/.aiwf/sessions/session_1752877872680_x04wpffu6.json +7 -0
  29. package/.aiwf/sessions/session_1752877872895_3y4vbeauo.json +7 -0
  30. package/.aiwf/sessions/session_1752877873178_3maolzc6b.json +7 -0
  31. package/.aiwf/sessions/session_1752877873180_ytm83j07f.json +7 -0
  32. package/.aiwf/sessions/session_1752877874217_dp56c9t42.json +7 -0
  33. package/.aiwf/sessions/session_1752877874415_epwp1g1og.json +7 -0
  34. package/.aiwf/sessions/session_1752877874454_heicyuryb.json +7 -0
  35. package/.aiwf/sessions/session_1752877874869_1c2illeu5.json +7 -0
  36. package/.aiwf/sessions/session_1752877874879_k1vo4vxyx.json +7 -0
  37. package/.aiwf/sessions/session_1752877874913_bwgyiz9bp.json +7 -0
  38. package/.aiwf/sessions/session_1752877876218_44807kztz.json +7 -0
  39. package/.aiwf/sessions/session_1752877876515_qkhjv5kpw.json +7 -0
  40. package/.aiwf/sessions/session_1752877876543_p605aud1m.json +7 -0
  41. package/.aiwf/sessions/session_1752877876819_l65w7ifck.json +7 -0
  42. package/.aiwf/sessions/session_1752877876867_xrhzss4we.json +7 -0
  43. package/.aiwf/sessions/session_1752877876872_u7aso54qb.json +7 -0
  44. package/.aiwf/sessions/session_1752877877705_telnfg4o6.json +7 -0
  45. package/.aiwf/sessions/session_1752877878285_6s45im2ib.json +7 -0
  46. package/.aiwf/sessions/session_1752877878506_v0dvguqhz.json +7 -0
  47. package/.aiwf/sessions/session_1752877878581_3ri3yc66a.json +7 -0
  48. package/.aiwf/sessions/session_1752877878756_a82x9s2pd.json +7 -0
  49. package/.aiwf/sessions/session_1752877878886_20pjsfour.json +7 -0
  50. package/.aiwf/sessions/session_1752877880266_fm1ydjw0g.json +7 -0
  51. package/.aiwf/sessions/session_1752877881149_xbat4z03d.json +7 -0
  52. package/.aiwf/sessions/session_1752877881551_qy5sic9qs.json +7 -0
  53. package/.aiwf/sessions/session_1752877881554_24ugd96wu.json +7 -0
  54. package/.aiwf/sessions/session_1752877881797_e9mm25uh0.json +7 -0
  55. package/.aiwf/sessions/session_1752877881822_bxvjj8c9g.json +7 -0
  56. package/.aiwf/sessions/session_1752877881890_jv7l6jve3.json +7 -0
  57. package/.aiwf/sessions/session_1752877881991_f0qugdtcq.json +7 -0
  58. package/.aiwf/sessions/session_1752877883387_0bvw9rvnx.json +7 -0
  59. package/.aiwf/sessions/session_1752877883820_q6g2md2up.json +7 -0
  60. package/.aiwf/sessions/session_1752877884393_sqr7trvjl.json +7 -0
  61. package/.aiwf/sessions/session_1752877884500_whtypmzlf.json +7 -0
  62. package/.aiwf/sessions/session_1752877884645_y9mvvxli1.json +7 -0
  63. package/.aiwf/sessions/session_1752877884733_hk46eenel.json +7 -0
  64. package/.aiwf/sessions/session_1752877884738_c62j6214r.json +7 -0
  65. package/.aiwf/sessions/session_1752877884771_temhxehoz.json +7 -0
  66. package/.aiwf/sessions/session_1752877885643_6v5fcktc7.json +7 -0
  67. package/.aiwf/sessions/session_1752877886426_ee8di2fqh.json +7 -0
  68. package/.aiwf/sessions/session_1752877886549_3xj6tdoew.json +7 -0
  69. package/.aiwf/sessions/session_1752877886604_aj80yyfco.json +7 -0
  70. package/.aiwf/sessions/session_1752877886702_2b8841vyg.json +7 -0
  71. package/.aiwf/sessions/session_1752877886712_ntqc8b8bz.json +7 -0
  72. package/.aiwf/sessions/session_1752877886968_946m8tbw6.json +7 -0
  73. package/.aiwf/sessions/session_1752877887008_wg6zfg8dn.json +7 -0
  74. package/.aiwf/sessions/session_1752877888479_ciiu2qiqs.json +7 -0
  75. package/.aiwf/sessions/session_1752877889330_ravg8l66k.json +7 -0
  76. package/.aiwf/sessions/session_1752877889542_7zepkhjkc.json +7 -0
  77. package/.aiwf/sessions/session_1752877889638_ev4htqiu0.json +7 -0
  78. package/.aiwf/sessions/session_1752877889956_szphy2qma.json +7 -0
  79. package/.aiwf/sessions/session_1752877890220_o6aaa57tt.json +7 -0
  80. package/.aiwf/sessions/session_1752877890527_v2loy5vu1.json +7 -0
  81. package/.aiwf/sessions/session_1752877890572_cwq8fiuma.json +7 -0
  82. package/.aiwf/sessions/session_1752877892200_sgcwq1alt.json +7 -0
  83. package/.aiwf/sessions/session_1752877892268_v8kexpbc5.json +7 -0
  84. package/.aiwf/sessions/session_1752877892384_1gbbgrp4y.json +7 -0
  85. package/.aiwf/sessions/session_1752877893568_9p2n5p31a.json +7 -0
  86. package/.aiwf/sessions/session_1752877893727_un34a5tvp.json +7 -0
  87. package/.aiwf/sessions/session_1752877893778_01j79sw9i.json +7 -0
  88. package/.aiwf/sessions/session_1752877894053_jrhba6wko.json +7 -0
  89. package/.aiwf/sessions/session_1752877894082_x3bghawox.json +7 -0
  90. package/.aiwf/sessions/session_1752877894500_iytiav2ku.json +7 -0
  91. package/.aiwf/sessions/session_1752877894667_ucn0gc2ge.json +7 -0
  92. package/.aiwf/test-results-s02.json +4 -4
  93. package/.claude/commands/aiwf/aiwf_changelog.md +82 -0
  94. package/.claude/commands/aiwf/aiwf_code_review.md +88 -0
  95. package/.claude/commands/aiwf/aiwf_commit.md +160 -0
  96. package/.claude/commands/aiwf/aiwf_compress_aggressive_persona.md +53 -0
  97. package/.claude/commands/aiwf/aiwf_compress_context.md +116 -0
  98. package/.claude/commands/aiwf/aiwf_compress_minimal_persona.md +48 -0
  99. package/.claude/commands/aiwf/aiwf_compress_stats.md +79 -0
  100. package/.claude/commands/aiwf/aiwf_compress_with_persona.md +51 -0
  101. package/.claude/commands/aiwf/aiwf_create_feature_ledger.md +54 -0
  102. package/.claude/commands/aiwf/aiwf_create_general_task.md +147 -0
  103. package/.claude/commands/aiwf/aiwf_create_milestone_plan.md +194 -0
  104. package/.claude/commands/aiwf/aiwf_create_prd.md +280 -0
  105. package/.claude/commands/aiwf/aiwf_create_sprint_tasks.md +189 -0
  106. package/.claude/commands/aiwf/aiwf_create_sprints_from_milestone.md +121 -0
  107. package/.claude/commands/aiwf/aiwf_default_mode.md +44 -0
  108. package/.claude/commands/aiwf/aiwf_discuss_review.md +29 -0
  109. package/.claude/commands/aiwf/aiwf_do_task.md +109 -0
  110. package/.claude/commands/aiwf/aiwf_docs.md +225 -0
  111. package/.claude/commands/aiwf/aiwf_evaluate.md +92 -0
  112. package/.claude/commands/aiwf/aiwf_get_feature_details.md +78 -0
  113. package/.claude/commands/aiwf/aiwf_infinite.md +202 -0
  114. package/.claude/commands/aiwf/aiwf_initialize.md +134 -0
  115. package/.claude/commands/aiwf/aiwf_issue_create.md +65 -0
  116. package/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +57 -0
  117. package/.claude/commands/aiwf/aiwf_list_features.md +54 -0
  118. package/.claude/commands/aiwf/aiwf_mermaid.md +272 -0
  119. package/.claude/commands/aiwf/aiwf_persona_architect.md +48 -0
  120. package/.claude/commands/aiwf/aiwf_persona_backend.md +37 -0
  121. package/.claude/commands/aiwf/aiwf_persona_data_analyst.md +37 -0
  122. package/.claude/commands/aiwf/aiwf_persona_frontend.md +37 -0
  123. package/.claude/commands/aiwf/aiwf_persona_security.md +48 -0
  124. package/.claude/commands/aiwf/aiwf_persona_status.md +50 -0
  125. package/.claude/commands/aiwf/aiwf_pr_create.md +76 -0
  126. package/.claude/commands/aiwf/aiwf_prime.md +9 -0
  127. package/.claude/commands/aiwf/aiwf_project_review.md +261 -0
  128. package/.claude/commands/aiwf/aiwf_switch_language.md +160 -0
  129. package/.claude/commands/aiwf/aiwf_test.md +124 -0
  130. package/.claude/commands/aiwf/aiwf_testing_review.md +198 -0
  131. package/.claude/commands/aiwf/aiwf_tm-run-all-subtask.md +210 -0
  132. package/.claude/commands/aiwf/aiwf_ultrathink_code_advanced.md +460 -0
  133. package/.claude/commands/aiwf/aiwf_ultrathink_code_basic.md +165 -0
  134. package/.claude/commands/aiwf/aiwf_ultrathink_general.md +305 -0
  135. package/.claude/commands/aiwf/aiwf_update_docs_kr.md +25 -0
  136. package/.claude/commands/aiwf/aiwf_update_feature_status.md +53 -0
  137. package/.claude/commands/aiwf/aiwf_yolo.md +300 -0
  138. package/.eslintrc.json +26 -0
  139. package/.prettierrc +10 -0
  140. package/CLAUDE.md +154 -54
  141. package/README.ko.md +25 -0
  142. package/README.md +25 -0
  143. package/TEST_RECOVERY_PLAN.md +68 -0
  144. package/docs/CLEANUP_RECOMMENDATIONS.md +86 -0
  145. package/docs/CLI_USAGE_GUIDE.md +479 -0
  146. package/package.json +9 -9
  147. package/scripts/update-feature-status.js +70 -0
  148. package/{lib → src/cli}/cache-cli.js +4 -4
  149. package/src/cli/index.js +165 -0
  150. package/{language-cli.js → src/cli/language-cli.js} +11 -4
  151. package/src/commands/cache-templates.js +209 -0
  152. package/src/commands/create-offline.js +86 -0
  153. package/src/commands/create-project.js +151 -0
  154. package/src/lib/backup-manager.js +270 -0
  155. package/src/lib/file-downloader.js +208 -0
  156. package/src/lib/installer.js +676 -0
  157. package/src/lib/rollback-manager.js +418 -0
  158. package/src/lib/validator.js +561 -0
  159. package/src/utils/git-integration.js +173 -0
  160. package/{language-utils.js → src/utils/language-utils.js} +2 -1
  161. package/src/utils/messages.js +136 -0
  162. package/src/utils/paths.js +130 -0
  163. package/tests/application.test.js +2 -2
  164. package/tests/installer.test.js +2 -2
  165. package/tests/integration/ai-persona-system.test.js +4 -4
  166. package/tests/integration/test-persona-system/docs/README.md +1 -0
  167. package/tests/integration/test-persona-system/package.json +1 -0
  168. package/tests/integration/test-persona-system/src/auth.js +1 -0
  169. package/tests/integration/test-persona-system/src/index.js +1 -0
  170. package/tests/integration/test-persona-system/test/test.js +1 -0
  171. package/tests/language-utils.test.js +1 -1
  172. package/tests/temp_invalid_json/invalid.json +1 -0
  173. package/tests/unit/ai-persona-manager.test.js +7 -7
  174. package/.aiwf/05_DOCUMENTATION/performance-report.md +0 -33
  175. package/.aiwf/test-cache/86c7f9e80251abb8bedd58953ab0d1779e46b4f43ea33b63bffdb778106373b0.json +0 -6
  176. package/.aiwf/test-cache/9e252a90b80fce0585d7ed0646e7a9b4343e109f661f42a3ae678ba1ec5e22c7.json +0 -7
  177. package/.aiwf/token-data/alerts.json +0 -293
  178. package/.aiwf/token-data/monitor-config.json +0 -12
  179. package/CHANGELOG_M02.md +0 -52
  180. package/claude-code/aiwf/ko/templates/web-app/template/package-lock.json +0 -10022
  181. package/claude-code/aiwf/ko/token-data/alerts.json +0 -293
  182. package/claude-code/aiwf/ko/token-data/monitor-config.json +0 -12
  183. package/docs/m02-dod-checklist.md +0 -125
  184. package/docs/m02-gap-analysis.md +0 -214
  185. package/docs/m02-milestone-completion-report.md +0 -186
  186. package/docs/m02-milestone-executive-summary.md +0 -68
  187. package/index.js +0 -1951
  188. package/lib/cache-integration.js +0 -401
  189. package/lib/file-batch-processor.js +0 -401
  190. package/lib/performance-benchmark.js +0 -621
  191. package/lib/template-manager.js +0 -310
  192. package/scripts/validate-commands.cjs +0 -338
  193. /package/{lib → src/lib}/ai-persona-manager.js +0 -0
  194. /package/{lib → src/lib}/cache-system.js +0 -0
  195. /package/{lib → src/lib}/context-engine.js +0 -0
  196. /package/{lib → src/lib}/memory-profiler.js +0 -0
  197. /package/{lib → src/lib}/metrics-collector.js +0 -0
  198. /package/{lib → src/lib}/offline-detector.js +0 -0
  199. /package/{lib → src/lib}/task-analyzer.js +0 -0
  200. /package/{lib → src/lib}/template-cache-system.js +0 -0
  201. /package/{lib → src/lib}/template-downloader.js +0 -0
  202. /package/{lib → src/lib}/template-version-manager.js +0 -0
  203. /package/{lib → src/lib}/token-optimizer.js +0 -0
@@ -0,0 +1,479 @@
1
+ # AIWF CLI 사용 가이드
2
+
3
+ ## 📋 목차
4
+ 1. [설치 및 초기 설정](#설치-및-초기-설정)
5
+ 2. [기본 명령어](#기본-명령어)
6
+ 3. [AI 도구 관리](#ai-도구-관리)
7
+ 4. [캐시 관리](#캐시-관리)
8
+ 5. [언어 관리](#언어-관리)
9
+ 6. [Claude Code 통합 명령어](#claude-code-통합-명령어)
10
+ 7. [Git 통합 및 Feature Tracking](#git-통합-및-feature-tracking)
11
+ 8. [일반적인 워크플로우](#일반적인-워크플로우)
12
+ 9. [문제 해결](#문제-해결)
13
+
14
+ ---
15
+
16
+ ## 🚀 설치 및 초기 설정
17
+
18
+ ### 최초 설치
19
+ ```bash
20
+ # 프로젝트 디렉토리에서 실행
21
+ cd my-project
22
+ npx aiwf
23
+
24
+ # 또는 전역 설치
25
+ npm install -g aiwf
26
+ aiwf
27
+ ```
28
+
29
+ 설치 과정:
30
+ 1. 언어 선택 (한국어/English)
31
+ 2. 자동으로 필요한 파일 다운로드
32
+ 3. 프로젝트 구조 생성
33
+
34
+ ### 강제 설치 (프롬프트 없이)
35
+ ```bash
36
+ aiwf install --force
37
+ # 또는
38
+ aiwf install -f
39
+ ```
40
+
41
+ ### 설치 후 생성되는 구조
42
+ ```
43
+ your-project/
44
+ ├── .aiwf/ # AIWF 프로젝트 관리
45
+ ├── .claude/commands/aiwf/ # Claude Code 명령어
46
+ ├── .cursor/rules/ # Cursor IDE 규칙
47
+ ├── .windsurf/rules/ # Windsurf IDE 규칙
48
+ └── [기존 프로젝트 파일들]
49
+ ```
50
+
51
+ ---
52
+
53
+ ## 📌 기본 명령어
54
+
55
+ ### aiwf 메인 명령어
56
+ ```bash
57
+ # 기본 설치 (install이 기본 동작)
58
+ aiwf
59
+
60
+ # 명시적 설치
61
+ aiwf install
62
+
63
+ # 강제 설치
64
+ aiwf install --force
65
+
66
+ # 도움말
67
+ aiwf --help
68
+
69
+ # 버전 확인
70
+ aiwf --version
71
+ ```
72
+
73
+ ---
74
+
75
+ ## 🤖 AI 도구 관리
76
+
77
+ ### AI 도구 설치
78
+ ```bash
79
+ # 특정 AI 도구 템플릿 설치
80
+ aiwf ai-tool install claude-code
81
+ aiwf ai-tool install cursor
82
+ aiwf ai-tool install windsurf
83
+ aiwf ai-tool install github-copilot
84
+ aiwf ai-tool install augment
85
+ ```
86
+
87
+ ### AI 도구 목록 확인
88
+ ```bash
89
+ # 설치 가능한 도구와 설치된 도구 목록
90
+ aiwf ai-tool list
91
+ ```
92
+
93
+ 출력 예시:
94
+ ```
95
+ 🤖 AI Tool Templates
96
+
97
+ claude-code
98
+ Status: ✓ Installed
99
+ Version: 1.0.0
100
+ Features: custom_instructions, project_context, command_integration
101
+
102
+ cursor
103
+ Status: Available
104
+ Version: 1.0.0
105
+ Features: smart_completion, aiwf_context_awareness, project_structure_recognition
106
+
107
+ windsurf
108
+ Status: Available
109
+ Version: 1.0.0
110
+ Features: ai_assistance, code_generation, context_awareness
111
+ ```
112
+
113
+ ### AI 도구 업데이트
114
+ ```bash
115
+ # 특정 도구 업데이트
116
+ aiwf ai-tool update claude-code
117
+
118
+ # 업데이트 확인
119
+ aiwf ai-tool check
120
+ aiwf ai-tool check claude-code # 특정 도구만
121
+ ```
122
+
123
+ ### AI 도구 검증
124
+ ```bash
125
+ # 설치 상태 검증
126
+ aiwf ai-tool verify claude-code
127
+ ```
128
+
129
+ ### AI 도구 버전 확인
130
+ ```bash
131
+ aiwf ai-tool version claude-code
132
+ ```
133
+
134
+ ---
135
+
136
+ ## 💾 캐시 관리
137
+
138
+ ### 템플릿 다운로드 (오프라인 사용)
139
+ ```bash
140
+ # 대화형 선택
141
+ aiwf cache download
142
+
143
+ # 모든 템플릿 다운로드
144
+ aiwf cache download --all
145
+
146
+ # 특정 타입만 다운로드
147
+ aiwf cache download --type ai-tools
148
+ aiwf cache download --type projects
149
+ ```
150
+
151
+ ### 캐시 목록 확인
152
+ ```bash
153
+ # 전체 캐시 목록
154
+ aiwf cache list
155
+
156
+ # 타입별 필터
157
+ aiwf cache list --type ai-tools
158
+ ```
159
+
160
+ ### 캐시 정리
161
+ ```bash
162
+ # 만료된 캐시만 정리 (기본 7일)
163
+ aiwf cache clean
164
+
165
+ # 모든 캐시 삭제
166
+ aiwf cache clean --all
167
+
168
+ # 특정 기간 이상된 캐시 삭제
169
+ aiwf cache clean --max-age 30 # 30일 이상
170
+ ```
171
+
172
+ ### 캐시 업데이트
173
+ ```bash
174
+ # 업데이트 확인
175
+ aiwf cache update
176
+
177
+ # 업데이트 확인 후 자동 설치
178
+ aiwf cache update --install
179
+ ```
180
+
181
+ ### 캐시 상태 확인
182
+ ```bash
183
+ aiwf cache status
184
+ ```
185
+
186
+ 출력 예시:
187
+ ```
188
+ 📊 AIWF Cache Status
189
+
190
+ Cache Location: /Users/username/.aiwf-cache
191
+ Network Status: Online
192
+
193
+ Cache Statistics:
194
+ Total Size: 24.3 MB
195
+ Templates: 12
196
+ AI Tools: 5
197
+ Oldest Entry: 2024-01-13
198
+
199
+ By Status:
200
+ Valid: 10 templates
201
+ Expired: 2 templates
202
+ Corrupted: 0 templates
203
+ ```
204
+
205
+ ---
206
+
207
+ ## 🌐 언어 관리
208
+
209
+ ### 언어 상태 확인
210
+ ```bash
211
+ # 현재 언어 설정 확인
212
+ aiwf-lang
213
+ aiwf-lang status
214
+ aiwf-lang s # 별칭
215
+ ```
216
+
217
+ ### 언어 변경
218
+ ```bash
219
+ # 한국어로 변경
220
+ aiwf-lang set ko
221
+
222
+ # 영어로 변경
223
+ aiwf-lang set en
224
+
225
+ # 대화형 선택
226
+ aiwf-lang set
227
+
228
+ # 자동 감지 설정
229
+ aiwf-lang set --auto-detect true
230
+ aiwf-lang set --auto-detect false
231
+ ```
232
+
233
+ ### 언어 초기화
234
+ ```bash
235
+ # 자동 감지 모드로 리셋
236
+ aiwf-lang reset
237
+ aiwf-lang r # 별칭
238
+ ```
239
+
240
+ ---
241
+
242
+ ## 🤝 Claude Code 통합 명령어
243
+
244
+ Claude Code에서 사용할 수 있는 `/aiwf_*` 명령어들:
245
+
246
+ ### 프로젝트 초기화
247
+ ```
248
+ /aiwf_initialize # 프로젝트 초기 설정
249
+ /aiwf_prime # 프로젝트 컨텍스트 로드
250
+ ```
251
+
252
+ ### 계획 및 작업 관리
253
+ ```
254
+ /aiwf_create_milestone_plan # 마일스톤 계획 생성
255
+ /aiwf_create_sprints_from_milestone # 스프린트 생성
256
+ /aiwf_create_sprint_tasks # 스프린트 작업 생성
257
+ /aiwf_create_general_task # 일반 작업 생성
258
+ /aiwf_create_prd # 제품 요구사항 문서 생성
259
+ ```
260
+
261
+ ### 개발 작업
262
+ ```
263
+ /aiwf_do_task # 작업 실행
264
+ /aiwf_commit # Git 커밋 생성
265
+ /aiwf_test # 테스트 실행
266
+ ```
267
+
268
+ ### 코드 리뷰
269
+ ```
270
+ /aiwf_code_review # 코드 리뷰
271
+ /aiwf_project_review # 프로젝트 전체 리뷰
272
+ /aiwf_testing_review # 테스트 커버리지 리뷰
273
+ /aiwf_discuss_review # 리뷰 결과 토론
274
+ ```
275
+
276
+ ### AI 페르소나
277
+ ```
278
+ /project:aiwf:ai_persona:architect # 아키텍트 페르소나
279
+ /project:aiwf:ai_persona:backend # 백엔드 개발자
280
+ /project:aiwf:ai_persona:frontend # 프론트엔드 개발자
281
+ /project:aiwf:ai_persona:security # 보안 전문가
282
+ /project:aiwf:ai_persona:data_analyst # 데이터 분석가
283
+ /project:aiwf:ai_persona:status # 현재 페르소나 상태
284
+ /project:aiwf:ai_persona:auto on # 자동 페르소나 전환
285
+ ```
286
+
287
+ ### GitHub 통합
288
+ ```
289
+ /aiwf_pr_create # Pull Request 생성
290
+ /aiwf_issue_create # GitHub Issue 생성
291
+ ```
292
+
293
+ ### 고급 기능
294
+ ```
295
+ /aiwf_yolo # 자동 작업 실행
296
+ /aiwf_infinite # 연속 작업 모드
297
+ /aiwf_ultrathink_code_advanced # 고급 코드 분석
298
+ ```
299
+
300
+ ---
301
+
302
+ ## 🔗 Git 통합 및 Feature Tracking
303
+
304
+ ### Git Hooks 설치
305
+ ```bash
306
+ # 프로젝트 루트에서 실행
307
+ ./hooks/install-hooks.sh
308
+ ```
309
+
310
+ ### Feature 관련 스크립트
311
+ ```bash
312
+ # Git 히스토리에서 Feature ID 스캔
313
+ node commands/scan-git-history.js --since 2025-01-01
314
+
315
+ # 특정 Feature의 커밋 동기화
316
+ node commands/sync-feature-commits.js FL001
317
+
318
+ # Feature 커밋 리포트 생성
319
+ node commands/feature-commit-report.js --format markdown
320
+ ```
321
+
322
+ ### Git 커밋 시 자동 Feature 추적
323
+ ```bash
324
+ # Feature ID가 포함된 커밋
325
+ git commit -m "feat(FL001): 인증 시스템 구현"
326
+ # post-commit hook이 자동으로 Feature Ledger 업데이트
327
+ ```
328
+
329
+ ---
330
+
331
+ ## 💡 일반적인 워크플로우
332
+
333
+ ### 1. 새 프로젝트 시작
334
+ ```bash
335
+ # 1. 프로젝트 생성
336
+ mkdir my-awesome-project
337
+ cd my-awesome-project
338
+
339
+ # 2. AIWF 설치
340
+ npx aiwf
341
+
342
+ # 3. Git hooks 설치
343
+ git init
344
+ ./hooks/install-hooks.sh
345
+
346
+ # 4. AI 도구 설정
347
+ aiwf ai-tool install claude-code
348
+ aiwf ai-tool install cursor
349
+
350
+ # 5. Claude Code에서 프로젝트 열기
351
+ # 그 후 /aiwf_initialize 실행
352
+ ```
353
+
354
+ ### 2. 기존 프로젝트에 추가
355
+ ```bash
356
+ # 1. 프로젝트 디렉토리로 이동
357
+ cd existing-project
358
+
359
+ # 2. AIWF 설치
360
+ npx aiwf
361
+
362
+ # 3. 기존 구조와 통합
363
+ /aiwf_prime # Claude Code에서
364
+ ```
365
+
366
+ ### 3. 팀 협업 설정
367
+ ```bash
368
+ # 1. 언어 설정 통일
369
+ aiwf-lang set ko # 또는 en
370
+
371
+ # 2. AI 도구 표준화
372
+ aiwf ai-tool install claude-code
373
+ aiwf ai-tool install cursor
374
+
375
+ # 3. Git hooks 설정
376
+ ./hooks/install-hooks.sh
377
+
378
+ # 4. .gitignore에 추가
379
+ echo ".aiwf/backup_*" >> .gitignore
380
+ echo "token-data/" >> .gitignore
381
+ ```
382
+
383
+ ### 4. 오프라인 개발 준비
384
+ ```bash
385
+ # 1. 모든 템플릿 다운로드
386
+ aiwf cache download --all
387
+
388
+ # 2. 캐시 상태 확인
389
+ aiwf cache status
390
+
391
+ # 3. 오프라인에서도 정상 작동
392
+ # 캐시된 템플릿 자동 사용
393
+ ```
394
+
395
+ ---
396
+
397
+ ## 🔧 문제 해결
398
+
399
+ ### 설치 실패 시
400
+ ```bash
401
+ # 1. 강제 재설치
402
+ aiwf install --force
403
+
404
+ # 2. 캐시 정리 후 재시도
405
+ aiwf cache clean --all
406
+ aiwf install
407
+
408
+ # 3. 수동 정리
409
+ rm -rf .aiwf .claude .cursor .windsurf
410
+ aiwf install
411
+ ```
412
+
413
+ ### 언어 관련 문제
414
+ ```bash
415
+ # 언어 설정 초기화
416
+ aiwf-lang reset
417
+
418
+ # 수동으로 언어 설정
419
+ aiwf-lang set ko --auto-detect false
420
+ ```
421
+
422
+ ### 네트워크 문제
423
+ ```bash
424
+ # 1. 캐시 모드 사용
425
+ aiwf cache download --all # 온라인일 때 미리 실행
426
+
427
+ # 2. 프록시 설정 (필요시)
428
+ export HTTPS_PROXY=http://proxy.company.com:8080
429
+ aiwf install
430
+ ```
431
+
432
+ ### 권한 문제
433
+ ```bash
434
+ # 실행 권한 부여
435
+ chmod +x hooks/install-hooks.sh
436
+ chmod +x hooks/post-commit
437
+ chmod +x index.js
438
+ chmod +x language-cli.js
439
+ ```
440
+
441
+ ### 업데이트 후 문제 발생
442
+ ```bash
443
+ # 백업에서 복원
444
+ # 백업 위치: .aiwf/backup_YYYY-MM-DD_HHMMSS
445
+ cp -r .aiwf/backup_2024-01-20_143052/* .aiwf/
446
+ ```
447
+
448
+ ---
449
+
450
+ ## 📚 추가 리소스
451
+
452
+ - **GitHub 저장소**: https://github.com/aiwf/aiwf
453
+ - **문제 보고**: https://github.com/aiwf/aiwf/issues
454
+ - **문서**: [COMMANDS_GUIDE.md](docs/COMMANDS_GUIDE.md)
455
+ - **한국어 문서**: [COMMANDS_GUIDE.ko.md](docs/COMMANDS_GUIDE.ko.md)
456
+
457
+ ---
458
+
459
+ ## 🎯 빠른 참조
460
+
461
+ ```bash
462
+ # 설치
463
+ npx aiwf
464
+
465
+ # AI 도구
466
+ aiwf ai-tool install claude-code
467
+ aiwf ai-tool list
468
+
469
+ # 캐시
470
+ aiwf cache download --all
471
+ aiwf cache status
472
+
473
+ # 언어
474
+ aiwf-lang set ko
475
+ aiwf-lang status
476
+
477
+ # Git hooks
478
+ ./hooks/install-hooks.sh
479
+ ```
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "aiwf",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "description": "AI Workflow Framework for Claude Code with multi-language support (Korean/English)",
5
5
  "main": "index.js",
6
6
  "type": "module",
7
7
  "bin": {
8
- "aiwf": "./index.js",
9
- "aiwf-lang": "./language-cli.js"
8
+ "aiwf": "./src/cli/index.js",
9
+ "aiwf-lang": "./src/cli/language-cli.js"
10
10
  },
11
11
  "scripts": {
12
12
  "test": "node --experimental-vm-modules node_modules/.bin/jest",
13
- "lang:status": "node language-cli.js status",
14
- "lang:set": "node language-cli.js set",
15
- "lang:reset": "node language-cli.js reset",
13
+ "lang:status": "node src/cli/index.js lang status",
14
+ "lang:set": "node src/cli/index.js lang set",
15
+ "lang:reset": "node src/cli/index.js lang reset",
16
16
  "validate:commands": "node scripts/validate-commands.js"
17
17
  },
18
18
  "keywords": [
@@ -30,12 +30,12 @@
30
30
  "license": "MIT",
31
31
  "repository": {
32
32
  "type": "git",
33
- "url": "git+https://github.com/aiwf/aiwf.git"
33
+ "url": "git+https://github.com/moonklabs/aiwf.git"
34
34
  },
35
35
  "bugs": {
36
- "url": "https://github.com/aiwf/aiwf/issues"
36
+ "url": "https://github.com/moonklabs/aiwf/issues"
37
37
  },
38
- "homepage": "https://github.com/aiwf/aiwf#readme",
38
+ "homepage": "https://github.com/moonklabs/aiwf#readme",
39
39
  "engines": {
40
40
  "node": ">=14.0.0"
41
41
  },
@@ -0,0 +1,70 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { promises as fs } from 'fs';
4
+ import path from 'path';
5
+ import { parseYamlFrontmatter, updateYamlFrontmatter, getFeaturePath } from '../src/utils/git-integration.js';
6
+
7
+ // Feature 상태 업데이트 함수
8
+ async function updateFeatureStatus(featureId, newStatus) {
9
+ const featurePath = await getFeaturePath(featureId);
10
+ if (!featurePath) {
11
+ console.error(`Feature ${featureId} not found`);
12
+ return false;
13
+ }
14
+
15
+ try {
16
+ const content = await fs.readFile(featurePath, 'utf-8');
17
+ const metadata = parseYamlFrontmatter(content);
18
+
19
+ if (!metadata) {
20
+ console.error(`Invalid feature file format: ${featurePath}`);
21
+ return false;
22
+ }
23
+
24
+ // 상태 업데이트
25
+ const oldStatus = metadata.status;
26
+ metadata.status = newStatus;
27
+
28
+ // 완료 시간 기록
29
+ if (newStatus === 'completed' && !metadata.actual_completion) {
30
+ metadata.actual_completion = new Date().toISOString().split('T')[0];
31
+ }
32
+
33
+ // 파일 업데이트
34
+ const updatedContent = updateYamlFrontmatter(content, metadata);
35
+ await fs.writeFile(featurePath, updatedContent, 'utf-8');
36
+
37
+ console.log(`✅ Feature ${featureId} status updated: ${oldStatus} → ${newStatus}`);
38
+ return true;
39
+
40
+ } catch (error) {
41
+ console.error(`Error updating feature ${featureId}:`, error.message);
42
+ return false;
43
+ }
44
+ }
45
+
46
+ // CLI 실행
47
+ if (process.argv.length < 4) {
48
+ console.log('Usage: node update-feature-status.js <featureId> <newStatus>');
49
+ console.log('Status: planning | active | completed | archived');
50
+ process.exit(1);
51
+ }
52
+
53
+ const featureId = process.argv[2];
54
+ const newStatus = process.argv[3];
55
+
56
+ const validStatuses = ['planning', 'active', 'completed', 'archived'];
57
+ if (!validStatuses.includes(newStatus)) {
58
+ console.error(`Invalid status: ${newStatus}`);
59
+ console.log(`Valid statuses: ${validStatuses.join(', ')}`);
60
+ process.exit(1);
61
+ }
62
+
63
+ updateFeatureStatus(featureId, newStatus)
64
+ .then(success => process.exit(success ? 0 : 1))
65
+ .catch(error => {
66
+ console.error('Unexpected error:', error);
67
+ process.exit(1);
68
+ });
69
+
70
+ export { updateFeatureStatus };
@@ -4,10 +4,10 @@ import { Command } from 'commander';
4
4
  import chalk from 'chalk';
5
5
  import ora from 'ora';
6
6
  import prompts from 'prompts';
7
- import { TemplateCache } from './template-cache-system.js';
8
- import { OfflineDetector } from './offline-detector.js';
9
- import { TemplateDownloader } from './template-downloader.js';
10
- import { TemplateVersionManager } from './template-version-manager.js';
7
+ import { TemplateCache } from '../lib/template-cache-system.js';
8
+ import { OfflineDetector } from '../lib/offline-detector.js';
9
+ import { TemplateDownloader } from '../lib/template-downloader.js';
10
+ import { TemplateVersionManager } from '../lib/template-version-manager.js';
11
11
 
12
12
  /**
13
13
  * 캐시 관리 CLI 명령어