aiwf 0.3.0 → 0.3.2

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 (534) hide show
  1. package/.aiwf/.claude/commands/aiwf/aiwf_compress_aggressive_persona.md +53 -0
  2. package/.aiwf/.claude/commands/aiwf/aiwf_compress_minimal_persona.md +48 -0
  3. package/.aiwf/.claude/commands/aiwf/aiwf_compress_stats.md +79 -0
  4. package/.aiwf/.claude/commands/aiwf/aiwf_compress_with_persona.md +51 -0
  5. package/.aiwf/.claude/commands/aiwf/aiwf_evaluate.md +92 -0
  6. package/.aiwf/00_PROJECT_MANIFEST.md +183 -0
  7. package/.aiwf/01_PROJECT_DOCS/ARCHITECTURE.md +121 -0
  8. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_ADVANCED_USE_CASES.md +412 -0
  9. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_API_REFERENCE.md +361 -0
  10. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_COMMANDS_GUIDE.md +254 -0
  11. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_FAQ.md +365 -0
  12. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_SYSTEM_OVERVIEW.md +305 -0
  13. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_USER_GUIDE.md +416 -0
  14. 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
  15. package/.aiwf/02_REQUIREMENTS/CLAUDE.md +78 -0
  16. package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/M02_milestone_meta.md +34 -0
  17. package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/PRD_Context_Engineering_Enhancement.md +108 -0
  18. package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_AI_Persona_System.md +299 -0
  19. package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_Feature_Ledger_System.md +330 -0
  20. package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_Token_Optimization.md +833 -0
  21. package/.aiwf/03_SPRINTS/CLAUDE.md +83 -0
  22. package/.aiwf/03_SPRINTS/S01_M02_context_foundation/S01_M02_sprint_meta.md +95 -0
  23. 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
  24. 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
  25. 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
  26. package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX04_S01_Feature_Ledger_/353/254/270/354/204/234/355/231/224.md +114 -0
  27. 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
  28. 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
  29. 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
  30. 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
  31. 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
  32. 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
  33. 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
  34. 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
  35. package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/S02_M02_sprint_meta.md +107 -0
  36. 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
  37. 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
  38. 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
  39. 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
  40. 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
  41. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/S03_FINAL_SPRINT_SUMMARY.md +137 -0
  42. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/S03_M02_sprint_meta.md +106 -0
  43. 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
  44. 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
  45. 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
  46. 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
  47. package/.aiwf/04_GENERAL_TASKS/CLAUDE.md +96 -0
  48. package/.aiwf/04_GENERAL_TASKS/TX001_complete_english_translation.md +127 -0
  49. package/.aiwf/05_DOCUMENTATION/performance-report.md +33 -0
  50. package/.aiwf/06_FEATURE_LEDGERS/FEATURE_GIT_INTEGRATION.md +314 -0
  51. package/.aiwf/06_FEATURE_LEDGERS/FEATURE_INTEGRATION_GUIDE.md +227 -0
  52. package/.aiwf/06_FEATURE_LEDGERS/FEATURE_LEDGER_INDEX.md +23 -0
  53. package/.aiwf/06_FEATURE_LEDGERS/FEATURE_SCHEMA.md +205 -0
  54. package/.aiwf/06_FEATURE_LEDGERS/FEATURE_STATE_DIAGRAM.md +190 -0
  55. package/.aiwf/06_FEATURE_LEDGERS/active/FL001_user_authentication_system.md +47 -0
  56. package/.aiwf/06_FEATURE_LEDGERS/active/FL002_user_authentication_system.md +47 -0
  57. package/.aiwf/07_AI_PERSONAS/PERSONA_INDEX.md +57 -0
  58. package/.aiwf/07_AI_PERSONAS/architect/best_practices.md +104 -0
  59. package/.aiwf/07_AI_PERSONAS/architect/context_rules.md +46 -0
  60. package/.aiwf/07_AI_PERSONAS/architect/knowledge_base.md +235 -0
  61. package/.aiwf/07_AI_PERSONAS/backend/best_practices.md +363 -0
  62. package/.aiwf/07_AI_PERSONAS/backend/context_rules.md +61 -0
  63. package/.aiwf/07_AI_PERSONAS/backend/knowledge_base.md +623 -0
  64. package/.aiwf/07_AI_PERSONAS/data_analyst/best_practices.md +32 -0
  65. package/.aiwf/07_AI_PERSONAS/data_analyst/context_rules.md +43 -0
  66. package/.aiwf/07_AI_PERSONAS/data_analyst/knowledge_base.md +36 -0
  67. package/.aiwf/07_AI_PERSONAS/frontend/best_practices.md +31 -0
  68. package/.aiwf/07_AI_PERSONAS/frontend/context_rules.md +43 -0
  69. package/.aiwf/07_AI_PERSONAS/frontend/knowledge_base.md +32 -0
  70. package/.aiwf/07_AI_PERSONAS/security/best_practices.md +63 -0
  71. package/.aiwf/07_AI_PERSONAS/security/context_rules.md +53 -0
  72. package/.aiwf/07_AI_PERSONAS/security/knowledge_base.md +93 -0
  73. package/.aiwf/10_PERSONAS/active.json +1 -0
  74. package/.aiwf/10_PERSONAS/developer.md +37 -0
  75. package/.aiwf/10_STATE_OF_PROJECT/2025-07-09-07-20-solid-progress.md +144 -0
  76. package/.aiwf/98_PROMPTS/SAAS_DEVELOPMENT_GUIDE.md +302 -0
  77. package/.aiwf/98_PROMPTS/github_integration.md +130 -0
  78. package/.aiwf/98_PROMPTS/useful-prompts.md +31 -0
  79. package/.aiwf/98_PROMPTS/vibe-front-prompts.md +89 -0
  80. package/.aiwf/99_TEMPLATES/adr_template.md +49 -0
  81. package/.aiwf/99_TEMPLATES/feature_template.md +263 -0
  82. package/.aiwf/99_TEMPLATES/milestone_meta_template.md +25 -0
  83. package/.aiwf/99_TEMPLATES/project_manifest_template.md +39 -0
  84. package/.aiwf/99_TEMPLATES/sprint_meta_template.md +23 -0
  85. package/.aiwf/99_TEMPLATES/task_template.md +36 -0
  86. package/.aiwf/CLAUDE.md +76 -0
  87. package/.aiwf/ai-tools/README.md +105 -0
  88. package/.aiwf/ai-tools/augment/README.md +371 -0
  89. package/.aiwf/ai-tools/augment/config.json +30 -0
  90. package/.aiwf/ai-tools/augment/template/.augment/aiwf-integration.md +387 -0
  91. package/.aiwf/ai-tools/augment/template/.augment/augment.yaml +347 -0
  92. package/.aiwf/ai-tools/augment/template/augment.config.json +64 -0
  93. package/.aiwf/ai-tools/claude-code/README.md +151 -0
  94. package/.aiwf/ai-tools/claude-code/config.json +28 -0
  95. package/.aiwf/ai-tools/claude-code/template/CLAUDE.md +91 -0
  96. package/.aiwf/ai-tools/cursor/README.md +314 -0
  97. package/.aiwf/ai-tools/cursor/config.json +29 -0
  98. package/.aiwf/ai-tools/cursor/template/.cursorrules +362 -0
  99. package/.aiwf/ai-tools/github-copilot/README.md +195 -0
  100. package/.aiwf/ai-tools/github-copilot/config.json +24 -0
  101. package/.aiwf/ai-tools/github-copilot/template/.github/copilot-instructions.md +202 -0
  102. package/.aiwf/ai-tools/windsurf/README.md +355 -0
  103. package/.aiwf/ai-tools/windsurf/config.json +29 -0
  104. package/.aiwf/ai-tools/windsurf/template/.windsurf/aiwf-rules.md +260 -0
  105. package/.aiwf/ai-tools/windsurf/template/.windsurf/windsurf.config.js +312 -0
  106. package/.aiwf/ai-tools/windsurf/template/windsurf.config.json +63 -0
  107. package/.aiwf/config/language.json +6 -0
  108. package/.aiwf/feature-ledger/FL-001-authentication.json +52 -0
  109. package/.aiwf/feature-ledger/feature-index.json +20 -0
  110. package/.aiwf/personas/analyst.json +44 -0
  111. package/.aiwf/personas/architect/best_practices.md +136 -0
  112. package/.aiwf/personas/architect/knowledge_base.md +377 -0
  113. package/.aiwf/personas/architect.json +44 -0
  114. package/.aiwf/personas/backend/best_practices.md +766 -0
  115. package/.aiwf/personas/backend/knowledge_base.md +1070 -0
  116. package/.aiwf/personas/data_analyst/best_practices.md +594 -0
  117. package/.aiwf/personas/data_analyst/knowledge_base.md +1057 -0
  118. package/.aiwf/personas/developer.json +44 -0
  119. package/.aiwf/personas/evaluation_criteria.json +137 -0
  120. package/.aiwf/personas/frontend/best_practices.md +445 -0
  121. package/.aiwf/personas/frontend/knowledge_base.md +729 -0
  122. package/.aiwf/personas/persona-index.json +31 -0
  123. package/.aiwf/personas/reviewer.json +44 -0
  124. package/.aiwf/personas/security/best_practices.md +307 -0
  125. package/.aiwf/personas/security/knowledge_base.md +498 -0
  126. package/.aiwf/personas/tester.json +44 -0
  127. package/.aiwf/scripts/cache-templates.js +209 -0
  128. package/.aiwf/scripts/create-offline.js +86 -0
  129. package/.aiwf/scripts/create-project.js +151 -0
  130. package/.aiwf/scripts/feature-progress-calculator.cjs +236 -0
  131. package/.aiwf/scripts/git-integration.cjs +391 -0
  132. package/.aiwf/scripts/install-git-hooks.cjs +226 -0
  133. package/.aiwf/scripts/test-commit-parsing.cjs +125 -0
  134. package/.aiwf/scripts/update-feature-status.cjs +198 -0
  135. package/.aiwf/templates/README.md +78 -0
  136. package/.aiwf/templates/api-server/config.json +64 -0
  137. package/.aiwf/templates/api-server/template/.aiwf/config.json +56 -0
  138. package/.aiwf/templates/api-server/template/.aiwf/feature-ledger.json +42 -0
  139. package/.aiwf/templates/api-server/template/.aiwf/personas/backend-engineer.json +40 -0
  140. package/.aiwf/templates/api-server/template/.aiwf/scripts/cli.js +111 -0
  141. package/.aiwf/templates/api-server/template/.env.example +29 -0
  142. package/.aiwf/templates/api-server/template/.eslintrc.json +23 -0
  143. package/.aiwf/templates/api-server/template/README.md +171 -0
  144. package/.aiwf/templates/api-server/template/jest.config.js +26 -0
  145. package/.aiwf/templates/api-server/template/nodemon.json +9 -0
  146. package/.aiwf/templates/api-server/template/package.json +61 -0
  147. package/.aiwf/templates/api-server/template/src/app.ts +60 -0
  148. package/.aiwf/templates/api-server/template/src/config/swagger.ts +38 -0
  149. package/.aiwf/templates/api-server/template/src/controllers/aiwfController.ts +68 -0
  150. package/.aiwf/templates/api-server/template/src/controllers/authController.ts +128 -0
  151. package/.aiwf/templates/api-server/template/src/controllers/statusController.ts +28 -0
  152. package/.aiwf/templates/api-server/template/src/index.ts +28 -0
  153. package/.aiwf/templates/api-server/template/src/middleware/aiwfMiddleware.ts +50 -0
  154. package/.aiwf/templates/api-server/template/src/middleware/authMiddleware.ts +41 -0
  155. package/.aiwf/templates/api-server/template/src/middleware/errorHandler.ts +42 -0
  156. package/.aiwf/templates/api-server/template/src/middleware/notFoundHandler.ts +14 -0
  157. package/.aiwf/templates/api-server/template/src/middleware/requestLogger.ts +20 -0
  158. package/.aiwf/templates/api-server/template/src/routes/aiwf.ts +42 -0
  159. package/.aiwf/templates/api-server/template/src/routes/index.ts +13 -0
  160. package/.aiwf/templates/api-server/template/src/routes/v1/index.ts +67 -0
  161. package/.aiwf/templates/api-server/template/src/utils/logger.ts +37 -0
  162. package/.aiwf/templates/api-server/template/tests/app.test.ts +40 -0
  163. package/.aiwf/templates/api-server/template/tsconfig.json +43 -0
  164. package/.aiwf/templates/npm-library/config.json +61 -0
  165. package/.aiwf/templates/npm-library/template/LICENSE +21 -0
  166. package/.aiwf/templates/npm-library/template/README.md +201 -0
  167. package/.aiwf/templates/npm-library/template/package.json +78 -0
  168. package/.aiwf/templates/web-app/config.json +53 -0
  169. package/.aiwf/templates/web-app/template/.aiwf/config.json +54 -0
  170. package/.aiwf/templates/web-app/template/.aiwf/feature-ledger.json +37 -0
  171. package/.aiwf/templates/web-app/template/.aiwf/personas/fullstack-developer.json +40 -0
  172. package/.aiwf/templates/web-app/template/.aiwf/scripts/cli.js +110 -0
  173. package/.aiwf/templates/web-app/template/.eslintrc.cjs +20 -0
  174. package/.aiwf/templates/web-app/template/README.md +151 -0
  175. package/.aiwf/templates/web-app/template/index.html +14 -0
  176. package/.aiwf/templates/web-app/template/package.json +44 -0
  177. package/.aiwf/templates/web-app/template/postcss.config.js +6 -0
  178. package/.aiwf/templates/web-app/template/public/vite.svg +1 -0
  179. package/.aiwf/templates/web-app/template/src/App.tsx +21 -0
  180. package/.aiwf/templates/web-app/template/src/components/Layout.tsx +57 -0
  181. package/.aiwf/templates/web-app/template/src/components/aiwf/ContextStatus.tsx +107 -0
  182. package/.aiwf/templates/web-app/template/src/components/aiwf/FeatureLedger.tsx +93 -0
  183. package/.aiwf/templates/web-app/template/src/components/aiwf/TokenUsage.tsx +71 -0
  184. package/.aiwf/templates/web-app/template/src/index.css +60 -0
  185. package/.aiwf/templates/web-app/template/src/main.tsx +10 -0
  186. package/.aiwf/templates/web-app/template/src/pages/AiwfDashboard.tsx +60 -0
  187. package/.aiwf/templates/web-app/template/src/pages/HomePage.tsx +89 -0
  188. package/.aiwf/templates/web-app/template/src/pages/NotFound.tsx +25 -0
  189. package/.aiwf/templates/web-app/template/src/stores/aiwfStore.ts +126 -0
  190. package/.aiwf/templates/web-app/template/src/types/global.d.ts +9 -0
  191. package/.aiwf/templates/web-app/template/src/vite-env.d.ts +1 -0
  192. package/.aiwf/templates/web-app/template/tailwind.config.js +30 -0
  193. package/.aiwf/templates/web-app/template/tsconfig.json +37 -0
  194. package/.aiwf/templates/web-app/template/tsconfig.node.json +10 -0
  195. package/.aiwf/templates/web-app/template/vite.config.ts +23 -0
  196. package/.aiwf/test-cache/86c7f9e80251abb8bedd58953ab0d1779e46b4f43ea33b63bffdb778106373b0.json +6 -0
  197. package/.aiwf/test-cache/9e252a90b80fce0585d7ed0646e7a9b4343e109f661f42a3ae678ba1ec5e22c7.json +7 -0
  198. package/.aiwf/test-results-s02.json +36 -0
  199. package/.aiwf/token-data/alerts.json +293 -0
  200. package/.aiwf/token-data/monitor-config.json +12 -0
  201. package/CHANGELOG.md +119 -33
  202. package/CHANGELOG_M02.md +52 -0
  203. package/CLAUDE.md +133 -199
  204. package/README.ko.md +5 -0
  205. package/README.md +31 -5
  206. package/RELEASE_NOTES_M02.md +177 -0
  207. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_feature_ledger.md +54 -0
  208. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_default_mode.md +66 -0
  209. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_docs.md +225 -0
  210. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_get_feature_details.md +78 -0
  211. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +57 -0
  212. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_list_features.md +54 -0
  213. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_architect.md +60 -0
  214. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_backend.md +60 -0
  215. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_data_analyst.md +60 -0
  216. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_frontend.md +60 -0
  217. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_security.md +60 -0
  218. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_status.md +72 -0
  219. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_switch_language.md +160 -0
  220. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_update_feature_status.md +53 -0
  221. package/claude-code/aiwf/en/commands/ai-persona.js +667 -0
  222. package/claude-code/aiwf/en/commands/compress-context.js +355 -0
  223. package/claude-code/aiwf/en/commands/feature-ledger.js +565 -0
  224. package/claude-code/aiwf/en/commands/feature_commit_report.js +370 -0
  225. package/claude-code/aiwf/en/commands/scan_git_history.js +234 -0
  226. package/claude-code/aiwf/en/commands/sync_feature_commits.js +154 -0
  227. package/claude-code/aiwf/en/commands/token-tracking.js +443 -0
  228. package/claude-code/aiwf/en/config/commit-patterns.js +103 -0
  229. package/claude-code/aiwf/en/hooks/install-hooks.sh +100 -0
  230. package/claude-code/aiwf/en/hooks/post-commit +84 -0
  231. package/claude-code/aiwf/en/tests/compression-test-suite.js +1252 -0
  232. package/claude-code/aiwf/en/tests/test-git-integration.js +164 -0
  233. package/claude-code/aiwf/en/tests/token-tracking.test.js +537 -0
  234. package/claude-code/aiwf/en/utils/compression-metrics.js +1031 -0
  235. package/claude-code/aiwf/en/utils/compression-strategies.js +557 -0
  236. package/claude-code/aiwf/en/utils/content-normalizer.js +455 -0
  237. package/claude-code/aiwf/en/utils/context-compressor.js +583 -0
  238. package/claude-code/aiwf/en/utils/feature-updater.js +271 -0
  239. package/claude-code/aiwf/en/utils/git-utils.js +220 -0
  240. package/claude-code/aiwf/en/utils/importance-classifier.js +645 -0
  241. package/claude-code/aiwf/en/utils/information-filter.js +710 -0
  242. package/claude-code/aiwf/en/utils/text-summarizer.js +487 -0
  243. package/claude-code/aiwf/en/utils/token-counter.js +177 -0
  244. package/claude-code/aiwf/en/utils/token-monitor.js +484 -0
  245. package/claude-code/aiwf/en/utils/token-reporter.js +453 -0
  246. package/claude-code/aiwf/en/utils/token-storage.js +433 -0
  247. package/claude-code/aiwf/en/utils/token-tracker.js +283 -0
  248. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_ID_GENERATOR.md +138 -0
  249. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_INDEX.md +186 -0
  250. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_METADATA.md +240 -0
  251. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_WORKFLOW.md +183 -0
  252. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/README.md +94 -0
  253. 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
  254. 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
  255. 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
  256. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/schemas/feature_schema.json +122 -0
  257. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/schemas/feature_validator.cjs +406 -0
  258. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_code_review.md +62 -62
  259. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_commit.md +111 -111
  260. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_aggressive_persona.md +53 -0
  261. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_context.md +116 -0
  262. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_minimal_persona.md +48 -0
  263. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_stats.md +79 -0
  264. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_with_persona.md +51 -0
  265. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_feature_ledger.md +54 -0
  266. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_general_task.md +106 -106
  267. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_milestone_plan.md +127 -127
  268. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_sprint_tasks.md +130 -130
  269. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_sprints_from_milestone.md +87 -87
  270. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_default_mode.md +44 -0
  271. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_do_task.md +72 -72
  272. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_docs.md +225 -0
  273. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_evaluate.md +92 -0
  274. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_get_feature_details.md +78 -0
  275. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_initialize.md +86 -86
  276. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_issue_create.md +3 -3
  277. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +57 -0
  278. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_list_features.md +54 -0
  279. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_architect.md +48 -0
  280. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_backend.md +37 -0
  281. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_data_analyst.md +37 -0
  282. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_frontend.md +37 -0
  283. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_security.md +48 -0
  284. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_status.md +50 -0
  285. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_pr_create.md +14 -14
  286. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_prime.md +5 -5
  287. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_project_review.md +39 -39
  288. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_switch_language.md +160 -0
  289. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_test.md +76 -77
  290. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_testing_review.md +120 -120
  291. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_ultrathink_general.md +209 -266
  292. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_update_docs_kr.md +25 -0
  293. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_update_feature_status.md +53 -0
  294. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_yolo.md +226 -226
  295. package/claude-code/aiwf/ko/CLAUDE.md +76 -0
  296. package/claude-code/aiwf/ko/ai-tools/README.md +105 -0
  297. package/claude-code/aiwf/ko/ai-tools/augment/README.md +371 -0
  298. package/claude-code/aiwf/ko/ai-tools/augment/config.json +30 -0
  299. package/claude-code/aiwf/ko/ai-tools/augment/template/.augment/aiwf-integration.md +387 -0
  300. package/claude-code/aiwf/ko/ai-tools/augment/template/.augment/augment.yaml +347 -0
  301. package/claude-code/aiwf/ko/ai-tools/augment/template/augment.config.json +64 -0
  302. package/claude-code/aiwf/ko/ai-tools/claude-code/README.md +151 -0
  303. package/claude-code/aiwf/ko/ai-tools/claude-code/config.json +28 -0
  304. package/claude-code/aiwf/ko/ai-tools/claude-code/template/CLAUDE.md +91 -0
  305. package/claude-code/aiwf/ko/ai-tools/cursor/README.md +314 -0
  306. package/claude-code/aiwf/ko/ai-tools/cursor/config.json +29 -0
  307. package/claude-code/aiwf/ko/ai-tools/cursor/template/.cursorrules +362 -0
  308. package/claude-code/aiwf/ko/ai-tools/github-copilot/README.md +195 -0
  309. package/claude-code/aiwf/ko/ai-tools/github-copilot/config.json +24 -0
  310. package/claude-code/aiwf/ko/ai-tools/github-copilot/template/.github/copilot-instructions.md +202 -0
  311. package/claude-code/aiwf/ko/ai-tools/windsurf/README.md +355 -0
  312. package/claude-code/aiwf/ko/ai-tools/windsurf/config.json +29 -0
  313. package/claude-code/aiwf/ko/ai-tools/windsurf/template/.windsurf/aiwf-rules.md +260 -0
  314. package/claude-code/aiwf/ko/ai-tools/windsurf/template/.windsurf/windsurf.config.js +312 -0
  315. package/claude-code/aiwf/ko/ai-tools/windsurf/template/windsurf.config.json +63 -0
  316. package/claude-code/aiwf/ko/bin/aiwf-create.js +56 -0
  317. package/claude-code/aiwf/ko/bin/aiwf.js +21 -0
  318. package/claude-code/aiwf/ko/commands/ai-persona.js +602 -0
  319. package/claude-code/aiwf/ko/commands/compress-context.js +389 -0
  320. package/claude-code/aiwf/ko/commands/evaluate.js +246 -0
  321. package/claude-code/aiwf/ko/commands/feature-ledger.js +565 -0
  322. package/claude-code/aiwf/ko/commands/feature_commit_report.js +370 -0
  323. package/claude-code/aiwf/ko/commands/persona-context-apply.js +562 -0
  324. package/claude-code/aiwf/ko/commands/scan_git_history.js +234 -0
  325. package/claude-code/aiwf/ko/commands/sync_feature_commits.js +154 -0
  326. package/claude-code/aiwf/ko/commands/token-tracking.js +443 -0
  327. package/claude-code/aiwf/ko/config/commit-patterns.js +103 -0
  328. package/claude-code/aiwf/ko/config/language.json +6 -0
  329. package/claude-code/aiwf/ko/docs/00_PROJECT_MANIFEST.md +183 -0
  330. package/claude-code/aiwf/ko/docs/ARCHITECTURE.md +121 -0
  331. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_ADVANCED_USE_CASES.md +412 -0
  332. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_API_REFERENCE.md +361 -0
  333. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_COMMANDS_GUIDE.md +254 -0
  334. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_FAQ.md +365 -0
  335. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_SYSTEM_OVERVIEW.md +305 -0
  336. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_USER_GUIDE.md +416 -0
  337. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_/354/213/234/354/236/221_/352/260/200/354/235/264/353/223/234.md +247 -0
  338. package/claude-code/aiwf/ko/feature-ledger/FL-001-authentication.json +52 -0
  339. package/claude-code/aiwf/ko/feature-ledger/feature-index.json +20 -0
  340. package/claude-code/aiwf/ko/hooks/install-hooks.sh +100 -0
  341. package/claude-code/aiwf/ko/hooks/post-commit +84 -0
  342. package/claude-code/aiwf/ko/personas/PERSONA_INDEX.md +57 -0
  343. package/claude-code/aiwf/ko/personas/analyst.json +44 -0
  344. package/claude-code/aiwf/ko/personas/architect/best_practices.md +136 -0
  345. package/claude-code/aiwf/ko/personas/architect/knowledge_base.md +377 -0
  346. package/claude-code/aiwf/ko/personas/architect.json +44 -0
  347. package/claude-code/aiwf/ko/personas/backend/best_practices.md +766 -0
  348. package/claude-code/aiwf/ko/personas/backend/knowledge_base.md +1070 -0
  349. package/claude-code/aiwf/ko/personas/data_analyst/best_practices.md +594 -0
  350. package/claude-code/aiwf/ko/personas/data_analyst/knowledge_base.md +1057 -0
  351. package/claude-code/aiwf/ko/personas/developer.json +44 -0
  352. package/claude-code/aiwf/ko/personas/developer.md +37 -0
  353. package/claude-code/aiwf/ko/personas/evaluation_criteria.json +137 -0
  354. package/claude-code/aiwf/ko/personas/frontend/best_practices.md +445 -0
  355. package/claude-code/aiwf/ko/personas/frontend/knowledge_base.md +729 -0
  356. package/claude-code/aiwf/ko/personas/persona-index.json +31 -0
  357. package/claude-code/aiwf/ko/personas/reviewer.json +44 -0
  358. package/claude-code/aiwf/ko/personas/security/best_practices.md +307 -0
  359. package/claude-code/aiwf/ko/personas/security/knowledge_base.md +498 -0
  360. package/claude-code/aiwf/ko/personas/tester.json +44 -0
  361. package/claude-code/aiwf/ko/scripts/cache-templates.js +209 -0
  362. package/claude-code/aiwf/ko/scripts/create-offline.js +86 -0
  363. package/claude-code/aiwf/ko/scripts/create-project.js +151 -0
  364. package/claude-code/aiwf/ko/scripts/feature-progress-calculator.cjs +236 -0
  365. package/claude-code/aiwf/ko/scripts/git-integration.cjs +391 -0
  366. package/claude-code/aiwf/ko/scripts/install-git-hooks.cjs +226 -0
  367. package/claude-code/aiwf/ko/scripts/test-commit-parsing.cjs +125 -0
  368. package/claude-code/aiwf/ko/scripts/update-feature-status.cjs +198 -0
  369. package/claude-code/aiwf/ko/templates/README.md +78 -0
  370. package/claude-code/aiwf/ko/templates/api-server/config.json +64 -0
  371. package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/config.json +56 -0
  372. package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/feature-ledger.json +42 -0
  373. package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/personas/backend-engineer.json +40 -0
  374. package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/scripts/cli.js +111 -0
  375. package/claude-code/aiwf/ko/templates/api-server/template/.env.example +29 -0
  376. package/claude-code/aiwf/ko/templates/api-server/template/.eslintrc.json +23 -0
  377. package/claude-code/aiwf/ko/templates/api-server/template/README.md +171 -0
  378. package/claude-code/aiwf/ko/templates/api-server/template/jest.config.js +26 -0
  379. package/claude-code/aiwf/ko/templates/api-server/template/nodemon.json +9 -0
  380. package/claude-code/aiwf/ko/templates/api-server/template/package.json +61 -0
  381. package/claude-code/aiwf/ko/templates/api-server/template/src/app.ts +60 -0
  382. package/claude-code/aiwf/ko/templates/api-server/template/src/config/swagger.ts +38 -0
  383. package/claude-code/aiwf/ko/templates/api-server/template/src/controllers/aiwfController.ts +68 -0
  384. package/claude-code/aiwf/ko/templates/api-server/template/src/controllers/authController.ts +128 -0
  385. package/claude-code/aiwf/ko/templates/api-server/template/src/controllers/statusController.ts +28 -0
  386. package/claude-code/aiwf/ko/templates/api-server/template/src/index.ts +28 -0
  387. package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/aiwfMiddleware.ts +50 -0
  388. package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/authMiddleware.ts +41 -0
  389. package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/errorHandler.ts +42 -0
  390. package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/notFoundHandler.ts +14 -0
  391. package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/requestLogger.ts +20 -0
  392. package/claude-code/aiwf/ko/templates/api-server/template/src/routes/aiwf.ts +42 -0
  393. package/claude-code/aiwf/ko/templates/api-server/template/src/routes/index.ts +13 -0
  394. package/claude-code/aiwf/ko/templates/api-server/template/src/routes/v1/index.ts +67 -0
  395. package/claude-code/aiwf/ko/templates/api-server/template/src/utils/logger.ts +37 -0
  396. package/claude-code/aiwf/ko/templates/api-server/template/tests/app.test.ts +40 -0
  397. package/claude-code/aiwf/ko/templates/api-server/template/tsconfig.json +43 -0
  398. package/claude-code/aiwf/ko/templates/npm-library/config.json +61 -0
  399. package/claude-code/aiwf/ko/templates/npm-library/template/LICENSE +21 -0
  400. package/claude-code/aiwf/ko/templates/npm-library/template/README.md +201 -0
  401. package/claude-code/aiwf/ko/templates/npm-library/template/package.json +78 -0
  402. package/claude-code/aiwf/ko/templates/web-app/config.json +53 -0
  403. package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/config.json +54 -0
  404. package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/feature-ledger.json +37 -0
  405. package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/personas/fullstack-developer.json +40 -0
  406. package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/scripts/cli.js +110 -0
  407. package/claude-code/aiwf/ko/templates/web-app/template/.eslintrc.cjs +20 -0
  408. package/claude-code/aiwf/ko/templates/web-app/template/README.md +151 -0
  409. package/claude-code/aiwf/ko/templates/web-app/template/index.html +14 -0
  410. package/claude-code/aiwf/ko/templates/web-app/template/package.json +44 -0
  411. package/claude-code/aiwf/ko/templates/web-app/template/postcss.config.js +6 -0
  412. package/claude-code/aiwf/ko/templates/web-app/template/public/vite.svg +1 -0
  413. package/claude-code/aiwf/ko/templates/web-app/template/src/App.tsx +21 -0
  414. package/claude-code/aiwf/ko/templates/web-app/template/src/components/Layout.tsx +57 -0
  415. package/claude-code/aiwf/ko/templates/web-app/template/src/components/aiwf/ContextStatus.tsx +107 -0
  416. package/claude-code/aiwf/ko/templates/web-app/template/src/components/aiwf/FeatureLedger.tsx +93 -0
  417. package/claude-code/aiwf/ko/templates/web-app/template/src/components/aiwf/TokenUsage.tsx +71 -0
  418. package/claude-code/aiwf/ko/templates/web-app/template/src/index.css +60 -0
  419. package/claude-code/aiwf/ko/templates/web-app/template/src/main.tsx +10 -0
  420. package/claude-code/aiwf/ko/templates/web-app/template/src/pages/AiwfDashboard.tsx +60 -0
  421. package/claude-code/aiwf/ko/templates/web-app/template/src/pages/HomePage.tsx +89 -0
  422. package/claude-code/aiwf/ko/templates/web-app/template/src/pages/NotFound.tsx +25 -0
  423. package/claude-code/aiwf/ko/templates/web-app/template/src/stores/aiwfStore.ts +126 -0
  424. package/claude-code/aiwf/ko/templates/web-app/template/src/types/global.d.ts +9 -0
  425. package/claude-code/aiwf/ko/templates/web-app/template/src/vite-env.d.ts +1 -0
  426. package/claude-code/aiwf/ko/templates/web-app/template/tailwind.config.js +30 -0
  427. package/claude-code/aiwf/ko/templates/web-app/template/tsconfig.json +37 -0
  428. package/claude-code/aiwf/ko/templates/web-app/template/tsconfig.node.json +10 -0
  429. package/claude-code/aiwf/ko/templates/web-app/template/vite.config.ts +23 -0
  430. package/claude-code/aiwf/ko/tests/compression-test-suite.js +1252 -0
  431. package/claude-code/aiwf/ko/tests/test-git-integration.js +164 -0
  432. package/claude-code/aiwf/ko/tests/token-tracking.test.js +537 -0
  433. package/claude-code/aiwf/ko/token-data/alerts.json +293 -0
  434. package/claude-code/aiwf/ko/token-data/monitor-config.json +12 -0
  435. package/claude-code/aiwf/ko/utils/background-monitor.js +223 -0
  436. package/claude-code/aiwf/ko/utils/compression-metrics.js +1031 -0
  437. package/claude-code/aiwf/ko/utils/compression-strategies.js +557 -0
  438. package/claude-code/aiwf/ko/utils/content-normalizer.js +455 -0
  439. package/claude-code/aiwf/ko/utils/context-compressor.js +583 -0
  440. package/claude-code/aiwf/ko/utils/context-rule-parser.js +180 -0
  441. package/claude-code/aiwf/ko/utils/context-token-monitor.js +463 -0
  442. package/claude-code/aiwf/ko/utils/context-update-manager.js +502 -0
  443. package/claude-code/aiwf/ko/utils/feature-updater.js +271 -0
  444. package/claude-code/aiwf/ko/utils/git-utils.js +220 -0
  445. package/claude-code/aiwf/ko/utils/importance-classifier.js +645 -0
  446. package/claude-code/aiwf/ko/utils/information-filter.js +710 -0
  447. package/claude-code/aiwf/ko/utils/persona-aware-compressor.js +598 -0
  448. package/claude-code/aiwf/ko/utils/prompt-injector.js +242 -0
  449. package/claude-code/aiwf/ko/utils/simplified-evaluator.js +119 -0
  450. package/claude-code/aiwf/ko/utils/text-summarizer.js +492 -0
  451. package/claude-code/aiwf/ko/utils/token-counter.js +177 -0
  452. package/claude-code/aiwf/ko/utils/token-monitor.js +484 -0
  453. package/claude-code/aiwf/ko/utils/token-reporter.js +453 -0
  454. package/claude-code/aiwf/ko/utils/token-storage.js +433 -0
  455. package/claude-code/aiwf/ko/utils/token-tracker.js +283 -0
  456. package/docs/AI-WORKFLOW.ko.md +9 -2
  457. package/docs/AI-WORKFLOW.md +9 -2
  458. package/docs/AI_PERSONA_SYSTEM_DESIGN.md +516 -0
  459. package/docs/API_DOCUMENTATION.md +932 -0
  460. package/docs/API_REFERENCE.md +979 -0
  461. package/docs/COMMANDS_GUIDE.ko.md +101 -5
  462. package/docs/COMMANDS_GUIDE.md +289 -5
  463. package/docs/CONTRIBUTING.ko.md +408 -0
  464. package/docs/CONTRIBUTING.md +205 -203
  465. package/docs/EXAMPLES.md +691 -0
  466. package/docs/Enhanced_Installation_Flow_Design.md +498 -0
  467. package/docs/GETTING_STARTED.md +480 -0
  468. package/docs/PERFORMANCE_ARCHITECTURE.md +494 -0
  469. package/docs/PERFORMANCE_GUIDELINES.md +553 -0
  470. package/docs/PRD.ko.md +110 -58
  471. package/docs/PRD.md +110 -58
  472. package/docs/TROUBLESHOOTING.md +721 -0
  473. package/docs/git-feature-integration-guide.md +253 -0
  474. package/docs/guides/ai-personas-guide-ko.md +239 -0
  475. package/docs/guides/ai-personas-guide.md +239 -0
  476. package/docs/guides/context-compression-guide-ko.md +313 -0
  477. package/docs/guides/context-compression-guide.md +313 -0
  478. package/docs/guides/feature-git-integration-guide-ko.md +481 -0
  479. package/docs/guides/feature-git-integration-guide.md +481 -0
  480. package/docs/lightweight-evaluation.md +198 -0
  481. package/docs/m02-dod-checklist.md +125 -0
  482. package/docs/m02-gap-analysis.md +214 -0
  483. package/docs/m02-milestone-completion-report.md +186 -0
  484. package/docs/m02-milestone-executive-summary.md +68 -0
  485. package/docs/offline-template-cache.md +323 -0
  486. package/docs/performance-benchmark-report.md +159 -0
  487. package/docs/persona-aware-compression.md +168 -0
  488. package/docs/reports/S02-sprint-report.md +190 -0
  489. package/docs/usability-test-report.md +170 -0
  490. package/index.js +1349 -21
  491. package/jest.config.js +23 -0
  492. package/language-cli.js +279 -0
  493. package/language-utils.js +330 -0
  494. package/lib/ai-persona-manager.js +711 -0
  495. package/lib/cache-cli.js +459 -0
  496. package/lib/cache-integration.js +401 -0
  497. package/lib/cache-system.js +332 -0
  498. package/lib/context-engine.js +568 -0
  499. package/lib/file-batch-processor.js +401 -0
  500. package/lib/memory-profiler.js +471 -0
  501. package/lib/metrics-collector.js +885 -0
  502. package/lib/offline-detector.js +386 -0
  503. package/lib/performance-benchmark.js +621 -0
  504. package/lib/task-analyzer.js +599 -0
  505. package/lib/template-cache-system.js +559 -0
  506. package/lib/template-downloader.js +467 -0
  507. package/lib/template-manager.js +310 -0
  508. package/lib/template-version-manager.js +491 -0
  509. package/lib/token-optimizer.js +517 -0
  510. package/package.json +17 -6
  511. package/scripts/run-integration-tests.js +317 -0
  512. package/scripts/validate-commands.cjs +338 -0
  513. package/scripts/validate-commands.js +254 -0
  514. package/src/commands/ai-tool.js +383 -0
  515. package/test-token-system.js +88 -0
  516. package/tests/application.test.js +260 -0
  517. package/tests/basic.test.js +62 -0
  518. package/tests/commands.test.js +127 -0
  519. package/tests/installer.test.js +129 -0
  520. package/tests/integration/ai-persona-system.test.js +396 -0
  521. package/tests/integration/ai-persona.test.js +390 -0
  522. package/tests/integration/command-integration.test.js +600 -0
  523. package/tests/integration/context-compression.test.js +361 -0
  524. package/tests/integration/feature-ledger.test.js +226 -0
  525. package/tests/integration/git-integration.test.js +307 -0
  526. package/tests/integration/m02-milestone.test.js +420 -0
  527. package/tests/integration/persona-context-application.test.js +508 -0
  528. package/tests/integration/setup.js +174 -0
  529. package/tests/integration/test-persona-aware-compression.js +93 -0
  530. package/tests/language-utils.test.js +287 -0
  531. package/tests/s02-integration.test.js +422 -0
  532. package/tests/unit/ai-persona-manager.test.js +514 -0
  533. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_prime_context.md +0 -5
  534. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_prime_context.md +0 -8
