aiwf 0.3.2 → 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 (214) hide show
  1. package/.aiwf/config/language.json +1 -1
  2. package/.aiwf/installed.flag +1 -0
  3. package/.aiwf/sessions/session_1752877859489_1t7n2fhdb.json +7 -0
  4. package/.aiwf/sessions/session_1752877859515_cwdv211ry.json +7 -0
  5. package/.aiwf/sessions/session_1752877860664_huziadmbo.json +7 -0
  6. package/.aiwf/sessions/session_1752877860666_kyr5u1np6.json +7 -0
  7. package/.aiwf/sessions/session_1752877861848_9yinepw3t.json +7 -0
  8. package/.aiwf/sessions/session_1752877861874_y32sputuc.json +7 -0
  9. package/.aiwf/sessions/session_1752877862685_ivxbl5rhz.json +7 -0
  10. package/.aiwf/sessions/session_1752877862820_wnq4glvxi.json +7 -0
  11. package/.aiwf/sessions/session_1752877864632_3ebnpaelb.json +7 -0
  12. package/.aiwf/sessions/session_1752877864879_b9zgjcb7d.json +7 -0
  13. package/.aiwf/sessions/session_1752877865533_x14m1vodi.json +7 -0
  14. package/.aiwf/sessions/session_1752877865562_gkoh19n7d.json +7 -0
  15. package/.aiwf/sessions/session_1752877866333_wp8qpdcoh.json +7 -0
  16. package/.aiwf/sessions/session_1752877866509_dawntfpab.json +7 -0
  17. package/.aiwf/sessions/session_1752877866890_plc5vfucl.json +7 -0
  18. package/.aiwf/sessions/session_1752877866895_ga8hmq3oi.json +7 -0
  19. package/.aiwf/sessions/session_1752877867761_ayjp4v5f5.json +7 -0
  20. package/.aiwf/sessions/session_1752877867892_lfz6jy252.json +7 -0
  21. package/.aiwf/sessions/session_1752877868139_7bqd9ubli.json +7 -0
  22. package/.aiwf/sessions/session_1752877868162_zq3ofjbsh.json +7 -0
  23. package/.aiwf/sessions/session_1752877869054_7rlgm9jt6.json +7 -0
  24. package/.aiwf/sessions/session_1752877869477_ax3nhbxzr.json +7 -0
  25. package/.aiwf/sessions/session_1752877870095_6hgp4vl1e.json +7 -0
  26. package/.aiwf/sessions/session_1752877870381_qfcrdg4li.json +7 -0
  27. package/.aiwf/sessions/session_1752877871895_pgd5vllhz.json +7 -0
  28. package/.aiwf/sessions/session_1752877872199_jbhv2g2da.json +7 -0
  29. package/.aiwf/sessions/session_1752877872680_x04wpffu6.json +7 -0
  30. package/.aiwf/sessions/session_1752877872895_3y4vbeauo.json +7 -0
  31. package/.aiwf/sessions/session_1752877873178_3maolzc6b.json +7 -0
  32. package/.aiwf/sessions/session_1752877873180_ytm83j07f.json +7 -0
  33. package/.aiwf/sessions/session_1752877874217_dp56c9t42.json +7 -0
  34. package/.aiwf/sessions/session_1752877874415_epwp1g1og.json +7 -0
  35. package/.aiwf/sessions/session_1752877874454_heicyuryb.json +7 -0
  36. package/.aiwf/sessions/session_1752877874869_1c2illeu5.json +7 -0
  37. package/.aiwf/sessions/session_1752877874879_k1vo4vxyx.json +7 -0
  38. package/.aiwf/sessions/session_1752877874913_bwgyiz9bp.json +7 -0
  39. package/.aiwf/sessions/session_1752877876218_44807kztz.json +7 -0
  40. package/.aiwf/sessions/session_1752877876515_qkhjv5kpw.json +7 -0
  41. package/.aiwf/sessions/session_1752877876543_p605aud1m.json +7 -0
  42. package/.aiwf/sessions/session_1752877876819_l65w7ifck.json +7 -0
  43. package/.aiwf/sessions/session_1752877876867_xrhzss4we.json +7 -0
  44. package/.aiwf/sessions/session_1752877876872_u7aso54qb.json +7 -0
  45. package/.aiwf/sessions/session_1752877877705_telnfg4o6.json +7 -0
  46. package/.aiwf/sessions/session_1752877878285_6s45im2ib.json +7 -0
  47. package/.aiwf/sessions/session_1752877878506_v0dvguqhz.json +7 -0
  48. package/.aiwf/sessions/session_1752877878581_3ri3yc66a.json +7 -0
  49. package/.aiwf/sessions/session_1752877878756_a82x9s2pd.json +7 -0
  50. package/.aiwf/sessions/session_1752877878886_20pjsfour.json +7 -0
  51. package/.aiwf/sessions/session_1752877880266_fm1ydjw0g.json +7 -0
  52. package/.aiwf/sessions/session_1752877881149_xbat4z03d.json +7 -0
  53. package/.aiwf/sessions/session_1752877881551_qy5sic9qs.json +7 -0
  54. package/.aiwf/sessions/session_1752877881554_24ugd96wu.json +7 -0
  55. package/.aiwf/sessions/session_1752877881797_e9mm25uh0.json +7 -0
  56. package/.aiwf/sessions/session_1752877881822_bxvjj8c9g.json +7 -0
  57. package/.aiwf/sessions/session_1752877881890_jv7l6jve3.json +7 -0
  58. package/.aiwf/sessions/session_1752877881991_f0qugdtcq.json +7 -0
  59. package/.aiwf/sessions/session_1752877883387_0bvw9rvnx.json +7 -0
  60. package/.aiwf/sessions/session_1752877883820_q6g2md2up.json +7 -0
  61. package/.aiwf/sessions/session_1752877884393_sqr7trvjl.json +7 -0
  62. package/.aiwf/sessions/session_1752877884500_whtypmzlf.json +7 -0
  63. package/.aiwf/sessions/session_1752877884645_y9mvvxli1.json +7 -0
  64. package/.aiwf/sessions/session_1752877884733_hk46eenel.json +7 -0
  65. package/.aiwf/sessions/session_1752877884738_c62j6214r.json +7 -0
  66. package/.aiwf/sessions/session_1752877884771_temhxehoz.json +7 -0
  67. package/.aiwf/sessions/session_1752877885643_6v5fcktc7.json +7 -0
  68. package/.aiwf/sessions/session_1752877886426_ee8di2fqh.json +7 -0
  69. package/.aiwf/sessions/session_1752877886549_3xj6tdoew.json +7 -0
  70. package/.aiwf/sessions/session_1752877886604_aj80yyfco.json +7 -0
  71. package/.aiwf/sessions/session_1752877886702_2b8841vyg.json +7 -0
  72. package/.aiwf/sessions/session_1752877886712_ntqc8b8bz.json +7 -0
  73. package/.aiwf/sessions/session_1752877886968_946m8tbw6.json +7 -0
  74. package/.aiwf/sessions/session_1752877887008_wg6zfg8dn.json +7 -0
  75. package/.aiwf/sessions/session_1752877888479_ciiu2qiqs.json +7 -0
  76. package/.aiwf/sessions/session_1752877889330_ravg8l66k.json +7 -0
  77. package/.aiwf/sessions/session_1752877889542_7zepkhjkc.json +7 -0
  78. package/.aiwf/sessions/session_1752877889638_ev4htqiu0.json +7 -0
  79. package/.aiwf/sessions/session_1752877889956_szphy2qma.json +7 -0
  80. package/.aiwf/sessions/session_1752877890220_o6aaa57tt.json +7 -0
  81. package/.aiwf/sessions/session_1752877890527_v2loy5vu1.json +7 -0
  82. package/.aiwf/sessions/session_1752877890572_cwq8fiuma.json +7 -0
  83. package/.aiwf/sessions/session_1752877892200_sgcwq1alt.json +7 -0
  84. package/.aiwf/sessions/session_1752877892268_v8kexpbc5.json +7 -0
  85. package/.aiwf/sessions/session_1752877892384_1gbbgrp4y.json +7 -0
  86. package/.aiwf/sessions/session_1752877893568_9p2n5p31a.json +7 -0
  87. package/.aiwf/sessions/session_1752877893727_un34a5tvp.json +7 -0
  88. package/.aiwf/sessions/session_1752877893778_01j79sw9i.json +7 -0
  89. package/.aiwf/sessions/session_1752877894053_jrhba6wko.json +7 -0
  90. package/.aiwf/sessions/session_1752877894082_x3bghawox.json +7 -0
  91. package/.aiwf/sessions/session_1752877894500_iytiav2ku.json +7 -0
  92. package/.aiwf/sessions/session_1752877894667_ucn0gc2ge.json +7 -0
  93. package/.aiwf/test-results-s02.json +4 -4
  94. package/.claude/commands/aiwf/aiwf_changelog.md +82 -0
  95. package/.claude/commands/aiwf/aiwf_code_review.md +88 -0
  96. package/.claude/commands/aiwf/aiwf_commit.md +160 -0
  97. package/.claude/commands/aiwf/aiwf_compress_context.md +116 -0
  98. package/.claude/commands/aiwf/aiwf_create_feature_ledger.md +54 -0
  99. package/.claude/commands/aiwf/aiwf_create_general_task.md +147 -0
  100. package/.claude/commands/aiwf/aiwf_create_milestone_plan.md +194 -0
  101. package/.claude/commands/aiwf/aiwf_create_prd.md +280 -0
  102. package/.claude/commands/aiwf/aiwf_create_sprint_tasks.md +189 -0
  103. package/.claude/commands/aiwf/aiwf_create_sprints_from_milestone.md +121 -0
  104. package/.claude/commands/aiwf/aiwf_default_mode.md +44 -0
  105. package/.claude/commands/aiwf/aiwf_discuss_review.md +29 -0
  106. package/.claude/commands/aiwf/aiwf_do_task.md +109 -0
  107. package/.claude/commands/aiwf/aiwf_docs.md +225 -0
  108. package/.claude/commands/aiwf/aiwf_get_feature_details.md +78 -0
  109. package/.claude/commands/aiwf/aiwf_infinite.md +202 -0
  110. package/.claude/commands/aiwf/aiwf_initialize.md +134 -0
  111. package/.claude/commands/aiwf/aiwf_issue_create.md +65 -0
  112. package/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +57 -0
  113. package/.claude/commands/aiwf/aiwf_list_features.md +54 -0
  114. package/.claude/commands/aiwf/aiwf_mermaid.md +272 -0
  115. package/.claude/commands/aiwf/aiwf_persona_architect.md +48 -0
  116. package/.claude/commands/aiwf/aiwf_persona_backend.md +37 -0
  117. package/.claude/commands/aiwf/aiwf_persona_data_analyst.md +37 -0
  118. package/.claude/commands/aiwf/aiwf_persona_frontend.md +37 -0
  119. package/.claude/commands/aiwf/aiwf_persona_security.md +48 -0
  120. package/.claude/commands/aiwf/aiwf_persona_status.md +50 -0
  121. package/.claude/commands/aiwf/aiwf_pr_create.md +76 -0
  122. package/.claude/commands/aiwf/aiwf_prime.md +9 -0
  123. package/.claude/commands/aiwf/aiwf_project_review.md +261 -0
  124. package/.claude/commands/aiwf/aiwf_switch_language.md +160 -0
  125. package/.claude/commands/aiwf/aiwf_test.md +124 -0
  126. package/.claude/commands/aiwf/aiwf_testing_review.md +198 -0
  127. package/.claude/commands/aiwf/aiwf_tm-run-all-subtask.md +210 -0
  128. package/.claude/commands/aiwf/aiwf_ultrathink_code_advanced.md +460 -0
  129. package/.claude/commands/aiwf/aiwf_ultrathink_code_basic.md +165 -0
  130. package/.claude/commands/aiwf/aiwf_ultrathink_general.md +305 -0
  131. package/.claude/commands/aiwf/aiwf_update_docs_kr.md +25 -0
  132. package/.claude/commands/aiwf/aiwf_update_feature_status.md +53 -0
  133. package/.claude/commands/aiwf/aiwf_yolo.md +300 -0
  134. package/.eslintrc.json +26 -0
  135. package/.prettierrc +10 -0
  136. package/CLAUDE.md +154 -54
  137. package/README.ko.md +25 -0
  138. package/README.md +25 -0
  139. package/TEST_RECOVERY_PLAN.md +68 -0
  140. package/docs/CLEANUP_RECOMMENDATIONS.md +86 -0
  141. package/docs/CLI_USAGE_GUIDE.md +479 -0
  142. package/package.json +9 -9
  143. package/scripts/update-feature-status.js +70 -0
  144. package/{lib → src/cli}/cache-cli.js +4 -4
  145. package/src/cli/index.js +165 -0
  146. package/{language-cli.js → src/cli/language-cli.js} +11 -4
  147. package/src/commands/cache-templates.js +209 -0
  148. package/src/commands/create-offline.js +86 -0
  149. package/src/commands/create-project.js +151 -0
  150. package/src/lib/backup-manager.js +270 -0
  151. package/src/lib/file-downloader.js +208 -0
  152. package/src/lib/installer.js +676 -0
  153. package/src/lib/rollback-manager.js +418 -0
  154. package/src/lib/validator.js +561 -0
  155. package/src/utils/git-integration.js +173 -0
  156. package/{language-utils.js → src/utils/language-utils.js} +2 -1
  157. package/src/utils/messages.js +136 -0
  158. package/src/utils/paths.js +130 -0
  159. package/tests/application.test.js +2 -2
  160. package/tests/installer.test.js +2 -2
  161. package/tests/integration/ai-persona-system.test.js +4 -4
  162. package/tests/integration/test-persona-system/docs/README.md +1 -0
  163. package/tests/integration/test-persona-system/package.json +1 -0
  164. package/tests/integration/test-persona-system/src/auth.js +1 -0
  165. package/tests/integration/test-persona-system/src/index.js +1 -0
  166. package/tests/integration/test-persona-system/test/test.js +1 -0
  167. package/tests/language-utils.test.js +1 -1
  168. package/tests/temp_invalid_json/invalid.json +1 -0
  169. package/tests/unit/ai-persona-manager.test.js +7 -7
  170. package/.aiwf/05_DOCUMENTATION/performance-report.md +0 -33
  171. package/.aiwf/test-cache/86c7f9e80251abb8bedd58953ab0d1779e46b4f43ea33b63bffdb778106373b0.json +0 -6
  172. package/.aiwf/test-cache/9e252a90b80fce0585d7ed0646e7a9b4343e109f661f42a3ae678ba1ec5e22c7.json +0 -7
  173. package/.aiwf/token-data/alerts.json +0 -293
  174. package/.aiwf/token-data/monitor-config.json +0 -12
  175. package/CHANGELOG_M02.md +0 -52
  176. package/claude-code/aiwf/ko/bin/aiwf-create.js +0 -56
  177. package/claude-code/aiwf/ko/bin/aiwf.js +0 -21
  178. package/claude-code/aiwf/ko/docs/00_PROJECT_MANIFEST.md +0 -183
  179. package/claude-code/aiwf/ko/docs/ARCHITECTURE.md +0 -121
  180. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_ADVANCED_USE_CASES.md +0 -412
  181. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_API_REFERENCE.md +0 -361
  182. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_COMMANDS_GUIDE.md +0 -254
  183. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_FAQ.md +0 -365
  184. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_SYSTEM_OVERVIEW.md +0 -305
  185. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_USER_GUIDE.md +0 -416
  186. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_/354/213/234/354/236/221_/352/260/200/354/235/264/353/223/234.md +0 -247
  187. package/claude-code/aiwf/ko/token-data/alerts.json +0 -293
  188. package/claude-code/aiwf/ko/token-data/monitor-config.json +0 -12
  189. package/docs/m02-dod-checklist.md +0 -125
  190. package/docs/m02-gap-analysis.md +0 -214
  191. package/docs/m02-milestone-completion-report.md +0 -186
  192. package/docs/m02-milestone-executive-summary.md +0 -68
  193. package/index.js +0 -1947
  194. package/lib/cache-integration.js +0 -401
  195. package/lib/file-batch-processor.js +0 -401
  196. package/lib/performance-benchmark.js +0 -621
  197. package/lib/template-manager.js +0 -310
  198. package/scripts/validate-commands.cjs +0 -338
  199. /package/{.aiwf/.claude → .claude}/commands/aiwf/aiwf_compress_aggressive_persona.md +0 -0
  200. /package/{.aiwf/.claude → .claude}/commands/aiwf/aiwf_compress_minimal_persona.md +0 -0
  201. /package/{.aiwf/.claude → .claude}/commands/aiwf/aiwf_compress_stats.md +0 -0
  202. /package/{.aiwf/.claude → .claude}/commands/aiwf/aiwf_compress_with_persona.md +0 -0
  203. /package/{.aiwf/.claude → .claude}/commands/aiwf/aiwf_evaluate.md +0 -0
  204. /package/{lib → src/lib}/ai-persona-manager.js +0 -0
  205. /package/{lib → src/lib}/cache-system.js +0 -0
  206. /package/{lib → src/lib}/context-engine.js +0 -0
  207. /package/{lib → src/lib}/memory-profiler.js +0 -0
  208. /package/{lib → src/lib}/metrics-collector.js +0 -0
  209. /package/{lib → src/lib}/offline-detector.js +0 -0
  210. /package/{lib → src/lib}/task-analyzer.js +0 -0
  211. /package/{lib → src/lib}/template-cache-system.js +0 -0
  212. /package/{lib → src/lib}/template-downloader.js +0 -0
  213. /package/{lib → src/lib}/template-version-manager.js +0 -0
  214. /package/{lib → src/lib}/token-optimizer.js +0 -0
