aiwf 0.3.8 → 0.3.12

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 (711) hide show
  1. package/CHANGELOG.md +97 -0
  2. package/README.ko.md +114 -28
  3. package/README.md +152 -40
  4. package/docs/AI-WORKFLOW.md +121 -19
  5. package/docs/API_DOCUMENTATION.md +1 -1
  6. package/docs/API_REFERENCE.md +1 -1
  7. package/docs/CLI_USAGE_GUIDE.ko.md +634 -0
  8. package/docs/CLI_USAGE_GUIDE.md +339 -178
  9. package/docs/COMMANDS_GUIDE.ko.md +308 -4
  10. package/docs/COMMANDS_GUIDE.md +117 -0
  11. package/docs/CONTRIBUTING.ko.md +6 -6
  12. package/docs/CONTRIBUTING.md +6 -6
  13. package/docs/DEVELOPMENT_GUIDE.ko.md +440 -0
  14. package/docs/DEVELOPMENT_GUIDE.md +1 -1
  15. package/docs/EXAMPLES.md +8 -6
  16. package/docs/GETTING_STARTED.md +6 -3
  17. package/docs/STATE_MANAGEMENT_GUIDE.ko.md +278 -0
  18. package/docs/STATE_MANAGEMENT_GUIDE.md +278 -0
  19. package/docs/TROUBLESHOOTING.md +14 -13
  20. package/docs/guides/checkpoint-system-guide-ko.md +356 -0
  21. package/docs/guides/checkpoint-system-guide.md +356 -0
  22. package/docs/guides/independent-sprint-guide-ko.md +321 -0
  23. package/docs/guides/independent-sprint-guide.md +321 -0
  24. package/package.json +30 -3
  25. package/scripts/update-file-lists.js +267 -0
  26. package/src/cli/checkpoint-cli.js +417 -0
  27. package/src/cli/index.js +337 -50
  28. package/src/cli/sprint-cli.js +287 -0
  29. package/src/commands/sprint-independent.js +393 -0
  30. package/src/commands/state-refactored.js +419 -0
  31. package/src/commands/state.js +1164 -0
  32. package/src/commands/yolo-config.js +502 -0
  33. package/src/config/file-lists.js +147 -0
  34. package/src/config/yolo-config-template.yaml +168 -0
  35. package/src/lib/file-downloader.js +7 -72
  36. package/src/lib/github-integration.js +402 -0
  37. package/src/lib/resource-loader-enhanced.js +399 -0
  38. package/src/lib/state/priority-calculator.js +217 -0
  39. package/src/lib/state/state-index.js +155 -0
  40. package/src/lib/state/task-scanner.js +328 -0
  41. package/src/utils/checkpoint-manager.js +425 -0
  42. package/src/utils/engineering-guard.js +389 -0
  43. package/.aiwf/00_PROJECT_MANIFEST.md +0 -420
  44. package/.aiwf/01_PROJECT_DOCS/ARCHITECTURE.md +0 -121
  45. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_ADVANCED_USE_CASES.md +0 -412
  46. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_API_REFERENCE.md +0 -361
  47. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_COMMANDS_GUIDE.md +0 -254
  48. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_FAQ.md +0 -365
  49. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_SYSTEM_OVERVIEW.md +0 -305
  50. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_USER_GUIDE.md +0 -416
  51. package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_/354/213/234/354/236/221_/352/260/200/354/235/264/353/223/234.md +0 -247
  52. package/.aiwf/02_REQUIREMENTS/CLAUDE.md +0 -78
  53. package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/M02_milestone_meta.md +0 -34
  54. package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/PRD_Context_Engineering_Enhancement.md +0 -108
  55. package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_AI_Persona_System.md +0 -299
  56. package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_Feature_Ledger_System.md +0 -330
  57. package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_Token_Optimization.md +0 -833
  58. package/.aiwf/02_REQUIREMENTS/M03_Simone_Integration_Enhancement/M03_milestone_meta.md +0 -55
  59. package/.aiwf/02_REQUIREMENTS/M03_Simone_Integration_Enhancement/SPECS_AIWF_Simplified_Plan.md +0 -221
  60. package/.aiwf/03_SPRINTS/CLAUDE.md +0 -83
  61. package/.aiwf/03_SPRINTS/S01_M02_context_foundation/S01_M02_sprint_meta.md +0 -95
  62. 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 +0 -111
  63. 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 +0 -115
  64. 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 +0 -141
  65. package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX04_S01_Feature_Ledger_/353/254/270/354/204/234/355/231/224.md +0 -114
  66. 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 +0 -123
  67. 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 +0 -114
  68. 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 +0 -114
  69. 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 +0 -112
  70. 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 +0 -118
  71. 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 +0 -118
  72. 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 +0 -128
  73. 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 +0 -122
  74. package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/S02_M02_sprint_meta.md +0 -107
  75. 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 +0 -129
  76. 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 +0 -152
  77. 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 +0 -186
  78. 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 +0 -192
  79. 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 +0 -162
  80. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/S03_FINAL_SPRINT_SUMMARY.md +0 -137
  81. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/S03_M02_sprint_meta.md +0 -217
  82. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T01_S03_new_test_task.md +0 -39
  83. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T02_S03_first_task.md +0 -39
  84. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T03_S03_test_task.md +0 -39
  85. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T04_S03_task_with_special_characters.md +0 -39
  86. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T05_S03_test.md +0 -39
  87. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T06_S03_test_task.md +0 -39
  88. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T07_S03_next_task.md +0 -39
  89. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T08_S03_next_task.md +0 -39
  90. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T09_S03_new_test_task.md +0 -39
  91. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T100_S03_task_with_special_characters.md +0 -39
  92. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T101_S03_test.md +0 -39
  93. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T102_S03_test_task.md +0 -39
  94. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T103_S03_next_task.md +0 -39
  95. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T104_S03_next_task.md +0 -39
  96. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T105_S03_new_test_task.md +0 -39
  97. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T106_S03_first_task.md +0 -39
  98. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T107_S03_test_task.md +0 -39
  99. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T108_S03_task_with_special_characters.md +0 -39
  100. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T109_S03_test.md +0 -39
  101. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T10_S03_first_task.md +0 -39
  102. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T110_S03_test_task.md +0 -39
  103. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T111_S03_next_task.md +0 -39
  104. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T112_S03_next_task.md +0 -39
  105. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T11_S03_test_task.md +0 -39
  106. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T12_S03_task_with_special_characters.md +0 -39
  107. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T13_S03_test.md +0 -39
  108. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T14_S03_test_task.md +0 -39
  109. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T15_S03_next_task.md +0 -39
  110. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T16_S03_next_task.md +0 -39
  111. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T17_S03_new_test_task.md +0 -39
  112. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T18_S03_first_task.md +0 -39
  113. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T19_S03_test_task.md +0 -39
  114. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T20_S03_task_with_special_characters.md +0 -39
  115. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T21_S03_test.md +0 -39
  116. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T22_S03_test_task.md +0 -39
  117. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T23_S03_next_task.md +0 -39
  118. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T24_S03_next_task.md +0 -39
  119. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T25_S03_new_test_task.md +0 -39
  120. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T26_S03_first_task.md +0 -39
  121. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T27_S03_test_task.md +0 -39
  122. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T28_S03_task_with_special_characters.md +0 -39
  123. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T29_S03_test.md +0 -39
  124. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T30_S03_test_task.md +0 -39
  125. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T31_S03_next_task.md +0 -39
  126. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T32_S03_next_task.md +0 -39
  127. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T33_S03_new_test_task.md +0 -39
  128. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T34_S03_first_task.md +0 -39
  129. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T35_S03_test_task.md +0 -39
  130. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T36_S03_task_with_special_characters.md +0 -39
  131. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T37_S03_test.md +0 -39
  132. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T38_S03_test_task.md +0 -39
  133. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T39_S03_next_task.md +0 -39
  134. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T40_S03_next_task.md +0 -39
  135. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T41_S03_new_test_task.md +0 -39
  136. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T42_S03_first_task.md +0 -39
  137. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T43_S03_test_task.md +0 -39
  138. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T44_S03_task_with_special_characters.md +0 -39
  139. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T45_S03_test.md +0 -39
  140. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T46_S03_test_task.md +0 -39
  141. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T47_S03_next_task.md +0 -39
  142. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T48_S03_next_task.md +0 -39
  143. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T49_S03_new_test_task.md +0 -39
  144. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T50_S03_first_task.md +0 -39
  145. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T51_S03_test_task.md +0 -39
  146. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T52_S03_task_with_special_characters.md +0 -39
  147. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T53_S03_test.md +0 -39
  148. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T54_S03_test_task.md +0 -39
  149. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T55_S03_next_task.md +0 -39
  150. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T56_S03_next_task.md +0 -39
  151. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T57_S03_new_test_task.md +0 -39
  152. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T58_S03_first_task.md +0 -39
  153. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T59_S03_test_task.md +0 -39
  154. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T60_S03_task_with_special_characters.md +0 -39
  155. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T61_S03_test.md +0 -39
  156. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T62_S03_test_task.md +0 -39
  157. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T63_S03_next_task.md +0 -39
  158. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T64_S03_next_task.md +0 -39
  159. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T65_S03_new_test_task.md +0 -39
  160. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T66_S03_first_task.md +0 -39
  161. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T67_S03_test_task.md +0 -39
  162. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T68_S03_task_with_special_characters.md +0 -39
  163. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T69_S03_test.md +0 -39
  164. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T70_S03_test_task.md +0 -39
  165. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T71_S03_next_task.md +0 -39
  166. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T72_S03_next_task.md +0 -39
  167. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T73_S03_new_test_task.md +0 -39
  168. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T74_S03_first_task.md +0 -39
  169. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T75_S03_test_task.md +0 -39
  170. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T76_S03_task_with_special_characters.md +0 -39
  171. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T77_S03_test.md +0 -39
  172. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T78_S03_test_task.md +0 -39
  173. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T79_S03_next_task.md +0 -39
  174. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T80_S03_next_task.md +0 -39
  175. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T81_S03_new_test_task.md +0 -39
  176. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T82_S03_first_task.md +0 -39
  177. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T83_S03_test_task.md +0 -39
  178. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T84_S03_task_with_special_characters.md +0 -39
  179. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T85_S03_test.md +0 -39
  180. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T86_S03_test_task.md +0 -39
  181. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T87_S03_next_task.md +0 -39
  182. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T88_S03_next_task.md +0 -39
  183. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T89_S03_new_test_task.md +0 -39
  184. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T90_S03_first_task.md +0 -39
  185. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T91_S03_test_task.md +0 -39
  186. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T92_S03_task_with_special_characters.md +0 -39
  187. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T93_S03_test.md +0 -39
  188. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T94_S03_test_task.md +0 -39
  189. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T95_S03_next_task.md +0 -39
  190. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T96_S03_next_task.md +0 -39
  191. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T97_S03_new_test_task.md +0 -39
  192. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T98_S03_first_task.md +0 -39
  193. package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/T99_S03_test_task.md +0 -39
  194. 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 +0 -214
  195. 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 +0 -177
  196. 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 +0 -206
  197. 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 +0 -151
  198. package/.aiwf/04_GENERAL_TASKS/CLAUDE.md +0 -96
  199. package/.aiwf/04_GENERAL_TASKS/TX001_complete_english_translation.md +0 -127
  200. package/.aiwf/06_FEATURE_LEDGERS/FEATURE_GIT_INTEGRATION.md +0 -314
  201. package/.aiwf/06_FEATURE_LEDGERS/FEATURE_INTEGRATION_GUIDE.md +0 -227
  202. package/.aiwf/06_FEATURE_LEDGERS/FEATURE_LEDGER_INDEX.md +0 -23
  203. package/.aiwf/06_FEATURE_LEDGERS/FEATURE_SCHEMA.md +0 -205
  204. package/.aiwf/06_FEATURE_LEDGERS/FEATURE_STATE_DIAGRAM.md +0 -190
  205. package/.aiwf/06_FEATURE_LEDGERS/active/FL001_user_authentication_system.md +0 -47
  206. package/.aiwf/06_FEATURE_LEDGERS/active/FL002_user_authentication_system.md +0 -47
  207. package/.aiwf/07_AI_PERSONAS/PERSONA_INDEX.md +0 -57
  208. package/.aiwf/07_AI_PERSONAS/architect/best_practices.md +0 -104
  209. package/.aiwf/07_AI_PERSONAS/architect/context_rules.md +0 -46
  210. package/.aiwf/07_AI_PERSONAS/architect/knowledge_base.md +0 -235
  211. package/.aiwf/07_AI_PERSONAS/backend/best_practices.md +0 -363
  212. package/.aiwf/07_AI_PERSONAS/backend/context_rules.md +0 -61
  213. package/.aiwf/07_AI_PERSONAS/backend/knowledge_base.md +0 -623
  214. package/.aiwf/07_AI_PERSONAS/data_analyst/best_practices.md +0 -32
  215. package/.aiwf/07_AI_PERSONAS/data_analyst/context_rules.md +0 -43
  216. package/.aiwf/07_AI_PERSONAS/data_analyst/knowledge_base.md +0 -36
  217. package/.aiwf/07_AI_PERSONAS/frontend/best_practices.md +0 -31
  218. package/.aiwf/07_AI_PERSONAS/frontend/context_rules.md +0 -43
  219. package/.aiwf/07_AI_PERSONAS/frontend/knowledge_base.md +0 -32
  220. package/.aiwf/07_AI_PERSONAS/security/best_practices.md +0 -63
  221. package/.aiwf/07_AI_PERSONAS/security/context_rules.md +0 -53
  222. package/.aiwf/07_AI_PERSONAS/security/knowledge_base.md +0 -93
  223. package/.aiwf/10_PERSONAS/active.json +0 -1
  224. package/.aiwf/10_PERSONAS/developer.md +0 -37
  225. package/.aiwf/10_STATE_OF_PROJECT/2025-07-09-07-20-solid-progress.md +0 -144
  226. package/.aiwf/98_PROMPTS/SAAS_DEVELOPMENT_GUIDE.md +0 -302
  227. package/.aiwf/98_PROMPTS/github_integration.md +0 -130
  228. package/.aiwf/98_PROMPTS/useful-prompts.md +0 -31
  229. package/.aiwf/98_PROMPTS/vibe-front-prompts.md +0 -89
  230. package/.aiwf/99_TEMPLATES/adr_template.md +0 -49
  231. package/.aiwf/99_TEMPLATES/feature_template.md +0 -263
  232. package/.aiwf/99_TEMPLATES/milestone_meta_template.md +0 -25
  233. package/.aiwf/99_TEMPLATES/project_manifest_template.md +0 -39
  234. package/.aiwf/99_TEMPLATES/sprint_meta_template.md +0 -23
  235. package/.aiwf/99_TEMPLATES/task_template.md +0 -36
  236. package/.aiwf/CLAUDE.md +0 -76
  237. package/.aiwf/ai-tools/README.md +0 -105
  238. package/.aiwf/ai-tools/augment/README.md +0 -371
  239. package/.aiwf/ai-tools/augment/config.json +0 -30
  240. package/.aiwf/ai-tools/augment/template/.augment/aiwf-integration.md +0 -387
  241. package/.aiwf/ai-tools/augment/template/.augment/augment.yaml +0 -347
  242. package/.aiwf/ai-tools/augment/template/augment.config.json +0 -64
  243. package/.aiwf/ai-tools/claude-code/README.md +0 -151
  244. package/.aiwf/ai-tools/claude-code/config.json +0 -28
  245. package/.aiwf/ai-tools/claude-code/template/CLAUDE.md +0 -91
  246. package/.aiwf/ai-tools/cursor/README.md +0 -314
  247. package/.aiwf/ai-tools/cursor/config.json +0 -29
  248. package/.aiwf/ai-tools/cursor/template/.cursorrules +0 -362
  249. package/.aiwf/ai-tools/github-copilot/README.md +0 -195
  250. package/.aiwf/ai-tools/github-copilot/config.json +0 -24
  251. package/.aiwf/ai-tools/github-copilot/template/.github/copilot-instructions.md +0 -202
  252. package/.aiwf/ai-tools/windsurf/README.md +0 -355
  253. package/.aiwf/ai-tools/windsurf/config.json +0 -29
  254. package/.aiwf/ai-tools/windsurf/template/.windsurf/aiwf-rules.md +0 -260
  255. package/.aiwf/ai-tools/windsurf/template/.windsurf/windsurf.config.js +0 -312
  256. package/.aiwf/ai-tools/windsurf/template/windsurf.config.json +0 -63
  257. package/.aiwf/config/language.json +0 -6
  258. package/.aiwf/feature-ledger/FL-001-authentication.json +0 -52
  259. package/.aiwf/feature-ledger/feature-index.json +0 -20
  260. package/.aiwf/installed.flag +0 -1
  261. package/.aiwf/metrics/metrics.json +0 -18
  262. package/.aiwf/personas/analyst.json +0 -44
  263. package/.aiwf/personas/architect/best_practices.md +0 -136
  264. package/.aiwf/personas/architect/knowledge_base.md +0 -377
  265. package/.aiwf/personas/architect.json +0 -44
  266. package/.aiwf/personas/backend/best_practices.md +0 -766
  267. package/.aiwf/personas/backend/knowledge_base.md +0 -1070
  268. package/.aiwf/personas/current.json +0 -5
  269. package/.aiwf/personas/data_analyst/best_practices.md +0 -594
  270. package/.aiwf/personas/data_analyst/knowledge_base.md +0 -1057
  271. package/.aiwf/personas/developer.json +0 -44
  272. package/.aiwf/personas/evaluation_criteria.json +0 -137
  273. package/.aiwf/personas/frontend/best_practices.md +0 -445
  274. package/.aiwf/personas/frontend/knowledge_base.md +0 -729
  275. package/.aiwf/personas/persona-index.json +0 -31
  276. package/.aiwf/personas/reviewer.json +0 -44
  277. package/.aiwf/personas/security/best_practices.md +0 -307
  278. package/.aiwf/personas/security/knowledge_base.md +0 -498
  279. package/.aiwf/personas/tester.json +0 -44
  280. package/.aiwf/scripts/cache-templates.js +0 -209
  281. package/.aiwf/scripts/create-offline.js +0 -86
  282. package/.aiwf/scripts/create-project.js +0 -151
  283. package/.aiwf/scripts/feature-progress-calculator.cjs +0 -236
  284. package/.aiwf/scripts/git-integration.cjs +0 -391
  285. package/.aiwf/scripts/install-git-hooks.cjs +0 -226
  286. package/.aiwf/scripts/test-commit-parsing.cjs +0 -125
  287. package/.aiwf/scripts/update-feature-status.cjs +0 -198
  288. package/.aiwf/test-results-s02.json +0 -36
  289. package/.claude/commands/aiwf/aiwf_add_task_to_sprint.md +0 -283
  290. package/.claude/commands/aiwf/aiwf_changelog.md +0 -82
  291. package/.claude/commands/aiwf/aiwf_code_review.md +0 -88
  292. package/.claude/commands/aiwf/aiwf_commit.md +0 -160
  293. package/.claude/commands/aiwf/aiwf_compress_aggressive_persona.md +0 -41
  294. package/.claude/commands/aiwf/aiwf_compress_context.md +0 -116
  295. package/.claude/commands/aiwf/aiwf_compress_minimal_persona.md +0 -35
  296. package/.claude/commands/aiwf/aiwf_compress_stats.md +0 -30
  297. package/.claude/commands/aiwf/aiwf_compress_with_persona.md +0 -38
  298. package/.claude/commands/aiwf/aiwf_create_feature_ledger.md +0 -54
  299. package/.claude/commands/aiwf/aiwf_create_general_task.md +0 -147
  300. package/.claude/commands/aiwf/aiwf_create_milestone_plan.md +0 -194
  301. package/.claude/commands/aiwf/aiwf_create_prd.md +0 -280
  302. package/.claude/commands/aiwf/aiwf_create_sprint_tasks.md +0 -189
  303. package/.claude/commands/aiwf/aiwf_create_sprints_from_milestone.md +0 -121
  304. package/.claude/commands/aiwf/aiwf_default_mode.md +0 -44
  305. package/.claude/commands/aiwf/aiwf_discuss_review.md +0 -29
  306. package/.claude/commands/aiwf/aiwf_do_task.md +0 -109
  307. package/.claude/commands/aiwf/aiwf_docs.md +0 -225
  308. package/.claude/commands/aiwf/aiwf_evaluate.md +0 -79
  309. package/.claude/commands/aiwf/aiwf_get_feature_details.md +0 -78
  310. package/.claude/commands/aiwf/aiwf_infinite.md +0 -202
  311. package/.claude/commands/aiwf/aiwf_initialize.md +0 -134
  312. package/.claude/commands/aiwf/aiwf_install_git_hooks.md +0 -63
  313. package/.claude/commands/aiwf/aiwf_issue_create.md +0 -65
  314. package/.claude/commands/aiwf/aiwf_link_feature_branch.md +0 -43
  315. package/.claude/commands/aiwf/aiwf_link_feature_commit.md +0 -46
  316. package/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +0 -57
  317. package/.claude/commands/aiwf/aiwf_list_features.md +0 -54
  318. package/.claude/commands/aiwf/aiwf_mermaid.md +0 -272
  319. package/.claude/commands/aiwf/aiwf_persona_architect.md +0 -48
  320. package/.claude/commands/aiwf/aiwf_persona_backend.md +0 -37
  321. package/.claude/commands/aiwf/aiwf_persona_data_analyst.md +0 -37
  322. package/.claude/commands/aiwf/aiwf_persona_frontend.md +0 -37
  323. package/.claude/commands/aiwf/aiwf_persona_security.md +0 -48
  324. package/.claude/commands/aiwf/aiwf_persona_status.md +0 -50
  325. package/.claude/commands/aiwf/aiwf_pr_create.md +0 -76
  326. package/.claude/commands/aiwf/aiwf_prime.md +0 -9
  327. package/.claude/commands/aiwf/aiwf_project_review.md +0 -261
  328. package/.claude/commands/aiwf/aiwf_switch_language.md +0 -88
  329. package/.claude/commands/aiwf/aiwf_test.md +0 -124
  330. package/.claude/commands/aiwf/aiwf_testing_review.md +0 -198
  331. package/.claude/commands/aiwf/aiwf_tm-run-all-subtask.md +0 -210
  332. package/.claude/commands/aiwf/aiwf_ultrathink_code_advanced.md +0 -460
  333. package/.claude/commands/aiwf/aiwf_ultrathink_code_basic.md +0 -165
  334. package/.claude/commands/aiwf/aiwf_ultrathink_general.md +0 -305
  335. package/.claude/commands/aiwf/aiwf_update_docs_kr.md +0 -25
  336. package/.claude/commands/aiwf/aiwf_update_feature_status.md +0 -53
  337. package/.claude/commands/aiwf/aiwf_yolo.md +0 -300
  338. package/.eslintrc.json +0 -26
  339. package/.prettierrc +0 -10
  340. package/CLAUDE.md +0 -254
  341. package/RELEASE_NOTES_M02.md +0 -177
  342. package/TEST_RECOVERY_PLAN.md +0 -68
  343. package/claude-code/aiwf/en/.aiwf/00_PROJECT_MANIFEST.md +0 -49
  344. package/claude-code/aiwf/en/.aiwf/01_PROJECT_DOCS/ARCHITECTURE.md +0 -55
  345. package/claude-code/aiwf/en/.aiwf/02_REQUIREMENTS/CLAUDE.md +0 -78
  346. package/claude-code/aiwf/en/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/M01_milestone_meta.md +0 -42
  347. package/claude-code/aiwf/en/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/PRD_AMEND_01_Auth_Flow_Update.md +0 -73
  348. package/claude-code/aiwf/en/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/PRD_Backend_Setup.md +0 -98
  349. package/claude-code/aiwf/en/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/SPECS_API_V1.md +0 -232
  350. package/claude-code/aiwf/en/.aiwf/03_SPRINTS/CLAUDE.md +0 -83
  351. package/claude-code/aiwf/en/.aiwf/03_SPRINTS/S01_M01_Initial_API/S01_sprint_meta.md +0 -49
  352. package/claude-code/aiwf/en/.aiwf/03_SPRINTS/S01_M01_Initial_API/T01_S01_Setup_Project_Structure.md +0 -60
  353. package/claude-code/aiwf/en/.aiwf/04_GENERAL_TASKS/CLAUDE.md +0 -96
  354. package/claude-code/aiwf/en/.aiwf/04_GENERAL_TASKS/T002_API_Rate_Limiting.md +0 -54
  355. package/claude-code/aiwf/en/.aiwf/04_GENERAL_TASKS/TX001_Refactor_Logging_Module.md +0 -58
  356. package/claude-code/aiwf/en/.aiwf/05_ARCHITECTURAL_DECISIONS/ADR001_Chosen_Database_System.md +0 -119
  357. package/claude-code/aiwf/en/.aiwf/05_ARCHITECTURAL_DECISIONS/ADR002_API_Authentication_Method.md +0 -124
  358. package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/2025-06-12-12-00-needs-focus.md +0 -139
  359. package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/2025-06-12-12-00-test-alignment.md +0 -155
  360. package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/2025-06-13-00-50-solid-progress.md +0 -122
  361. package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/2025-06-14-08-30-infrastructure-challenges.md +0 -141
  362. package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/2025-06-16-21-48-critical-foundation-issues.md +0 -177
  363. package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/2025-06-17-15-08-solid-progress.md +0 -149
  364. package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/index.json +0 -5
  365. package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/sync-index.js +0 -78
  366. package/claude-code/aiwf/en/.aiwf/98_PROMPTS/github_integration.md +0 -130
  367. package/claude-code/aiwf/en/.aiwf/98_PROMPTS/useful-prompts.md +0 -31
  368. package/claude-code/aiwf/en/.aiwf/98_PROMPTS/vibe-front-prompts.md +0 -89
  369. package/claude-code/aiwf/en/.aiwf/99_TEMPLATES/adr_template.md +0 -49
  370. package/claude-code/aiwf/en/.aiwf/99_TEMPLATES/milestone_meta_template.md +0 -25
  371. package/claude-code/aiwf/en/.aiwf/99_TEMPLATES/project_manifest_template.md +0 -39
  372. package/claude-code/aiwf/en/.aiwf/99_TEMPLATES/sprint_meta_template.md +0 -23
  373. package/claude-code/aiwf/en/.aiwf/99_TEMPLATES/task_template.md +0 -36
  374. package/claude-code/aiwf/en/.aiwf/CLAUDE.md +0 -74
  375. package/claude-code/aiwf/en/.aiwf/README.md +0 -97
  376. package/claude-code/aiwf/en/.claude/CLAUDE_BE.md +0 -276
  377. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_changelog.md +0 -82
  378. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_code_review.md +0 -88
  379. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_commit.md +0 -160
  380. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_feature_ledger.md +0 -54
  381. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_general_task.md +0 -147
  382. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_milestone_plan.md +0 -194
  383. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_prd.md +0 -272
  384. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_sprint_tasks.md +0 -189
  385. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_sprints_from_milestone.md +0 -121
  386. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_testcase.md +0 -561
  387. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_default_mode.md +0 -66
  388. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_discuss_review.md +0 -29
  389. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_do_task.md +0 -109
  390. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_docs.md +0 -225
  391. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_get_feature_details.md +0 -78
  392. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_infinite.md +0 -202
  393. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_initialize.md +0 -134
  394. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_issue_create.md +0 -65
  395. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +0 -57
  396. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_list_features.md +0 -54
  397. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_mermaid.md +0 -272
  398. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_architect.md +0 -60
  399. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_backend.md +0 -60
  400. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_data_analyst.md +0 -60
  401. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_frontend.md +0 -60
  402. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_security.md +0 -60
  403. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_status.md +0 -72
  404. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_pr_create.md +0 -76
  405. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_prime.md +0 -9
  406. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_project_review.md +0 -261
  407. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_switch_language.md +0 -160
  408. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_test.md +0 -125
  409. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_testing_review.md +0 -198
  410. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_tm-run-all-subtask.md +0 -206
  411. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_ultrathink_code_advanced.md +0 -460
  412. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_ultrathink_code_basic.md +0 -165
  413. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_ultrathink_general.md +0 -362
  414. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_update_feature_status.md +0 -53
  415. package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_yolo.md +0 -300
  416. package/claude-code/aiwf/en/.claude/mcp.json +0 -31
  417. package/claude-code/aiwf/en/.claude/settings.json +0 -102
  418. package/claude-code/aiwf/en/commands/ai-persona.js +0 -667
  419. package/claude-code/aiwf/en/commands/compress-context.js +0 -355
  420. package/claude-code/aiwf/en/commands/feature-ledger.js +0 -565
  421. package/claude-code/aiwf/en/commands/feature_commit_report.js +0 -370
  422. package/claude-code/aiwf/en/commands/scan_git_history.js +0 -234
  423. package/claude-code/aiwf/en/commands/sync_feature_commits.js +0 -154
  424. package/claude-code/aiwf/en/commands/token-tracking.js +0 -443
  425. package/claude-code/aiwf/en/config/commit-patterns.js +0 -103
  426. package/claude-code/aiwf/en/hooks/install-hooks.sh +0 -100
  427. package/claude-code/aiwf/en/hooks/post-commit +0 -84
  428. package/claude-code/aiwf/en/tests/compression-test-suite.js +0 -1252
  429. package/claude-code/aiwf/en/tests/test-git-integration.js +0 -164
  430. package/claude-code/aiwf/en/tests/token-tracking.test.js +0 -537
  431. package/claude-code/aiwf/en/utils/compression-metrics.js +0 -1031
  432. package/claude-code/aiwf/en/utils/compression-strategies.js +0 -557
  433. package/claude-code/aiwf/en/utils/content-normalizer.js +0 -455
  434. package/claude-code/aiwf/en/utils/context-compressor.js +0 -583
  435. package/claude-code/aiwf/en/utils/feature-updater.js +0 -271
  436. package/claude-code/aiwf/en/utils/git-utils.js +0 -220
  437. package/claude-code/aiwf/en/utils/importance-classifier.js +0 -645
  438. package/claude-code/aiwf/en/utils/information-filter.js +0 -710
  439. package/claude-code/aiwf/en/utils/text-summarizer.js +0 -487
  440. package/claude-code/aiwf/en/utils/token-counter.js +0 -177
  441. package/claude-code/aiwf/en/utils/token-monitor.js +0 -484
  442. package/claude-code/aiwf/en/utils/token-reporter.js +0 -453
  443. package/claude-code/aiwf/en/utils/token-storage.js +0 -433
  444. package/claude-code/aiwf/en/utils/token-tracker.js +0 -283
  445. package/claude-code/aiwf/ko/.aiwf/00_PROJECT_MANIFEST.md +0 -49
  446. package/claude-code/aiwf/ko/.aiwf/01_PROJECT_DOCS/ARCHITECTURE.md +0 -55
  447. package/claude-code/aiwf/ko/.aiwf/02_REQUIREMENTS/CLAUDE.md +0 -78
  448. package/claude-code/aiwf/ko/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/M01_milestone_meta.md +0 -42
  449. package/claude-code/aiwf/ko/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/PRD_AMEND_01_Auth_Flow_Update.md +0 -73
  450. package/claude-code/aiwf/ko/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/PRD_Backend_Setup.md +0 -98
  451. package/claude-code/aiwf/ko/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/SPECS_API_V1.md +0 -232
  452. package/claude-code/aiwf/ko/.aiwf/03_SPRINTS/CLAUDE.md +0 -83
  453. package/claude-code/aiwf/ko/.aiwf/03_SPRINTS/S01_M01_Initial_API/S01_sprint_meta.md +0 -49
  454. package/claude-code/aiwf/ko/.aiwf/03_SPRINTS/S01_M01_Initial_API/T01_S01_Setup_Project_Structure.md +0 -60
  455. package/claude-code/aiwf/ko/.aiwf/04_GENERAL_TASKS/CLAUDE.md +0 -96
  456. package/claude-code/aiwf/ko/.aiwf/04_GENERAL_TASKS/T002_API_Rate_Limiting.md +0 -54
  457. package/claude-code/aiwf/ko/.aiwf/04_GENERAL_TASKS/TX001_Refactor_Logging_Module.md +0 -58
  458. package/claude-code/aiwf/ko/.aiwf/05_ARCHITECTURAL_DECISIONS/ADR001_Chosen_Database_System.md +0 -119
  459. package/claude-code/aiwf/ko/.aiwf/05_ARCHITECTURAL_DECISIONS/ADR002_API_Authentication_Method.md +0 -124
  460. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_ID_GENERATOR.md +0 -138
  461. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_INDEX.md +0 -186
  462. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_METADATA.md +0 -240
  463. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_WORKFLOW.md +0 -183
  464. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/README.md +0 -94
  465. 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 +0 -154
  466. 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 +0 -272
  467. 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 +0 -266
  468. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/schemas/feature_schema.json +0 -122
  469. package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/schemas/feature_validator.cjs +0 -406
  470. package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/2025-06-12-12-00-needs-focus.md +0 -139
  471. package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/2025-06-12-12-00-test-alignment.md +0 -155
  472. package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/2025-06-13-00-50-solid-progress.md +0 -122
  473. package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/2025-06-14-08-30-infrastructure-challenges.md +0 -141
  474. package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/2025-06-16-21-48-critical-foundation-issues.md +0 -177
  475. package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/2025-06-17-15-08-solid-progress.md +0 -149
  476. package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/index.json +0 -5
  477. package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/sync-index.js +0 -78
  478. package/claude-code/aiwf/ko/.aiwf/98_PROMPTS/github_integration.md +0 -130
  479. package/claude-code/aiwf/ko/.aiwf/98_PROMPTS/useful-prompts.md +0 -31
  480. package/claude-code/aiwf/ko/.aiwf/98_PROMPTS/vibe-front-prompts.md +0 -89
  481. package/claude-code/aiwf/ko/.aiwf/99_TEMPLATES/adr_template.md +0 -49
  482. package/claude-code/aiwf/ko/.aiwf/99_TEMPLATES/milestone_meta_template.md +0 -25
  483. package/claude-code/aiwf/ko/.aiwf/99_TEMPLATES/project_manifest_template.md +0 -39
  484. package/claude-code/aiwf/ko/.aiwf/99_TEMPLATES/sprint_meta_template.md +0 -23
  485. package/claude-code/aiwf/ko/.aiwf/99_TEMPLATES/task_template.md +0 -36
  486. package/claude-code/aiwf/ko/.aiwf/CLAUDE.md +0 -76
  487. package/claude-code/aiwf/ko/.aiwf/README.md +0 -97
  488. package/claude-code/aiwf/ko/.claude/CLAUDE_BE.md +0 -276
  489. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_changelog.md +0 -82
  490. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_code_review.md +0 -88
  491. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_commit.md +0 -160
  492. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_aggressive_persona.md +0 -53
  493. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_context.md +0 -116
  494. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_minimal_persona.md +0 -48
  495. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_stats.md +0 -42
  496. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_with_persona.md +0 -51
  497. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_feature_ledger.md +0 -54
  498. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_general_task.md +0 -147
  499. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_milestone_plan.md +0 -194
  500. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_prd.md +0 -280
  501. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_sprint_tasks.md +0 -189
  502. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_sprints_from_milestone.md +0 -121
  503. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_testcase.md +0 -561
  504. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_default_mode.md +0 -44
  505. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_discuss_review.md +0 -29
  506. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_do_task.md +0 -109
  507. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_docs.md +0 -225
  508. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_evaluate.md +0 -92
  509. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_get_feature_details.md +0 -78
  510. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_infinite.md +0 -202
  511. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_initialize.md +0 -134
  512. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_issue_create.md +0 -65
  513. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +0 -57
  514. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_list_features.md +0 -54
  515. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_mermaid.md +0 -272
  516. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_architect.md +0 -48
  517. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_backend.md +0 -37
  518. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_data_analyst.md +0 -37
  519. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_frontend.md +0 -37
  520. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_security.md +0 -48
  521. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_status.md +0 -50
  522. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_pr_create.md +0 -76
  523. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_prime.md +0 -9
  524. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_project_review.md +0 -261
  525. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_test.md +0 -124
  526. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_testing_review.md +0 -198
  527. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_tm-run-all-subtask.md +0 -210
  528. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_ultrathink_code_advanced.md +0 -460
  529. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_ultrathink_code_basic.md +0 -165
  530. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_ultrathink_general.md +0 -305
  531. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_update_docs.md +0 -25
  532. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_update_feature_status.md +0 -53
  533. package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_yolo.md +0 -300
  534. package/claude-code/aiwf/ko/.claude/mcp.json +0 -31
  535. package/claude-code/aiwf/ko/.claude/settings.json +0 -102
  536. package/claude-code/aiwf/ko/CLAUDE.md +0 -76
  537. package/claude-code/aiwf/ko/ai-tools/README.md +0 -105
  538. package/claude-code/aiwf/ko/ai-tools/augment/README.md +0 -371
  539. package/claude-code/aiwf/ko/ai-tools/augment/config.json +0 -30
  540. package/claude-code/aiwf/ko/ai-tools/augment/template/.augment/aiwf-integration.md +0 -387
  541. package/claude-code/aiwf/ko/ai-tools/augment/template/.augment/augment.yaml +0 -347
  542. package/claude-code/aiwf/ko/ai-tools/augment/template/augment.config.json +0 -64
  543. package/claude-code/aiwf/ko/ai-tools/claude-code/README.md +0 -151
  544. package/claude-code/aiwf/ko/ai-tools/claude-code/config.json +0 -28
  545. package/claude-code/aiwf/ko/ai-tools/claude-code/template/CLAUDE.md +0 -91
  546. package/claude-code/aiwf/ko/ai-tools/cursor/README.md +0 -314
  547. package/claude-code/aiwf/ko/ai-tools/cursor/config.json +0 -29
  548. package/claude-code/aiwf/ko/ai-tools/cursor/template/.cursorrules +0 -362
  549. package/claude-code/aiwf/ko/ai-tools/github-copilot/README.md +0 -195
  550. package/claude-code/aiwf/ko/ai-tools/github-copilot/config.json +0 -24
  551. package/claude-code/aiwf/ko/ai-tools/github-copilot/template/.github/copilot-instructions.md +0 -202
  552. package/claude-code/aiwf/ko/ai-tools/windsurf/README.md +0 -355
  553. package/claude-code/aiwf/ko/ai-tools/windsurf/config.json +0 -29
  554. package/claude-code/aiwf/ko/ai-tools/windsurf/template/.windsurf/aiwf-rules.md +0 -260
  555. package/claude-code/aiwf/ko/ai-tools/windsurf/template/.windsurf/windsurf.config.js +0 -312
  556. package/claude-code/aiwf/ko/ai-tools/windsurf/template/windsurf.config.json +0 -63
  557. package/claude-code/aiwf/ko/commands/ai-persona.js +0 -602
  558. package/claude-code/aiwf/ko/commands/compress-context.js +0 -389
  559. package/claude-code/aiwf/ko/commands/evaluate.js +0 -246
  560. package/claude-code/aiwf/ko/commands/feature-ledger.js +0 -565
  561. package/claude-code/aiwf/ko/commands/feature_commit_report.js +0 -370
  562. package/claude-code/aiwf/ko/commands/persona-context-apply.js +0 -562
  563. package/claude-code/aiwf/ko/commands/scan_git_history.js +0 -234
  564. package/claude-code/aiwf/ko/commands/sync_feature_commits.js +0 -154
  565. package/claude-code/aiwf/ko/commands/token-tracking.js +0 -443
  566. package/claude-code/aiwf/ko/config/commit-patterns.js +0 -103
  567. package/claude-code/aiwf/ko/config/language.json +0 -6
  568. package/claude-code/aiwf/ko/feature-ledger/FL-001-authentication.json +0 -52
  569. package/claude-code/aiwf/ko/feature-ledger/feature-index.json +0 -20
  570. package/claude-code/aiwf/ko/hooks/install-hooks.sh +0 -100
  571. package/claude-code/aiwf/ko/hooks/post-commit +0 -84
  572. package/claude-code/aiwf/ko/personas/PERSONA_INDEX.md +0 -57
  573. package/claude-code/aiwf/ko/personas/analyst.json +0 -44
  574. package/claude-code/aiwf/ko/personas/architect/best_practices.md +0 -136
  575. package/claude-code/aiwf/ko/personas/architect/knowledge_base.md +0 -377
  576. package/claude-code/aiwf/ko/personas/architect.json +0 -44
  577. package/claude-code/aiwf/ko/personas/backend/best_practices.md +0 -766
  578. package/claude-code/aiwf/ko/personas/backend/knowledge_base.md +0 -1070
  579. package/claude-code/aiwf/ko/personas/data_analyst/best_practices.md +0 -594
  580. package/claude-code/aiwf/ko/personas/data_analyst/knowledge_base.md +0 -1057
  581. package/claude-code/aiwf/ko/personas/developer.json +0 -44
  582. package/claude-code/aiwf/ko/personas/developer.md +0 -37
  583. package/claude-code/aiwf/ko/personas/evaluation_criteria.json +0 -137
  584. package/claude-code/aiwf/ko/personas/frontend/best_practices.md +0 -445
  585. package/claude-code/aiwf/ko/personas/frontend/knowledge_base.md +0 -729
  586. package/claude-code/aiwf/ko/personas/persona-index.json +0 -31
  587. package/claude-code/aiwf/ko/personas/reviewer.json +0 -44
  588. package/claude-code/aiwf/ko/personas/security/best_practices.md +0 -307
  589. package/claude-code/aiwf/ko/personas/security/knowledge_base.md +0 -498
  590. package/claude-code/aiwf/ko/personas/tester.json +0 -44
  591. package/claude-code/aiwf/ko/scripts/cache-templates.js +0 -209
  592. package/claude-code/aiwf/ko/scripts/create-offline.js +0 -86
  593. package/claude-code/aiwf/ko/scripts/create-project.js +0 -151
  594. package/claude-code/aiwf/ko/scripts/feature-progress-calculator.cjs +0 -236
  595. package/claude-code/aiwf/ko/scripts/git-integration.cjs +0 -391
  596. package/claude-code/aiwf/ko/scripts/install-git-hooks.cjs +0 -226
  597. package/claude-code/aiwf/ko/scripts/test-commit-parsing.cjs +0 -125
  598. package/claude-code/aiwf/ko/scripts/update-feature-status.cjs +0 -198
  599. package/claude-code/aiwf/ko/templates/README.md +0 -78
  600. package/claude-code/aiwf/ko/templates/api-server/config.json +0 -64
  601. package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/config.json +0 -56
  602. package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/feature-ledger.json +0 -42
  603. package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/personas/backend-engineer.json +0 -40
  604. package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/scripts/cli.js +0 -111
  605. package/claude-code/aiwf/ko/templates/api-server/template/.env.example +0 -29
  606. package/claude-code/aiwf/ko/templates/api-server/template/.eslintrc.json +0 -23
  607. package/claude-code/aiwf/ko/templates/api-server/template/README.md +0 -171
  608. package/claude-code/aiwf/ko/templates/api-server/template/jest.config.js +0 -26
  609. package/claude-code/aiwf/ko/templates/api-server/template/nodemon.json +0 -9
  610. package/claude-code/aiwf/ko/templates/api-server/template/package.json +0 -61
  611. package/claude-code/aiwf/ko/templates/api-server/template/src/app.ts +0 -60
  612. package/claude-code/aiwf/ko/templates/api-server/template/src/config/swagger.ts +0 -38
  613. package/claude-code/aiwf/ko/templates/api-server/template/src/controllers/aiwfController.ts +0 -68
  614. package/claude-code/aiwf/ko/templates/api-server/template/src/controllers/authController.ts +0 -128
  615. package/claude-code/aiwf/ko/templates/api-server/template/src/controllers/statusController.ts +0 -28
  616. package/claude-code/aiwf/ko/templates/api-server/template/src/index.ts +0 -28
  617. package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/aiwfMiddleware.ts +0 -50
  618. package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/authMiddleware.ts +0 -41
  619. package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/errorHandler.ts +0 -42
  620. package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/notFoundHandler.ts +0 -14
  621. package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/requestLogger.ts +0 -20
  622. package/claude-code/aiwf/ko/templates/api-server/template/src/routes/aiwf.ts +0 -42
  623. package/claude-code/aiwf/ko/templates/api-server/template/src/routes/index.ts +0 -13
  624. package/claude-code/aiwf/ko/templates/api-server/template/src/routes/v1/index.ts +0 -67
  625. package/claude-code/aiwf/ko/templates/api-server/template/src/utils/logger.ts +0 -37
  626. package/claude-code/aiwf/ko/templates/api-server/template/tests/app.test.ts +0 -40
  627. package/claude-code/aiwf/ko/templates/api-server/template/tsconfig.json +0 -43
  628. package/claude-code/aiwf/ko/templates/npm-library/config.json +0 -61
  629. package/claude-code/aiwf/ko/templates/npm-library/template/LICENSE +0 -21
  630. package/claude-code/aiwf/ko/templates/npm-library/template/README.md +0 -201
  631. package/claude-code/aiwf/ko/templates/npm-library/template/package.json +0 -78
  632. package/claude-code/aiwf/ko/templates/web-app/config.json +0 -53
  633. package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/config.json +0 -54
  634. package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/feature-ledger.json +0 -37
  635. package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/personas/fullstack-developer.json +0 -40
  636. package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/scripts/cli.js +0 -110
  637. package/claude-code/aiwf/ko/templates/web-app/template/.eslintrc.cjs +0 -20
  638. package/claude-code/aiwf/ko/templates/web-app/template/README.md +0 -151
  639. package/claude-code/aiwf/ko/templates/web-app/template/index.html +0 -14
  640. package/claude-code/aiwf/ko/templates/web-app/template/package.json +0 -44
  641. package/claude-code/aiwf/ko/templates/web-app/template/postcss.config.js +0 -6
  642. package/claude-code/aiwf/ko/templates/web-app/template/public/vite.svg +0 -1
  643. package/claude-code/aiwf/ko/templates/web-app/template/src/App.tsx +0 -21
  644. package/claude-code/aiwf/ko/templates/web-app/template/src/components/Layout.tsx +0 -57
  645. package/claude-code/aiwf/ko/templates/web-app/template/src/components/aiwf/ContextStatus.tsx +0 -107
  646. package/claude-code/aiwf/ko/templates/web-app/template/src/components/aiwf/FeatureLedger.tsx +0 -93
  647. package/claude-code/aiwf/ko/templates/web-app/template/src/components/aiwf/TokenUsage.tsx +0 -71
  648. package/claude-code/aiwf/ko/templates/web-app/template/src/index.css +0 -60
  649. package/claude-code/aiwf/ko/templates/web-app/template/src/main.tsx +0 -10
  650. package/claude-code/aiwf/ko/templates/web-app/template/src/pages/AiwfDashboard.tsx +0 -60
  651. package/claude-code/aiwf/ko/templates/web-app/template/src/pages/HomePage.tsx +0 -89
  652. package/claude-code/aiwf/ko/templates/web-app/template/src/pages/NotFound.tsx +0 -25
  653. package/claude-code/aiwf/ko/templates/web-app/template/src/stores/aiwfStore.ts +0 -126
  654. package/claude-code/aiwf/ko/templates/web-app/template/src/types/global.d.ts +0 -9
  655. package/claude-code/aiwf/ko/templates/web-app/template/src/vite-env.d.ts +0 -1
  656. package/claude-code/aiwf/ko/templates/web-app/template/tailwind.config.js +0 -30
  657. package/claude-code/aiwf/ko/templates/web-app/template/tsconfig.json +0 -37
  658. package/claude-code/aiwf/ko/templates/web-app/template/tsconfig.node.json +0 -10
  659. package/claude-code/aiwf/ko/templates/web-app/template/vite.config.ts +0 -23
  660. package/claude-code/aiwf/ko/tests/compression-test-suite.js +0 -1252
  661. package/claude-code/aiwf/ko/tests/test-git-integration.js +0 -164
  662. package/claude-code/aiwf/ko/tests/token-tracking.test.js +0 -537
  663. package/claude-code/aiwf/ko/utils/background-monitor.js +0 -223
  664. package/claude-code/aiwf/ko/utils/compression-metrics.js +0 -1031
  665. package/claude-code/aiwf/ko/utils/compression-strategies.js +0 -557
  666. package/claude-code/aiwf/ko/utils/content-normalizer.js +0 -455
  667. package/claude-code/aiwf/ko/utils/context-compressor.js +0 -583
  668. package/claude-code/aiwf/ko/utils/context-rule-parser.js +0 -180
  669. package/claude-code/aiwf/ko/utils/context-token-monitor.js +0 -463
  670. package/claude-code/aiwf/ko/utils/context-update-manager.js +0 -502
  671. package/claude-code/aiwf/ko/utils/feature-updater.js +0 -271
  672. package/claude-code/aiwf/ko/utils/git-utils.js +0 -220
  673. package/claude-code/aiwf/ko/utils/importance-classifier.js +0 -645
  674. package/claude-code/aiwf/ko/utils/information-filter.js +0 -710
  675. package/claude-code/aiwf/ko/utils/persona-aware-compressor.js +0 -598
  676. package/claude-code/aiwf/ko/utils/prompt-injector.js +0 -242
  677. package/claude-code/aiwf/ko/utils/simplified-evaluator.js +0 -119
  678. package/claude-code/aiwf/ko/utils/text-summarizer.js +0 -492
  679. package/claude-code/aiwf/ko/utils/token-counter.js +0 -177
  680. package/claude-code/aiwf/ko/utils/token-monitor.js +0 -484
  681. package/claude-code/aiwf/ko/utils/token-reporter.js +0 -453
  682. package/claude-code/aiwf/ko/utils/token-storage.js +0 -433
  683. package/claude-code/aiwf/ko/utils/token-tracker.js +0 -283
  684. package/claude-code/docker/Dockerfile +0 -117
  685. package/jest.config.js +0 -23
  686. package/scripts/update-feature-status.js +0 -70
  687. package/src/commands/feature.js +0 -365
  688. package/tests/application.test.js +0 -260
  689. package/tests/basic.test.js +0 -62
  690. package/tests/commands.test.js +0 -127
  691. package/tests/installer.test.js +0 -129
  692. package/tests/integration/ai-persona-system.test.js +0 -396
  693. package/tests/integration/ai-persona.test.js +0 -390
  694. package/tests/integration/command-integration.test.js +0 -600
  695. package/tests/integration/context-compression.test.js +0 -361
  696. package/tests/integration/feature-ledger.test.js +0 -226
  697. package/tests/integration/git-integration.test.js +0 -307
  698. package/tests/integration/m02-milestone.test.js +0 -420
  699. package/tests/integration/persona-context-application.test.js +0 -508
  700. package/tests/integration/setup.js +0 -174
  701. package/tests/integration/test-persona-aware-compression.js +0 -93
  702. package/tests/integration/test-persona-system/.aiwf/metrics/metrics.json +0 -833
  703. package/tests/integration/test-persona-system/docs/README.md +0 -1
  704. package/tests/integration/test-persona-system/package.json +0 -1
  705. package/tests/integration/test-persona-system/src/auth.js +0 -1
  706. package/tests/integration/test-persona-system/src/index.js +0 -1
  707. package/tests/integration/test-persona-system/test/test.js +0 -1
  708. package/tests/language-utils.test.js +0 -287
  709. package/tests/s02-integration.test.js +0 -422
  710. package/tests/unit/ai-persona-manager.test.js +0 -514
  711. package/tests/unit/sprint-task.test.js +0 -172
