aiwf 0.3.1 → 0.3.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 (493) hide show
  1. package/.aiwf/00_PROJECT_MANIFEST.md +183 -0
  2. package/.aiwf/01_PROJECT_DOCS/ARCHITECTURE.md +121 -0
  3. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_ADVANCED_USE_CASES.md +412 -0
  4. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_API_REFERENCE.md +361 -0
  5. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_COMMANDS_GUIDE.md +254 -0
  6. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_FAQ.md +365 -0
  7. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_SYSTEM_OVERVIEW.md +305 -0
  8. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_USER_GUIDE.md +416 -0
  9. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_/354/213/234/354/236/221_/352/260/200/354/235/264/353/223/234.md +247 -0
  10. package/.aiwf/02_REQUIREMENTS/CLAUDE.md +78 -0
  11. package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/M02_milestone_meta.md +34 -0
  12. package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/PRD_Context_Engineering_Enhancement.md +108 -0
  13. package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_AI_Persona_System.md +299 -0
  14. package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_Feature_Ledger_System.md +330 -0
  15. package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_Token_Optimization.md +833 -0
  16. package/.aiwf/03_SPRINTS/CLAUDE.md +83 -0
  17. package/.aiwf/03_SPRINTS/S01_M02_context_foundation/S01_M02_sprint_meta.md +95 -0
  18. package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX01_S01_Feature_Ledger_/353/215/260/354/235/264/355/204/260_/352/265/254/354/241/260_/354/204/244/352/263/204.md +111 -0
  19. package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX02_S01_Feature_Ledger_CLI_/353/252/205/353/240/271/354/226/264_/352/260/234/353/260/234.md +115 -0
  20. package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX03_S01_Git_/354/227/260/353/217/231_Feature_/354/266/224/354/240/201.md +141 -0
  21. package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX04_S01_Feature_Ledger_/353/254/270/354/204/234/355/231/224.md +114 -0
  22. package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX05_S01_AI_/355/216/230/353/245/264/354/206/214/353/202/230_/353/215/260/354/235/264/355/204/260_/352/265/254/354/241/260_/354/204/244/352/263/204.md +123 -0
  23. package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX06_S01_/355/216/230/353/245/264/354/206/214/353/202/230_/352/264/200/353/246/254_/353/252/205/353/240/271/354/226/264_/352/265/254/355/230/204.md +114 -0
  24. package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX07_S01_Context_/354/225/225/354/266/225_/354/225/204/355/202/244/355/205/215/354/262/230_/354/204/244/352/263/204.md +114 -0
  25. package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX08_S01_/355/206/240/355/201/260_/354/266/224/354/240/201_/354/213/234/354/212/244/355/205/234_/355/224/204/353/241/234/355/206/240/355/203/200/354/236/205.md +112 -0
  26. package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX09_S01_/354/225/225/354/266/225_/354/225/214/352/263/240/353/246/254/354/246/230_/355/224/204/353/241/234/355/206/240/355/203/200/354/236/205.md +118 -0
  27. package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX10_S01_update_docs_/353/252/205/353/240/271/354/226/264_/353/263/265/352/265/254.md +118 -0
  28. package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX11_S01_/355/206/265/355/225/251_/355/205/214/354/212/244/355/212/270_Suite_/352/265/254/354/266/225.md +128 -0
  29. package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX12_S01_/354/204/261/353/212/245_/354/265/234/354/240/201/355/231/224_/353/260/217_/353/254/270/354/204/234/355/231/224.md +122 -0
  30. package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/S02_M02_sprint_meta.md +107 -0
  31. package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/TX01_S02_AI_/355/216/230/353/245/264/354/206/214/353/202/230_/353/252/205/353/240/271/354/226/264_/352/265/254/355/230/204.md +129 -0
  32. package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/TX02_S02_/355/216/230/353/245/264/354/206/214/353/202/230_/354/273/250/355/205/215/354/212/244/355/212/270_/354/240/201/354/232/251_/354/213/234/354/212/244/355/205/234.md +152 -0
  33. package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/TX03_S02_Context_/354/225/225/354/266/225_/354/225/214/352/263/240/353/246/254/354/246/230_/352/265/254/355/230/204.md +186 -0
  34. package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/TX05_S02_S02_/355/206/265/355/225/251_/355/205/214/354/212/244/355/212/270_/353/260/217_/353/254/270/354/204/234/355/231/224.md +192 -0
  35. package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/TX4_S02_Feature_Git_/354/227/260/353/217/231_/353/260/217_/354/236/220/353/217/231/355/231/224.md +162 -0
  36. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/S03_FINAL_SPRINT_SUMMARY.md +137 -0
  37. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/S03_M02_sprint_meta.md +106 -0
  38. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/TX14_S03_M02_/353/247/210/354/235/274/354/212/244/355/206/244_/354/265/234/354/242/205_/352/262/200/354/246/235_/353/260/217_/353/254/270/354/204/234/355/231/224.md +214 -0
  39. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/TX15_S03_/352/270/260/353/263/270_/355/224/204/353/241/234/354/240/235/355/212/270_/355/205/234/355/224/214/353/246/277_/352/260/234/353/260/234.md +177 -0
  40. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/TX16_S03_/354/230/244/355/224/204/353/235/274/354/235/270_/355/205/234/355/224/214/353/246/277_/354/272/220/354/213/234_/354/213/234/354/212/244/355/205/234.md +206 -0
  41. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/TX_T13_S03_AI_/353/217/204/352/265/254_/355/206/265/355/225/251_/355/205/234/355/224/214/353/246/277_/352/260/234/353/260/234.md +151 -0
  42. package/.aiwf/04_GENERAL_TASKS/CLAUDE.md +96 -0
  43. package/.aiwf/04_GENERAL_TASKS/TX001_complete_english_translation.md +127 -0
  44. package/.aiwf/05_DOCUMENTATION/performance-report.md +33 -0
  45. package/.aiwf/06_FEATURE_LEDGERS/FEATURE_GIT_INTEGRATION.md +314 -0
  46. package/.aiwf/06_FEATURE_LEDGERS/FEATURE_INTEGRATION_GUIDE.md +227 -0
  47. package/.aiwf/06_FEATURE_LEDGERS/FEATURE_LEDGER_INDEX.md +23 -0
  48. package/.aiwf/06_FEATURE_LEDGERS/FEATURE_SCHEMA.md +205 -0
  49. package/.aiwf/06_FEATURE_LEDGERS/FEATURE_STATE_DIAGRAM.md +190 -0
  50. package/.aiwf/06_FEATURE_LEDGERS/active/FL001_user_authentication_system.md +47 -0
  51. package/.aiwf/06_FEATURE_LEDGERS/active/FL002_user_authentication_system.md +47 -0
  52. package/.aiwf/07_AI_PERSONAS/PERSONA_INDEX.md +57 -0
  53. package/.aiwf/07_AI_PERSONAS/architect/best_practices.md +104 -0
  54. package/.aiwf/07_AI_PERSONAS/architect/context_rules.md +46 -0
  55. package/.aiwf/07_AI_PERSONAS/architect/knowledge_base.md +235 -0
  56. package/.aiwf/07_AI_PERSONAS/backend/best_practices.md +363 -0
  57. package/.aiwf/07_AI_PERSONAS/backend/context_rules.md +61 -0
  58. package/.aiwf/07_AI_PERSONAS/backend/knowledge_base.md +623 -0
  59. package/.aiwf/07_AI_PERSONAS/data_analyst/best_practices.md +32 -0
  60. package/.aiwf/07_AI_PERSONAS/data_analyst/context_rules.md +43 -0
  61. package/.aiwf/07_AI_PERSONAS/data_analyst/knowledge_base.md +36 -0
  62. package/.aiwf/07_AI_PERSONAS/frontend/best_practices.md +31 -0
  63. package/.aiwf/07_AI_PERSONAS/frontend/context_rules.md +43 -0
  64. package/.aiwf/07_AI_PERSONAS/frontend/knowledge_base.md +32 -0
  65. package/.aiwf/07_AI_PERSONAS/security/best_practices.md +63 -0
  66. package/.aiwf/07_AI_PERSONAS/security/context_rules.md +53 -0
  67. package/.aiwf/07_AI_PERSONAS/security/knowledge_base.md +93 -0
  68. package/.aiwf/10_PERSONAS/active.json +1 -0
  69. package/.aiwf/10_PERSONAS/developer.md +37 -0
  70. package/.aiwf/10_STATE_OF_PROJECT/2025-07-09-07-20-solid-progress.md +144 -0
  71. package/.aiwf/98_PROMPTS/SAAS_DEVELOPMENT_GUIDE.md +302 -0
  72. package/.aiwf/98_PROMPTS/github_integration.md +130 -0
  73. package/.aiwf/98_PROMPTS/useful-prompts.md +31 -0
  74. package/.aiwf/98_PROMPTS/vibe-front-prompts.md +89 -0
  75. package/.aiwf/99_TEMPLATES/adr_template.md +49 -0
  76. package/.aiwf/99_TEMPLATES/feature_template.md +263 -0
  77. package/.aiwf/99_TEMPLATES/milestone_meta_template.md +25 -0
  78. package/.aiwf/99_TEMPLATES/project_manifest_template.md +39 -0
  79. package/.aiwf/99_TEMPLATES/sprint_meta_template.md +23 -0
  80. package/.aiwf/99_TEMPLATES/task_template.md +36 -0
  81. package/.aiwf/CLAUDE.md +76 -0
  82. package/.aiwf/ai-tools/README.md +105 -0
  83. package/.aiwf/ai-tools/augment/README.md +371 -0
  84. package/.aiwf/ai-tools/augment/config.json +30 -0
  85. package/.aiwf/ai-tools/augment/template/.augment/aiwf-integration.md +387 -0
  86. package/.aiwf/ai-tools/augment/template/.augment/augment.yaml +347 -0
  87. package/.aiwf/ai-tools/augment/template/augment.config.json +64 -0
  88. package/.aiwf/ai-tools/claude-code/README.md +151 -0
  89. package/.aiwf/ai-tools/claude-code/config.json +28 -0
  90. package/.aiwf/ai-tools/claude-code/template/CLAUDE.md +91 -0
  91. package/.aiwf/ai-tools/cursor/README.md +314 -0
  92. package/.aiwf/ai-tools/cursor/config.json +29 -0
  93. package/.aiwf/ai-tools/cursor/template/.cursorrules +362 -0
  94. package/.aiwf/ai-tools/github-copilot/README.md +195 -0
  95. package/.aiwf/ai-tools/github-copilot/config.json +24 -0
  96. package/.aiwf/ai-tools/github-copilot/template/.github/copilot-instructions.md +202 -0
  97. package/.aiwf/ai-tools/windsurf/README.md +355 -0
  98. package/.aiwf/ai-tools/windsurf/config.json +29 -0
  99. package/.aiwf/ai-tools/windsurf/template/.windsurf/aiwf-rules.md +260 -0
  100. package/.aiwf/ai-tools/windsurf/template/.windsurf/windsurf.config.js +312 -0
  101. package/.aiwf/ai-tools/windsurf/template/windsurf.config.json +63 -0
  102. package/.aiwf/config/language.json +6 -0
  103. package/.aiwf/feature-ledger/FL-001-authentication.json +52 -0
  104. package/.aiwf/feature-ledger/feature-index.json +20 -0
  105. package/.aiwf/installed.flag +1 -0
  106. package/.aiwf/personas/analyst.json +44 -0
  107. package/.aiwf/personas/architect/best_practices.md +136 -0
  108. package/.aiwf/personas/architect/knowledge_base.md +377 -0
  109. package/.aiwf/personas/architect.json +44 -0
  110. package/.aiwf/personas/backend/best_practices.md +766 -0
  111. package/.aiwf/personas/backend/knowledge_base.md +1070 -0
  112. package/.aiwf/personas/data_analyst/best_practices.md +594 -0
  113. package/.aiwf/personas/data_analyst/knowledge_base.md +1057 -0
  114. package/.aiwf/personas/developer.json +44 -0
  115. package/.aiwf/personas/evaluation_criteria.json +137 -0
  116. package/.aiwf/personas/frontend/best_practices.md +445 -0
  117. package/.aiwf/personas/frontend/knowledge_base.md +729 -0
  118. package/.aiwf/personas/persona-index.json +31 -0
  119. package/.aiwf/personas/reviewer.json +44 -0
  120. package/.aiwf/personas/security/best_practices.md +307 -0
  121. package/.aiwf/personas/security/knowledge_base.md +498 -0
  122. package/.aiwf/personas/tester.json +44 -0
  123. package/.aiwf/scripts/cache-templates.js +209 -0
  124. package/.aiwf/scripts/create-offline.js +86 -0
  125. package/.aiwf/scripts/create-project.js +151 -0
  126. package/.aiwf/scripts/feature-progress-calculator.cjs +236 -0
  127. package/.aiwf/scripts/git-integration.cjs +391 -0
  128. package/.aiwf/scripts/install-git-hooks.cjs +226 -0
  129. package/.aiwf/scripts/test-commit-parsing.cjs +125 -0
  130. package/.aiwf/scripts/update-feature-status.cjs +198 -0
  131. package/.aiwf/templates/README.md +78 -0
  132. package/.aiwf/templates/api-server/config.json +64 -0
  133. package/.aiwf/templates/api-server/template/.aiwf/config.json +56 -0
  134. package/.aiwf/templates/api-server/template/.aiwf/feature-ledger.json +42 -0
  135. package/.aiwf/templates/api-server/template/.aiwf/personas/backend-engineer.json +40 -0
  136. package/.aiwf/templates/api-server/template/.aiwf/scripts/cli.js +111 -0
  137. package/.aiwf/templates/api-server/template/.env.example +29 -0
  138. package/.aiwf/templates/api-server/template/.eslintrc.json +23 -0
  139. package/.aiwf/templates/api-server/template/README.md +171 -0
  140. package/.aiwf/templates/api-server/template/jest.config.js +26 -0
  141. package/.aiwf/templates/api-server/template/nodemon.json +9 -0
  142. package/.aiwf/templates/api-server/template/package.json +61 -0
  143. package/.aiwf/templates/api-server/template/src/app.ts +60 -0
  144. package/.aiwf/templates/api-server/template/src/config/swagger.ts +38 -0
  145. package/.aiwf/templates/api-server/template/src/controllers/aiwfController.ts +68 -0
  146. package/.aiwf/templates/api-server/template/src/controllers/authController.ts +128 -0
  147. package/.aiwf/templates/api-server/template/src/controllers/statusController.ts +28 -0
  148. package/.aiwf/templates/api-server/template/src/index.ts +28 -0
  149. package/.aiwf/templates/api-server/template/src/middleware/aiwfMiddleware.ts +50 -0
  150. package/.aiwf/templates/api-server/template/src/middleware/authMiddleware.ts +41 -0
  151. package/.aiwf/templates/api-server/template/src/middleware/errorHandler.ts +42 -0
  152. package/.aiwf/templates/api-server/template/src/middleware/notFoundHandler.ts +14 -0
  153. package/.aiwf/templates/api-server/template/src/middleware/requestLogger.ts +20 -0
  154. package/.aiwf/templates/api-server/template/src/routes/aiwf.ts +42 -0
  155. package/.aiwf/templates/api-server/template/src/routes/index.ts +13 -0
  156. package/.aiwf/templates/api-server/template/src/routes/v1/index.ts +67 -0
  157. package/.aiwf/templates/api-server/template/src/utils/logger.ts +37 -0
  158. package/.aiwf/templates/api-server/template/tests/app.test.ts +40 -0
  159. package/.aiwf/templates/api-server/template/tsconfig.json +43 -0
  160. package/.aiwf/templates/npm-library/config.json +61 -0
  161. package/.aiwf/templates/npm-library/template/LICENSE +21 -0
  162. package/.aiwf/templates/npm-library/template/README.md +201 -0
  163. package/.aiwf/templates/npm-library/template/package.json +78 -0
  164. package/.aiwf/templates/web-app/config.json +53 -0
  165. package/.aiwf/templates/web-app/template/.aiwf/config.json +54 -0
  166. package/.aiwf/templates/web-app/template/.aiwf/feature-ledger.json +37 -0
  167. package/.aiwf/templates/web-app/template/.aiwf/personas/fullstack-developer.json +40 -0
  168. package/.aiwf/templates/web-app/template/.aiwf/scripts/cli.js +110 -0
  169. package/.aiwf/templates/web-app/template/.eslintrc.cjs +20 -0
  170. package/.aiwf/templates/web-app/template/README.md +151 -0
  171. package/.aiwf/templates/web-app/template/index.html +14 -0
  172. package/.aiwf/templates/web-app/template/package.json +44 -0
  173. package/.aiwf/templates/web-app/template/postcss.config.js +6 -0
  174. package/.aiwf/templates/web-app/template/public/vite.svg +1 -0
  175. package/.aiwf/templates/web-app/template/src/App.tsx +21 -0
  176. package/.aiwf/templates/web-app/template/src/components/Layout.tsx +57 -0
  177. package/.aiwf/templates/web-app/template/src/components/aiwf/ContextStatus.tsx +107 -0
  178. package/.aiwf/templates/web-app/template/src/components/aiwf/FeatureLedger.tsx +93 -0
  179. package/.aiwf/templates/web-app/template/src/components/aiwf/TokenUsage.tsx +71 -0
  180. package/.aiwf/templates/web-app/template/src/index.css +60 -0
  181. package/.aiwf/templates/web-app/template/src/main.tsx +10 -0
  182. package/.aiwf/templates/web-app/template/src/pages/AiwfDashboard.tsx +60 -0
  183. package/.aiwf/templates/web-app/template/src/pages/HomePage.tsx +89 -0
  184. package/.aiwf/templates/web-app/template/src/pages/NotFound.tsx +25 -0
  185. package/.aiwf/templates/web-app/template/src/stores/aiwfStore.ts +126 -0
  186. package/.aiwf/templates/web-app/template/src/types/global.d.ts +9 -0
  187. package/.aiwf/templates/web-app/template/src/vite-env.d.ts +1 -0
  188. package/.aiwf/templates/web-app/template/tailwind.config.js +30 -0
  189. package/.aiwf/templates/web-app/template/tsconfig.json +37 -0
  190. package/.aiwf/templates/web-app/template/tsconfig.node.json +10 -0
  191. package/.aiwf/templates/web-app/template/vite.config.ts +23 -0
  192. package/.aiwf/test-cache/86c7f9e80251abb8bedd58953ab0d1779e46b4f43ea33b63bffdb778106373b0.json +6 -0
  193. package/.aiwf/test-cache/9e252a90b80fce0585d7ed0646e7a9b4343e109f661f42a3ae678ba1ec5e22c7.json +7 -0
  194. package/.aiwf/test-results-s02.json +36 -0
  195. package/.aiwf/token-data/alerts.json +293 -0
  196. package/.aiwf/token-data/monitor-config.json +12 -0
  197. package/CHANGELOG.md +95 -11
  198. package/CHANGELOG_M02.md +52 -0
  199. package/CLAUDE.md +135 -0
  200. package/README.ko.md +5 -0
  201. package/README.md +6 -0
  202. package/RELEASE_NOTES_M02.md +177 -0
  203. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_feature_ledger.md +54 -0
  204. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_default_mode.md +66 -0
  205. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_get_feature_details.md +78 -0
  206. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +57 -0
  207. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_list_features.md +54 -0
  208. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_architect.md +60 -0
  209. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_backend.md +60 -0
  210. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_data_analyst.md +60 -0
  211. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_frontend.md +60 -0
  212. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_security.md +60 -0
  213. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_status.md +72 -0
  214. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_update_feature_status.md +53 -0
  215. package/claude-code/aiwf/en/commands/ai-persona.js +667 -0
  216. package/claude-code/aiwf/en/commands/compress-context.js +355 -0
  217. package/claude-code/aiwf/en/commands/feature-ledger.js +565 -0
  218. package/claude-code/aiwf/en/commands/feature_commit_report.js +370 -0
  219. package/claude-code/aiwf/en/commands/scan_git_history.js +234 -0
  220. package/claude-code/aiwf/en/commands/sync_feature_commits.js +154 -0
  221. package/claude-code/aiwf/en/commands/token-tracking.js +443 -0
  222. package/claude-code/aiwf/en/config/commit-patterns.js +103 -0
  223. package/claude-code/aiwf/en/hooks/install-hooks.sh +100 -0
  224. package/claude-code/aiwf/en/hooks/post-commit +84 -0
  225. package/claude-code/aiwf/en/tests/compression-test-suite.js +1252 -0
  226. package/claude-code/aiwf/en/tests/test-git-integration.js +164 -0
  227. package/claude-code/aiwf/en/tests/token-tracking.test.js +537 -0
  228. package/claude-code/aiwf/en/utils/compression-metrics.js +1031 -0
  229. package/claude-code/aiwf/en/utils/compression-strategies.js +557 -0
  230. package/claude-code/aiwf/en/utils/content-normalizer.js +455 -0
  231. package/claude-code/aiwf/en/utils/context-compressor.js +583 -0
  232. package/claude-code/aiwf/en/utils/feature-updater.js +271 -0
  233. package/claude-code/aiwf/en/utils/git-utils.js +220 -0
  234. package/claude-code/aiwf/en/utils/importance-classifier.js +645 -0
  235. package/claude-code/aiwf/en/utils/information-filter.js +710 -0
  236. package/claude-code/aiwf/en/utils/text-summarizer.js +487 -0
  237. package/claude-code/aiwf/en/utils/token-counter.js +177 -0
  238. package/claude-code/aiwf/en/utils/token-monitor.js +484 -0
  239. package/claude-code/aiwf/en/utils/token-reporter.js +453 -0
  240. package/claude-code/aiwf/en/utils/token-storage.js +433 -0
  241. package/claude-code/aiwf/en/utils/token-tracker.js +283 -0
  242. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_ID_GENERATOR.md +138 -0
  243. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_INDEX.md +186 -0
  244. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_METADATA.md +240 -0
  245. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_WORKFLOW.md +183 -0
  246. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/README.md +94 -0
  247. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/active/FL001_/354/202/254/354/232/251/354/236/220_/354/235/270/354/246/235_/354/213/234/354/212/244/355/205/234.md +154 -0
  248. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/active/FL002_ai_/355/216/230/353/245/264/354/206/214/353/202/230_/354/213/234/354/212/244/355/205/234.md +272 -0
  249. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/completed/FL003_/353/213/244/352/265/255/354/226/264_/353/252/205/353/240/271/354/226/264_/355/221/234/354/244/200/355/231/224.md +266 -0
  250. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/schemas/feature_schema.json +122 -0
  251. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/schemas/feature_validator.cjs +406 -0
  252. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_aggressive_persona.md +53 -0
  253. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_context.md +116 -0
  254. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_minimal_persona.md +48 -0
  255. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_stats.md +79 -0
  256. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_with_persona.md +51 -0
  257. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_feature_ledger.md +54 -0
  258. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_default_mode.md +44 -0
  259. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_evaluate.md +92 -0
  260. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_get_feature_details.md +78 -0
  261. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +57 -0
  262. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_list_features.md +54 -0
  263. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_architect.md +48 -0
  264. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_backend.md +37 -0
  265. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_data_analyst.md +37 -0
  266. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_frontend.md +37 -0
  267. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_security.md +48 -0
  268. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_status.md +50 -0
  269. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_update_docs_kr.md +25 -0
  270. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_update_feature_status.md +53 -0
  271. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_yolo.md +2 -2
  272. package/claude-code/aiwf/ko/CLAUDE.md +76 -0
  273. package/claude-code/aiwf/ko/ai-tools/README.md +105 -0
  274. package/claude-code/aiwf/ko/ai-tools/augment/README.md +371 -0
  275. package/claude-code/aiwf/ko/ai-tools/augment/config.json +30 -0
  276. package/claude-code/aiwf/ko/ai-tools/augment/template/.augment/aiwf-integration.md +387 -0
  277. package/claude-code/aiwf/ko/ai-tools/augment/template/.augment/augment.yaml +347 -0
  278. package/claude-code/aiwf/ko/ai-tools/augment/template/augment.config.json +64 -0
  279. package/claude-code/aiwf/ko/ai-tools/claude-code/README.md +151 -0
  280. package/claude-code/aiwf/ko/ai-tools/claude-code/config.json +28 -0
  281. package/claude-code/aiwf/ko/ai-tools/claude-code/template/CLAUDE.md +91 -0
  282. package/claude-code/aiwf/ko/ai-tools/cursor/README.md +314 -0
  283. package/claude-code/aiwf/ko/ai-tools/cursor/config.json +29 -0
  284. package/claude-code/aiwf/ko/ai-tools/cursor/template/.cursorrules +362 -0
  285. package/claude-code/aiwf/ko/ai-tools/github-copilot/README.md +195 -0
  286. package/claude-code/aiwf/ko/ai-tools/github-copilot/config.json +24 -0
  287. package/claude-code/aiwf/ko/ai-tools/github-copilot/template/.github/copilot-instructions.md +202 -0
  288. package/claude-code/aiwf/ko/ai-tools/windsurf/README.md +355 -0
  289. package/claude-code/aiwf/ko/ai-tools/windsurf/config.json +29 -0
  290. package/claude-code/aiwf/ko/ai-tools/windsurf/template/.windsurf/aiwf-rules.md +260 -0
  291. package/claude-code/aiwf/ko/ai-tools/windsurf/template/.windsurf/windsurf.config.js +312 -0
  292. package/claude-code/aiwf/ko/ai-tools/windsurf/template/windsurf.config.json +63 -0
  293. package/claude-code/aiwf/ko/commands/ai-persona.js +602 -0
  294. package/claude-code/aiwf/ko/commands/compress-context.js +389 -0
  295. package/claude-code/aiwf/ko/commands/evaluate.js +246 -0
  296. package/claude-code/aiwf/ko/commands/feature-ledger.js +565 -0
  297. package/claude-code/aiwf/ko/commands/feature_commit_report.js +370 -0
  298. package/claude-code/aiwf/ko/commands/persona-context-apply.js +562 -0
  299. package/claude-code/aiwf/ko/commands/scan_git_history.js +234 -0
  300. package/claude-code/aiwf/ko/commands/sync_feature_commits.js +154 -0
  301. package/claude-code/aiwf/ko/commands/token-tracking.js +443 -0
  302. package/claude-code/aiwf/ko/config/commit-patterns.js +103 -0
  303. package/claude-code/aiwf/ko/config/language.json +6 -0
  304. package/claude-code/aiwf/ko/feature-ledger/FL-001-authentication.json +52 -0
  305. package/claude-code/aiwf/ko/feature-ledger/feature-index.json +20 -0
  306. package/claude-code/aiwf/ko/hooks/install-hooks.sh +100 -0
  307. package/claude-code/aiwf/ko/hooks/post-commit +84 -0
  308. package/claude-code/aiwf/ko/personas/PERSONA_INDEX.md +57 -0
  309. package/claude-code/aiwf/ko/personas/analyst.json +44 -0
  310. package/claude-code/aiwf/ko/personas/architect/best_practices.md +136 -0
  311. package/claude-code/aiwf/ko/personas/architect/knowledge_base.md +377 -0
  312. package/claude-code/aiwf/ko/personas/architect.json +44 -0
  313. package/claude-code/aiwf/ko/personas/backend/best_practices.md +766 -0
  314. package/claude-code/aiwf/ko/personas/backend/knowledge_base.md +1070 -0
  315. package/claude-code/aiwf/ko/personas/data_analyst/best_practices.md +594 -0
  316. package/claude-code/aiwf/ko/personas/data_analyst/knowledge_base.md +1057 -0
  317. package/claude-code/aiwf/ko/personas/developer.json +44 -0
  318. package/claude-code/aiwf/ko/personas/developer.md +37 -0
  319. package/claude-code/aiwf/ko/personas/evaluation_criteria.json +137 -0
  320. package/claude-code/aiwf/ko/personas/frontend/best_practices.md +445 -0
  321. package/claude-code/aiwf/ko/personas/frontend/knowledge_base.md +729 -0
  322. package/claude-code/aiwf/ko/personas/persona-index.json +31 -0
  323. package/claude-code/aiwf/ko/personas/reviewer.json +44 -0
  324. package/claude-code/aiwf/ko/personas/security/best_practices.md +307 -0
  325. package/claude-code/aiwf/ko/personas/security/knowledge_base.md +498 -0
  326. package/claude-code/aiwf/ko/personas/tester.json +44 -0
  327. package/claude-code/aiwf/ko/scripts/cache-templates.js +209 -0
  328. package/claude-code/aiwf/ko/scripts/create-offline.js +86 -0
  329. package/claude-code/aiwf/ko/scripts/create-project.js +151 -0
  330. package/claude-code/aiwf/ko/scripts/feature-progress-calculator.cjs +236 -0
  331. package/claude-code/aiwf/ko/scripts/git-integration.cjs +391 -0
  332. package/claude-code/aiwf/ko/scripts/install-git-hooks.cjs +226 -0
  333. package/claude-code/aiwf/ko/scripts/test-commit-parsing.cjs +125 -0
  334. package/claude-code/aiwf/ko/scripts/update-feature-status.cjs +198 -0
  335. package/claude-code/aiwf/ko/templates/README.md +78 -0
  336. package/claude-code/aiwf/ko/templates/api-server/config.json +64 -0
  337. package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/config.json +56 -0
  338. package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/feature-ledger.json +42 -0
  339. package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/personas/backend-engineer.json +40 -0
  340. package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/scripts/cli.js +111 -0
  341. package/claude-code/aiwf/ko/templates/api-server/template/.env.example +29 -0
  342. package/claude-code/aiwf/ko/templates/api-server/template/.eslintrc.json +23 -0
  343. package/claude-code/aiwf/ko/templates/api-server/template/README.md +171 -0
  344. package/claude-code/aiwf/ko/templates/api-server/template/jest.config.js +26 -0
  345. package/claude-code/aiwf/ko/templates/api-server/template/nodemon.json +9 -0
  346. package/claude-code/aiwf/ko/templates/api-server/template/package.json +61 -0
  347. package/claude-code/aiwf/ko/templates/api-server/template/src/app.ts +60 -0
  348. package/claude-code/aiwf/ko/templates/api-server/template/src/config/swagger.ts +38 -0
  349. package/claude-code/aiwf/ko/templates/api-server/template/src/controllers/aiwfController.ts +68 -0
  350. package/claude-code/aiwf/ko/templates/api-server/template/src/controllers/authController.ts +128 -0
  351. package/claude-code/aiwf/ko/templates/api-server/template/src/controllers/statusController.ts +28 -0
  352. package/claude-code/aiwf/ko/templates/api-server/template/src/index.ts +28 -0
  353. package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/aiwfMiddleware.ts +50 -0
  354. package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/authMiddleware.ts +41 -0
  355. package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/errorHandler.ts +42 -0
  356. package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/notFoundHandler.ts +14 -0
  357. package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/requestLogger.ts +20 -0
  358. package/claude-code/aiwf/ko/templates/api-server/template/src/routes/aiwf.ts +42 -0
  359. package/claude-code/aiwf/ko/templates/api-server/template/src/routes/index.ts +13 -0
  360. package/claude-code/aiwf/ko/templates/api-server/template/src/routes/v1/index.ts +67 -0
  361. package/claude-code/aiwf/ko/templates/api-server/template/src/utils/logger.ts +37 -0
  362. package/claude-code/aiwf/ko/templates/api-server/template/tests/app.test.ts +40 -0
  363. package/claude-code/aiwf/ko/templates/api-server/template/tsconfig.json +43 -0
  364. package/claude-code/aiwf/ko/templates/npm-library/config.json +61 -0
  365. package/claude-code/aiwf/ko/templates/npm-library/template/LICENSE +21 -0
  366. package/claude-code/aiwf/ko/templates/npm-library/template/README.md +201 -0
  367. package/claude-code/aiwf/ko/templates/npm-library/template/package.json +78 -0
  368. package/claude-code/aiwf/ko/templates/web-app/config.json +53 -0
  369. package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/config.json +54 -0
  370. package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/feature-ledger.json +37 -0
  371. package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/personas/fullstack-developer.json +40 -0
  372. package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/scripts/cli.js +110 -0
  373. package/claude-code/aiwf/ko/templates/web-app/template/.eslintrc.cjs +20 -0
  374. package/claude-code/aiwf/ko/templates/web-app/template/README.md +151 -0
  375. package/claude-code/aiwf/ko/templates/web-app/template/index.html +14 -0
  376. package/claude-code/aiwf/ko/templates/web-app/template/package-lock.json +10022 -0
  377. package/claude-code/aiwf/ko/templates/web-app/template/package.json +44 -0
  378. package/claude-code/aiwf/ko/templates/web-app/template/postcss.config.js +6 -0
  379. package/claude-code/aiwf/ko/templates/web-app/template/public/vite.svg +1 -0
  380. package/claude-code/aiwf/ko/templates/web-app/template/src/App.tsx +21 -0
  381. package/claude-code/aiwf/ko/templates/web-app/template/src/components/Layout.tsx +57 -0
  382. package/claude-code/aiwf/ko/templates/web-app/template/src/components/aiwf/ContextStatus.tsx +107 -0
  383. package/claude-code/aiwf/ko/templates/web-app/template/src/components/aiwf/FeatureLedger.tsx +93 -0
  384. package/claude-code/aiwf/ko/templates/web-app/template/src/components/aiwf/TokenUsage.tsx +71 -0
  385. package/claude-code/aiwf/ko/templates/web-app/template/src/index.css +60 -0
  386. package/claude-code/aiwf/ko/templates/web-app/template/src/main.tsx +10 -0
  387. package/claude-code/aiwf/ko/templates/web-app/template/src/pages/AiwfDashboard.tsx +60 -0
  388. package/claude-code/aiwf/ko/templates/web-app/template/src/pages/HomePage.tsx +89 -0
  389. package/claude-code/aiwf/ko/templates/web-app/template/src/pages/NotFound.tsx +25 -0
  390. package/claude-code/aiwf/ko/templates/web-app/template/src/stores/aiwfStore.ts +126 -0
  391. package/claude-code/aiwf/ko/templates/web-app/template/src/types/global.d.ts +9 -0
  392. package/claude-code/aiwf/ko/templates/web-app/template/src/vite-env.d.ts +1 -0
  393. package/claude-code/aiwf/ko/templates/web-app/template/tailwind.config.js +30 -0
  394. package/claude-code/aiwf/ko/templates/web-app/template/tsconfig.json +37 -0
  395. package/claude-code/aiwf/ko/templates/web-app/template/tsconfig.node.json +10 -0
  396. package/claude-code/aiwf/ko/templates/web-app/template/vite.config.ts +23 -0
  397. package/claude-code/aiwf/ko/tests/compression-test-suite.js +1252 -0
  398. package/claude-code/aiwf/ko/tests/test-git-integration.js +164 -0
  399. package/claude-code/aiwf/ko/tests/token-tracking.test.js +537 -0
  400. package/claude-code/aiwf/ko/token-data/alerts.json +293 -0
  401. package/claude-code/aiwf/ko/token-data/monitor-config.json +12 -0
  402. package/claude-code/aiwf/ko/utils/background-monitor.js +223 -0
  403. package/claude-code/aiwf/ko/utils/compression-metrics.js +1031 -0
  404. package/claude-code/aiwf/ko/utils/compression-strategies.js +557 -0
  405. package/claude-code/aiwf/ko/utils/content-normalizer.js +455 -0
  406. package/claude-code/aiwf/ko/utils/context-compressor.js +583 -0
  407. package/claude-code/aiwf/ko/utils/context-rule-parser.js +180 -0
  408. package/claude-code/aiwf/ko/utils/context-token-monitor.js +463 -0
  409. package/claude-code/aiwf/ko/utils/context-update-manager.js +502 -0
  410. package/claude-code/aiwf/ko/utils/feature-updater.js +271 -0
  411. package/claude-code/aiwf/ko/utils/git-utils.js +220 -0
  412. package/claude-code/aiwf/ko/utils/importance-classifier.js +645 -0
  413. package/claude-code/aiwf/ko/utils/information-filter.js +710 -0
  414. package/claude-code/aiwf/ko/utils/persona-aware-compressor.js +598 -0
  415. package/claude-code/aiwf/ko/utils/prompt-injector.js +242 -0
  416. package/claude-code/aiwf/ko/utils/simplified-evaluator.js +119 -0
  417. package/claude-code/aiwf/ko/utils/text-summarizer.js +492 -0
  418. package/claude-code/aiwf/ko/utils/token-counter.js +177 -0
  419. package/claude-code/aiwf/ko/utils/token-monitor.js +484 -0
  420. package/claude-code/aiwf/ko/utils/token-reporter.js +453 -0
  421. package/claude-code/aiwf/ko/utils/token-storage.js +433 -0
  422. package/claude-code/aiwf/ko/utils/token-tracker.js +283 -0
  423. package/docs/AI_PERSONA_SYSTEM_DESIGN.md +516 -0
  424. package/docs/API_DOCUMENTATION.md +932 -0
  425. package/docs/API_REFERENCE.md +979 -0
  426. package/docs/COMMANDS_GUIDE.ko.md +8 -2
  427. package/docs/COMMANDS_GUIDE.md +196 -2
  428. package/docs/CONTRIBUTING.ko.md +408 -0
  429. package/docs/CONTRIBUTING.md +205 -203
  430. package/docs/EXAMPLES.md +691 -0
  431. package/docs/GETTING_STARTED.md +480 -0
  432. package/docs/PERFORMANCE_ARCHITECTURE.md +494 -0
  433. package/docs/PERFORMANCE_GUIDELINES.md +553 -0
  434. package/docs/TROUBLESHOOTING.md +721 -0
  435. package/docs/git-feature-integration-guide.md +253 -0
  436. package/docs/guides/ai-personas-guide-ko.md +239 -0
  437. package/docs/guides/ai-personas-guide.md +239 -0
  438. package/docs/guides/context-compression-guide-ko.md +313 -0
  439. package/docs/guides/context-compression-guide.md +313 -0
  440. package/docs/guides/feature-git-integration-guide-ko.md +481 -0
  441. package/docs/guides/feature-git-integration-guide.md +481 -0
  442. package/docs/lightweight-evaluation.md +198 -0
  443. package/docs/m02-dod-checklist.md +125 -0
  444. package/docs/m02-gap-analysis.md +214 -0
  445. package/docs/m02-milestone-completion-report.md +186 -0
  446. package/docs/m02-milestone-executive-summary.md +68 -0
  447. package/docs/offline-template-cache.md +323 -0
  448. package/docs/performance-benchmark-report.md +159 -0
  449. package/docs/persona-aware-compression.md +168 -0
  450. package/docs/reports/S02-sprint-report.md +190 -0
  451. package/docs/usability-test-report.md +170 -0
  452. package/index.js +116 -4
  453. package/jest.config.js +20 -1
  454. package/language-utils.js +1 -1
  455. package/lib/ai-persona-manager.js +711 -0
  456. package/lib/cache-cli.js +459 -0
  457. package/lib/cache-integration.js +401 -0
  458. package/lib/cache-system.js +332 -0
  459. package/lib/context-engine.js +568 -0
  460. package/lib/file-batch-processor.js +401 -0
  461. package/lib/memory-profiler.js +471 -0
  462. package/lib/metrics-collector.js +885 -0
  463. package/lib/offline-detector.js +386 -0
  464. package/lib/performance-benchmark.js +621 -0
  465. package/lib/task-analyzer.js +599 -0
  466. package/lib/template-cache-system.js +559 -0
  467. package/lib/template-downloader.js +467 -0
  468. package/lib/template-manager.js +310 -0
  469. package/lib/template-version-manager.js +491 -0
  470. package/lib/token-optimizer.js +517 -0
  471. package/package.json +6 -3
  472. package/scripts/run-integration-tests.js +317 -0
  473. package/src/commands/ai-tool.js +383 -0
  474. package/test-token-system.js +88 -0
  475. package/tests/application.test.js +260 -0
  476. package/tests/basic.test.js +1 -1
  477. package/tests/integration/ai-persona-system.test.js +396 -0
  478. package/tests/integration/ai-persona.test.js +390 -0
  479. package/tests/integration/command-integration.test.js +600 -0
  480. package/tests/integration/context-compression.test.js +361 -0
  481. package/tests/integration/feature-ledger.test.js +226 -0
  482. package/tests/integration/git-integration.test.js +307 -0
  483. package/tests/integration/m02-milestone.test.js +420 -0
  484. package/tests/integration/persona-context-application.test.js +508 -0
  485. package/tests/integration/setup.js +174 -0
  486. package/tests/integration/test-persona-aware-compression.js +93 -0
  487. package/tests/language-utils.test.js +25 -9
  488. package/tests/s02-integration.test.js +422 -0
  489. package/tests/unit/ai-persona-manager.test.js +514 -0
  490. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_language_manager.md +0 -287
  491. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_language_status.md +0 -246
  492. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_language_manager.md +0 -287
  493. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_language_status.md +0 -246
