aiwf 0.3.5 → 0.3.7

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 (172) hide show
  1. package/.aiwf/00_PROJECT_MANIFEST.md +29 -16
  2. package/.aiwf/02_REQUIREMENTS/M03_Simone_Integration_Enhancement/M03_milestone_meta.md +55 -0
  3. package/.aiwf/02_REQUIREMENTS/M03_Simone_Integration_Enhancement/SPECS_AIWF_Simplified_Plan.md +221 -0
  4. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/S03_M02_sprint_meta.md +0 -1
  5. package/.aiwf/test-results-s02.json +5 -5
  6. package/.claude/commands/aiwf/aiwf_add_task_to_sprint.md +283 -0
  7. package/.claude/commands/aiwf/aiwf_install_git_hooks.md +63 -0
  8. package/.claude/commands/aiwf/aiwf_link_feature_branch.md +43 -0
  9. package/.claude/commands/aiwf/aiwf_link_feature_commit.md +46 -0
  10. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_testcase.md +561 -0
  11. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_testcase.md +561 -0
  12. package/package.json +1 -1
  13. package/src/cli/index.js +17 -2
  14. package/src/commands/create-project.js +10 -7
  15. package/src/commands/sprint-task.js +262 -0
  16. package/src/lib/file-downloader.js +194 -33
  17. package/src/lib/installer.js +52 -15
  18. package/tests/integration/test-persona-system/.aiwf/metrics/metrics.json +833 -0
  19. package/tests/unit/sprint-task.test.js +172 -0
  20. package/.aiwf/sessions/session_1752877859489_1t7n2fhdb.json +0 -7
  21. package/.aiwf/sessions/session_1752877859515_cwdv211ry.json +0 -7
  22. package/.aiwf/sessions/session_1752877860664_huziadmbo.json +0 -7
  23. package/.aiwf/sessions/session_1752877860666_kyr5u1np6.json +0 -7
  24. package/.aiwf/sessions/session_1752877861848_9yinepw3t.json +0 -7
  25. package/.aiwf/sessions/session_1752877861874_y32sputuc.json +0 -7
  26. package/.aiwf/sessions/session_1752877862685_ivxbl5rhz.json +0 -7
  27. package/.aiwf/sessions/session_1752877862820_wnq4glvxi.json +0 -7
  28. package/.aiwf/sessions/session_1752877864632_3ebnpaelb.json +0 -7
  29. package/.aiwf/sessions/session_1752877864879_b9zgjcb7d.json +0 -7
  30. package/.aiwf/sessions/session_1752877865533_x14m1vodi.json +0 -7
  31. package/.aiwf/sessions/session_1752877865562_gkoh19n7d.json +0 -7
  32. package/.aiwf/sessions/session_1752877866333_wp8qpdcoh.json +0 -7
  33. package/.aiwf/sessions/session_1752877866509_dawntfpab.json +0 -7
  34. package/.aiwf/sessions/session_1752877866890_plc5vfucl.json +0 -7
  35. package/.aiwf/sessions/session_1752877866895_ga8hmq3oi.json +0 -7
  36. package/.aiwf/sessions/session_1752877867761_ayjp4v5f5.json +0 -7
  37. package/.aiwf/sessions/session_1752877867892_lfz6jy252.json +0 -7
  38. package/.aiwf/sessions/session_1752877868139_7bqd9ubli.json +0 -7
  39. package/.aiwf/sessions/session_1752877868162_zq3ofjbsh.json +0 -7
  40. package/.aiwf/sessions/session_1752877869054_7rlgm9jt6.json +0 -7
  41. package/.aiwf/sessions/session_1752877869477_ax3nhbxzr.json +0 -7
  42. package/.aiwf/sessions/session_1752877870095_6hgp4vl1e.json +0 -7
  43. package/.aiwf/sessions/session_1752877870381_qfcrdg4li.json +0 -7
  44. package/.aiwf/sessions/session_1752877871895_pgd5vllhz.json +0 -7
  45. package/.aiwf/sessions/session_1752877872199_jbhv2g2da.json +0 -7
  46. package/.aiwf/sessions/session_1752877872680_x04wpffu6.json +0 -7
  47. package/.aiwf/sessions/session_1752877872895_3y4vbeauo.json +0 -7
  48. package/.aiwf/sessions/session_1752877873178_3maolzc6b.json +0 -7
  49. package/.aiwf/sessions/session_1752877873180_ytm83j07f.json +0 -7
  50. package/.aiwf/sessions/session_1752877874217_dp56c9t42.json +0 -7
  51. package/.aiwf/sessions/session_1752877874415_epwp1g1og.json +0 -7
  52. package/.aiwf/sessions/session_1752877874454_heicyuryb.json +0 -7
  53. package/.aiwf/sessions/session_1752877874869_1c2illeu5.json +0 -7
  54. package/.aiwf/sessions/session_1752877874879_k1vo4vxyx.json +0 -7
  55. package/.aiwf/sessions/session_1752877874913_bwgyiz9bp.json +0 -7
  56. package/.aiwf/sessions/session_1752877876218_44807kztz.json +0 -7
  57. package/.aiwf/sessions/session_1752877876515_qkhjv5kpw.json +0 -7
  58. package/.aiwf/sessions/session_1752877876543_p605aud1m.json +0 -7
  59. package/.aiwf/sessions/session_1752877876819_l65w7ifck.json +0 -7
  60. package/.aiwf/sessions/session_1752877876867_xrhzss4we.json +0 -7
  61. package/.aiwf/sessions/session_1752877876872_u7aso54qb.json +0 -7
  62. package/.aiwf/sessions/session_1752877877705_telnfg4o6.json +0 -7
  63. package/.aiwf/sessions/session_1752877878285_6s45im2ib.json +0 -7
  64. package/.aiwf/sessions/session_1752877878506_v0dvguqhz.json +0 -7
  65. package/.aiwf/sessions/session_1752877878581_3ri3yc66a.json +0 -7
  66. package/.aiwf/sessions/session_1752877878756_a82x9s2pd.json +0 -7
  67. package/.aiwf/sessions/session_1752877878886_20pjsfour.json +0 -7
  68. package/.aiwf/sessions/session_1752877880266_fm1ydjw0g.json +0 -7
  69. package/.aiwf/sessions/session_1752877881149_xbat4z03d.json +0 -7
  70. package/.aiwf/sessions/session_1752877881551_qy5sic9qs.json +0 -7
  71. package/.aiwf/sessions/session_1752877881554_24ugd96wu.json +0 -7
  72. package/.aiwf/sessions/session_1752877881797_e9mm25uh0.json +0 -7
  73. package/.aiwf/sessions/session_1752877881822_bxvjj8c9g.json +0 -7
  74. package/.aiwf/sessions/session_1752877881890_jv7l6jve3.json +0 -7
  75. package/.aiwf/sessions/session_1752877881991_f0qugdtcq.json +0 -7
  76. package/.aiwf/sessions/session_1752877883387_0bvw9rvnx.json +0 -7
  77. package/.aiwf/sessions/session_1752877883820_q6g2md2up.json +0 -7
  78. package/.aiwf/sessions/session_1752877884393_sqr7trvjl.json +0 -7
  79. package/.aiwf/sessions/session_1752877884500_whtypmzlf.json +0 -7
  80. package/.aiwf/sessions/session_1752877884645_y9mvvxli1.json +0 -7
  81. package/.aiwf/sessions/session_1752877884733_hk46eenel.json +0 -7
  82. package/.aiwf/sessions/session_1752877884738_c62j6214r.json +0 -7
  83. package/.aiwf/sessions/session_1752877884771_temhxehoz.json +0 -7
  84. package/.aiwf/sessions/session_1752877885643_6v5fcktc7.json +0 -7
  85. package/.aiwf/sessions/session_1752877886426_ee8di2fqh.json +0 -7
  86. package/.aiwf/sessions/session_1752877886549_3xj6tdoew.json +0 -7
  87. package/.aiwf/sessions/session_1752877886604_aj80yyfco.json +0 -7
  88. package/.aiwf/sessions/session_1752877886702_2b8841vyg.json +0 -7
  89. package/.aiwf/sessions/session_1752877886712_ntqc8b8bz.json +0 -7
  90. package/.aiwf/sessions/session_1752877886968_946m8tbw6.json +0 -7
  91. package/.aiwf/sessions/session_1752877887008_wg6zfg8dn.json +0 -7
  92. package/.aiwf/sessions/session_1752877888479_ciiu2qiqs.json +0 -7
  93. package/.aiwf/sessions/session_1752877889330_ravg8l66k.json +0 -7
  94. package/.aiwf/sessions/session_1752877889542_7zepkhjkc.json +0 -7
  95. package/.aiwf/sessions/session_1752877889638_ev4htqiu0.json +0 -7
  96. package/.aiwf/sessions/session_1752877889956_szphy2qma.json +0 -7
  97. package/.aiwf/sessions/session_1752877890220_o6aaa57tt.json +0 -7
  98. package/.aiwf/sessions/session_1752877890527_v2loy5vu1.json +0 -7
  99. package/.aiwf/sessions/session_1752877890572_cwq8fiuma.json +0 -7
  100. package/.aiwf/sessions/session_1752877892200_sgcwq1alt.json +0 -7
  101. package/.aiwf/sessions/session_1752877892268_v8kexpbc5.json +0 -7
  102. package/.aiwf/sessions/session_1752877892384_1gbbgrp4y.json +0 -7
  103. package/.aiwf/sessions/session_1752877893568_9p2n5p31a.json +0 -7
  104. package/.aiwf/sessions/session_1752877893727_un34a5tvp.json +0 -7
  105. package/.aiwf/sessions/session_1752877893778_01j79sw9i.json +0 -7
  106. package/.aiwf/sessions/session_1752877894053_jrhba6wko.json +0 -7
  107. package/.aiwf/sessions/session_1752877894082_x3bghawox.json +0 -7
  108. package/.aiwf/sessions/session_1752877894500_iytiav2ku.json +0 -7
  109. package/.aiwf/sessions/session_1752877894667_ucn0gc2ge.json +0 -7
  110. package/test-token-system.js +0 -88
  111. package/tests/temp_invalid_json/invalid.json +0 -1
  112. /package/{.aiwf/templates → templates}/README.md +0 -0
  113. /package/{.aiwf/templates → templates}/api-server/config.json +0 -0
  114. /package/{.aiwf/templates → templates}/api-server/template/.aiwf/config.json +0 -0
  115. /package/{.aiwf/templates → templates}/api-server/template/.aiwf/feature-ledger.json +0 -0
  116. /package/{.aiwf/templates → templates}/api-server/template/.aiwf/personas/backend-engineer.json +0 -0
  117. /package/{.aiwf/templates → templates}/api-server/template/.aiwf/scripts/cli.js +0 -0
  118. /package/{.aiwf/templates → templates}/api-server/template/.env.example +0 -0
  119. /package/{.aiwf/templates → templates}/api-server/template/.eslintrc.json +0 -0
  120. /package/{.aiwf/templates → templates}/api-server/template/README.md +0 -0
  121. /package/{.aiwf/templates → templates}/api-server/template/jest.config.js +0 -0
  122. /package/{.aiwf/templates → templates}/api-server/template/nodemon.json +0 -0
  123. /package/{.aiwf/templates → templates}/api-server/template/package.json +0 -0
  124. /package/{.aiwf/templates → templates}/api-server/template/src/app.ts +0 -0
  125. /package/{.aiwf/templates → templates}/api-server/template/src/config/swagger.ts +0 -0
  126. /package/{.aiwf/templates → templates}/api-server/template/src/controllers/aiwfController.ts +0 -0
  127. /package/{.aiwf/templates → templates}/api-server/template/src/controllers/authController.ts +0 -0
  128. /package/{.aiwf/templates → templates}/api-server/template/src/controllers/statusController.ts +0 -0
  129. /package/{.aiwf/templates → templates}/api-server/template/src/index.ts +0 -0
  130. /package/{.aiwf/templates → templates}/api-server/template/src/middleware/aiwfMiddleware.ts +0 -0
  131. /package/{.aiwf/templates → templates}/api-server/template/src/middleware/authMiddleware.ts +0 -0
  132. /package/{.aiwf/templates → templates}/api-server/template/src/middleware/errorHandler.ts +0 -0
  133. /package/{.aiwf/templates → templates}/api-server/template/src/middleware/notFoundHandler.ts +0 -0
  134. /package/{.aiwf/templates → templates}/api-server/template/src/middleware/requestLogger.ts +0 -0
  135. /package/{.aiwf/templates → templates}/api-server/template/src/routes/aiwf.ts +0 -0
  136. /package/{.aiwf/templates → templates}/api-server/template/src/routes/index.ts +0 -0
  137. /package/{.aiwf/templates → templates}/api-server/template/src/routes/v1/index.ts +0 -0
  138. /package/{.aiwf/templates → templates}/api-server/template/src/utils/logger.ts +0 -0
  139. /package/{.aiwf/templates → templates}/api-server/template/tests/app.test.ts +0 -0
  140. /package/{.aiwf/templates → templates}/api-server/template/tsconfig.json +0 -0
  141. /package/{.aiwf/templates → templates}/npm-library/config.json +0 -0
  142. /package/{.aiwf/templates → templates}/npm-library/template/LICENSE +0 -0
  143. /package/{.aiwf/templates → templates}/npm-library/template/README.md +0 -0
  144. /package/{.aiwf/templates → templates}/npm-library/template/package.json +0 -0
  145. /package/{.aiwf/templates → templates}/web-app/config.json +0 -0
  146. /package/{.aiwf/templates → templates}/web-app/template/.aiwf/config.json +0 -0
  147. /package/{.aiwf/templates → templates}/web-app/template/.aiwf/feature-ledger.json +0 -0
  148. /package/{.aiwf/templates → templates}/web-app/template/.aiwf/personas/fullstack-developer.json +0 -0
  149. /package/{.aiwf/templates → templates}/web-app/template/.aiwf/scripts/cli.js +0 -0
  150. /package/{.aiwf/templates → templates}/web-app/template/.eslintrc.cjs +0 -0
  151. /package/{.aiwf/templates → templates}/web-app/template/README.md +0 -0
  152. /package/{.aiwf/templates → templates}/web-app/template/index.html +0 -0
  153. /package/{.aiwf/templates → templates}/web-app/template/package.json +0 -0
  154. /package/{.aiwf/templates → templates}/web-app/template/postcss.config.js +0 -0
  155. /package/{.aiwf/templates → templates}/web-app/template/public/vite.svg +0 -0
  156. /package/{.aiwf/templates → templates}/web-app/template/src/App.tsx +0 -0
  157. /package/{.aiwf/templates → templates}/web-app/template/src/components/Layout.tsx +0 -0
  158. /package/{.aiwf/templates → templates}/web-app/template/src/components/aiwf/ContextStatus.tsx +0 -0
  159. /package/{.aiwf/templates → templates}/web-app/template/src/components/aiwf/FeatureLedger.tsx +0 -0
  160. /package/{.aiwf/templates → templates}/web-app/template/src/components/aiwf/TokenUsage.tsx +0 -0
  161. /package/{.aiwf/templates → templates}/web-app/template/src/index.css +0 -0
  162. /package/{.aiwf/templates → templates}/web-app/template/src/main.tsx +0 -0
  163. /package/{.aiwf/templates → templates}/web-app/template/src/pages/AiwfDashboard.tsx +0 -0
  164. /package/{.aiwf/templates → templates}/web-app/template/src/pages/HomePage.tsx +0 -0
  165. /package/{.aiwf/templates → templates}/web-app/template/src/pages/NotFound.tsx +0 -0
  166. /package/{.aiwf/templates → templates}/web-app/template/src/stores/aiwfStore.ts +0 -0
  167. /package/{.aiwf/templates → templates}/web-app/template/src/types/global.d.ts +0 -0
  168. /package/{.aiwf/templates → templates}/web-app/template/src/vite-env.d.ts +0 -0
  169. /package/{.aiwf/templates → templates}/web-app/template/tailwind.config.js +0 -0
  170. /package/{.aiwf/templates → templates}/web-app/template/tsconfig.json +0 -0
  171. /package/{.aiwf/templates → templates}/web-app/template/tsconfig.node.json +0 -0
  172. /package/{.aiwf/templates → templates}/web-app/template/vite.config.ts +0 -0
