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,406 +1,408 @@
1
- # aiwf 프로젝트 기여 가이드
1
+ # Contributing to AIWF
2
2
 
3
- aiwf (AI Workflow Framework) 프로젝트에 기여해 주셔서 감사합니다! 이 문서는 프로젝트에 효과적으로 기여하는 방법을 안내합니다.
3
+ Thank you for your interest in contributing to AIWF (AI Workflow Framework)! This guide will help you contribute effectively to the project.
4
4
 
5
- ## 목차
5
+ [한국어로 보기](CONTRIBUTING.ko.md)
6
6
 
7
- 1. [기여하기 전에](#기여하기-전에)
8
- 2. [개발 환경 설정](#개발-환경-설정)
9
- 3. [기여 방법](#기여-방법)
10
- 4. [코드 스타일 가이드](#코드-스타일-가이드)
11
- 5. [테스트 작성](#테스트-작성)
12
- 6. [Pull Request 가이드](#pull-request-가이드)
13
- 7. [이슈 리포팅](#이슈-리포팅)
14
- 8. [커뮤니티 가이드라인](#커뮤니티-가이드라인)
7
+ ## Table of Contents
15
8
 
16
- ## 기여하기 전에
9
+ 1. [Before Contributing](#before-contributing)
10
+ 2. [Development Environment Setup](#development-environment-setup)
11
+ 3. [How to Contribute](#how-to-contribute)
12
+ 4. [Code Style Guide](#code-style-guide)
13
+ 5. [Writing Tests](#writing-tests)
14
+ 6. [Pull Request Guidelines](#pull-request-guidelines)
15
+ 7. [Issue Reporting](#issue-reporting)
16
+ 8. [Community Guidelines](#community-guidelines)
17
17
 
18
- ### 프로젝트 이해
18
+ ## Before Contributing
19
19
 
20
- aiwf는 Claude Code와 통합된 AIWF 프로젝트 관리 프레임워크를 설치하는 NPM CLI 패키지입니다. 기여하기 전에 다음을 이해해 주세요:
20
+ ### Understanding the Project
21
21
 
22
- - **목적**: AI 기반 개발 워크플로우 프레임워크 배포
23
- - **대상 사용자**: Claude Code, Cursor, Windsurf 사용자
24
- - **핵심 기능**: GitHub에서 프레임워크 다운로드 및 설치
22
+ AIWF is an NPM CLI package that installs the AI Workflow Framework integrated with Claude Code. Before contributing, please understand:
25
23
 
26
- ### 행동강령
24
+ - **Purpose**: Deploy AI-driven development workflow framework
25
+ - **Target Users**: Claude Code, Cursor, and Windsurf users
26
+ - **Core Function**: Download and install framework from GitHub
27
27
 
28
- 우리는 모든 기여자가 존중받고 포용적인 환경을 만들기 위해 다음 원칙을 따릅니다:
28
+ ### Code of Conduct
29
29
 
30
- - **존중**: 모든 의견과 기여를 존중합니다
31
- - **포용성**: 다양한 배경과 경험을 가진 기여자를 환영합니다
32
- - **건설적 피드백**: 비판적 피드백도 건설적이고 도움이 되는 방향으로 제공합니다
33
- - **협력**: 문제 해결을 위해 함께 협력합니다
30
+ We follow these principles to create a respectful and inclusive environment:
34
31
 
35
- ## 개발 환경 설정
32
+ - **Respect**: We respect all opinions and contributions
33
+ - **Inclusivity**: We welcome contributors from diverse backgrounds
34
+ - **Constructive Feedback**: We provide helpful and constructive criticism
35
+ - **Collaboration**: We work together to solve problems
36
36
 
37
- ### 필수 요구사항
37
+ ## Development Environment Setup
38
38
 
39
- - **Node.js**: 14.0.0 이상
40
- - **npm**: Node.js와 함께 설치됨
41
- - **Git**: 최신 버전
39
+ ### Prerequisites
42
40
 
43
- ### 초기 설정
41
+ - **Node.js**: 14.0.0 or higher
42
+ - **npm**: Installed with Node.js
43
+ - **Git**: Latest version
44
+
45
+ ### Initial Setup
44
46
 
45
47
  ```bash
46
- # 1. 리포지토리 포크
47
- # GitHub에서 https://github.com/aiwf/aiwf를 개인 계정으로 포크
48
+ # 1. Fork the repository
49
+ # Fork https://github.com/aiwf/aiwf on GitHub
48
50
 
49
- # 2. 로컬에 클론
51
+ # 2. Clone locally
50
52
  git clone https://github.com/YOUR_USERNAME/aiwf.git
51
53
  cd aiwf
52
54
 
53
- # 3. 원본 리포지토리를 upstream으로 추가
55
+ # 3. Add upstream remote
54
56
  git remote add upstream https://github.com/aiwf/aiwf.git
55
57
 
56
- # 4. 의존성 설치
58
+ # 4. Install dependencies
57
59
  npm install
58
60
 
59
- # 5. 개발 환경 검증
60
- node index.js --force # 로컬 테스트 실행
61
- npm test # 테스트 실행 (설정 후)
62
- npm run lint # 코드 스타일 검사 (설정 후)
61
+ # 5. Verify development environment
62
+ node index.js --force # Run local test
63
+ npm test # Run tests
64
+ npm run lint # Check code style
63
65
  ```
64
66
 
65
- ## 기여 방법
67
+ ## How to Contribute
66
68
 
67
- ### 1. 이슈 기반 기여
69
+ ### 1. Issue-Based Contributions
68
70
 
69
- 가장 권장하는 기여 방법입니다:
71
+ The recommended way to contribute:
70
72
 
71
- 1. **이슈 찾기**: [GitHub Issues](https://github.com/aiwf/aiwf/issues)에서 작업할 이슈 선택
72
- 2. **이슈 할당**: 댓글로 작업 의사 표현
73
- 3. **브랜치 생성**: `feature/issue-번호-간단한-설명` 형식
73
+ 1. **Find an Issue**: Select from [GitHub Issues](https://github.com/aiwf/aiwf/issues)
74
+ 2. **Assign Yourself**: Comment to express interest
75
+ 3. **Create Branch**: Use format `feature/issue-number-brief-description`
74
76
 
75
- ### 2. 새로운 기능 제안
77
+ ### 2. Proposing New Features
76
78
 
77
- 새로운 기능을 제안하고 싶다면:
79
+ To propose new features:
78
80
 
79
- 1. **이슈 생성**: Feature Request 템플릿 사용
80
- 2. **토론 참여**: 커뮤니티와 기능에 대해 논의
81
- 3. **승인 후 개발**: 승인된 후 개발 시작
81
+ 1. **Create Issue**: Use Feature Request template
82
+ 2. **Join Discussion**: Discuss with community
83
+ 3. **Start Development**: Begin after approval
82
84
 
83
- ### 3. 버그 수정
85
+ ### 3. Bug Fixes
84
86
 
85
- 버그를 발견했다면:
87
+ If you found a bug:
86
88
 
87
- 1. **이슈 확인**: 이미 리포트된 버그인지 확인
88
- 2. **새 이슈 생성**: Bug Report 템플릿 사용
89
- 3. **재현 가능한 예제**: 최소한의 재현 가능한 예제 포함
89
+ 1. **Check Issues**: Verify if already reported
90
+ 2. **Create New Issue**: Use Bug Report template
91
+ 3. **Provide Example**: Include minimal reproducible example
90
92
 
91
- ## 코드 스타일 가이드
93
+ ## Code Style Guide
92
94
 
93
- ### JavaScript 스타일
95
+ ### JavaScript Style
94
96
 
95
97
  ```javascript
96
- // 좋음: ES6+ 문법 사용
98
+ // Good: Use ES6+ syntax
97
99
  const apiUrl = "https://api.github.com";
98
100
  const fetchData = async (url) => {
99
101
  try {
100
102
  const response = await fetch(url);
101
103
  return await response.json();
102
104
  } catch (error) {
103
- console.error("API 호출 실패:", error);
105
+ console.error("API call failed:", error);
104
106
  throw error;
105
107
  }
106
108
  };
107
109
 
108
- // 피하기: var 사용, 콜백 헬
110
+ // Avoid: var usage, callback hell
109
111
  var oldUrl = "https://api.github.com";
110
112
  function fetchDataOld(url, callback) {
111
- // 구식 패턴
113
+ // Old pattern
112
114
  }
113
115
  ```
114
116
 
115
- ### 명명 규칙
117
+ ### Naming Conventions
116
118
 
117
- - **변수/함수**: camelCase (`fetchGitHubContent`)
118
- - **상수**: UPPER_SNAKE_CASE (`API_BASE_URL`)
119
- - **파일명**: kebab-case (`github-api.js`)
120
- - **클래스**: PascalCase (`GitHubClient`)
119
+ - **Variables/Functions**: camelCase (`fetchGitHubContent`)
120
+ - **Constants**: UPPER_SNAKE_CASE (`API_BASE_URL`)
121
+ - **File Names**: kebab-case (`github-api.js`)
122
+ - **Classes**: PascalCase (`GitHubClient`)
121
123
 
122
- ### 주석 가이드
124
+ ### Comment Guidelines
123
125
 
124
126
  ```javascript
125
127
  /**
126
- * GitHub API에서 리포지토리 내용을 가져옵니다.
127
- * @param {string} repoUrl - 리포지토리 URL
128
- * @param {string} path - 가져올 파일/디렉토리 경로
129
- * @returns {Promise<Object>} API 응답 데이터
130
- * @throws {Error} 네트워크 오류 또는 API 제한 시 발생
128
+ * Fetches repository content from GitHub API.
129
+ * @param {string} repoUrl - Repository URL
130
+ * @param {string} path - Path to file/directory
131
+ * @returns {Promise<Object>} API response data
132
+ * @throws {Error} On network error or API limits
131
133
  */
132
134
  async function fetchRepositoryContent(repoUrl, path) {
133
- // 입력 검증
135
+ // Input validation
134
136
  if (!repoUrl || !path) {
135
- throw new Error("리포지토리 URL과 경로는 필수입니다");
137
+ throw new Error("Repository URL and path are required");
136
138
  }
137
139
 
138
- // API 호출 구현...
140
+ // API call implementation...
139
141
  }
140
142
  ```
141
143
 
142
- ### ESLint 및 Prettier
144
+ ### ESLint and Prettier
143
145
 
144
- 프로젝트는 ESLint와 Prettier를 사용합니다:
146
+ The project uses ESLint and Prettier:
145
147
 
146
148
  ```bash
147
- # 코드 스타일 검사
149
+ # Check code style
148
150
  npm run lint
149
151
 
150
- # 자동 수정
152
+ # Auto-fix issues
151
153
  npm run lint:fix
152
154
 
153
- # 코드 포맷팅
155
+ # Format code
154
156
  npm run format
155
157
  ```
156
158
 
157
- ## 테스트 작성
159
+ ## Writing Tests
158
160
 
159
- ### 테스트 철학
161
+ ### Testing Philosophy
160
162
 
161
- - **모든 새로운 기능**에는 테스트가 필요합니다
162
- - **버그 수정** 시 해당 버그를 확인하는 테스트를 추가합니다
163
- - **기존 테스트를 깨뜨리지** 않도록 합니다
163
+ - **All new features** require tests
164
+ - **Bug fixes** should include tests that verify the fix
165
+ - **Don't break** existing tests
164
166
 
165
- ### 테스트 구조
167
+ ### Test Structure
166
168
 
167
169
  ```javascript
168
170
  // tests/unit/github-api.test.js
169
171
  import { jest } from "@jest/globals";
170
172
  import { fetchGitHubContent } from "../../index.js";
171
173
 
172
- describe("GitHub API 함수들", () => {
174
+ describe("GitHub API functions", () => {
173
175
  beforeEach(() => {
174
176
  jest.clearAllMocks();
175
177
  });
176
178
 
177
179
  describe("fetchGitHubContent", () => {
178
- test("성공적으로 데이터를 가져와야 함", async () => {
179
- // Given (준비)
180
+ test("should fetch data successfully", async () => {
181
+ // Given
180
182
  const mockUrl = "https://api.github.com/repos/test/repo";
181
183
  const expectedData = { name: "test-repo" };
182
184
 
183
- // When (실행)
185
+ // When
184
186
  const result = await fetchGitHubContent(mockUrl);
185
187
 
186
- // Then (검증)
188
+ // Then
187
189
  expect(result).toEqual(expectedData);
188
190
  });
189
191
 
190
- test("잘못된 URL에 대해 에러를 발생시켜야 함", async () => {
192
+ test("should throw error for invalid URL", async () => {
191
193
  // Given & When & Then
192
194
  await expect(fetchGitHubContent("invalid-url")).rejects.toThrow(
193
- "올바르지 않은 URL입니다"
195
+ "Invalid URL"
194
196
  );
195
197
  });
196
198
  });
197
199
  });
198
200
  ```
199
201
 
200
- ### 테스트 실행
202
+ ### Running Tests
201
203
 
202
204
  ```bash
203
- # 모든 테스트 실행
205
+ # Run all tests
204
206
  npm test
205
207
 
206
- # 감시 모드로 실행
208
+ # Run in watch mode
207
209
  npm run test:watch
208
210
 
209
- # 커버리지 포함
211
+ # Run with coverage
210
212
  npm run test:coverage
211
213
  ```
212
214
 
213
- ## Pull Request 가이드
215
+ ## Pull Request Guidelines
214
216
 
215
- ### PR 생성 전 체크리스트
217
+ ### Pre-PR Checklist
216
218
 
217
- - [ ] 최신 `develop` 브랜치로부터 생성된 브랜치
218
- - [ ] 모든 테스트 통과 (`npm test`)
219
- - [ ] 린팅 검사 통과 (`npm run lint`)
220
- - [ ] 관련된 기존 이슈가 있다면 링크 포함
221
- - [ ] 변경사항에 대한 테스트 추가
219
+ - [ ] Branch created from latest `main`
220
+ - [ ] All tests pass (`npm test`)
221
+ - [ ] Linting passes (`npm run lint`)
222
+ - [ ] Related issue linked if applicable
223
+ - [ ] Tests added for changes
222
224
 
223
- ### PR 제목 형식
225
+ ### PR Title Format
224
226
 
225
227
  ```
226
228
  <type>(<scope>): <description>
227
229
 
228
- 예시:
229
- feat(cli): GitHub API 재시도 로직 추가
230
- fix(installer): 백업 파일 타임스탬프 오류 수정
231
- docs(readme): 설치 가이드 업데이트
230
+ Examples:
231
+ feat(cli): add GitHub API retry logic
232
+ fix(installer): fix backup file timestamp error
233
+ docs(readme): update installation guide
232
234
  ```
233
235
 
234
- ### PR 설명 템플릿
236
+ ### PR Description Template
235
237
 
236
238
  ```markdown
237
- ## 변경사항 요약
239
+ ## Summary of Changes
238
240
 
239
- <!-- 이 PR에서 무엇을 변경했는지 간단히 설명 -->
241
+ <!-- Brief description of what this PR changes -->
240
242
 
241
- ## 관련 이슈
243
+ ## Related Issues
242
244
 
243
- <!-- 관련된 이슈가 있다면 링크 -->
245
+ <!-- Link related issues if any -->
244
246
 
245
247
  Closes #123
246
248
 
247
- ## 변경 유형
249
+ ## Type of Change
248
250
 
249
- - [ ] 버그 수정 (기존 기능을 깨뜨리지 않는 변경사항)
250
- - [ ] 새로운 기능 (기존 기능을 깨뜨리지 않는 새로운 기능)
251
- - [ ] Breaking change (기존 기능에 영향을 주는 변경사항)
252
- - [ ] 문서 업데이트
251
+ - [ ] Bug fix (non-breaking change fixing an issue)
252
+ - [ ] New feature (non-breaking change adding functionality)
253
+ - [ ] Breaking change (fix or feature causing existing functionality to change)
254
+ - [ ] Documentation update
253
255
 
254
- ## 테스트 방법
256
+ ## How to Test
255
257
 
256
- <!-- 이 변경사항을 어떻게 테스트했는지 설명 -->
258
+ <!-- Describe how to test these changes -->
257
259
 
258
- 1. 단계 1
259
- 2. 단계 2
260
- 3. 예상 결과
260
+ 1. Step 1
261
+ 2. Step 2
262
+ 3. Expected result
261
263
 
262
- ## 스크린샷 (해당하는 경우)
264
+ ## Screenshots (if applicable)
263
265
 
264
- <!-- 시각적 변경사항이 있다면 스크린샷 포함 -->
266
+ <!-- Include screenshots for visual changes -->
265
267
 
266
- ## 추가 참고사항
268
+ ## Additional Notes
267
269
 
268
- <!-- 리뷰어가 알아야 할 추가 정보 -->
270
+ <!-- Any additional information for reviewers -->
269
271
  ```
270
272
 
271
- ### 코드 리뷰 과정
273
+ ### Code Review Process
272
274
 
273
- 1. **자동 검사**: GitHub Actions가 자동으로 테스트 실행
274
- 2. **코드 리뷰**: 프로젝트 유지보수자가 코드 검토
275
- 3. **피드백 대응**: 리뷰 댓글에 적극적으로 응답
276
- 4. **승인 및 머지**: 승인 후 squash merge로 병합
275
+ 1. **Automated Checks**: GitHub Actions run tests automatically
276
+ 2. **Code Review**: Project maintainers review code
277
+ 3. **Address Feedback**: Respond actively to review comments
278
+ 4. **Approval & Merge**: Squash merge after approval
277
279
 
278
- ## 이슈 리포팅
280
+ ## Issue Reporting
279
281
 
280
- ### 버그 리포트
282
+ ### Bug Reports
281
283
 
282
- 다음 정보를 포함해 주세요:
284
+ Please include:
283
285
 
284
286
  ```markdown
285
- ## 버그 설명
287
+ ## Bug Description
286
288
 
287
- <!-- 버그에 대한 명확하고 간단한 설명 -->
289
+ <!-- Clear and concise description of the bug -->
288
290
 
289
- ## 재현 단계
291
+ ## Steps to Reproduce
290
292
 
291
- 1. '...'로 이동
292
- 2. '...'를 클릭
293
- 3. 아래로 스크롤하여 '...'를 확인
294
- 4. 오류 발생
293
+ 1. Go to '...'
294
+ 2. Click on '...'
295
+ 3. Scroll down to '...'
296
+ 4. See error
295
297
 
296
- ## 예상 동작
298
+ ## Expected Behavior
297
299
 
298
- <!-- 예상했던 동작에 대한 설명 -->
300
+ <!-- Description of expected behavior -->
299
301
 
300
- ## 실제 동작
302
+ ## Actual Behavior
301
303
 
302
- <!-- 실제로 일어난 일에 대한 설명 -->
304
+ <!-- Description of what actually happened -->
303
305
 
304
- ## 환경
306
+ ## Environment
305
307
 
306
- - OS: [예: macOS 12.0]
307
- - Node.js 버전: [예: 18.0.0]
308
- - aiwf 버전: [예: 1.0.0]
308
+ - OS: [e.g., macOS 12.0]
309
+ - Node.js version: [e.g., 18.0.0]
310
+ - aiwf version: [e.g., 1.0.0]
309
311
 
310
- ## 추가 컨텍스트
312
+ ## Additional Context
311
313
 
312
- <!-- 문제에 대한 추가 정보나 스크린샷 -->
314
+ <!-- Any additional information or screenshots -->
313
315
  ```
314
316
 
315
- ### 기능 요청
317
+ ### Feature Requests
316
318
 
317
319
  ```markdown
318
- ## 기능 설명
320
+ ## Feature Description
319
321
 
320
- <!-- 원하는 기능에 대한 설명 -->
322
+ <!-- Description of the desired feature -->
321
323
 
322
- ## 문제점
324
+ ## Problem Statement
323
325
 
324
- <!-- 이 기능이 해결할 문제에 대한 설명 -->
326
+ <!-- Description of the problem this feature would solve -->
325
327
 
326
- ## 제안하는 해결책
328
+ ## Proposed Solution
327
329
 
328
- <!-- 어떻게 구현되었으면 하는지에 대한 설명 -->
330
+ <!-- Description of how you'd like it implemented -->
329
331
 
330
- ## 대안
332
+ ## Alternatives
331
333
 
332
- <!-- 고려한 다른 해결책들 -->
334
+ <!-- Other solutions you've considered -->
333
335
 
334
- ## 추가 컨텍스트
336
+ ## Additional Context
335
337
 
336
- <!-- 기능 요청에 대한 추가 정보나 스크린샷 -->
338
+ <!-- Any additional information or screenshots -->
337
339
  ```
338
340
 
339
- ## 커뮤니티 가이드라인
341
+ ## Community Guidelines
340
342
 
341
- ### 소통 채널
343
+ ### Communication Channels
342
344
 
343
- - **GitHub Issues**: 버그 리포트, 기능 요청
344
- - **GitHub Discussions**: 일반적인 질문, 아이디어 논의
345
- - **Pull Request**: 코드 리뷰, 기술적 논의
345
+ - **GitHub Issues**: Bug reports, feature requests
346
+ - **GitHub Discussions**: General questions, ideas
347
+ - **Pull Requests**: Code review, technical discussions
346
348
 
347
- ### 질문하기
349
+ ### Asking Questions
348
350
 
349
- 좋은 질문을 위한 가이드:
351
+ Guidelines for good questions:
350
352
 
351
- 1. **검색 먼저**: 이미 답변된 질문인지 확인
352
- 2. **구체적으로**: 애매한 질문보다는 구체적인 상황 설명
353
- 3. **재현 가능한 예제**: 문제를 재현할 수 있는 최소한의 예제 제공
354
- 4. **환경 정보**: OS, Node.js 버전, aiwf 버전 등
353
+ 1. **Search First**: Check if already answered
354
+ 2. **Be Specific**: Provide concrete situations over vague questions
355
+ 3. **Reproducible Example**: Include minimal reproducible example
356
+ 4. **Environment Info**: OS, Node.js version, aiwf version
355
357
 
356
- ### 답변하기
358
+ ### Answering Questions
357
359
 
358
- 다른 기여자의 질문에 답변할 때:
360
+ When answering others' questions:
359
361
 
360
- 1. **친절하게**: 초보자도 이해하기 쉽게 설명
361
- 2. **정확하게**: 확실하지 않다면 "잘 모르겠다"고 솔직히 말하기
362
- 3. **완전하게**: 부분적인 답변보다는 완전한 해결책 제시
362
+ 1. **Be Kind**: Explain in beginner-friendly terms
363
+ 2. **Be Accurate**: Say "I don't know" if unsure
364
+ 3. **Be Complete**: Provide complete solutions over partial answers
363
365
 
364
- ## 릴리스 과정
366
+ ## Release Process
365
367
 
366
- ### 버전 관리
368
+ ### Version Management
367
369
 
368
- aiwf는 [Semantic Versioning](https://semver.org/)을 따릅니다:
370
+ AIWF follows [Semantic Versioning](https://semver.org/):
369
371
 
370
- - **MAJOR**: 호환되지 않는 API 변경
371
- - **MINOR**: 기존 기능과 호환되는 새로운 기능
372
- - **PATCH**: 기존 기능과 호환되는 버그 수정
372
+ - **MAJOR**: Incompatible API changes
373
+ - **MINOR**: Backward-compatible new features
374
+ - **PATCH**: Backward-compatible bug fixes
373
375
 
374
- ### 릴리스 일정
376
+ ### Release Schedule
375
377
 
376
- - **메이저 릴리스**: 필요에 따라 (Breaking changes)
377
- - **마이너 릴리스**: 월 1회 또는 주요 기능 완성 시
378
- - **패치 릴리스**: 중요한 버그 수정 시 수시로
378
+ - **Major Releases**: As needed (breaking changes)
379
+ - **Minor Releases**: Monthly or when major features complete
380
+ - **Patch Releases**: As needed for important bug fixes
379
381
 
380
- ## 도구 및 리소스
382
+ ## Tools and Resources
381
383
 
382
- ### 개발 도구
384
+ ### Development Tools
383
385
 
384
- - **IDE**: VS Code, Cursor, Windsurf (Claude Code 지원)
385
- - **터미널**: 현대적인 터미널 (zsh, fish 등)
386
- - **Git GUI**: SourceTree, GitHub Desktop 등 (선택사항)
386
+ - **IDE**: VS Code, Cursor, Windsurf (Claude Code support)
387
+ - **Terminal**: Modern terminal (zsh, fish, etc.)
388
+ - **Git GUI**: SourceTree, GitHub Desktop (optional)
387
389
 
388
- ### 학습 리소스
390
+ ### Learning Resources
389
391
 
390
- - [Node.js 공식 문서](https://nodejs.org/docs/)
391
- - [Jest 테스팅 가이드](https://jestjs.io/docs/getting-started)
392
+ - [Node.js Official Docs](https://nodejs.org/docs/)
393
+ - [Jest Testing Guide](https://jestjs.io/docs/getting-started)
392
394
  - [Conventional Commits](https://www.conventionalcommits.org/)
393
395
  - [GitHub Flow](https://guides.github.com/introduction/flow/)
394
396
 
395
- ## 인정과 감사
397
+ ## Recognition and Thanks
396
398
 
397
- 기여해 주신 모든 분들께 감사드립니다! 주요 기여자들은 다음에서 확인할 수 있습니다:
399
+ Thank you to all contributors! Key contributors can be found at:
398
400
 
399
- - [Contributors 페이지](https://github.com/aiwf/aiwf/graphs/contributors)
400
- - [릴리스 노트](https://github.com/aiwf/aiwf/releases)에서 각 릴리스별 기여자 언급
401
+ - [Contributors page](https://github.com/aiwf/aiwf/graphs/contributors)
402
+ - [Release notes](https://github.com/aiwf/aiwf/releases) mention contributors per release
401
403
 
402
404
  ---
403
405
 
404
- 궁금한 점이 있으시면 언제든지 [이슈를 생성](https://github.com/aiwf/aiwf/issues/new)하거나 [토론](https://github.com/aiwf/aiwf/discussions)에 참여해 주세요!
406
+ If you have questions, feel free to [create an issue](https://github.com/aiwf/aiwf/issues/new) or join the [discussions](https://github.com/aiwf/aiwf/discussions)!
405
407
 
406
- 함께 더 나은 aiwf를 만들어 나가요! 🚀
408
+ Let's build a better AIWF together! 🚀