@@ -1,160 +1,160 @@
1
1
  # 변경사항 분석 및 사용자 확인을 통한 논리적 git 커밋 생성
2
2
 
3
- Follow these instructions from top to bottom.
3
+ 다음 지시사항을 위에서 아래로 순서대로 따르세요.
4
4
 
5
- ## Create a TODO with EXACTLY these 6 items
5
+ ## 정확히 다음 6개 항목으로 TODO 생성
6
6
 
7
- 1. Parse arguments and analyze git status
8
- 2. Review changes and group by logical commits
9
- 3. Propose commit structure and messages
10
- 4. Check if user approval is necessary
11
- 5. Execute approved commits
12
- 6. Report commit results
7
+ 1. 인수 파싱 및 git 상태 분석
8
+ 2. 변경사항 검토 및 논리적 커밋별 그룹화
9
+ 3. 커밋 구조 및 메시지 제안
10
+ 4. 사용자 승인 필요 여부 확인
11
+ 5. 승인된 커밋 실행
12
+ 6. 커밋 결과 보고
13
13
 
14
14
  ---
15
15
 
16
- ## 1 · Analyze git status and parse arguments
16
+ ## 1 · git 상태 분석 및 인수 파싱
17
17
 
18
- - Run these commands in parallel for maximum efficiency: `git status`, `git diff --staged`, `git diff`
19
- - List all changed files with their folder structure to understand the scope
18
+ - 최대 효율성을 위해 다음 명령어들을 병렬 실행: `git status`, `git diff --staged`, `git diff`
19
+ - 범위를 이해하기 위해 폴더 구조와 함께 모든 변경된 파일 나열
20
20
 