@@ -1,365 +0,0 @@
1
- # Feature Ledger FAQ & Troubleshooting Guide
2
-
3
- ## 자주 묻는 질문 (FAQ)
4
-
5
- ### 일반 질문
6
-
7
- #### Q: Feature Ledger와 일반 Task의 차이점은 무엇인가요?
8
-
9
- **A:** Feature Ledger는 더 큰 범위의 기능 개발을 추적합니다:
10
-
11
- | 항목 | Feature Ledger | Task |
12
- |------|----------------|------|
13
- | 범위 | 전체 기능 (1-2주) | 단일 작업 (1-2일) |
14
- | 추적 | Git, PR, 진행률 | 완료 여부 |
15
- | 팀 | 여러 명 가능 | 보통 1명 |
16
- | 출력물 | 배포 가능한 기능 | 코드 변경 |
17
-
18
- #### Q: Feature ID는 어떻게 생성되나요?
19
-
20
- **A:** Feature ID는 자동으로 순차 생성됩니다:
21
- - 형식: `FL###` (FL001, FL002, ...)
22
- - 재사용 불가
23
- - 삭제된 ID도 재사용하지 않음
24
- - 수동 지정 불가
25
-
26
- #### Q: 완료된 Feature를 다시 활성화할 수 있나요?
27
-
28
- **A:** 아니요, 완료된 Feature는 다시 활성화할 수 없습니다. 추가 작업이 필요한 경우:
29
- 1. 새로운 Feature를 생성하여 개선 사항 추적
30
- 2. 원본 Feature를 참조 (`depends_on: [FL001]`)
31
- 3. 명확한 범위로 새 작업 정의
32
-
33
- #### Q: Feature와 GitHub Issue를 어떻게 연결하나요?
34
-
35
- **A:** 여러 방법이 있습니다:
36
-
37
- 1. **자동 연결**: PR 제목에 Feature ID 포함
38
- ```
39
- feat(FL001): Implement user authentication
40
- ```
41
-
42
- 2. **수동 연결**: 명령어 사용
43
- ```bash
44
- /project:aiwf:link_feature_issue FL001 #42
45
- ```
46
-
47
- 3. **Issue 본문에 참조**:
48
- ```markdown
49
- Related Feature: FL001
50
- ```
51
-
52
- ### 사용법 질문
53
-
54
- #### Q: 여러 스프린트에 걸친 Feature는 어떻게 관리하나요?
55
-
56
- **A:** `sprint_ids` 배열을 사용합니다:
57
-
58
- ```yaml
59
- sprint_ids: [S01_M02, S02_M02, S03_M02]
60
- ```
61
-
62
- 각 스프린트에서:
63
- 1. 해당 스프린트의 작업만 Task로 생성
64
- 2. Feature 진행률은 전체 기준으로 업데이트
65
- 3. 스프린트별 진행 상황을 Progress Log에 기록
66
-
67
- #### Q: Feature 진행률은 어떻게 계산하나요?
68
-
69
- **A:** 세 가지 방법이 있습니다:
70
-
71
- 1. **수동 업데이트**:
72
- ```bash
73
- /project:aiwf:update_feature_progress FL001 75
74
- ```
75
-
76
- 2. **체크리스트 기반**:
77
- ```
78
- 완료 항목 / 전체 항목 × 100
79
- ```
80
-
81
- 3. **연결된 Task 기반**:
82
- ```
83
- 완료 Task / 전체 Task × 100
84
- ```
85
-
86
- #### Q: Feature 템플릿을 커스터마이징할 수 있나요?
87
-
88
- **A:** 네, 가능합니다:
89
-
90
- 1. 기본 템플릿 복사:
91
- ```bash
92
- cp .aiwf/99_TEMPLATES/feature_template.md .aiwf/99_TEMPLATES/my_feature_template.md
93
- ```
94
-
95
- 2. 템플릿 수정
96
-
97
- 3. 사용:
98
- ```bash
99
- /project:aiwf:create_feature_ledger new_feature --template my_feature_template
100
- ```
101
-
102
- ### 통합 질문
103
-
104
- #### Q: CI/CD 파이프라인과 어떻게 통합하나요?
105
-
106
- **A:** GitHub Actions 예제:
107
-
108
- ```yaml
109
- - name: Update Feature on Deploy
110
- if: success()
111
- run: |
112
- FEATURE_ID=$(git log -1 --pretty=%B | grep -oP 'FL\d{3}')
113
- if [ ! -z "$FEATURE_ID" ]; then
114
- npx aiwf update_feature_progress $FEATURE_ID 90 --comment "Deployed to staging"
115
- fi
116
- ```
117
-
118
- #### Q: 여러 저장소에서 하나의 Feature를 작업할 때는?
119
-
120
- **A:** Cross-repo Feature 추적:
121
-
122
- 1. 메인 저장소에 Feature Ledger 생성
123
- 2. 다른 저장소에서 커밋 시 Feature ID 참조
124
- 3. 정기적으로 동기화:
125
- ```bash
126
- /project:aiwf:feature_sync --cross-repo
127
- ```
128
-
129
- ## 문제 해결 가이드
130
-
131
- ### 일반적인 오류
132
-
133
- #### Error E001: Feature ID not found
134
-
135
- **증상**:
136
- ```
137
- Error E001: Feature ID 'FL099' not found
138
- ```
139
-
140
- **원인**:
141
- - 잘못된 Feature ID
142
- - Feature가 다른 디렉토리에 있음
143
-
144
- **해결**:
145
- ```bash
146
- # 올바른 ID 확인
147
- cat .aiwf/06_FEATURE_LEDGERS/FEATURE_LEDGER_INDEX.md
148
-
149
- # 모든 Feature 검색
150
- find .aiwf/06_FEATURE_LEDGERS -name "*.md" | grep -v INDEX
151
- ```
152
-
153
- #### Error E002: Invalid status transition
154
-
155
- **증상**:
156
- ```
157
- Error E002: Cannot transition from 'completed' to 'active'
158
- ```
159
-
160
- **원인**:
161
- - 허용되지 않는 상태 전환
162
- - Feature가 이미 archived 상태
163
-
164
- **해결**:
165
- 1. 현재 상태 확인
166
- 2. [상태 전이 다이어그램](./FEATURE_LEDGER_SYSTEM_OVERVIEW.md#상태-전이-다이어그램) 참조
167
- 3. 필요시 새 Feature 생성
168
-
169
- #### Error E003: Duplicate feature ID
170
-
171
- **증상**:
172
- ```
173
- Error E003: Feature ID 'FL001' already exists
174
- ```
175
-
176
- **원인**:
177
- - ID 생성 시퀀스 오류
178
- - 수동으로 파일 생성
179
-
180
- **해결**:
181
- ```bash
182
- # 인덱스 재구성
183
- /project:aiwf:feature_index --rebuild
184
-
185
- # 다음 가용 ID 확인
186
- /project:aiwf:feature_next_id
187
- ```
188
-
189
- ### Git 통합 문제
190
-
191
- #### 브랜치 생성 실패
192
-
193
- **증상**:
194
- ```
195
- Failed to create branch: feature/FL001-user-auth
196
- ```
197
-
198
- **원인**:
199
- - 브랜치가 이미 존재
200
- - Git 저장소가 아님
201
- - 권한 부족
202
-
203
- **해결**:
204
- ```bash
205
- # 기존 브랜치 확인
206
- git branch -a | grep FL001
207
-
208
- # 강제 생성
209
- /project:aiwf:feature_branch FL001 create --force
210
-
211
- # 수동 생성
212
- git checkout -b feature/FL001-user-auth
213
- ```
214
-
215
- #### 커밋 연결 안 됨
216
-
217
- **증상**: 커밋했는데 Feature에 반영되지 않음
218
-
219
- **원인**:
220
- - 커밋 메시지에 Feature ID 없음
221
- - 자동 동기화 비활성화
222
-
223
- **해결**:
224
- ```bash
225
- # 수동 연결
226
- /project:aiwf:link_feature_commit FL001 --commit HEAD
227
-
228
- # 자동 동기화 활성화
229
- export AIWF_AUTO_SYNC=true
230
- ```
231
-
232
- ### 성능 문제
233
-
234
- #### 대시보드 생성이 느림
235
-
236
- **증상**: Feature가 많을 때 대시보드 생성 지연
237
-
238
- **해결**:
239
- ```bash
240
- # 캐시 재구성
241
- /project:aiwf:feature_cache --rebuild
242
-
243
- # 특정 범위만 표시
244
- /project:aiwf:feature_dashboard --limit 50 --status active
245
- ```
246
-
247
- #### 검색이 느림
248
-
249
- **증상**: Feature 검색 시 응답 지연
250
-
251
- **해결**:
252
- ```bash
253
- # 인덱스 최적화
254
- /project:aiwf:feature_index --optimize
255
-
256
- # 검색 범위 제한
257
- /project:aiwf:feature_search "query" --status active --limit 20
258
- ```
259
-
260
- ### 데이터 복구
261
-
262
- #### Feature 파일 손상
263
-
264
- **증상**: Feature 파일을 열 수 없음
265
-
266
- **해결**:
267
- ```bash
268
- # 백업에서 복구
269
- cp .aiwf/backups/FL001_*.md .aiwf/06_FEATURE_LEDGERS/active/
270
-
271
- # Git 히스토리에서 복구
272
- git checkout HEAD~1 -- .aiwf/06_FEATURE_LEDGERS/active/FL001_*.md
273
- ```
274
-
275
- #### 인덱스 불일치
276
-
277
- **증상**: 인덱스와 실제 파일이 다름
278
-
279
- **해결**:
280
- ```bash
281
- # 전체 인덱스 재구성
282
- /project:aiwf:feature_index --rebuild --verbose
283
-
284
- # 무결성 검사
285
- /project:aiwf:feature_validate --fix
286
- ```
287
-
288
- ## 고급 문제 해결
289
-
290
- ### 디버깅 모드
291
-
292
- 상세한 로그를 보려면:
293
-
294
- ```bash
295
- # 디버그 모드 활성화
296
- export AIWF_DEBUG=true
297
-
298
- # 상세 로그와 함께 실행
299
- /project:aiwf:create_feature_ledger test_feature --verbose
300
- ```
301
-
302
- ### 로그 분석
303
-
304
- ```bash
305
- # 오류 로그만 보기
306
- grep ERROR .aiwf/logs/feature_ledger.log
307
-
308
- # 특정 Feature 추적
309
- grep FL001 .aiwf/logs/feature_ledger.log | tail -20
310
-
311
- # 시간대별 분석
312
- grep "2025-07-09" .aiwf/logs/feature_ledger.log | grep ERROR
313
- ```
314
-
315
- ### 수동 수정
316
-
317
- 직접 파일을 수정해야 할 때:
318
-
319
- 1. **백업 생성**:
320
- ```bash
321
- cp -r .aiwf/06_FEATURE_LEDGERS .aiwf/06_FEATURE_LEDGERS.backup
322
- ```
323
-
324
- 2. **파일 수정**
325
-
326
- 3. **검증**:
327
- ```bash
328
- /project:aiwf:feature_validate FL001
329
- ```
330
-
331
- 4. **인덱스 업데이트**:
332
- ```bash
333
- /project:aiwf:feature_index --update FL001
334
- ```
335
-
336
- ## 지원 받기
337
-
338
- ### 1. 문서 참조
339
- - [User Guide](./FEATURE_LEDGER_USER_GUIDE.md)
340
- - [API Reference](./FEATURE_LEDGER_API_REFERENCE.md)
341
- - [System Overview](./FEATURE_LEDGER_SYSTEM_OVERVIEW.md)
342
-
343
- ### 2. 커뮤니티
344
- - GitHub Issues: `https://github.com/aiwf/aiwf/issues`
345
- - Discord: AIWF 커뮤니티 채널
346
-
347
- ### 3. 버그 리포트
348
-
349
- 버그 발견 시:
350
- 1. 재현 가능한 단계 기록
351
- 2. 로그 파일 수집
352
- 3. GitHub Issue 생성:
353
- ```markdown
354
- **버그 설명**: [간단한 설명]
355
- **재현 단계**:
356
- 1. ...
357
- 2. ...
358
- **예상 동작**: [예상했던 결과]
359
- **실제 동작**: [실제 발생한 결과]
360
- **로그**: [관련 로그 첨부]
361
- ```
362
-
363
- ---
364
-
365
- *이 문서는 지속적으로 업데이트됩니다. 최신 버전은 [GitHub](https://github.com/aiwf/aiwf)에서 확인하세요.*
@@ -1,305 +0,0 @@
1
- # Feature Ledger System Overview
2
-
3
- ## 시스템 개요
4
-
5
- Feature Ledger System은 AIWF의 핵심 구성 요소로, 프로젝트의 모든 기능 개발을 추적하고 관리합니다. 이 시스템은 개발 프로세스의 투명성을 높이고, 팀 협업을 강화하며, 프로젝트 진행 상황을 실시간으로 파악할 수 있게 합니다.
6
-
7
- ## 아키텍처
8
-
9
- ### 시스템 구성도
10
-
11
- ```mermaid
12
- graph TB
13
- subgraph "User Interface"
14
- CLI[CLI Commands]
15
- API[API Endpoints]
16
- end
17
-
18
- subgraph "Core System"
19
- FL[Feature Ledger Core]
20
- VM[Validation Module]
21
- SM[State Manager]
22
- IM[Index Manager]
23
- end
24
-
25
- subgraph "Integration Layer"
26
- GI[Git Integration]
27
- SI[Sprint Integration]
28
- AI[AI Context Integration]
29
- end
30
-
31
- subgraph "Storage"
32
- FS[File System]
33
- IDX[Index Files]
34
- TMPL[Templates]
35
- end
36
-
37
- CLI --> FL
38
- API --> FL
39
- FL --> VM
40
- FL --> SM
41
- FL --> IM
42
- FL --> GI
43
- FL --> SI
44
- FL --> AI
45
- VM --> FS
46
- SM --> FS
47
- IM --> IDX
48
- GI --> FS
49
- SI --> FS
50
- AI --> FS
51
- ```
52
-
53
- ### 데이터 플로우
54
-
55
- ```mermaid
56
- sequenceDiagram
57
- participant User
58
- participant CLI
59
- participant FeatureLedger
60
- participant StateManager
61
- participant FileSystem
62
- participant GitIntegration
63
-
64
- User->>CLI: create_feature_ledger
65
- CLI->>FeatureLedger: parseCommand()
66
- FeatureLedger->>StateManager: validateState()
67
- StateManager->>FileSystem: checkExisting()
68
- FileSystem-->>StateManager: notExists
69
- StateManager->>FileSystem: createFeature()
70
- FileSystem-->>StateManager: created
71
- StateManager->>GitIntegration: createBranch()
72
- GitIntegration-->>StateManager: branchCreated
73
- StateManager-->>FeatureLedger: success
74
- FeatureLedger-->>CLI: featureCreated
75
- CLI-->>User: FL001 Created
76
- ```
77
-
78
- ### 상태 전이 다이어그램
79
-
80
- ```mermaid
81
- stateDiagram-v2
82
- [*] --> Active: create_feature
83
- Active --> Paused: pause_feature
84
- Active --> Completed: complete_feature
85
- Active --> Archived: archive_feature
86
- Paused --> Active: resume_feature
87
- Paused --> Archived: archive_feature
88
- Completed --> Archived: archive_feature
89
- Archived --> [*]
90
-
91
- Active: Active\n- 개발 진행 중\n- 리소스 할당됨\n- 진행률 추적
92
- Paused: Paused\n- 일시 중단\n- 리소스 재할당\n- 이유 문서화
93
- Completed: Completed\n- 개발 완료\n- 테스트 통과\n- 문서 업데이트
94
- Archived: Archived\n- 보관 상태\n- 읽기 전용\n- 히스토리 보존
95
- ```
96
-
97
- ## 핵심 구성 요소
98
-
99
- ### 1. Feature Ledger Core
100
-
101
- 시스템의 중앙 처리 엔진으로 다음 기능을 담당합니다:
102
-
103
- - **명령어 파싱**: 사용자 입력을 해석하고 검증
104
- - **비즈니스 로직**: Feature 생성, 업데이트, 상태 관리
105
- - **이벤트 처리**: 상태 변경 시 관련 시스템에 알림
106
-
107
- ### 2. State Manager
108
-
109
- Feature의 생명주기를 관리합니다:
110
-
111
- - **상태 검증**: 유효한 상태 전환만 허용
112
- - **히스토리 추적**: 모든 상태 변경 기록
113
- - **일관성 보장**: 데이터 무결성 유지
114
-
115
- ### 3. Index Manager
116
-
117
- 빠른 검색과 조회를 위한 인덱싱 시스템:
118
-
119
- - **실시간 인덱싱**: Feature 변경 시 즉시 업데이트
120
- - **다중 인덱스**: ID, 상태, 태그, 담당자별 인덱스
121
- - **성능 최적화**: 캐싱 및 증분 업데이트
122
-
123
- ### 4. Integration Modules
124
-
125
- #### Git Integration
126
- ```mermaid
127
- graph LR
128
- A[Feature] --> B{Git Action}
129
- B --> C[Create Branch]
130
- B --> D[Link Commit]
131
- B --> E[Link PR]
132
- C --> F[feature/FL001-name]
133
- D --> G[Commit History]
134
- E --> H[PR Status]
135
- ```
136
-
137
- #### Sprint Integration
138
- - Feature와 Sprint/Task의 양방향 연결
139
- - 진행률 자동 계산
140
- - 마일스톤 추적
141
-
142
- #### AI Context Integration
143
- - 활성 Feature를 AI 컨텍스트에 포함
144
- - 토큰 효율을 위한 압축
145
- - 관련 Feature 자동 제안
146
-
147
- ## 디렉토리 구조
148
-
149
- ```
150
- .aiwf/06_FEATURE_LEDGERS/
151
- ├── active/ # 진행 중인 Feature
152
- │ ├── FL001_User_Auth.md
153
- │ └── FL002_Dashboard.md
154
- ├── completed/ # 완료된 Feature
155
- │ └── FL000_Initial.md
156
- ├── archived/ # 보관된 Feature
157
- │ └── FL_Archive_2025Q1/
158
- ├── paused/ # 일시 중단된 Feature
159
- │ └── FL003_Analytics.md
160
- ├── FEATURE_LEDGER_INDEX.md # 메인 인덱스
161
- ├── FEATURE_SCHEMA.md # 데이터 스키마
162
- ├── FEATURE_STATE_DIAGRAM.md # 상태 다이어그램
163
- ├── FEATURE_INTEGRATION_GUIDE.md # 통합 가이드
164
- └── FEATURE_GIT_INTEGRATION.md # Git 통합 상세
165
- ```
166
-
167
- ## 데이터 모델
168
-
169
- ### Feature Entity
170
-
171
- ```yaml
172
- # 핵심 식별 정보
173
- feature_id: string (required, unique)
174
- title: string (required)
175
- status: enum [active, completed, paused, archived]
176
- created_date: date
177
- last_updated: datetime
178
-
179
- # 프로젝트 연결
180
- milestone: string
181
- sprint_ids: array<string>
182
- tasks: array<string>
183
-
184
- # 팀 정보
185
- assignee: string
186
- contributors: array<string>
187
- reviewers: array<string>
188
-
189
- # 분류
190
- priority: enum [critical, high, medium, low]
191
- complexity: enum [simple, moderate, complex]
192
- category: enum [feature, enhancement, bugfix, refactor]
193
- tags: array<string>
194
-
195
- # 시간 추적
196
- estimated_hours: number
197
- actual_hours: number
198
- estimated_completion: date
199
- actual_completion: date
200
-
201
- # Git 통합
202
- git_branch: string
203
- git_commits: array<commit_hash>
204
- pull_requests: array<pr_object>
205
-
206
- # 의존성
207
- depends_on: array<feature_id>
208
- blocks: array<feature_id>
209
-
210
- # 진행 상황
211
- progress_percentage: number (0-100)
212
- checklist_items_total: number
213
- checklist_items_completed: number
214
-
215
- # 리스크 관리
216
- risk_level: enum [low, medium, high]
217
- known_issues: array<string>
218
- mitigation_plans: array<string>
219
- ```
220
-
221
- ## 통합 지점
222
-
223
- ### 1. AIWF 프로젝트 구조
224
-
225
- ```mermaid
226
- graph TD
227
- PM[Project Manifest] --> FL[Feature Ledgers]
228
- MS[Milestones] --> FL
229
- SP[Sprints] --> FL
230
- TK[Tasks] --> FL
231
- FL --> GH[GitHub]
232
- FL --> AI[AI Context]
233
- FL --> RP[Reports]
234
- ```
235
-
236
- ### 2. 외부 시스템 연동
237
-
238
- - **GitHub API**: PR, Issue, Commit 자동 연결
239
- - **CI/CD**: 빌드 상태와 Feature 진행률 연동
240
- - **프로젝트 관리 도구**: JIRA, Trello 등과 동기화 가능
241
-
242
- ## 성능 고려사항
243
-
244
- ### 인덱싱 성능
245
-
246
- - 인덱스 업데이트: < 100ms
247
- - Feature 검색: < 50ms (1000개 기준)
248
- - 대시보드 생성: < 1s
249
-
250
- ### 확장성
251
-
252
- - Feature 수: 10,000개까지 테스트됨
253
- - 동시 사용자: 100명까지 지원
254
- - 파일 크기: 각 Feature 최대 1MB
255
-
256
- ### 최적화 전략
257
-
258
- 1. **증분 업데이트**: 전체 재생성 대신 변경된 부분만 업데이트
259
- 2. **캐싱**: 자주 조회되는 데이터 메모리 캐싱
260
- 3. **비동기 처리**: 무거운 작업은 백그라운드에서 처리
261
-
262
- ## 보안 고려사항
263
-
264
- ### 접근 제어
265
-
266
- - 파일 시스템 권한 기반
267
- - Git 권한과 연동
268
- - 민감 정보 마스킹
269
-
270
- ### 감사 추적
271
-
272
- - 모든 변경사항 로깅
273
- - 사용자별 활동 추적
274
- - 변경 이력 보존
275
-
276
- ## 향후 로드맵
277
-
278
- ### Phase 1 (현재)
279
- - ✅ 기본 CRUD 기능
280
- - ✅ Git 통합
281
- - ✅ Sprint/Task 연동
282
- - ⏳ 대시보드 생성
283
-
284
- ### Phase 2 (계획)
285
- - 📋 웹 UI 인터페이스
286
- - 📋 고급 검색 기능
287
- - 📋 자동화된 보고서
288
- - 📋 AI 기반 인사이트
289
-
290
- ### Phase 3 (미래)
291
- - 🔮 다국어 지원
292
- - 🔮 플러그인 시스템
293
- - 🔮 외부 도구 통합 API
294
- - 🔮 모바일 앱 지원
295
-
296
- ## 관련 문서
297
-
298
- - [API Reference](./FEATURE_LEDGER_API_REFERENCE.md)
299
- - [User Guide](./FEATURE_LEDGER_USER_GUIDE.md)
300
- - [Technical Specification](../02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_Feature_Ledger_System.md)
301
- - [Integration Guide](../06_FEATURE_LEDGERS/FEATURE_INTEGRATION_GUIDE.md)
302
-
303
- ---
304
-
305
- *Feature Ledger System v1.0 - AIWF Project*