@@ -2,10 +2,10 @@
2
2
 
3
3
  **프로젝트명**: AIWF (AI Workflow Framework)
4
4
  **생성일**: 2025-07-02
5
- **마지막 업데이트**: 2025-07-10
5
+ **마지막 업데이트**: 2025-07-16
6
6
  **프로젝트 유형**: Node.js NPM 패키지
7
- **현재 버전**: 0.3.0
8
- **최고 마일스톤**: M02
7
+ **현재 버전**: 0.3.1
8
+ **최고 마일스톤**: M03
9
9
  **최고 스프린트**: S03
10
10
 
11
11
  ## 프로젝트 개요
@@ -31,7 +31,6 @@ AIWF는 Claude Code와의 통합을 위해 설계된 마크다운 기반 프로
31
31
  ### 진행 중
32
32
 
33
33
  - **T14_S03**: 기본 프로젝트 템플릿 구축 (in_progress → 2025-07-10 06:20 시작)
34
-
35
34
  ### 계획됨
36
35
 
37
36
  - 계획된 태스크 없음
@@ -66,9 +65,11 @@ AIWF는 Claude Code와의 통합을 위해 설계된 마크다운 기반 프로
66
65
  | ID | 이름 | 상태 | 진행률 | 시작일 | 완료일 |