21
- ### CRITICAL: Argument Interpretation Rules
21
+ ### 중요: 인수 해석 규칙
22
22
 
23
- **Context Provided** (when <$ARGUMENTS> contains text):
23
+ **컨텍스트 제공됨** (<$ARGUMENTS>에 텍스트가 포함된 경우):
24
24
 
25
- - If YOLO is part of the <$ARGUMENTS> it is meant to skip user Approval (see Step 4 on your Todo)
26
- - The other text in <$ARGUMENTS> represents a **task ID**, **sprint ID**, or other **contextual identifier** provided by the user
27
- - This is NOT a file path - it's a semantic context for filtering changes
28
- - **PRIMARY FOCUS**: Only commit files directly related to this context
29
- - **SECONDARY CONSIDERATION**: After handling the primary context, ask if user wants to commit other unrelated changes
25
+ - YOLO가 <$ARGUMENTS>의 일부라면 사용자 승인을 건너뛰는 것을 의미 (Todo의 4단계 참조)
26
+ - <$ARGUMENTS>의 다른 텍스트는 사용자가 제공한 **태스크 ID**, **스프린트 ID**, 또는 기타 **컨텍스트 식별자**를 나타냄
27
+ - 이것은 파일 경로가 아니라 변경사항을 필터링하기 위한 의미적 컨텍스트임
28
+ - **주요 초점**: 이 컨텍스트와 직접 관련된 파일만 커밋
29
+ - **부차적 고려사항**: 주요 컨텍스트 처리 후, 사용자가 관련 없는 다른 변경사항을 커밋하고 싶은지 묻기
30
30
 