@@ -1,766 +0,0 @@
1
- # Backend 페르소나 Best Practices
2
-
3
- ## 개요
4
- Backend 페르소나는 서버 사이드 로직, 데이터베이스 설계, API 개발에 중점을 둡니다. 확장성, 성능, 데이터 무결성을 최우선으로 고려합니다.
5
-
6
- ## 핵심 원칙
7
-
8
- ### 1. API 설계 원칙
9
- - RESTful 원칙 준수
10
- - GraphQL 스키마 최적화
11
- - API 버전 관리
12
- - 일관된 응답 형식
13
-
14
- ### 2. 데이터베이스 설계
15
- ```sql
16
- -- 정규화와 성능의 균형
17
- CREATE TABLE users (
18
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
19
- email VARCHAR(255) UNIQUE NOT NULL,
20
- created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
21
- updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
22
- );
23
-
24
- -- 인덱스 전략
25
- CREATE INDEX idx_users_email ON users(email);
26
- CREATE INDEX idx_users_created_at ON users(created_at DESC);
27
-
28
- -- 파티셔닝 (대용량 테이블)
29
- CREATE TABLE orders (
30
- id BIGSERIAL,
31
- user_id UUID REFERENCES users(id),
32
- order_date DATE NOT NULL,
33
- total_amount DECIMAL(10,2),
34
- PRIMARY KEY (id, order_date)
35
- ) PARTITION BY RANGE (order_date);
36
- ```
37
-
38
- ### 3. 마이크로서비스 아키텍처
39
- ```javascript
40
- // 서비스 간 통신 패턴
41
- class OrderService {
42
- constructor(eventBus, userService, inventoryService) {
43
- this.eventBus = eventBus;
44
- this.userService = userService;
45
- this.inventoryService = inventoryService;
46
- }
47
-
48
- async createOrder(orderData) {
49
- // Saga 패턴으로 분산 트랜잭션 처리
50
- const saga = new OrderSaga();
51
-
52
- try {
53
- // 1. 사용자 검증
54
- const user = await this.userService.validateUser(orderData.userId);
55
- saga.addCompensation(() => this.userService.rollback(user));
56
-
57
- // 2. 재고 확인 및 예약
58
- const reservation = await this.inventoryService.reserve(orderData.items);
59
- saga.addCompensation(() => this.inventoryService.release(reservation));
60
-
61
- // 3. 주문 생성
62
- const order = await this.createOrderRecord(orderData);
63
- saga.addCompensation(() => this.deleteOrder(order.id));
64
-
65
- // 4. 이벤트 발행
66
- await this.eventBus.publish('order.created', {
67
- orderId: order.id,
68
- userId: user.id,
69
- items: orderData.items
70
- });
71
-
72
- return order;
73
- } catch (error) {
74
- await saga.compensate();
75
- throw error;
76
- }
77
- }
78
- }
79
- ```
80
-
81
- ## API 개발 Best Practices
82
-
83
- ### RESTful API 설계
84
- ```javascript
85
- // Express.js 라우터
86
- class UserController {
87
- // GET /api/v1/users?page=1&limit=20&sort=created_at:desc
88
- async getUsers(req, res) {
89
- const { page = 1, limit = 20, sort, filter } = req.query;
90
-
91
- try {
92
- const users = await this.userService.findAll({
93
- pagination: { page, limit },
94
- sorting: this.parseSortParam(sort),
95
- filters: this.parseFilterParam(filter)
96
- });
97
-
98
- res.json({
99
- success: true,
100
- data: users,
101
- meta: {
102
- page: parseInt(page),
103
- limit: parseInt(limit),
104
- total: users.total,
105
- totalPages: Math.ceil(users.total / limit)
106
- }
107
- });
108
- } catch (error) {
109
- this.handleError(error, res);
110
- }
111
- }
112
-
113
- // POST /api/v1/users
114
- async createUser(req, res) {
115
- try {
116
- // 입력 검증
117
- const validatedData = await this.validator.validate(req.body, UserSchema);
118
-
119
- // 비즈니스 로직
120
- const user = await this.userService.create(validatedData);
121
-
122
- // 201 Created with Location header
123
- res.status(201)
124
- .location(`/api/v1/users/${user.id}`)
125
- .json({
126
- success: true,
127
- data: user
128
- });
129
- } catch (error) {
130
- this.handleError(error, res);
131
- }
132
- }
133
-
134
- // Error handling
135
- handleError(error, res) {
136
- if (error instanceof ValidationError) {
137
- return res.status(400).json({
138
- success: false,
139
- error: {
140
- code: 'VALIDATION_ERROR',
141
- message: error.message,
142
- details: error.details
143
- }
144
- });
145
- }
146
-
147
- if (error instanceof NotFoundError) {
148
- return res.status(404).json({
149
- success: false,
150
- error: {
151
- code: 'NOT_FOUND',
152
- message: error.message
153
- }
154
- });
155
- }
156
-
157
- // 500 Internal Server Error
158
- console.error('Unexpected error:', error);
159
- res.status(500).json({
160
- success: false,
161
- error: {
162
- code: 'INTERNAL_ERROR',
163
- message: 'An unexpected error occurred'
164
- }
165
- });
166
- }
167
- }
168
- ```
169
-
170
- ### GraphQL 스키마 설계
171
- ```graphql
172
- # Schema Definition
173
- type User {
174
- id: ID!
175
- email: String!
176
- profile: Profile!
177
- orders(
178
- first: Int = 10
179
- after: String
180
- filter: OrderFilter
181
- ): OrderConnection!
182
- createdAt: DateTime!
183
- updatedAt: DateTime!
184
- }
185
-
186
- type Profile {
187
- firstName: String!
188
- lastName: String!
189
- avatar: String
190
- preferences: UserPreferences!
191
- }
192
-
193
- # Pagination using Relay specification
194
- type OrderConnection {
195
- edges: [OrderEdge!]!
196
- pageInfo: PageInfo!
197
- totalCount: Int!
198
- }
199
-
200
- type OrderEdge {
201
- node: Order!
202
- cursor: String!
203
- }
204
-
205
- # Input types
206
- input CreateUserInput {
207
- email: String!
208
- password: String!
209
- profile: ProfileInput!
210
- }
211
-
212
- # Queries
213
- type Query {
214
- user(id: ID!): User
215
- users(
216
- first: Int
217
- after: String
218
- filter: UserFilter
219
- orderBy: UserOrderBy
220
- ): UserConnection!
221
- me: User @auth
222
- }
223
-
224
- # Mutations
225
- type Mutation {
226
- createUser(input: CreateUserInput!): CreateUserPayload!
227
- updateUser(id: ID!, input: UpdateUserInput!): UpdateUserPayload!
228
- deleteUser(id: ID!): DeleteUserPayload!
229
- }
230
-
231
- # Subscriptions
232
- type Subscription {
233
- userUpdated(userId: ID!): User!
234
- orderCreated(userId: ID!): Order!
235
- }
236
- ```
237
-
238
- ## 데이터베이스 최적화
239
-
240
- ### 쿼리 최적화
241
- ```javascript
242
- // Query Builder Pattern
243
- class UserRepository {
244
- constructor(db) {
245
- this.db = db;
246
- }
247
-
248
- // N+1 문제 방지
249
- async findWithOrders(userId) {
250
- const query = `
251
- SELECT
252
- u.id, u.email, u.created_at,
253
- o.id as order_id, o.total_amount, o.order_date,
254
- oi.product_id, oi.quantity, oi.price
255
- FROM users u
256
- LEFT JOIN orders o ON u.id = o.user_id
257
- LEFT JOIN order_items oi ON o.id = oi.order_id
258
- WHERE u.id = $1
259
- ORDER BY o.order_date DESC
260
- `;
261
-
262
- const result = await this.db.query(query, [userId]);
263
- return this.mapResultToUser(result.rows);
264
- }
265
-
266
- // Batch loading
267
- async findByIds(userIds) {
268
- if (userIds.length === 0) return [];
269
-
270
- const query = `
271
- SELECT * FROM users
272
- WHERE id = ANY($1::uuid[])
273
- `;
274
-
275
- const result = await this.db.query(query, [userIds]);
276
-
277
- // 순서 보장
278
- const userMap = new Map(
279
- result.rows.map(row => [row.id, row])
280
- );
281
-
282
- return userIds.map(id => userMap.get(id)).filter(Boolean);
283
- }
284
-
285
- // 동적 쿼리 빌더
286
- async search(criteria) {
287
- let query = 'SELECT * FROM users WHERE 1=1';
288
- const params = [];
289
- let paramIndex = 1;
290
-
291
- if (criteria.email) {
292
- query += ` AND email ILIKE $${paramIndex}`;
293
- params.push(`%${criteria.email}%`);
294
- paramIndex++;
295
- }
296
-
297
- if (criteria.createdAfter) {
298
- query += ` AND created_at >= $${paramIndex}`;
299
- params.push(criteria.createdAfter);
300
- paramIndex++;
301
- }
302
-
303
- if (criteria.sortBy) {
304
- const validColumns = ['email', 'created_at'];
305
- if (validColumns.includes(criteria.sortBy)) {
306
- query += ` ORDER BY ${criteria.sortBy} ${
307
- criteria.sortOrder === 'desc' ? 'DESC' : 'ASC'
308
- }`;
309
- }
310
- }
311
-
312
- query += ` LIMIT $${paramIndex} OFFSET $${paramIndex + 1}`;
313
- params.push(criteria.limit || 20, criteria.offset || 0);
314
-
315
- return this.db.query(query, params);
316
- }
317
- }
318
- ```
319
-
320
- ### 캐싱 전략
321
- ```javascript
322
- // Redis 캐싱 레이어
323
- class CacheService {
324
- constructor(redis, ttl = 3600) {
325
- this.redis = redis;
326
- this.ttl = ttl;
327
- }
328
-
329
- // Cache-Aside Pattern
330
- async get(key, fetchFn) {
331
- // 1. 캐시 확인
332
- const cached = await this.redis.get(key);
333
- if (cached) {
334
- return JSON.parse(cached);
335
- }
336
-
337
- // 2. 캐시 미스 시 데이터 조회
338
- const data = await fetchFn();
339
-
340
- // 3. 캐시 저장
341
- await this.redis.setex(
342
- key,
343
- this.ttl,
344
- JSON.stringify(data)
345
- );
346
-
347
- return data;
348
- }
349
-
350
- // Write-Through Pattern
351
- async set(key, data, ttl = this.ttl) {
352
- await this.redis.setex(
353
- key,
354
- ttl,
355
- JSON.stringify(data)
356
- );
357
- return data;
358
- }
359
-
360
- // Cache Invalidation
361
- async invalidate(pattern) {
362
- const keys = await this.redis.keys(pattern);
363
- if (keys.length > 0) {
364
- await this.redis.del(...keys);
365
- }
366
- }
367
-
368
- // Distributed Lock (분산 환경)
369
- async acquireLock(lockKey, ttl = 10) {
370
- const identifier = uuidv4();
371
- const result = await this.redis.set(
372
- `lock:${lockKey}`,
373
- identifier,
374
- 'NX',
375
- 'EX',
376
- ttl
377
- );
378
-
379
- return result === 'OK' ? identifier : null;
380
- }
381
-
382
- async releaseLock(lockKey, identifier) {
383
- const script = `
384
- if redis.call("get", KEYS[1]) == ARGV[1] then
385
- return redis.call("del", KEYS[1])
386
- else
387
- return 0
388
- end
389
- `;
390
-
391
- return this.redis.eval(
392
- script,
393
- 1,
394
- `lock:${lockKey}`,
395
- identifier
396
- );
397
- }
398
- }
399
- ```
400
-
401
- ## 메시지 큐와 이벤트 처리
402
-
403
- ### RabbitMQ 패턴
404
- ```javascript
405
- // Publisher/Subscriber Pattern
406
- class EventPublisher {
407
- constructor(channel) {
408
- this.channel = channel;
409
- }
410
-
411
- async publish(exchange, routingKey, message) {
412
- const messageBuffer = Buffer.from(JSON.stringify({
413
- ...message,
414
- timestamp: new Date().toISOString(),
415
- messageId: uuidv4()
416
- }));
417
-
418
- await this.channel.publish(
419
- exchange,
420
- routingKey,
421
- messageBuffer,
422
- {
423
- persistent: true,
424
- contentType: 'application/json',
425
- headers: {
426
- 'x-retry-count': 0
427
- }
428
- }
429
- );
430
- }
431
- }
432
-
433
- // Consumer with Error Handling
434
- class EventConsumer {
435
- constructor(channel, options = {}) {
436
- this.channel = channel;
437
- this.maxRetries = options.maxRetries || 3;
438
- }
439
-
440
- async consume(queue, handler) {
441
- await this.channel.consume(queue, async (msg) => {
442
- if (!msg) return;
443
-
444
- try {
445
- const content = JSON.parse(msg.content.toString());
446
- await handler(content);
447
-
448
- // Acknowledge message
449
- this.channel.ack(msg);
450
- } catch (error) {
451
- console.error('Error processing message:', error);
452
-
453
- // Retry logic
454
- const retryCount = (msg.properties.headers['x-retry-count'] || 0) + 1;
455
-
456
- if (retryCount <= this.maxRetries) {
457
- // Requeue with delay
458
- setTimeout(() => {
459
- this.channel.sendToQueue(
460
- queue,
461
- msg.content,
462
- {
463
- ...msg.properties,
464
- headers: {
465
- ...msg.properties.headers,
466
- 'x-retry-count': retryCount
467
- }
468
- }
469
- );
470
- }, Math.pow(2, retryCount) * 1000); // Exponential backoff
471
- } else {
472
- // Send to DLQ
473
- await this.sendToDeadLetter(msg, error);
474
- }
475
-
476
- // Reject without requeue
477
- this.channel.nack(msg, false, false);
478
- }
479
- });
480
- }
481
-
482
- async sendToDeadLetter(msg, error) {
483
- const dlq = `${msg.fields.routingKey}.dlq`;
484
- await this.channel.sendToQueue(
485
- dlq,
486
- msg.content,
487
- {
488
- headers: {
489
- 'x-death-reason': error.message,
490
- 'x-original-queue': msg.fields.routingKey
491
- }
492
- }
493
- );
494
- }
495
- }
496
- ```
497
-
498
- ## 보안 구현
499
-
500
- ### 인증/인가 미들웨어
501
- ```javascript
502
- // JWT Authentication
503
- class AuthMiddleware {
504
- constructor(jwtService, userService) {
505
- this.jwtService = jwtService;
506
- this.userService = userService;
507
- }
508
-
509
- authenticate() {
510
- return async (req, res, next) => {
511
- try {
512
- const token = this.extractToken(req);
513
- if (!token) {
514
- return res.status(401).json({
515
- error: 'No authentication token provided'
516
- });
517
- }
518
-
519
- const payload = await this.jwtService.verify(token);
520
-
521
- // Token blacklist check
522
- if (await this.isTokenBlacklisted(payload.jti)) {
523
- return res.status(401).json({
524
- error: 'Token has been revoked'
525
- });
526
- }
527
-
528
- req.user = await this.userService.findById(payload.sub);
529
- next();
530
- } catch (error) {
531
- if (error.name === 'TokenExpiredError') {
532
- return res.status(401).json({
533
- error: 'Token has expired'
534
- });
535
- }
536
-
537
- return res.status(401).json({
538
- error: 'Invalid authentication token'
539
- });
540
- }
541
- };
542
- }
543
-
544
- authorize(...roles) {
545
- return (req, res, next) => {
546
- if (!req.user) {
547
- return res.status(401).json({
548
- error: 'Authentication required'
549
- });
550
- }
551
-
552
- if (roles.length > 0 && !roles.includes(req.user.role)) {
553
- return res.status(403).json({
554
- error: 'Insufficient permissions'
555
- });
556
- }
557
-
558
- next();
559
- };
560
- }
561
-
562
- extractToken(req) {
563
- const authHeader = req.headers.authorization;
564
- if (authHeader && authHeader.startsWith('Bearer ')) {
565
- return authHeader.substring(7);
566
- }
567
-
568
- return req.cookies?.accessToken;
569
- }
570
- }
571
- ```
572
-
573
- ## 테스팅 전략
574
-
575
- ### 단위 테스트
576
- ```javascript
577
- describe('UserService', () => {
578
- let userService;
579
- let userRepository;
580
- let emailService;
581
-
582
- beforeEach(() => {
583
- userRepository = {
584
- findByEmail: jest.fn(),
585
- create: jest.fn(),
586
- update: jest.fn()
587
- };
588
-
589
- emailService = {
590
- sendWelcomeEmail: jest.fn()
591
- };
592
-
593
- userService = new UserService(userRepository, emailService);
594
- });
595
-
596
- describe('createUser', () => {
597
- it('should create user with hashed password', async () => {
598
- const userData = {
599
- email: 'test@example.com',
600
- password: 'password123'
601
- };
602
-
603
- userRepository.findByEmail.mockResolvedValue(null);
604
- userRepository.create.mockResolvedValue({
605
- id: 'user-123',
606
- ...userData,
607
- password: 'hashed-password'
608
- });
609
-
610
- const user = await userService.createUser(userData);
611
-
612
- expect(userRepository.findByEmail).toHaveBeenCalledWith(userData.email);
613
- expect(userRepository.create).toHaveBeenCalledWith({
614
- email: userData.email,
615
- password: expect.stringMatching(/^\$2[aby]\$/)
616
- });
617
- expect(emailService.sendWelcomeEmail).toHaveBeenCalledWith(userData.email);
618
- expect(user).not.toHaveProperty('password');
619
- });
620
-
621
- it('should throw error if email already exists', async () => {
622
- userRepository.findByEmail.mockResolvedValue({ id: 'existing-user' });
623
-
624
- await expect(
625
- userService.createUser({ email: 'test@example.com', password: 'pass' })
626
- ).rejects.toThrow('Email already registered');
627
- });
628
- });
629
- });
630
- ```
631
-
632
- ### 통합 테스트
633
- ```javascript
634
- describe('API Integration Tests', () => {
635
- let app;
636
- let db;
637
-
638
- beforeAll(async () => {
639
- // Test database setup
640
- db = await createTestDatabase();
641
- app = createApp(db);
642
- });
643
-
644
- afterAll(async () => {
645
- await db.close();
646
- });
647
-
648
- describe('POST /api/users', () => {
649
- it('should create user and return 201', async () => {
650
- const response = await request(app)
651
- .post('/api/users')
652
- .send({
653
- email: 'newuser@example.com',
654
- password: 'SecurePass123!',
655
- profile: {
656
- firstName: 'John',
657
- lastName: 'Doe'
658
- }
659
- });
660
-
661
- expect(response.status).toBe(201);
662
- expect(response.headers.location).toMatch(/\/api\/users\/[\w-]+/);
663
- expect(response.body).toMatchObject({
664
- success: true,
665
- data: {
666
- email: 'newuser@example.com',
667
- profile: {
668
- firstName: 'John',
669
- lastName: 'Doe'
670
- }
671
- }
672
- });
673
-
674
- // Verify database
675
- const user = await db.query(
676
- 'SELECT * FROM users WHERE email = $1',
677
- ['newuser@example.com']
678
- );
679
- expect(user.rows).toHaveLength(1);
680
- });
681
- });
682
- });
683
- ```
684
-
685
- ## 모니터링과 로깅
686
-
687
- ### 구조화된 로깅
688
- ```javascript
689
- class Logger {
690
- constructor(service) {
691
- this.service = service;
692
- this.winston = winston.createLogger({
693
- format: winston.format.combine(
694
- winston.format.timestamp(),
695
- winston.format.errors({ stack: true }),
696
- winston.format.json()
697
- ),
698
- defaultMeta: { service },
699
- transports: [
700
- new winston.transports.Console({
701
- format: winston.format.simple()
702
- }),
703
- new winston.transports.File({
704
- filename: 'error.log',
705
- level: 'error'
706
- }),
707
- new winston.transports.File({
708
- filename: 'combined.log'
709
- })
710
- ]
711
- });
712
- }
713
-
714
- log(level, message, meta = {}) {
715
- this.winston.log({
716
- level,
717
- message,
718
- ...meta,
719
- timestamp: new Date().toISOString()
720
- });
721
- }
722
-
723
- // Request logging middleware
724
- requestLogger() {
725
- return (req, res, next) => {
726
- const start = Date.now();
727
-
728
- res.on('finish', () => {
729
- const duration = Date.now() - start;
730
-
731
- this.log('info', 'HTTP Request', {
732
- method: req.method,
733
- path: req.path,
734
- statusCode: res.statusCode,
735
- duration,
736
- ip: req.ip,
737
- userAgent: req.get('user-agent'),
738
- userId: req.user?.id
739
- });
740
- });
741
-
742
- next();
743
- };
744
- }
745
- }
746
- ```
747
-
748
- ## 배포 전 체크리스트
749
-
750
- ### 성능
751
- - [ ] 데이터베이스 인덱스 최적화
752
- - [ ] N+1 쿼리 제거
753
- - [ ] 캐싱 전략 구현
754
- - [ ] 비동기 처리 적용
755
-
756
- ### 보안
757
- - [ ] 환경 변수로 민감 정보 관리
758
- - [ ] SQL Injection 방지
759
- - [ ] Rate Limiting 설정
760
- - [ ] CORS 정책 구성
761
-
762
- ### 안정성
763
- - [ ] 에러 처리 및 복구 메커니즘
764
- - [ ] 서킷 브레이커 패턴
765
- - [ ] 헬스체크 엔드포인트
766
- - [ ] 우아한 종료(Graceful Shutdown)