67
66
  | --- | ------------------------------- | ------- | ------ | ---------- | ------ |
68
67
  | M02 | Context_Engineering_Enhancement | 완료 | 100% | 2025-07-08 | 2025-07-08 |
68
+ | M03 | AIWF_Simplification_Reliability | 계획 중 | 0% | TBD | TBD |
69
69
 
70
70
  ### 마일스톤 상세
71
71
  - [x] [M02: Context Engineering Enhancement](02_REQUIREMENTS/M02_Context_Engineering_Enhancement/M02_milestone_meta.md) - 상태: 완료
72
+ - [ ] [M03: AIWF 단순화 및 신뢰성 강화](02_REQUIREMENTS/M03_Simone_Integration_Enhancement/M03_milestone_meta.md) - 상태: 계획 중
72
73
 
73
74
  ## 스프린트 목록
74
75
 
@@ -161,23 +162,35 @@ AIWF는 Claude Code와의 통합을 위해 설계된 마크다운 기반 프로
161
162
 
162
163
  ## 향후 계획
163
164
 
165
+ ### M03: AIWF 단순화 및 신뢰성 강화 (계획 중)
166
+
167
+ **목표**: 태스크 상태 불일치 해결 및 CLI 인터페이스 단순화
168
+
169
+ 1. **Week 1: 프로젝트 정리 및 기초 구축**:
170
+ - 프로젝트 구조 정리 (중복 파일 제거, 모듈화)
171
+ - JSON 기반 태스크 인덱스 시스템 설계
172
+ - CLI 실행 파일 기본 구현
173
+
174
+ 2. **Week 2: 핵심 기능 구현**:
175
+ - 태스크 무결성 검사 시스템
176
+ - 안전한 상태 변경 명령어
177
+ - 기본 AI 도우미 (research, plan)
178
+
179
+ 3. **Week 3: 통합 및 완성**:
180
+ - 향상된 사용자 경험 (컬러 출력, 에러 메시지)
181
+ - 테스트 및 문서화
182
+ - v0.4.0 릴리즈 준비
183
+
184
+ **제거된 오버엔지니어링**: SQLite DB, MCP 서버 통합, 웹 대시보드, 병렬 처리
185
+
186
+ ### 레거시 목표
187
+
164
188
  1. **즉시 조치 필요 사항**:
165
189
  - Feature Ledger CLI 명령어 구현 (aiwf_create_feature_ledger, aiwf_update_feature_status 등)
166
190
  - AI 도구 템플릿 4개 추가 (GitHub Copilot, Cursor, Windsurf, Augment)
167
191
  - 프로젝트 템플릿 시스템 구현
168
192
  - `.aiwf/ai-tools/` 및 `.aiwf/07_AI_PERSONAS/` 디렉토리 생성
169
193
 
170
- 2. **단기 목표 (1-2주)**:
171
- - M02 DoD 항목 완전 충족
172
- - 테스크 파일과 구현 상태 동기화
173
- - 누락된 기능 구현 완료
174
-
175
- 3. **중기 목표 (1개월)**:
176
- - 다음 마일스톤 계획 수립
177
- - 사용자 피드백 반영
178
- - 프로덕션 준비
179
-
180
- 4. **장기 목표 (분기)**:
194
+ 2. **장기 목표**:
181
195
  - 새로운 언어 지원 추가
182
- - AI 도구 통합 확대
183
196
  - 커뮤니티 생태계 구축
@@ -0,0 +1,55 @@
1
+ # M03: AIWF 단순화 및 신뢰성 강화
2
+
3
+ **생성일**: 2025-07-16 11:45:29
4
+ **수정일**: 2025-07-16 17:20:00
5
+ **상태**: 계획 중
6
+ **우선순위**: 높음
7
+ **예상 완료**: 2025-08-06 (3주)
8
+
9
+ ## 마일스톤 개요
10
+
11
+ AIWF 프레임워크의 핵심 문제인 태스크 상태 불일치를 해결하고, 복잡한 CLI 인터페이스를 단순화하여 신뢰할 수 있는 프로젝트 관리 도구로 발전시키는 마일스톤입니다.
12
+
13
+ ## 핵심 목표
14
+
15
+ ### 태스크 무결성 보장
16
+ - [ ] JSON 기반 태스크 인덱스 구현
17
+ - [ ] 파일-인덱스 간 무결성 검사 도구
18
+ - [ ] 안전한 상태 변경 시스템
19
+
20
+ ### 사용성 개선
21
+ - [ ] 간단한 CLI 실행 파일 (`aiwf` 명령어)
22
+ - [ ] 직관적인 상태 표시 및 에러 메시지
23
+ - [ ] 자동완성 및 도움말 시스템
24
+
25
+ ### 기본 AI 도우미
26
+ - [ ] 프로젝트 내 검색 (`aiwf research`)
27
+ - [ ] 간단한 계획 도움 (`aiwf plan`)
28
+ - [ ] 페르소나 기반 응답
29
+
30
+ ## 제거된 오버엔지니어링 항목
31
+
32
+ - ~~SQLite 데이터베이스~~ → JSON 인덱스
33
+ - ~~MCP 서버 통합~~ → 제거
34
+ - ~~고급 웹 대시보드~~ → 터미널 출력
35
+ - ~~병렬 처리 시스템~~ → 제거
36
+ - ~~지능형 자동화~~ → 제거
37
+
38
+ ## 예상 결과물
39
+
40
+ 1. **AIWF v0.4.0**: 신뢰할 수 있는 단순한 태스크 관리 시스템
41
+ 2. **통합 CLI**: 직관적인 명령어 인터페이스
42
+ 3. **무결성 보장**: 태스크 상태 불일치 0% 달성
43
+ 4. **모듈화**: 큰 파일 분리로 유지보수성 향상
44
+
45
+ ## 성공 지표
46
+
47
+ - 태스크 상태 불일치: 0% 달성
48
+ - CLI 명령어 타이핑: 50% 감소
49
+ - 무결성 검사 시간: < 1초
50
+ - 새 사용자 학습 시간: 10분 이내
51
+
52
+ ## 관련 문서
53
+
54
+ - [단순화 구현 계획](SPECS_AIWF_Simplified_Plan.md)
55
+ - [M02 Context Engineering 완료 상태](../M02_Context_Engineering_Enhancement/M02_milestone_meta.md)
@@ -0,0 +1,221 @@
1
+ # AIWF 단순화 계획: 신뢰할 수 있는 단순함
2
+
3
+ **생성일**: 2025-07-16 17:20:00
4
+ **버전**: v0.3.1 → v0.4.0
5
+ **기간**: 3주 계획
6
+ **기반**: steig/claude-simone 분석 + 오버엔지니어링 제거
7
+
8
+ ## 📋 프로젝트 개요
9
+
10
+ ### 현재 상태
11
+ - **AIWF v0.3.1**: 마크다운 기반 프로젝트 관리 프레임워크
12
+ - **완료된 기능**: Feature Ledger, AI 페르소나, Context 압축, AI 도구 통합
13
+ - **핵심 문제**: LLM 실수로 인한 태스크 상태 불일치, 복잡한 CLI 인터페이스
14
+
15
+ ### 목표 상태
16
+ - **AIWF v0.4.0**: 신뢰할 수 있는 단순한 태스크 관리 시스템
17
+ - **핵심 가치**: 단순함, 신뢰성, 사용 편의성
18
+ - **경쟁력**: 파일 기반 + 무결성 보장
19
+
20
+ ---
21
+
22
+ ## 🎯 핵심 문제 해결
23
+
24
+ ### 1. 태스크 상태 불일치 문제
25
+ **현재 문제**:
26
+ ```
27
+ - 진행중/완료/대기 태스크 수 불일치
28
+ - LLM이 파일 업데이트 시 실수
29
+ - 수동으로 매번 확인 필요
30
+ - 일관성 없는 상태 관리
31
+ ```
32
+
33
+ **해결 방안**:
34
+ - JSON 기반 태스크 인덱스 (`task-index.json`)
35
+ - 무결성 검사 도구 (`aiwf check`)
36
+ - 안전한 상태 변경 (`aiwf task done TX001`)
37
+
38
+ ### 2. 복잡한 CLI 인터페이스
39
+ **현재 문제**:
40
+ ```bash
41
+ # 너무 복잡한 경로
42
+ node claude-code/aiwf/ko/commands/ai-persona.js activate backend
43
+ ```
44
+
45
+ **해결 방안**:
46
+ ```bash
47
+ # 간단한 명령어
48
+ aiwf persona activate backend
49
+ aiwf status
50
+ aiwf task done TX001
51
+ ```
52
+
53
+ ---
54
+
55
+ ## 🚀 3주 개발 계획
56
+
57
+ ### Week 1: 프로젝트 정리 및 기초 구축
58
+ #### Day 1-2: 프로젝트 구조 정리
59
+ - [x] 백업 파일 및 중복 파일 제거
60
+ - [x] 언어별 중복 구조 분석
61
+ - [ ] 큰 파일 모듈화 (index.js 1,950줄 → 모듈별 분리)
62
+
63
+ #### Day 3-4: 태스크 인덱스 시스템 설계
64
+ - [ ] JSON 기반 태스크 인덱스 구조 설계
65
+ - [ ] 파일 스캔 및 상태 추출 로직 구현
66
+ - [ ] 무결성 검사 알고리즘 구현
67
+
68
+ #### Day 5-7: CLI 실행 파일 기본 구현
69
+ - [ ] `bin/aiwf` 실행 파일 생성
70
+ - [ ] 기본 명령어 매핑 (`status`, `help`, `version`)
71
+ - [ ] 프로젝트 루트 자동 탐지
72
+
73
+ ### Week 2: 핵심 기능 구현
74
+ #### Day 8-10: 태스크 무결성 시스템
75
+ - [ ] 태스크 상태 추출 및 인덱싱
76
+ - [ ] 불일치 감지 및 리포팅
77
+ - [ ] 자동 수정 제안 시스템
78
+
79
+ #### Day 11-12: 안전한 상태 변경
80
+ - [ ] `aiwf task done/start/block` 명령어
81
+ - [ ] 원자적 파일 업데이트
82
+ - [ ] 롤백 메커니즘
83
+
84
+ #### Day 13-14: 기본 AI 도우미
85
+ - [ ] `aiwf research` - 프로젝트 내 검색
86
+ - [ ] `aiwf plan` - 간단한 계획 도움
87
+ - [ ] 페르소나 기반 응답
88
+
89
+ ### Week 3: 통합 및 완성
90
+ #### Day 15-17: 향상된 사용자 경험
91
+ - [ ] 컬러풀한 출력 및 진행 표시
92
+ - [ ] 에러 메시지 개선
93
+ - [ ] 자동완성 지원
94
+
95
+ #### Day 18-19: 테스트 및 문서화
96
+ - [ ] 통합 테스트 작성
97
+ - [ ] 사용자 가이드 업데이트
98
+ - [ ] 성능 벤치마크
99
+
100
+ #### Day 20-21: 릴리즈 준비
101
+ - [ ] 버전 0.4.0 패키징
102
+ - [ ] 호환성 테스트
103
+ - [ ] 릴리즈 노트 작성
104
+
105
+ ---
106
+
107
+ ## 📊 기술 명세
108
+
109
+ ### 태스크 인덱스 구조
110
+ ```json
111
+ {
112
+ "lastUpdated": "2025-07-16T17:20:00Z",
113
+ "summary": {
114
+ "total": 45,
115
+ "pending": 12,
116
+ "in_progress": 3,
117
+ "completed": 30
118
+ },
119
+ "tasks": {
120
+ "TX001": {
121
+ "file": "04_GENERAL_TASKS/TX001_api_optimization.md",
122
+ "title": "API 최적화",
123
+ "status": "completed",
124
+ "priority": "high",
125
+ "updated": "2025-07-15T10:30:00Z"
126
+ }
127
+ }
128
+ }
129
+ ```
130
+
131
+ ### CLI 명령어 구조
132
+ ```bash
133
+ # 핵심 명령어
134
+ aiwf status # 프로젝트 상태 표시
135
+ aiwf check # 무결성 검사
136
+ aiwf fix # 자동 수정
137
+ aiwf task done TX001 # 태스크 완료
138
+ aiwf task start TX002 # 태스크 시작
139
+ aiwf research "API 최적화" # 프로젝트 내 검색
140
+ aiwf plan "인증 시스템" # 계획 도움
141
+ ```
142
+
143
+ ### 파일 구조 (모듈화)
144
+ ```
145
+ lib/
146
+ ├── installer.js # 설치 관련 로직
147
+ ├── language-detector.js # 언어 감지
148
+ ├── template-manager.js # 템플릿 관리
149
+ ├── task-index.js # 태스크 인덱싱
150
+ ├── integrity-checker.js # 무결성 검사
151
+ └── ai-helper.js # AI 도우미
152
+ ```
153
+
154
+ ---
155
+
156
+ ## ❌ 제거된 오버엔지니어링 항목들
157
+
158
+ ### 제거된 복잡한 기능들
159
+ - ~~SQLite 데이터베이스~~ → JSON 인덱스
160
+ - ~~MCP 서버 통합~~ → 제거
161
+ - ~~고급 웹 대시보드~~ → 터미널 출력
162
+ - ~~병렬 처리 시스템~~ → 제거
163
+ - ~~지능형 자동화~~ → 제거
164
+ - ~~다층 캐싱 시스템~~ → 간단한 메모리 캐시
165
+
166
+ ### 제거 이유
167
+ 1. **복잡성 증가**: 유지보수 비용 증가
168
+ 2. **사용 빈도 낮음**: 실제 사용하지 않을 기능들
169
+ 3. **핵심 문제 해결과 거리멀음**: 태스크 상태 불일치 해결이 우선
170
+ 4. **단순함 추구**: 신뢰할 수 있는 단순함이 목표
171
+
172
+ ---
173
+
174
+ ## 🎯 성공 지표
175
+
176
+ ### 기능성 지표
177
+ - [ ] 태스크 상태 불일치 0% 달성
178
+ - [ ] CLI 명령어 타이핑 50% 감소
179
+ - [ ] 무결성 검사 시간 < 1초
180
+
181
+ ### 사용성 지표
182
+ - [ ] 새 사용자 10분 내 기본 사용 가능
183
+ - [ ] 에러 메시지 이해도 90% 이상
184
+ - [ ] 문서 없이도 직관적 사용 가능
185
+
186
+ ### 신뢰성 지표
187
+ - [ ] 파일 손상 없는 상태 변경
188
+ - [ ] 롤백 성공률 100%
189
+ - [ ] 동시 수정 충돌 방지
190
+
191
+ ---
192
+
193
+ ## 🔧 다음 액션 아이템
194
+
195
+ ### 이번 주 (Week 1)
196
+ 1. **index.js 모듈화**
197
+ ```bash
198
+ mkdir -p lib
199
+ # 1,950줄 파일을 기능별로 분리
200
+ ```
201
+
202
+ 2. **태스크 인덱스 프로토타입**
203
+ ```bash
204
+ # .aiwf/state/task-index.json 생성
205
+ # 기본 스캔 로직 구현
206
+ ```
207
+
208
+ 3. **CLI 실행 파일 기본 구조**
209
+ ```bash
210
+ mkdir -p bin
211
+ touch bin/aiwf
212
+ chmod +x bin/aiwf
213
+ ```
214
+
215
+ ### 핵심 원칙
216
+ - **파일이 진실의 원천**: 인덱스는 캐시일 뿐
217
+ - **언제든 재생성 가능**: 데이터 손실 방지
218
+ - **수동 편집 항상 가능**: 복잡한 GUI 없이
219
+ - **Git으로 모든 변경 추적**: 투명성 보장
220
+
221
+ 이 계획은 **신뢰할 수 있는 단순함**을 추구하며, 실제 사용자가 겪는 핵심 문제를 해결하는 데 집중합니다.
@@ -74,7 +74,6 @@ last_updated: 2025-07-08T18:35:00Z
74
74
  - [x] 한국어/영어 100% 지원