31
- **Task ID Pattern** (e.g., T01_S02, TX03_S01, T003):
31
+ **태스크 ID 패턴** (예: T01_S02, TX03_S01, T003):
32
32
 
33
- - Sprint Tasks: `T<NN>_S<NN>` format (e.g., T01_S02, T03_S02)
34
- - Completed Sprint Tasks: `TX<NN>_S<NN>` format (e.g., TX01_S02, TX03_S01)
35
- - General Tasks: `T<NNN>` format (e.g., T001, T002)
36
- - Completed General Tasks: `TX<NNN>` format (e.g., TX001, TX002)
37
- - Search for this task ID in:
38
- - `.aiwf/03_SPRINTS/` directory (for sprint tasks)
39
- - `.aiwf/04_GENERAL_TASKS/` directory (for general tasks)
40
- - Task metadata in files (look for `task_id: T01_S02` in frontmatter)
41
- - Git diff content (to see if code comments or commits reference the task)
42
- - Identify ALL files that were modified as part of this task's implementation
43
- - This includes: source code, tests, configuration, and the task documentation file itself
33
+ - 스프린트 태스크: `T<NN>_S<NN>` 형식 (예: T01_S02, T03_S02)
34
+ - 완료된 스프린트 태스크: `TX<NN>_S<NN>` 형식 (예: TX01_S02, TX03_S01)
35
+ - 일반 태스크: `T<NNN>` 형식 (예: T001, T002)
36
+ - 완료된 일반 태스크: `TX<NNN>` 형식 (예: TX001, TX002)
37
+ - 다음 위치에서 이 태스크 ID를 검색:
38
+ - `.aiwf/03_SPRINTS/` 디렉토리 (스프린트 태스크용)
39
+ - `.aiwf/04_GENERAL_TASKS/` 디렉토리 (일반 태스크용)
40
+ - 파일의 태스크 메타데이터 (frontmatter에서 `task_id: T01_S02` 찾기)
41
+ - Git diff 내용 (코드 주석이나 커밋이 태스크를 참조하는지 확인)
42
+ - 이 태스크 구현의 일부로 수정된 모든 파일 식별
43
+ - 여기에는 다음이 포함: 소스 코드, 테스트, 구성, 그리고 태스크 문서 파일 자체
44
44
 