@@ -0,0 +1,138 @@
1
+ # Feature ID 생성 규칙
2
+
3
+ ## 개요
4
+
5
+ Feature ID는 AIWF 프레임워크에서 각 Feature를 고유하게 식별하는 데 사용되는 식별자입니다.
6
+
7
+ ## ID 형식
8
+
9
+ ```
10
+ FL### (예: FL001, FL002, FL010, FL999)
11
+ ```
12
+
13
+ - **접두사**: `FL` (Feature Ledger)
14
+ - **번호**: 3자리 숫자 (001-999)
15
+ - **총 길이**: 5자리
16
+
17
+ ## 생성 규칙
18
+
19
+ ### 1. 자동 증분 방식
20
+ - Feature ID는 자동으로 증분됩니다
21
+ - 마지막 생성된 ID를 기준으로 다음 번호를 할당
22
+
23
+ ### 2. 번호 할당 로직
24
+ ```
25
+ 다음 ID = max(기존_모든_Feature_ID) + 1
26
+ ```
27
+
28
+ ### 3. 번호 범위
29
+ - **시작**: FL001
30
+ - **최대**: FL999 (총 999개 Feature 지원)
31
+ - **예약**: FL000 (시스템 예약)
32
+
33
+ ### 4. ID 검색 순서
34
+ 1. `active/` 디렉토리 검색
35
+ 2. `completed/` 디렉토리 검색
36
+ 3. `archived/` 디렉토리 검색
37
+ 4. 최대값 확인 후 +1
38
+
39
+ ## 구현 예시
40
+
41
+ ### JavaScript 구현
42
+ ```javascript
43
+ function generateNextFeatureId() {
44
+ const directories = ['active', 'completed', 'archived'];
45
+ let maxId = 0;
46
+
47
+ directories.forEach(dir => {
48
+ const files = fs.readdirSync(`06_FEATURE_LEDGERS/${dir}`);
49
+ files.forEach(file => {
50
+ const match = file.match(/^FL(\d{3})_/);
51
+ if (match) {
52
+ const idNumber = parseInt(match[1], 10);
53
+ maxId = Math.max(maxId, idNumber);
54
+ }
55
+ });
56
+ });
57
+
58
+ const nextId = maxId + 1;
59
+ return `FL${nextId.toString().padStart(3, '0')}`;
60
+ }
61
+ ```
62
+
63
+ ### CLI 명령어 구현
64
+ ```bash
65
+ # 다음 Feature ID 조회
66
+ /aiwf_next_feature_id
67
+
68
+ # Feature 생성 시 자동 ID 할당
69
+ /aiwf_create_feature_ledger "제목" "설명"
70
+ ```
71
+
72
+ ## 파일명 생성 규칙
73
+
74
+ ### 1. 기본 구조
75
+ ```
76
+ {feature_id}_{sanitized_title}.md
77
+ ```
78
+
79
+ ### 2. 제목 정제 규칙
80
+ - 공백 → 언더스코어 (`_`)
81
+ - 특수문자 제거 (알파벳, 숫자, 언더스코어, 하이픈만 허용)
82
+ - 최대 길이: 50자
83
+ - 소문자 변환
84
+
85
+ ### 3. 예시
86
+ ```
87
+ 입력: "사용자 인증 시스템 개발"
88
+ 출력: "FL001_사용자_인증_시스템_개발.md"
89
+
90
+ 입력: "API 응답 속도 최적화 (Redis 캐시 적용)"
91
+ 출력: "FL002_api_응답_속도_최적화_redis_캐시_적용.md"
92
+ ```
93
+
94
+ ## 중복 방지 메커니즘
95
+
96
+ ### 1. ID 중복 검사
97
+ - 새 ID 생성 전 기존 ID 전체 검색
98
+ - 동시성 제어를 위한 락 메커니즘 필요
99
+
100
+ ### 2. 파일명 충돌 처리
101
+ ```
102
+ 기본: FL001_사용자_인증.md
103
+ 충돌 시: FL001_사용자_인증_2.md
104
+ ```
105
+
106
+ ### 3. 삭제된 ID 재사용 금지
107
+ - 한 번 사용된 ID는 영구적으로 예약
108
+ - 아카이브된 Feature의 ID도 재사용하지 않음
109
+
110
+ ## 검증 규칙
111
+
112
+ ### 1. ID 형식 검증
113
+ ```regex
114
+ ^FL[0-9]{3}$
115
+ ```
116
+
117
+ ### 2. 범위 검증
118
+ - 001-999 범위 내에서만 생성
119
+ - FL000은 시스템 예약으로 사용 불가
120
+
121
+ ### 3. 고유성 검증
122
+ - 모든 디렉토리에서 ID 고유성 보장
123
+ - 대소문자 구분하여 검증
124
+
125
+ ## 마이그레이션 전략
126
+
127
+ ### 1. 기존 Feature 마이그레이션
128
+ - 기존 Feature들에 순차적으로 ID 할당
129
+ - 생성 날짜 순으로 정렬 후 ID 부여
130
+
131
+ ### 2. 백업 및 복구
132
+ - ID 생성 전 현재 상태 백업
133
+ - 롤백 가능한 마이그레이션 수행
134
+
135
+ ---
136
+
137
+ *생성일: 2025-07-08*
138
+ *최종 업데이트: 2025-07-08 20:55*
@@ -0,0 +1,186 @@
1
+ # Feature Ledger 인덱스
2
+
3
+ ## 개요
4
+
5
+ 이 문서는 AIWF 프로젝트의 모든 Feature를 중앙에서 관리하는 인덱스입니다. Feature의 현재 상태, 진행률, 의존성을 한눈에 파악할 수 있습니다.
6
+
7
+ **최종 업데이트**: 2025-07-08 20:56
8
+ **총 Feature 수**: 3개
9
+ **활성 Feature**: 2개
10
+ **완료 Feature**: 1개
11
+
12
+ ## Feature 통계
13
+
14
+ ### 상태별 분포
15
+ | 상태 | 개수 | 비율 |
16
+ |------|------|------|
17
+ | draft | 1 | 33% |
18
+ | active | 1 | 33% |
19
+ | completed | 1 | 33% |
20
+ | on-hold | 0 | 0% |
21
+ | archived | 0 | 0% |
22
+
23
+ ### 우선순위별 분포
24
+ | 우선순위 | 개수 | 비율 |
25
+ |----------|------|------|
26
+ | high | 2 | 67% |
27
+ | medium | 1 | 33% |
28
+ | low | 0 | 0% |
29
+ | critical | 0 | 0% |
30
+
31
+ ### 마일스톤별 분포
32
+ | 마일스톤 | 개수 | 상태 |
33
+ |----------|------|------|
34
+ | M01 | 1 | 완료 |
35
+ | M02 | 2 | 진행 중 |
36
+
37
+ ## Feature 목록
38
+
39
+ ### 🟢 Active Features
40
+
41
+ #### [FL001] 사용자 인증 시스템 `active` `high`
42
+ - **담당자**: moonklabs
43
+ - **마일스톤**: M02
44
+ - **진행률**: 33% (8/24h)
45
+ - **태그**: authentication, security, core, backend
46
+ - **브랜치**: feature/FL001-user-auth-system
47
+ - **설명**: JWT 기반 사용자 인증 시스템 구현으로 보안 강화 및 세션 관리 개선
48
+ - **파일**: [FL001_사용자_인증_시스템.md](active/FL001_사용자_인증_시스템.md)
49
+
50
+ #### [FL002] AI 페르소나 시스템 `draft` `high`
51
+ - **담당자**: team-ai
52
+ - **마일스톤**: M02
53
+ - **진행률**: 0% (0/32h)
54
+ - **태그**: ai, persona, context, enhancement, core
55
+ - **의존성**: FL001
56
+ - **설명**: 5개의 전문 AI 페르소나를 통한 컨텍스트 특화 개발 지원 시스템
57
+ - **파일**: [FL002_ai_페르소나_시스템.md](active/FL002_ai_페르소나_시스템.md)
58
+
59
+ ### ✅ Completed Features
60
+
61
+ #### [FL003] 다국어 명령어 표준화 `completed` `medium`
62
+ - **담당자**: moonklabs
63
+ - **마일스톤**: M01
64
+ - **완료일**: 2025-07-08
65
+ - **작업시간**: 18/16h (+2h)
66
+ - **태그**: i18n, localization, command, standardization, completed
67
+ - **브랜치**: feature/FL003-multilang-commands, hotfix/FL003-korean-encoding
68
+ - **설명**: 한국어/영어 명령어 시스템 통합 및 표준화로 글로벌 사용자 지원
69
+ - **파일**: [FL003_다국어_명령어_표준화.md](completed/FL003_다국어_명령어_표준화.md)
70
+
71
+ ## 의존성 그래프
72
+
73
+ ```mermaid
74
+ graph TD
75
+ FL001[FL001: 사용자 인증 시스템] --> FL002[FL002: AI 페르소나 시스템]
76
+ FL003[FL003: 다국어 명령어 표준화]
77
+
78
+ style FL001 fill:#ffeb3b
79
+ style FL002 fill:#e3f2fd
80
+ style FL003 fill:#c8e6c9
81
+ ```
82
+
83
+ **범례**:
84
+ - 🟡 Active (진행 중)
85
+ - 🔵 Draft (기획 완료)
86
+ - 🟢 Completed (완료)
87
+
88
+ ## 마일스톤별 현황
89
+
90
+ ### M01 - 한국어 명령어 표준화 ✅
91
+ - **상태**: 완료
92
+ - **Feature 수**: 1개
93
+ - **완료율**: 100%
94
+ - **주요 성과**: 글로벌 사용자 기반 확대
95
+
96
+ ### M02 - Context Engineering Enhancement 🔄
97
+ - **상태**: 진행 중
98
+ - **Feature 수**: 2개
99
+ - **완료율**: 0%
100
+ - **예상 완료**: 2025-07-15
101
+ - **핵심 Feature**: FL001 (사용자 인증), FL002 (AI 페르소나)
102
+
103
+ ## 최근 활동
104
+
105
+ ### 2025-07-08
106
+ - ✅ **FL003** 다국어 명령어 표준화 완료
107
+ - 🔄 **FL001** 사용자 인증 시스템 활성화 (33% 진행)
108
+ - 📋 **FL002** AI 페르소나 시스템 기획 완료
109
+
110
+ ### 향후 계획
111
+ - **2025-07-09**: FL001 Phase 1 완료 예정
112
+ - **2025-07-10**: FL002 개발 시작 예정
113
+ - **2025-07-15**: M02 마일스톤 완료 목표
114
+
115
+ ## Feature 관리 명령어
116
+
117
+ ### 조회 명령어
118
+ ```bash
119
+ # 전체 Feature 목록
120
+ /aiwf_list_features
121
+
122
+ # 상태별 조회
123
+ /aiwf_list_features --status active
124
+ /aiwf_list_features --status completed
125
+
126
+ # 마일스톤별 조회
127
+ /aiwf_list_features --milestone M02
128
+
129
+ # 특정 Feature 상세 조회
130
+ /aiwf_feature_details FL001
131
+ ```
132
+
133
+ ### 관리 명령어
134
+ ```bash
135
+ # 새 Feature 생성
136
+ /aiwf_create_feature_ledger "제목" "설명"
137
+
138
+ # 상태 업데이트
139
+ /aiwf_update_feature_status FL001 completed
140
+
141
+ # 의존성 추가
142
+ /aiwf_add_dependency FL002 FL001
143
+
144
+ # 인덱스 업데이트
145
+ /aiwf_update_feature_index
146
+ ```
147
+
148
+ ## 품질 메트릭
149
+
150
+ ### 계획 정확도
151
+ - **시간 예측 정확도**: 89% (FL003: 예상 16h vs 실제 18h)
152
+ - **완료율 예측**: 진행 중 (FL001, FL002)
153
+ - **의존성 관리**: 100% (순환 참조 없음)
154
+
155
+ ### 생산성 지표
156
+ - **평균 Feature 크기**: 24시간
157
+ - **완료 소요 시간**: 평균 6일 (FL003 기준)
158
+ - **재작업률**: 11% (FL003: +2시간)
159
+
160
+ ## 위험 요소 및 대응
161
+
162
+ ### 현재 위험 요소
163
+ 1. **FL002 의존성**: FL001 완료 지연 시 FL002 시작 지연 가능
164
+ 2. **M02 일정**: 2개 Feature의 병렬 진행 필요
165
+ 3. **리소스 할당**: team-ai의 FL002 전담 필요
166
+
167
+ ### 대응 방안
168
+ - FL001 Phase 1 우선 완료로 FL002 시작 가능
169
+ - 일주일 스프린트 단위로 진행 모니터링
170
+ - 필요시 Feature 범위 조정
171
+
172
+ ## 관련 문서
173
+
174
+ - [Feature Ledger 시스템 가이드](README.md)
175
+ - [Feature 워크플로우](FEATURE_WORKFLOW.md)
176
+ - [메타데이터 정의](FEATURE_METADATA.md)
177
+ - [ID 생성 규칙](FEATURE_ID_GENERATOR.md)
178
+ - [스키마 검증](schemas/feature_schema.json)
179
+
180
+ ---
181
+
182
+ *이 인덱스는 Feature 생성/수정 시 자동으로 업데이트됩니다.*
183
+ *수동 업데이트: `/aiwf_update_feature_index`*
184
+
185
+ **생성일**: 2025-07-08 20:56
186
+ **관리자**: moonklabs
@@ -0,0 +1,240 @@
1
+ # Feature 메타데이터 필드 정의
2
+
3
+ ## 개요
4
+
5
+ Feature Ledger 시스템에서 각 Feature는 체계적인 메타데이터를 통해 관리됩니다. 이 문서는 모든 메타데이터 필드의 정의와 사용법을 설명합니다.
6
+
7
+ ## 필수 필드 (Required Fields)
8
+
9
+ ### 1. feature_id
10
+ - **타입**: String
11
+ - **형식**: `FL###` (예: FL001, FL002)
12
+ - **설명**: Feature의 고유 식별자
13
+ - **자동 생성**: 예
14
+ - **수정 불가**: 예
15
+
16
+ ### 2. title
17
+ - **타입**: String
18
+ - **제한**: 1-100자
19
+ - **설명**: Feature의 간단한 제목
20
+ - **예시**: "사용자 인증 시스템", "댓글 기능 구현"
21
+
22
+ ### 3. description
23
+ - **타입**: String
24
+ - **제한**: 1-1000자
25
+ - **설명**: Feature의 상세 설명
26
+ - **예시**: "JWT 기반 사용자 인증 시스템 구현"
27
+
28
+ ### 4. status
29
+ - **타입**: Enum
30
+ - **값**: draft, active, on-hold, completed, archived
31
+ - **설명**: Feature의 현재 상태
32
+ - **기본값**: draft
33
+
34
+ ### 5. priority
35
+ - **타입**: Enum
36
+ - **값**: low, medium, high, critical
37
+ - **설명**: Feature의 우선순위
38
+ - **기본값**: medium
39
+
40
+ ## 프로젝트 연동 필드
41
+
42
+ ### 6. milestone_id
43
+ - **타입**: String
44
+ - **형식**: `M##` (예: M01, M02)
45
+ - **설명**: 연관된 마일스톤 ID
46
+ - **필수**: 예
47
+ - **참조**: `02_REQUIREMENTS/` 디렉토리의 마일스톤
48
+
49
+ ### 7. assignee
50
+ - **타입**: String
51
+ - **제한**: 1-50자
52
+ - **설명**: Feature 담당자명
53
+ - **예시**: "moonklabs", "team-frontend", "개발자명"
54
+
55
+ ## 시간 관리 필드
56
+
57
+ ### 8. created_date
58
+ - **타입**: DateTime (ISO 8601)
59
+ - **설명**: Feature 생성 일시
60
+ - **자동 생성**: 예
61
+ - **예시**: "2025-07-08T20:55:57+0900"
62
+
63
+ ### 9. updated_date
64
+ - **타입**: DateTime (ISO 8601)
65
+ - **설명**: Feature 최종 수정 일시
66
+ - **자동 업데이트**: 예
67
+ - **예시**: "2025-07-08T21:30:45+0900"
68
+
69
+ ### 10. estimated_hours
70
+ - **타입**: Number
71
+ - **범위**: 0-1000
72
+ - **단위**: 시간
73
+ - **설명**: 예상 작업 시간
74
+ - **기본값**: 0
75
+
76
+ ### 11. actual_hours
77
+ - **타입**: Number
78
+ - **범위**: 0-1000
79
+ - **단위**: 시간
80
+ - **설명**: 실제 작업 시간
81
+ - **기본값**: 0
82
+ - **자동 계산**: Git 커밋 기반 (옵션)
83
+
84
+ ## 분류 및 태그 필드
85
+
86
+ ### 12. tags
87
+ - **타입**: Array of String
88
+ - **제한**: 각 태그 1-30자
89
+ - **설명**: Feature 분류 태그
90
+ - **예시**: ["authentication", "security", "core"]
91
+ - **사전 정의 태그**:
92
+ - **카테고리**: frontend, backend, api, database, ui, ux
93
+ - **유형**: feature, enhancement, bugfix, refactor, docs
94
+ - **복잡도**: simple, complex, critical
95
+ - **도메인**: auth, payment, notification, search, admin
96
+
97
+ ### 13. dependencies
98
+ - **타입**: Array of String
99
+ - **형식**: Feature ID 배열 (["FL002", "FL003"])
100
+ - **설명**: 종속성 Feature ID 목록
101
+ - **검증**: 존재하는 Feature ID만 허용
102
+ - **순환 참조**: 자동 감지 및 방지
103
+
104
+ ## Git 연동 필드
105
+
106
+ ### 14. git_branches
107
+ - **타입**: Array of String
108
+ - **형식**: 브랜치명 배열
109
+ - **설명**: 관련 Git 브랜치 목록
110
+ - **예시**: ["feature/FL001-user-auth", "hotfix/FL001-security-fix"]
111
+ - **자동 추가**: 브랜치 생성 시 자동 업데이트
112
+
113
+ ## 선택 필드 (Optional Fields)
114
+
115
+ ### 15. epic_id
116
+ - **타입**: String
117
+ - **형식**: `EP###` (예: EP001)
118
+ - **설명**: 상위 Epic ID (대규모 Feature 그룹)
119
+ - **사용**: 큰 프로젝트에서 Feature 그룹핑
120
+
121
+ ### 16. story_points
122
+ - **타입**: Number
123
+ - **범위**: 1-100
124
+ - **설명**: 스크럼 스토리 포인트
125
+ - **사용**: 애자일 개발 시 복잡도 추정
126
+
127
+ ### 17. acceptance_criteria
128
+ - **타입**: Array of String
129
+ - **설명**: 완료 조건 목록
130
+ - **예시**: ["로그인 성공 시 토큰 발급", "실패 시 에러 메시지 표시"]
131
+
132
+ ### 18. business_value
133
+ - **타입**: String
134
+ - **제한**: 1-500자
135
+ - **설명**: 비즈니스 가치 및 ROI 설명
136
+
137
+ ### 19. technical_notes
138
+ - **타입**: String
139
+ - **제한**: 1-2000자
140
+ - **설명**: 기술적 구현 노트 및 제약사항
141
+
142
+ ### 20. test_coverage
143
+ - **타입**: Number
144
+ - **범위**: 0-100
145
+ - **단위**: 퍼센트
146
+ - **설명**: 테스트 커버리지 (자동 계산)
147
+
148
+ ## 메타데이터 검증 규칙
149
+
150
+ ### 1. 필수 필드 검증
151
+ ```yaml
152
+ required_fields:
153
+ - feature_id
154
+ - title
155
+ - description
156
+ - status
157
+ - priority
158
+ - milestone_id
159
+ - assignee
160
+ - created_date
161
+ - updated_date
162
+ - estimated_hours
163
+ - actual_hours
164
+ - tags
165
+ - dependencies
166
+ - git_branches
167
+ ```
168
+
169
+ ### 2. 형식 검증
170
+ - **Feature ID**: 정규식 `^FL[0-9]{3}$`
171
+ - **Milestone ID**: 정규식 `^M[0-9]{2}$`
172
+ - **Epic ID**: 정규식 `^EP[0-9]{3}$`
173
+ - **날짜**: ISO 8601 형식
174
+ - **브랜치명**: Git 브랜치 명명 규칙
175
+
176
+ ### 3. 참조 무결성
177
+ - Milestone ID는 실제 존재하는 마일스톤 참조
178
+ - Dependencies의 Feature ID는 실제 존재하는 Feature 참조
179
+ - 순환 의존성 자동 감지
180
+
181
+ ## 기본값 및 자동 생성
182
+
183
+ ### 1. 자동 생성 필드
184
+ ```yaml
185
+ auto_generated:
186
+ feature_id: "다음 가용 FL### ID"
187
+ created_date: "현재 시간"
188
+ updated_date: "현재 시간"
189
+ ```
190
+
191
+ ### 2. 기본값 설정
192
+ ```yaml
193
+ defaults:
194
+ status: "draft"
195
+ priority: "medium"
196
+ estimated_hours: 0
197
+ actual_hours: 0
198
+ tags: []
199
+ dependencies: []
200
+ git_branches: []
201
+ ```
202
+
203
+ ## 메타데이터 활용
204
+
205
+ ### 1. 검색 및 필터링
206
+ ```bash
207
+ # 태그별 검색
208
+ /aiwf_search_features --tags authentication,security
209
+
210
+ # 담당자별 검색
211
+ /aiwf_search_features --assignee moonklabs
212
+
213
+ # 마일스톤별 검색
214
+ /aiwf_search_features --milestone M02
215
+
216
+ # 복합 조건
217
+ /aiwf_search_features --status active --priority high --milestone M02
218
+ ```
219
+
220
+ ### 2. 리포팅
221
+ ```bash
222
+ # 진행률 리포트
223
+ /aiwf_progress_report --milestone M02
224
+
225
+ # 시간 추적 리포트
226
+ /aiwf_time_report --assignee moonklabs --date-range "2025-07-01,2025-07-31"
227
+
228
+ # 의존성 분석
229
+ /aiwf_dependency_analysis --feature FL001
230
+ ```
231
+
232
+ ### 3. 자동화 트리거
233
+ - **상태 변경** 시 Git 브랜치 생성/삭제
234
+ - **의존성 해결** 시 대기 중인 Feature 알림
235
+ - **시간 초과** 시 담당자 통지
236
+
237
+ ---
238
+
239
+ *생성일: 2025-07-08*
240
+ *최종 업데이트: 2025-07-08 20:55*