75
75
 
76
76
  ## 태스크 목록
77
-
78
77
  ### AI 도구 통합 (1개 태스크)
79
78
  - [x] [TX_T13_S03: AI 도구 통합 템플릿 개발](TX_T13_S03_AI_도구_통합_템플릿_개발.md)
80
79
 
@@ -4,27 +4,27 @@
4
4
  {
5
5
  "name": "Persona Switching Time",
6
6
  "status": "passed",
7
- "executionTime": 0.3060533329999998,
7
+ "executionTime": 0.303858287,
8
8
  "criteria": "< 2 seconds"
9
9
  },
10
10
  {
11
11
  "name": "Pre-commit Hook Installation",
12
12
  "status": "passed",
13
- "executionTime": 0.0006559580000002824,
13
+ "executionTime": 0.007028295000000071,
14
14
  "criteria": "Hook installed or installable"
15
15
  },
16
16
  {
17
17
  "name": "Multi-language Support",
18
18
  "status": "passed",
19
- "executionTime": 0.0004612090000000535,
19
+ "executionTime": 0.0037783789999994042,
20
20
  "criteria": "Korean/English commands"
21
21
  },
22
22
  {
23
23
  "name": "Performance Baseline",
24
24
  "status": "passed",
25
- "executionTime": 0.05384158300000035,
25
+ "executionTime": 0.0728547009999993,
26
26
  "criteria": "< 5 seconds total",
27
- "actualValue": "0.05s"
27
+ "actualValue": "0.07s"
28
28
  }