45
- **Sprint ID Pattern** (e.g., S01, S02):
45
+ **스프린트 ID 패턴** (예: S01, S02):
46
46
 
47
- - When only sprint ID is provided, commit all changes related to ANY task within that sprint
48
- - Search pattern: `T*_S<NN>` in the sprint directory
49
- - Example: "S02" would include changes for T01_S02, T02_S02, T03_S02, etc.
47
+ - 스프린트 ID만 제공된 경우, 해당 스프린트 내의 모든 태스크와 관련된 변경사항을 커밋
48
+ - 검색 패턴: 스프린트 디렉토리의 `T*_S<NN>`
49
+ - 예시: "S02"는 T01_S02, T02_S02, T03_S02 등의 변경사항을 포함
50
50
 
51
- **No Context Provided** (when <$ARGUMENTS> is empty):
51
+ **컨텍스트 제공되지 않음** (<$ARGUMENTS>가 비어있는 경우):
52
52
 
53
- - Analyze all changes and group them logically
54
- - Propose separate commits for different logical units of work
53
+ - 모든 변경사항을 분석하고 논리적으로 그룹화
54
+ - 서로 다른 논리적 작업 단위에 대해 별도 커밋 제안
55
55
 
56
- ### Implementation Steps
56
+ ### 구현 단계
57
57
 
58
- 1. First, determine if <$ARGUMENTS> contains any text
59
- 2. If yes, explicitly state: "Context provided: '$ARGUMENTS' - I will focus on changes related to this context"
60
- 3. If it's a task ID pattern, find the task file and understand what was implemented
61
- 4. Filter the changed files to only those related to the identified context
62
- 5. If no files match the context, inform the user: "No changes found related to '$ARGUMENTS'"
63
- 6. If unrelated changes exist, mention them but DO NOT include in initial commit proposal
58
+ 1. 먼저 <$ARGUMENTS>에 텍스트가 포함되어 있는지 확인
59
+ 2. 포함되어 있다면 명시적으로 기술: "컨텍스트 제공됨: '$ARGUMENTS' - 이 컨텍스트와 관련된 변경사항에 집중하겠습니다"
60
+ 3. 태스크 ID 패턴인 경우, 태스크 파일을 찾아서 구현된 내용 이해
61
+ 4. 식별된 컨텍스트와 관련된 파일들로만 변경된 파일들을 필터링
62
+ 5. 컨텍스트와 일치하는 파일이 없으면 사용자에게 알림: "'$ARGUMENTS'와 관련된 변경사항을 찾을 수 없습니다"
63
+ 6. 관련 없는 변경사항이 존재하면 언급하되 초기 커밋 제안에는 포함하지 않음
64
64
 
65
- ## 2 · Review changes and group by logical commits
65
+ ## 2 · 변경사항 검토 및 논리적 커밋별 그룹화
66
66
 
67
- ### PRIORITY: Context Filtering
67
+ ### 우선순위: 컨텍스트 필터링
68
68
 
69
- **If context provided in arguments**:
69
+ **인수에 컨텍스트가 제공된 경우**:
70
70
 
71
- 1. **FILTER FIRST**: Separate changes into two groups:
72
- - **Related to context**: Files that are part of the task/context implementation
73
- - **Unrelated to context**: Everything else
74
- 2. **FOCUS**: Only analyze the "related to context" group for the first commit
75
- 3. **DEFER**: Keep the "unrelated" group for potential later commits (only if user requests)
71
+ 1. **먼저 필터링**: 변경사항을 두 그룹으로 분리:
72
+ - **컨텍스트와 관련**: 태스크/컨텍스트 구현의 일부인 파일들
73
+ - **컨텍스트와 무관**: 그 외 모든 것
74
+ 2. **집중**: 첫 번째 커밋에서는 "컨텍스트와 관련" 그룹만 분석
75
+ 3. **연기**: 잠재적인 후속 커밋을 위해 "무관" 그룹 보관 (사용자가 요청하는 경우에만)
76
76
 
77
- **Standard grouping logic** (for no-context or within-context grouping):
77
+ **표준 그룹화 로직** (컨텍스트 없음 또는 컨텍스트 내 그룹화용):
78
78
 
79
- - **Think about** which changes belong together logically:
80
- - Task completion (group by task ID when applicable)
81
- - Feature additions (group by feature scope)
82
- - Configuration updates (group separately)
83
- - Documentation updates (group by documentation type)
84
- - Bug fixes (group by related functionality)
85
- - **Think carefully** to ensure each commit represents one logical change that can be understood and potentially reverted independently
86
- - Avoid mixing unrelated changes in the same commit
87
- - Consider dependencies between changes when ordering commits
79
+ - **논리적으로 함께 속하는 변경사항 고민**:
80
+ - 태스크 완료 (해당되는 경우 태스크 ID별 그룹화)
81
+ - 기능 추가 (기능 범위별 그룹화)
82
+ - 구성 업데이트 (별도 그룹화)
83
+ - 문서 업데이트 (문서 유형별 그룹화)
84
+ - 버그 수정 (관련 기능별 그룹화)
85
+ - **신중하게 고려**하여 각 커밋이 독립적으로 이해되고 잠재적으로 되돌릴 수 있는 하나의 논리적 변경을 나타내도록 보장
86
+ - 관련 없는 변경사항을 같은 커밋에 혼합하지 않기
87
+ - 커밋 순서를 정할 때 변경사항 간의 의존성 고려
88
88
 
89
- ## 3 · Propose commit
89
+ ## 3 · 커밋 제안
90
90
 
91
- ### Context-Aware Commit Proposal
91
+ ### 컨텍스트 인식 커밋 제안
92
92
 
93
- **When context was provided** (e.g., task ID):
93
+ **컨텍스트가 제공된 경우** (예: 태스크 ID):
94
94
 
95
- - **FIRST COMMIT**: Must contain ONLY files related to the provided context
96
- - State clearly: "This commit includes changes for $ARGUMENTS"
97
- - After this commit is done, then ask: "There are also unrelated changes in [list files]. Would you like me to create additional commits for these?"
95
+ - **첫 번째 커밋**: 제공된 컨텍스트와 관련된 파일만 포함해야 함
96
+ - 명확히 기술: "이 커밋은 $ARGUMENTS에 대한 변경사항을 포함합니다"
97
+ - 이 커밋이 완료된 후, 다음과 같이 묻기: "[파일 목록]에 관련 없는 변경사항도 있습니다. 이것들에 대해서도 추가 커밋을 생성하시겠습니까?"
98
98
 
99
- **When no context provided**:
99
+ **컨텍스트가 제공되지 않은 경우**:
100
100
 
101
- - Propose commits based on logical grouping of all changes
101
+ - 모든 변경사항의 논리적 그룹화를 기반으로 커밋 제안
102
102
 
103
- For the next commit to create:
103
+ 생성할 다음 커밋에 대해:
104
104
 
105
- - **Context**: If applicable, which task/context this commit addresses
106
- - **Files**: List the specific files to be included
107
- - **Commit message**: Use conventional commit format, be clear and concise
108
- - **CRITICAL:** Must not contain any attribution to Claude, Anthropic, or AI assistance
109
- - If task-related, include task ID in message (e.g., "feat(agents): implement T01_S02 coordinator agent" or "fix(api): resolve T003 authentication issue")
110
- - **GitHub Issue Linking**: If task has a GitHub issue, include `fixes #123` or `relates to #456` in commit message
111
- - **Reasoning**: Brief explanation of why these changes belong together
105
+ - **컨텍스트**: 해당되는 경우, 이 커밋이 다루는 태스크/컨텍스트
106
+ - **파일**: 포함될 특정 파일 목록
107
+ - **커밋 메시지**: 관례적인 커밋 형식 사용, 명확하고 간결하게
108
+ - **중요:** Claude, Anthropic, 또는 AI 지원에 대한 어떤 언급도 포함하지 않아야 함
109
+ - 태스크 관련인 경우, 메시지에 태스크 ID 포함 (예: "feat(agents): implement T01_S02 coordinator agent" 또는 "fix(api): resolve T003 authentication issue")
110
+ - **GitHub 이슈 연결**: 태스크에 GitHub 이슈가 있는 경우, 커밋 메시지에 `fixes #123` 또는 `relates to #456` 포함
111
+ - **근거**: 이러한 변경사항들이 왜 함께 속하는지에 대한 간단한 설명
112
112
 
113
- ## 4 · Check if user approval is necessary
113
+ ## 4 · 사용자 승인 필요 여부 확인
114
114
 
115
- If YOLO **IS** part of the <$ARGUMENTS> skip this and jump to next step.
115
+ YOLO가 <$ARGUMENTS>의 **일부라면** 이 단계를 건너뛰고 다음 단계로 이동.
116
116
 
117
- Otherwise ask the User for approval.
117
+ 그렇지 않으면 사용자 승인을 요청.
118
118
 
119
- - Show the complete commit plan including files and message
120
- - Wait for explicit user confirmation before proceeding
121
- - If user says no, ask what should be changed
122
- - If user wants to modify the commit message or scope, make adjustments
119
+ - 파일과 메시지를 포함한 완전한 커밋 계획 표시
120
+ - 진행하기 전에 명시적인 사용자 확인 대기
121
+ - 사용자가 거부하면 무엇을 변경해야 하는지 묻기
122
+ - 사용자가 커밋 메시지나 범위를 수정하고 싶어하면 조정
123
123
 
124
- ## 5 · Execute approved commit and continue
124
+ ## 5 · 승인된 커밋 실행 및 계속
125
125
 
126
- For the approved commit:
126
+ 승인된 커밋에 대해:
127
127
 