29
29
  ],
30
30
  "summary": {
@@ -0,0 +1,283 @@
1
+ # 스프린트에 태스크 추가
2
+
3
+ 기존 스프린트에 새로운 개별 태스크를 추가합니다.
4
+
5
+ ## 사용법
6
+
7
+ ```
8
+ /aiwf:add_task_to_sprint <스프린트ID> <태스크 제목>
9
+ ```
10
+
11
+ 예시:
12
+ - `/aiwf:add_task_to_sprint S03 "API 성능 최적화"`
13
+ - `/aiwf:add_task_to_sprint S03 "데이터베이스 인덱스 추가"`
14
+
15
+ ## 정확히 다음 12개 항목으로 TODO 생성
16
+
17
+ 1. 인수 분석 및 검증
18
+ 2. 대상 스프린트 존재 확인
19
+ 3. 스프린트 컨텍스트 및 목표 심층 분석
20
+ 4. 태스크 적합성 평가 및 사용자 확인
21
+ 5. 기존 태스크 목록 확인 및 중복 검사
22
+ 6. 다음 태스크 번호 결정
23
+ 7. 태스크 상세 내용 작성
24
+ 8. 태스크 파일 생성
25
+ 9. 스프린트 메타 파일 업데이트
26
+ 10. 프로젝트 매니페스트 업데이트
27
+ 11. Git 상태 확인
28
+ 12. 최종 보고 및 다음 단계 안내
29
+
30
+ ## 모든 TODO 항목에 대한 세부사항
31
+
32
+ ### 1. 인수 분석 및 검증
33
+
34
+ 입력 형식: `<스프린트ID> <태스크 제목>`
35
+
36
+ **검증 항목:**
37
+ - 스프린트 ID가 제공되었는지 확인 (예: S01, S02, S03)
38
+ - 태스크 제목이 제공되었는지 확인
39
+ - 태스크 제목이 따옴표로 묶여있다면 제거
40
+ - 비어있는 경우 사용자에게 올바른 형식 요청
41
+
42
+ ### 2. 대상 스프린트 존재 확인
43
+
44
+ **확인 단계:**
45
+ - `.aiwf/03_SPRINTS/` 디렉토리에서 해당 스프린트 폴더 확인
46
+ - 스프린트 메타 파일 존재 확인 (`S##_M##_sprint_meta.md`)
47
+ - 스프린트 상태 확인 (completed가 아닌지)
48
+ - 존재하지 않으면 오류 메시지와 함께 중단
49
+
50
+ ### 3. 스프린트 컨텍스트 및 목표 심층 분석
51
+
52
+ **병렬 서브에이전트**를 사용하여 다음 내용을 상세히 분석:
53
+
54
+ 1. **스프린트 메타 파일 완전 분석**
55
+ - 스프린트 목표 및 범위 파악
56
+ - 예상 결과물(Deliverables) 확인
57
+ - 스프린트 성공 기준 이해
58
+ - 현재 진행 상황 및 남은 작업 파악
59
+
60
+ 2. **마일스톤 컨텍스트 확인**
61
+ - 관련 마일스톤 파일에서 상위 목표 확인
62
+ - 마일스톤 성공 기준과의 정렬성 검토
63
+ - 다른 스프린트와의 연관성 파악
64
+
65
+ 3. **기술적 제약사항 검토**
66
+ - `.aiwf/01_PROJECT_DOCS/ARCHITECTURE.md` 분석
67
+ - `.aiwf/05_ARCHITECTURAL_DECISIONS/` ADR 확인
68
+ - 기존 기술 스택 및 패턴 이해
69
+
70
+ 4. **분석 결과 정리**
71
+ - 스프린트의 핵심 목표 3-5개 도출
72
+ - 허용되는 작업 범위 명확화
73
+ - 제외되어야 할 작업 유형 식별
74
+
75
+ ### 4. 태스크 적합성 평가 및 사용자 확인
76
+
77
+ **태스크 적합성 심층 평가:**
78
+
79
+ 1. **스프린트 목표와의 정렬성 검사**
80
+ - 제안된 태스크가 스프린트 목표에 직접적으로 기여하는가?
81
+ - 스프린트 범위를 벗어나지 않는가?
82
+ - 마일스톤 목표와 일치하는가?
83
+
84
+ 2. **기존 태스크와의 관계 분석**
85
+ - 중복되는 태스크가 있는가?
86
+ - 다른 태스크와 충돌하거나 상충되는가?
87
+ - 선행 태스크가 필요한가?
88
+
89
+ 3. **우선순위 및 복잡도 평가**
90
+ - 현재 스프린트 내에서 완료 가능한가?
91
+ - 다른 태스크보다 우선순위가 높은가?
92
+ - 예상 작업량이 적절한가?
93
+
94
+ 4. **사용자에게 분석 결과 제시**
95
+ ```
96
+ 📊 태스크 적합성 분석 결과:
97
+
98
+ 🎯 스프린트 목표: [스프린트 핵심 목표]
99
+ 📋 제안된 태스크: [태스크 제목]
100
+
101
+ ✅ 적합성 평가:
102
+ - 목표 정렬성: [상/중/하] - [이유]
103
+ - 범위 적절성: [적합/경계/벗어남] - [설명]
104
+ - 우선순위: [높음/보통/낮음] - [근거]
105
+ - 예상 복잡도: [낮음/보통/높음]
106
+
107
+ 🔍 관련 태스크:
108
+ - [기존 태스크 목록 중 관련된 것들]
109
+
110
+ 💡 권장사항:
111
+ [태스크 추가를 권장하는지, 수정이 필요한지, 다른 스프린트가 적합한지 등]
112
+
113
+ 계속 진행하시겠습니까? (Y/N)
114
+ ```
115
+
116
+ 5. **사용자 확인 처리**
117
+ - Y: 태스크 추가 진행
118
+ - N: 취소하고 대안 제시
119
+ - 수정 제안 시: 새로운 태스크 제목으로 재평가
120
+
121
+ ### 5. 기존 태스크 목록 확인 및 중복 검사
122
+
123
+ **상세한 중복 및 충돌 검사:**
124
+ - 스프린트 디렉토리 내 모든 태스크 파일 스캔
125
+ - 제목 및 내용 기반 유사도 검사
126
+ - 기능적 중복 여부 확인
127
+ - 관련 태스크 그룹핑 제안
128
+
129
+ ### 6. 다음 태스크 번호 결정
130
+
131
+ **태스크 번호 할당:**
132
+ - 기존 태스크 번호 파악
133
+ - 순차적 번호 할당 (T01, T02...)
134
+ - 파일명 형식: `T##_S##_<제목_언더스코어>.md`
135
+
136
+ ### 7. 태스크 상세 내용 작성
137
+
138
+ **스프린트 분석 결과를 바탕으로 태스크 내용 구체화:**
139
+
140
+ 1. **태스크 개요 작성**
141
+ - 스프린트 목표와의 연관성 명시
142
+ - 구체적인 작업 범위 정의
143
+ - 예상 결과물 설명
144
+
145
+ 2. **요구사항 도출**
146
+ - 스프린트 목표에서 파생된 구체적 요구사항
147
+ - 기술적 제약사항 반영
148
+ - 측정 가능한 완료 조건
149
+
150
+ 3. **기술 가이드라인 구체화**
151
+ - 관련 ADR 참조
152
+ - 사용해야 할 기존 패턴/컴포넌트
153
+ - 준수해야 할 코딩 표준
154
+
155
+ 4. **구현 전략 수립**
156
+ - 단계별 구현 접근법
157
+ - 예상되는 기술적 도전과제
158
+ - 리스크 및 대응 방안
159
+
160
+ ### 8. 태스크 파일 생성
161
+
162
+ **파일 위치:** `.aiwf/03_SPRINTS/S##_M##_<name>/T##_S##_<title>.md`
163
+
164
+ **내용 포함:**
165
+ ```markdown
166
+ # T##: [태스크 제목]
167
+
168
+ **스프린트**: S## - [스프린트 이름]
169
+ **생성일**: YYYY-MM-DD HH:MM
170
+ **상태**: pending
171
+ **우선순위**: medium
172
+ **예상 시간**: TBD
173
+
174
+ ## 개요
175
+ [태스크에 대한 간단한 설명]
176
+
177
+ ## 요구사항
178
+ - [ ] [구체적인 요구사항 1]
179
+ - [ ] [구체적인 요구사항 2]
180
+ - [ ] [구체적인 요구사항 3]
181
+
182
+ ## 승인 기준
183
+ - [ ] [완료 조건 1]
184
+ - [ ] [완료 조건 2]
185
+ - [ ] [완료 조건 3]
186
+
187
+ ## 기술 가이드라인
188
+ - [관련 아키텍처 결정 참조]
189
+ - [기존 코드베이스 패턴 참조]
190
+ - [사용할 기술 스택]
191
+
192
+ ## 구현 노트
193
+ - [구현 시 고려사항]
194
+ - [잠재적 리스크]
195
+ - [테스트 전략]
196
+
197
+ ## 참조
198
+ - [관련 문서나 코드 링크]
199
+ ```
200
+
201
+ ### 9. 스프린트 메타 파일 업데이트
202
+
203
+ 스프린트 메타 파일의 태스크 섹션 업데이트:
204
+ - 새로운 태스크를 목록에 추가
205
+ - 전체 태스크 수 업데이트
206
+ - 진행률은 그대로 유지 (새 태스크는 pending)
207
+
208
+ ### 10. 프로젝트 매니페스트 업데이트
209
+
210
+ `.aiwf/00_PROJECT_MANIFEST.md` 업데이트:
211
+ - "활성 태스크" 섹션에 새 태스크 추가
212
+ - 태스크 통계 업데이트
213
+ - 최종 업데이트 시간 변경
214
+
215
+ ### 11. Git 상태 확인
216
+
217
+ **확인 사항:**
218
+ - 작업 디렉토리가 깨끗한지 확인
219
+ - 새로 생성된 파일 표시
220
+ - 수정된 파일 목록 제공
221
+
222
+ ### 12. 최종 보고 및 다음 단계 안내
223
+
224
+ **상세한 보고서 제공:**
225
+ ```
226
+ ✅ 태스크 추가 완료!
227
+
228
+ 📊 태스크 분석 요약:
229
+ - 스프린트 정렬성: [평가 결과]
230
+ - 우선순위: [설정된 우선순위]
231
+ - 예상 복잡도: [복잡도]
232
+ - 관련 태스크: [연관 태스크 목록]
233
+
234
+ 📄 생성된 파일: T##_S##_<title>.md
235
+ 🏃 스프린트: S## - [스프린트 이름]
236
+ 📋 태스크: T## - [태스크 제목]
237
+ ⏱️ 상태: pending
238
+
239
+ 📝 다음 단계:
240
+ 1. 태스크 파일을 열어 생성된 내용 검토
241
+ 2. 필요시 세부사항 추가 작성
242
+ 3. `/aiwf:do_task T##`로 작업 시작
243
+ 4. 완료 후 `/aiwf:update_task_status T## completed` 실행
244
+
245
+ 💡 팁:
246
+ - 태스크 목록 확인: `/aiwf:list_sprint_tasks S##`
247
+ - 태스크 상세 보기: `/aiwf:view_task T##`
248
+ - 관련 태스크 확인: [관련 태스크 번호들]
249
+ ```
250
+
251
+ **출력 형식:**
252
+ ```
253
+ ✅ 태스크 추가 완료!
254
+
255
+ 📄 생성된 파일: T##_S##_<title>.md
256
+ 🏃 스프린트: S## - [스프린트 이름]
257
+ 📋 태스크: T## - [태스크 제목]
258
+ ⏱️ 상태: pending
259
+
260
+ 📝 다음 단계:
261
+ 1. 태스크 파일을 열어 세부사항 작성
262
+ 2. `/aiwf:do_task T##`로 작업 시작
263
+ 3. 완료 후 `/aiwf:update_task_status T## completed` 실행
264
+
265
+ 💡 팁: 태스크 목록 확인은 `/aiwf:list_sprint_tasks S##`
266
+ ```
267
+
268
+ ## 주의사항
269
+
270
+ - **스프린트 적합성**: 태스크가 스프린트 목표에 부합하는지 반드시 검증
271
+ - **중복 방지**: 기존 태스크와의 중복 또는 충돌 확인
272
+ - **범위 관리**: 스프린트 범위를 벗어나는 태스크는 다른 스프린트로 안내
273
+ - **완료 가능성**: 현재 스프린트 기간 내 완료 가능한 작업인지 평가
274
+ - **의존성 확인**: 다른 태스크와의 의존 관계 파악 및 명시
275
+ - **품질 기준**: 태스크 설명은 구체적이고 측정 가능해야 함
276
+
277
+ ## 분석 중심 접근법의 이점
278
+
279
+ 1. **목표 정렬**: 모든 태스크가 스프린트 목표에 직접 기여
280
+ 2. **중복 방지**: 유사하거나 중복된 작업 사전 차단
281
+ 3. **품질 향상**: 상세한 분석으로 태스크 품질 개선
282
+ 4. **시간 절약**: 부적절한 태스크로 인한 재작업 방지
283
+ 5. **투명성**: 태스크 추가 근거와 맥락 명확화