128
- - Stage the specified files with `git add`
129
- - **IMPORTANT:** We are using pre-commit hooks that will likely report shortcomings. You need to fix them. Don't skip validation unless there are open tasks adressing especially these problems.
130
- - **Create the commit** with the approved message
131
- - Verify commit was created successfully
132
- - **GitHub Issue Update (if applicable):**
133
- - If task has a linked GitHub issue
134
- - Add commit link comment to issue:
128
+ - `git add`로 지정된 파일들 스테이징
129
+ - **중요:** pre-commit 훅을 사용하고 있어 부족한 점을 보고할 가능성이 높음. 이를 수정해야 함. 특히 이런 문제들을 다루는 열린 태스크가 없다면 검증을 건너뛰지 마세요.
130
+ - 승인된 메시지로 **커밋 생성**
131
+ - 커밋이 성공적으로 생성되었는지 확인
132
+ - **GitHub 이슈 업데이트 (해당하는 경우):**
133
+ - 태스크에 연결된 GitHub 이슈가 있는 경우
134
+ - 이슈에 커밋 링크 댓글 추가:
135
135
  ```bash
136
136
  gh issue comment {issue_number} --body "🔗 Commit: {commit_sha} - {commit_message}"
137
137
  ```
138
- - **IMPORTANT:** If there are more commits remaining, return to step 3 for the next commit
139
- - Only proceed to step 6 when all commits are completed
138
+ - **중요:** 남은 커밋이 더 있다면 다음 커밋을 위해 3단계로 돌아가기
139
+ - 모든 커밋이 완료된 경우에만 6단계로 진행
140
140
 
141
- ## 6 · Report commit results
141
+ ## 6 · 커밋 결과 보고
142
142
 
143
- Provide summary:
143
+ 요약 제공:
144
144
 
145
- - **Commits Created**: List each commit with SHA and message
146
- - **Files Committed**: Total count of files committed
147
- - **Remaining Changes**: Any uncommitted changes still pending
148
- - **Repository Status**: Current git status after commits
145
+ - **생성된 커밋**: SHA와 메시지와 함께 각 커밋 나열
146
+ - **커밋된 파일**: 커밋된 파일의 총 개수
147
+ - **남은 변경사항**: 아직 커밋되지 않은 대기 중인 변경사항
148
+ - **저장소 상태**: 커밋 후 현재 git 상태
149
149
 
150
- ## 7 · Generate Changelog (Optional)
150
+ ## 7 · 변경 로그 생성 (선택사항)
151
151
 
152
- After successful commits:
152
+ 성공적인 커밋 후:
153
153
 
154
- - Ask user: "커밋이 완료되었습니다. Changelog를 업데이트하시겠습니까? (y/n)"
155
- - If yes, execute: `/project:aiwf:changelog`
156
- - This will:
157
- - Analyze recent commit history
158
- - Generate or update CHANGELOG.md
159
- - Categorize changes by type (feat, fix, docs, etc.)
160
- - Include the commits just created
154
+ - 사용자에게 묻기: "커밋이 완료되었습니다. Changelog를 업데이트하시겠습니까? (y/n)"
155
+ - yes인 경우 실행: `/project:aiwf:changelog`
156
+ - 이는 다음을 수행:
157
+ - 최근 커밋 히스토리 분석
158
+ - CHANGELOG.md 생성 또는 업데이트
159
+ - 유형별 변경사항 분류 (feat, fix, docs 등)
160
+ - 방금 생성된 커밋들 포함
@@ -0,0 +1,53 @@
1
+ # aiwf compress-aggressive-persona
2
+
3
+ 활성화된 페르소나를 고려하여 공격적 모드로 컨텍스트를 압축합니다.
4
+
5
+ ## 실행
6
+
7
+ ```javascript
8
+ const { spawn } = require('child_process');
9
+ const path = require('path');
10
+
11
+ // .aiwf 디렉토리로 이동하여 명령 실행
12
+ const cwd = path.join(process.cwd(), '.aiwf');
13
+ const proc = spawn('node', [
14
+ '../claude-code/aiwf/ko/commands/compress-context.js',
15
+ 'aggressive',
16
+ '--persona'
17
+ ], { cwd, stdio: 'inherit' });
18
+
19
+ proc.on('error', (err) => {
20
+ console.error('명령 실행 실패:', err.message);
21
+ });
22
+ ```
23
+
24
+ ## 설명
25
+
26
+ 페르소나 특성을 고려하면서도 50-70%의 높은 압축률을 목표로 합니다. 페르소나 관련 핵심 정보는 보존하되, 나머지는 적극적으로 요약합니다.
27
+
28
+ ### 특징
29
+
30
+ - 페르소나 중심 요약 생성
31
+ - 핵심 패턴만 보존
32
+ - 중요도가 낮은 섹션은 요약으로 대체
33
+ - 페르소나별 summarization focus 적용
34
+
35
+ ## 압축 결과
36
+
37
+ 압축 후 페르소나별 요약이 문서 하단에 추가됩니다:
38
+
39
+ ```markdown
40
+ ---
41
+ ### [페르소나명] 관점 요약
42
+
43
+ 주요 내용 ([페르소나의 focus]):
44
+ - 핵심 포인트 1
45
+ - 핵심 포인트 2
46
+ - ...
47
+ ---
48
+ ```
49
+
50
+ ## 주의사항
51
+
52
+ - 매우 높은 압축률로 인해 일부 세부 정보가 손실될 수 있습니다
53
+ - 중요한 문서는 백업 후 사용을 권장합니다
@@ -0,0 +1,116 @@
1
+ # Context 압축 - 토큰 절약 실행
2
+
3
+ 토큰 사용량을 줄이기 위해 프로젝트 컨텍스트를 압축합니다. 3단계 압축 모드와 실시간 토큰 모니터링을 제공합니다.
4
+
5
+ **중요사항:**
6
+ - 기본 모드는 'balanced'로 30-50% 토큰 절약을 목표로 합니다
7
+ - 압축 전후 토큰 사용량과 절약률을 실시간으로 표시합니다
8
+ - 중요한 정보는 모든 모드에서 보존됩니다
9
+
10
+ ## 사용법
11
+
12
+ ```
13
+ /project:aiwf:compress_context [mode] [target]
14
+ ```
15
+
16
+ ### 파라미터
17
+
18
+ - `mode` (선택적): 압축 모드
19
+ - `aggressive`: 50-70% 토큰 절약 (critical/high 정보만 유지)
20
+ - `balanced`: 30-50% 토큰 절약 (기본값, medium 이상 정보 유지)
21
+ - `minimal`: 10-30% 토큰 절약 (모든 정보 유지, 포맷팅만 최적화)
22
+
23
+ - `target` (선택적): 압축 대상
24
+ - 파일 경로: 특정 파일 압축
25
+ - 디렉토리 경로: 디렉토리 내 모든 마크다운 파일 압축
26
+ - 생략 시: 현재 프로젝트의 주요 문서 압축
27
+
28
+ ## 압축 전략
29
+
30
+ ### Aggressive 모드 (50-70% 압축)
31
+ - Critical/High 중요도 섹션만 유지
32
+ - 코드 예제 대폭 축소
33
+ - 중복 정보 완전 제거
34
+ - Output Log, 히스토리 등 제거
35
+
36
+ ### Balanced 모드 (30-50% 압축)
37
+ - Critical/High/Medium 중요도 섹션 유지
38
+ - 코드 예제 선택적 유지
39
+ - 중복 정보 부분 제거
40
+ - 오래된 로그만 제거
41
+
42
+ ### Minimal 모드 (10-30% 압축)
43
+ - 모든 중요도 유지
44
+ - 공백 및 형식 정리
45
+ - 명백한 중복만 제거
46
+ - 안전한 압축
47
+
48
+ ## 실행 단계
49
+
50
+ 1. **압축 대상 파악**
51
+ - 대상 파일/디렉토리 확인
52
+ - 원본 토큰 수 계산
53
+
54
+ 2. **압축 모드 적용**
55
+ - 선택된 모드에 따라 압축 전략 실행
56
+ - 중요도 기반 섹션 필터링
57
+ - 압축 알고리즘 적용
58
+
59
+ 3. **압축 결과 검증**
60
+ - 압축 후 토큰 수 계산
61
+ - 절약률 및 품질 점수 표시
62
+ - Critical 정보 보존 검증
63
+
64
+ 4. **압축 파일 생성**
65
+ - 압축된 컨텐츠를 새 파일로 저장
66
+ - 원본 파일은 보존
67
+ - 압축 메타데이터 기록
68
+
69
+ ## 출력 형식
70
+
71
+ ```
72
+ 🗜️ Context 압축 시작
73
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
74
+ 압축 모드: balanced
75
+ 대상: /workspace/project/.aiwf/
76
+
77
+ 📊 압축 전 통계:
78
+ - 총 파일 수: 15
79
+ - 원본 토큰: 45,320
80
+ - 원본 크기: 125.4 KB
81
+
82
+ ⚙️ 압축 진행 중...
83
+ ✓ PROJECT_MANIFEST.md (5,320 → 2,890 토큰, -45.6%)
84
+ ✓ ARCHITECTURE.md (8,210 → 4,105 토큰, -50.0%)
85
+ ✓ M02_milestone_meta.md (3,450 → 2,070 토큰, -40.0%)
86
+ ... [추가 파일들]
87
+
88
+ 📊 압축 후 통계:
89
+ - 압축된 토큰: 27,192
90
+ - 절약된 토큰: 18,128
91
+ - 토큰 절약률: 40.0%
92
+ - 압축 시간: 2.3초
93
+ - 품질 점수: 92/100
94
+
95
+ ✅ 압축 완료!
96
+ 압축된 파일 위치: /workspace/project/.aiwf_compressed/
97
+ ```
98
+
99
+ ## 품질 보증
100
+
101
+ - **Critical 정보 보존**: 목표, 요구사항, 승인 기준은 항상 유지
102
+ - **구조 보존**: 문서의 논리적 구조와 계층 유지
103
+ - **가독성 유지**: 압축 후에도 읽기 쉬운 형태 유지
104
+ - **복원 가능**: 압축 메타데이터로 필요시 복원 지원
105
+
106
+ ## 권장 사용 시나리오
107
+
108
+ 1. **대규모 프로젝트 리뷰 시**: aggressive 모드로 핵심만 빠르게 파악
109
+ 2. **일반 개발 작업**: balanced 모드로 효율적인 컨텍스트 관리
110
+ 3. **디버깅/상세 분석**: minimal 모드로 모든 정보 유지하며 최적화
111
+
112
+ ## 주의사항
113
+
114
+ - 압축된 파일은 별도 디렉토리에 저장되며 원본은 보존됩니다
115
+ - 압축 시 일부 형식이나 세부 정보가 손실될 수 있습니다
116
+ - Critical로 표시된 정보는 모든 모드에서 보존됩니다
@@ -0,0 +1,48 @@
1
+ # aiwf compress-minimal-persona
2
+
3
+ 활성화된 페르소나를 고려하여 최소 모드로 컨텍스트를 압축합니다.
4
+
5
+ ## 실행
6
+
7
+ ```javascript
8
+ const { spawn } = require('child_process');
9
+ const path = require('path');
10
+
11
+ // .aiwf 디렉토리로 이동하여 명령 실행
12
+ const cwd = path.join(process.cwd(), '.aiwf');
13
+ const proc = spawn('node', [
14
+ '../claude-code/aiwf/ko/commands/compress-context.js',
15
+ 'minimal',
16
+ '--persona'
17
+ ], { cwd, stdio: 'inherit' });
18
+
19
+ proc.on('error', (err) => {
20
+ console.error('명령 실행 실패:', err.message);
21
+ });
22
+ ```
23
+
24
+ ## 설명
25
+
26
+ 페르소나 특성을 고려하면서도 최소한의 압축만 수행합니다. 10-30%의 낮은 압축률로 원본 내용을 최대한 보존합니다.
27
+
28
+ ### 압축 전략
29
+
30
+ - 페르소나 관련 패턴은 100% 보존
31
+ - 중복 내용만 제거
32
+ - 불필요한 공백과 포맷팅 정리
33
+ - 페르소나별 중요도 점수가 평균 이상인 섹션은 그대로 유지
34
+
35
+ ## 적합한 사용 사례
36
+
37
+ - 중요한 기술 문서
38
+ - 상세한 API 문서
39
+ - 보안 관련 문서
40
+ - 데이터 분석 리포트
41
+
42
+ ## 결과
43
+
44
+ 압축 후에도 다음이 보장됩니다:
45
+ - 모든 페르소나 관련 키워드 보존
46
+ - 문서 구조 완전 유지
47
+ - 코드 블록과 예제 보존
48
+ - 테이블과 다이어그램 유지
@@ -0,0 +1,79 @@
1
+ # aiwf compress-stats
2
+
3
+ 페르소나별 압축 통계를 확인합니다.
4
+
5
+ ## 실행
6
+
7
+ ```javascript
8
+ const fs = require('fs');
9
+ const path = require('path');
10
+ const chalk = require('chalk');
11
+
12
+ // PersonaAwareCompressor import
13
+ const { PersonaAwareCompressor } = require(path.join(
14
+ process.cwd(),
15
+ 'claude-code/aiwf/ko/utils/persona-aware-compressor.js'
16
+ ));
17
+
18
+ try {
19
+ const compressor = new PersonaAwareCompressor();
20
+ const stats = compressor.getPersonaCompressionStats();
21
+
22
+ console.log(chalk.cyan('📊 페르소나별 압축 통계'));
23
+ console.log(chalk.gray('━'.repeat(50)));
24
+
25
+ if (stats.currentPersona) {
26
+ console.log(`현재 페르소나: ${chalk.yellow(stats.currentPersona)}`);
27
+
28
+ if (stats.strategy) {
29
+ console.log('\n📋 현재 페르소나 압축 전략:');
30
+ console.log(`- 포커스 영역: ${stats.strategy.focusAreas.join(', ')}`);
31
+ console.log(`- 요약 초점: ${stats.strategy.summarizationFocus}`);
32
+ console.log(`- 보존 패턴: ${stats.strategy.preservePatterns.slice(0, 5).join(', ')}...`);
33
+ }
34
+ } else {
35
+ console.log(chalk.yellow('⚠️ 활성화된 페르소나가 없습니다.'));
36
+ }
37
+
38
+ const avgRatios = stats.averageRatioByPersona;
39
+ if (Object.keys(avgRatios).length > 0) {
40
+ console.log('\n📈 페르소나별 평균 압축률:');
41
+ Object.entries(avgRatios).forEach(([persona, ratio]) => {
42
+ const personaNames = {
43
+ architect: 'Architect',
44
+ security: 'Security Expert',
45
+ frontend: 'Frontend Developer',
46
+ backend: 'Backend Developer',
47
+ data_analyst: 'Data Analyst'
48
+ };
49
+ console.log(`- ${personaNames[persona] || persona}: ${chalk.green(ratio + '%')}`);
50
+ });
51
+ } else {
52
+ console.log('\n압축 히스토리가 없습니다.');
53
+ }
54
+
55
+ } catch (error) {
56
+ console.error(chalk.red('오류:'), error.message);
57
+ }
58
+ ```
59
+
60
+ ## 설명
61
+
62
+ 페르소나별 압축 통계와 현재 활성화된 페르소나의 압축 전략을 확인합니다.
63
+
64
+ ### 제공 정보
65
+
66
+ 1. **현재 페르소나 정보**
67
+ - 활성 페르소나 이름
68
+ - 압축 전략 상세
69
+ - 보존 패턴 목록
70
+
71
+ 2. **압축 히스토리 통계**
72
+ - 페르소나별 평균 압축률
73
+ - 압축 성능 비교
74
+
75
+ ## 활용 방법
76
+
77
+ - 페르소나별 압축 효율성 비교
78
+ - 최적의 압축 모드 선택
79
+ - 압축 전략 개선점 파악
@@ -0,0 +1,51 @@
1
+ # aiwf compress-with-persona
2
+
3
+ 활성화된 페르소나를 고려하여 컨텍스트를 압축합니다.
4
+
5
+ ## 실행
6
+
7
+ ```javascript
8
+ const { spawn } = require('child_process');
9
+ const path = require('path');
10
+
11
+ // .aiwf 디렉토리로 이동하여 명령 실행
12
+ const cwd = path.join(process.cwd(), '.aiwf');
13
+ const proc = spawn('node', [
14
+ '../claude-code/aiwf/ko/commands/compress-context.js',
15
+ 'balanced',
16
+ '--persona'
17
+ ], { cwd, stdio: 'inherit' });
18
+
19
+ proc.on('error', (err) => {
20
+ console.error('명령 실행 실패:', err.message);
21
+ });
22
+ ```
23
+
24
+ ## 설명
25
+
26
+ 현재 활성화된 페르소나의 특성을 고려하여 컨텍스트를 압축합니다. 페르소나별로 중요한 패턴과 키워드를 보존하며, 관련성이 낮은 내용은 더 적극적으로 압축합니다.
27
+
28
+ ### 페르소나별 압축 전략
29
+
30
+ - **Architect**: 시스템 설계, 아키텍처 패턴 중심 보존
31
+ - **Security**: 보안 경고, 취약점 정보 완전 보존
32
+ - **Frontend**: UI/UX 설명, 시각적 요소 중심 보존
33
+ - **Backend**: API 명세, 데이터베이스 스키마 보존
34
+ - **Data Analyst**: 데이터 설명, 인사이트 완전 보존
35
+
36
+ ## 사용 예시
37
+
38
+ ```bash
39
+ # 기본 모드 (balanced)로 페르소나 인식 압축
40
+ aiwf compress-with-persona
41
+
42
+ # 다른 압축 모드와 함께 사용
43
+ aiwf compress-aggressive-persona # aggressive 모드
44
+ aiwf compress-minimal-persona # minimal 모드
45
+ ```
46
+
47
+ ## 참고
48
+
49
+ - 페르소나가 활성화되지 않은 경우 일반 압축이 수행됩니다
50
+ - 압축된 파일은 `.aiwf_compressed/` 디렉토리에 저장됩니다
51
+ - 페르소나별 중요 패턴 보존율이 리포트에 포함됩니다