aiwf 0.3.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/.aiwf/config/language.json +1 -1
  2. package/.aiwf/installed.flag +1 -0
  3. package/.aiwf/sessions/session_1752877859489_1t7n2fhdb.json +7 -0
  4. package/.aiwf/sessions/session_1752877859515_cwdv211ry.json +7 -0
  5. package/.aiwf/sessions/session_1752877860664_huziadmbo.json +7 -0
  6. package/.aiwf/sessions/session_1752877860666_kyr5u1np6.json +7 -0
  7. package/.aiwf/sessions/session_1752877861848_9yinepw3t.json +7 -0
  8. package/.aiwf/sessions/session_1752877861874_y32sputuc.json +7 -0
  9. package/.aiwf/sessions/session_1752877862685_ivxbl5rhz.json +7 -0
  10. package/.aiwf/sessions/session_1752877862820_wnq4glvxi.json +7 -0
  11. package/.aiwf/sessions/session_1752877864632_3ebnpaelb.json +7 -0
  12. package/.aiwf/sessions/session_1752877864879_b9zgjcb7d.json +7 -0
  13. package/.aiwf/sessions/session_1752877865533_x14m1vodi.json +7 -0
  14. package/.aiwf/sessions/session_1752877865562_gkoh19n7d.json +7 -0
  15. package/.aiwf/sessions/session_1752877866333_wp8qpdcoh.json +7 -0
  16. package/.aiwf/sessions/session_1752877866509_dawntfpab.json +7 -0
  17. package/.aiwf/sessions/session_1752877866890_plc5vfucl.json +7 -0
  18. package/.aiwf/sessions/session_1752877866895_ga8hmq3oi.json +7 -0
  19. package/.aiwf/sessions/session_1752877867761_ayjp4v5f5.json +7 -0
  20. package/.aiwf/sessions/session_1752877867892_lfz6jy252.json +7 -0
  21. package/.aiwf/sessions/session_1752877868139_7bqd9ubli.json +7 -0
  22. package/.aiwf/sessions/session_1752877868162_zq3ofjbsh.json +7 -0
  23. package/.aiwf/sessions/session_1752877869054_7rlgm9jt6.json +7 -0
  24. package/.aiwf/sessions/session_1752877869477_ax3nhbxzr.json +7 -0
  25. package/.aiwf/sessions/session_1752877870095_6hgp4vl1e.json +7 -0
  26. package/.aiwf/sessions/session_1752877870381_qfcrdg4li.json +7 -0
  27. package/.aiwf/sessions/session_1752877871895_pgd5vllhz.json +7 -0
  28. package/.aiwf/sessions/session_1752877872199_jbhv2g2da.json +7 -0
  29. package/.aiwf/sessions/session_1752877872680_x04wpffu6.json +7 -0
  30. package/.aiwf/sessions/session_1752877872895_3y4vbeauo.json +7 -0
  31. package/.aiwf/sessions/session_1752877873178_3maolzc6b.json +7 -0
  32. package/.aiwf/sessions/session_1752877873180_ytm83j07f.json +7 -0
  33. package/.aiwf/sessions/session_1752877874217_dp56c9t42.json +7 -0
  34. package/.aiwf/sessions/session_1752877874415_epwp1g1og.json +7 -0
  35. package/.aiwf/sessions/session_1752877874454_heicyuryb.json +7 -0
  36. package/.aiwf/sessions/session_1752877874869_1c2illeu5.json +7 -0
  37. package/.aiwf/sessions/session_1752877874879_k1vo4vxyx.json +7 -0
  38. package/.aiwf/sessions/session_1752877874913_bwgyiz9bp.json +7 -0
  39. package/.aiwf/sessions/session_1752877876218_44807kztz.json +7 -0
  40. package/.aiwf/sessions/session_1752877876515_qkhjv5kpw.json +7 -0
  41. package/.aiwf/sessions/session_1752877876543_p605aud1m.json +7 -0
  42. package/.aiwf/sessions/session_1752877876819_l65w7ifck.json +7 -0
  43. package/.aiwf/sessions/session_1752877876867_xrhzss4we.json +7 -0
  44. package/.aiwf/sessions/session_1752877876872_u7aso54qb.json +7 -0
  45. package/.aiwf/sessions/session_1752877877705_telnfg4o6.json +7 -0
  46. package/.aiwf/sessions/session_1752877878285_6s45im2ib.json +7 -0
  47. package/.aiwf/sessions/session_1752877878506_v0dvguqhz.json +7 -0
  48. package/.aiwf/sessions/session_1752877878581_3ri3yc66a.json +7 -0
  49. package/.aiwf/sessions/session_1752877878756_a82x9s2pd.json +7 -0
  50. package/.aiwf/sessions/session_1752877878886_20pjsfour.json +7 -0
  51. package/.aiwf/sessions/session_1752877880266_fm1ydjw0g.json +7 -0
  52. package/.aiwf/sessions/session_1752877881149_xbat4z03d.json +7 -0
  53. package/.aiwf/sessions/session_1752877881551_qy5sic9qs.json +7 -0
  54. package/.aiwf/sessions/session_1752877881554_24ugd96wu.json +7 -0
  55. package/.aiwf/sessions/session_1752877881797_e9mm25uh0.json +7 -0
  56. package/.aiwf/sessions/session_1752877881822_bxvjj8c9g.json +7 -0
  57. package/.aiwf/sessions/session_1752877881890_jv7l6jve3.json +7 -0
  58. package/.aiwf/sessions/session_1752877881991_f0qugdtcq.json +7 -0
  59. package/.aiwf/sessions/session_1752877883387_0bvw9rvnx.json +7 -0
  60. package/.aiwf/sessions/session_1752877883820_q6g2md2up.json +7 -0
  61. package/.aiwf/sessions/session_1752877884393_sqr7trvjl.json +7 -0
  62. package/.aiwf/sessions/session_1752877884500_whtypmzlf.json +7 -0
  63. package/.aiwf/sessions/session_1752877884645_y9mvvxli1.json +7 -0
  64. package/.aiwf/sessions/session_1752877884733_hk46eenel.json +7 -0
  65. package/.aiwf/sessions/session_1752877884738_c62j6214r.json +7 -0
  66. package/.aiwf/sessions/session_1752877884771_temhxehoz.json +7 -0
  67. package/.aiwf/sessions/session_1752877885643_6v5fcktc7.json +7 -0
  68. package/.aiwf/sessions/session_1752877886426_ee8di2fqh.json +7 -0
  69. package/.aiwf/sessions/session_1752877886549_3xj6tdoew.json +7 -0
  70. package/.aiwf/sessions/session_1752877886604_aj80yyfco.json +7 -0
  71. package/.aiwf/sessions/session_1752877886702_2b8841vyg.json +7 -0
  72. package/.aiwf/sessions/session_1752877886712_ntqc8b8bz.json +7 -0
  73. package/.aiwf/sessions/session_1752877886968_946m8tbw6.json +7 -0
  74. package/.aiwf/sessions/session_1752877887008_wg6zfg8dn.json +7 -0
  75. package/.aiwf/sessions/session_1752877888479_ciiu2qiqs.json +7 -0
  76. package/.aiwf/sessions/session_1752877889330_ravg8l66k.json +7 -0
  77. package/.aiwf/sessions/session_1752877889542_7zepkhjkc.json +7 -0
  78. package/.aiwf/sessions/session_1752877889638_ev4htqiu0.json +7 -0
  79. package/.aiwf/sessions/session_1752877889956_szphy2qma.json +7 -0
  80. package/.aiwf/sessions/session_1752877890220_o6aaa57tt.json +7 -0
  81. package/.aiwf/sessions/session_1752877890527_v2loy5vu1.json +7 -0
  82. package/.aiwf/sessions/session_1752877890572_cwq8fiuma.json +7 -0
  83. package/.aiwf/sessions/session_1752877892200_sgcwq1alt.json +7 -0
  84. package/.aiwf/sessions/session_1752877892268_v8kexpbc5.json +7 -0
  85. package/.aiwf/sessions/session_1752877892384_1gbbgrp4y.json +7 -0
  86. package/.aiwf/sessions/session_1752877893568_9p2n5p31a.json +7 -0
  87. package/.aiwf/sessions/session_1752877893727_un34a5tvp.json +7 -0
  88. package/.aiwf/sessions/session_1752877893778_01j79sw9i.json +7 -0
  89. package/.aiwf/sessions/session_1752877894053_jrhba6wko.json +7 -0
  90. package/.aiwf/sessions/session_1752877894082_x3bghawox.json +7 -0
  91. package/.aiwf/sessions/session_1752877894500_iytiav2ku.json +7 -0
  92. package/.aiwf/sessions/session_1752877894667_ucn0gc2ge.json +7 -0
  93. package/.aiwf/test-results-s02.json +4 -4
  94. package/.claude/commands/aiwf/aiwf_changelog.md +82 -0
  95. package/.claude/commands/aiwf/aiwf_code_review.md +88 -0
  96. package/.claude/commands/aiwf/aiwf_commit.md +160 -0
  97. package/.claude/commands/aiwf/aiwf_compress_context.md +116 -0
  98. package/.claude/commands/aiwf/aiwf_create_feature_ledger.md +54 -0
  99. package/.claude/commands/aiwf/aiwf_create_general_task.md +147 -0
  100. package/.claude/commands/aiwf/aiwf_create_milestone_plan.md +194 -0
  101. package/.claude/commands/aiwf/aiwf_create_prd.md +280 -0
  102. package/.claude/commands/aiwf/aiwf_create_sprint_tasks.md +189 -0
  103. package/.claude/commands/aiwf/aiwf_create_sprints_from_milestone.md +121 -0
  104. package/.claude/commands/aiwf/aiwf_default_mode.md +44 -0
  105. package/.claude/commands/aiwf/aiwf_discuss_review.md +29 -0
  106. package/.claude/commands/aiwf/aiwf_do_task.md +109 -0
  107. package/.claude/commands/aiwf/aiwf_docs.md +225 -0
  108. package/.claude/commands/aiwf/aiwf_get_feature_details.md +78 -0
  109. package/.claude/commands/aiwf/aiwf_infinite.md +202 -0
  110. package/.claude/commands/aiwf/aiwf_initialize.md +134 -0
  111. package/.claude/commands/aiwf/aiwf_issue_create.md +65 -0
  112. package/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +57 -0
  113. package/.claude/commands/aiwf/aiwf_list_features.md +54 -0
  114. package/.claude/commands/aiwf/aiwf_mermaid.md +272 -0
  115. package/.claude/commands/aiwf/aiwf_persona_architect.md +48 -0
  116. package/.claude/commands/aiwf/aiwf_persona_backend.md +37 -0
  117. package/.claude/commands/aiwf/aiwf_persona_data_analyst.md +37 -0
  118. package/.claude/commands/aiwf/aiwf_persona_frontend.md +37 -0
  119. package/.claude/commands/aiwf/aiwf_persona_security.md +48 -0
  120. package/.claude/commands/aiwf/aiwf_persona_status.md +50 -0
  121. package/.claude/commands/aiwf/aiwf_pr_create.md +76 -0
  122. package/.claude/commands/aiwf/aiwf_prime.md +9 -0
  123. package/.claude/commands/aiwf/aiwf_project_review.md +261 -0
  124. package/.claude/commands/aiwf/aiwf_switch_language.md +160 -0
  125. package/.claude/commands/aiwf/aiwf_test.md +124 -0
  126. package/.claude/commands/aiwf/aiwf_testing_review.md +198 -0
  127. package/.claude/commands/aiwf/aiwf_tm-run-all-subtask.md +210 -0
  128. package/.claude/commands/aiwf/aiwf_ultrathink_code_advanced.md +460 -0
  129. package/.claude/commands/aiwf/aiwf_ultrathink_code_basic.md +165 -0
  130. package/.claude/commands/aiwf/aiwf_ultrathink_general.md +305 -0
  131. package/.claude/commands/aiwf/aiwf_update_docs_kr.md +25 -0
  132. package/.claude/commands/aiwf/aiwf_update_feature_status.md +53 -0
  133. package/.claude/commands/aiwf/aiwf_yolo.md +300 -0
  134. package/.eslintrc.json +26 -0
  135. package/.prettierrc +10 -0
  136. package/CLAUDE.md +154 -54
  137. package/README.ko.md +25 -0
  138. package/README.md +25 -0
  139. package/TEST_RECOVERY_PLAN.md +68 -0
  140. package/docs/CLEANUP_RECOMMENDATIONS.md +86 -0
  141. package/docs/CLI_USAGE_GUIDE.md +479 -0
  142. package/package.json +9 -9
  143. package/scripts/update-feature-status.js +70 -0
  144. package/{lib → src/cli}/cache-cli.js +4 -4
  145. package/src/cli/index.js +165 -0
  146. package/{language-cli.js → src/cli/language-cli.js} +11 -4
  147. package/src/commands/cache-templates.js +209 -0
  148. package/src/commands/create-offline.js +86 -0
  149. package/src/commands/create-project.js +151 -0
  150. package/src/lib/backup-manager.js +270 -0
  151. package/src/lib/file-downloader.js +208 -0
  152. package/src/lib/installer.js +676 -0
  153. package/src/lib/rollback-manager.js +418 -0
  154. package/src/lib/validator.js +561 -0
  155. package/src/utils/git-integration.js +173 -0
  156. package/{language-utils.js → src/utils/language-utils.js} +2 -1
  157. package/src/utils/messages.js +136 -0
  158. package/src/utils/paths.js +130 -0
  159. package/tests/application.test.js +2 -2
  160. package/tests/installer.test.js +2 -2
  161. package/tests/integration/ai-persona-system.test.js +4 -4
  162. package/tests/integration/test-persona-system/docs/README.md +1 -0
  163. package/tests/integration/test-persona-system/package.json +1 -0
  164. package/tests/integration/test-persona-system/src/auth.js +1 -0
  165. package/tests/integration/test-persona-system/src/index.js +1 -0
  166. package/tests/integration/test-persona-system/test/test.js +1 -0
  167. package/tests/language-utils.test.js +1 -1
  168. package/tests/temp_invalid_json/invalid.json +1 -0
  169. package/tests/unit/ai-persona-manager.test.js +7 -7
  170. package/.aiwf/05_DOCUMENTATION/performance-report.md +0 -33
  171. package/.aiwf/test-cache/86c7f9e80251abb8bedd58953ab0d1779e46b4f43ea33b63bffdb778106373b0.json +0 -6
  172. package/.aiwf/test-cache/9e252a90b80fce0585d7ed0646e7a9b4343e109f661f42a3ae678ba1ec5e22c7.json +0 -7
  173. package/.aiwf/token-data/alerts.json +0 -293
  174. package/.aiwf/token-data/monitor-config.json +0 -12
  175. package/CHANGELOG_M02.md +0 -52
  176. package/claude-code/aiwf/ko/bin/aiwf-create.js +0 -56
  177. package/claude-code/aiwf/ko/bin/aiwf.js +0 -21
  178. package/claude-code/aiwf/ko/docs/00_PROJECT_MANIFEST.md +0 -183
  179. package/claude-code/aiwf/ko/docs/ARCHITECTURE.md +0 -121
  180. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_ADVANCED_USE_CASES.md +0 -412
  181. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_API_REFERENCE.md +0 -361
  182. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_COMMANDS_GUIDE.md +0 -254
  183. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_FAQ.md +0 -365
  184. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_SYSTEM_OVERVIEW.md +0 -305
  185. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_USER_GUIDE.md +0 -416
  186. package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_/354/213/234/354/236/221_/352/260/200/354/235/264/353/223/234.md +0 -247
  187. package/claude-code/aiwf/ko/token-data/alerts.json +0 -293
  188. package/claude-code/aiwf/ko/token-data/monitor-config.json +0 -12
  189. package/docs/m02-dod-checklist.md +0 -125
  190. package/docs/m02-gap-analysis.md +0 -214
  191. package/docs/m02-milestone-completion-report.md +0 -186
  192. package/docs/m02-milestone-executive-summary.md +0 -68
  193. package/index.js +0 -1947
  194. package/lib/cache-integration.js +0 -401
  195. package/lib/file-batch-processor.js +0 -401
  196. package/lib/performance-benchmark.js +0 -621
  197. package/lib/template-manager.js +0 -310
  198. package/scripts/validate-commands.cjs +0 -338
  199. /package/{.aiwf/.claude → .claude}/commands/aiwf/aiwf_compress_aggressive_persona.md +0 -0
  200. /package/{.aiwf/.claude → .claude}/commands/aiwf/aiwf_compress_minimal_persona.md +0 -0
  201. /package/{.aiwf/.claude → .claude}/commands/aiwf/aiwf_compress_stats.md +0 -0
  202. /package/{.aiwf/.claude → .claude}/commands/aiwf/aiwf_compress_with_persona.md +0 -0
  203. /package/{.aiwf/.claude → .claude}/commands/aiwf/aiwf_evaluate.md +0 -0
  204. /package/{lib → src/lib}/ai-persona-manager.js +0 -0
  205. /package/{lib → src/lib}/cache-system.js +0 -0
  206. /package/{lib → src/lib}/context-engine.js +0 -0
  207. /package/{lib → src/lib}/memory-profiler.js +0 -0
  208. /package/{lib → src/lib}/metrics-collector.js +0 -0
  209. /package/{lib → src/lib}/offline-detector.js +0 -0
  210. /package/{lib → src/lib}/task-analyzer.js +0 -0
  211. /package/{lib → src/lib}/template-cache-system.js +0 -0
  212. /package/{lib → src/lib}/template-downloader.js +0 -0
  213. /package/{lib → src/lib}/template-version-manager.js +0 -0
  214. /package/{lib → src/lib}/token-optimizer.js +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877886968_946m8tbw6",
3
+ "startTime": 1752877887433,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877888275
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877887008_wg6zfg8dn",
3
+ "startTime": 1752877887513,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877888404
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877888479_ciiu2qiqs",
3
+ "startTime": 1752877888863,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877889644
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877889330_ravg8l66k",
3
+ "startTime": 1752877889811,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877891241
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877889542_7zepkhjkc",
3
+ "startTime": 1752877890145,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877891614
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877889638_ev4htqiu0",
3
+ "startTime": 1752877890395,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877891517
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877889956_szphy2qma",
3
+ "startTime": 1752877890638,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877891816
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877890220_o6aaa57tt",
3
+ "startTime": 1752877891020,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877892039
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877890527_v2loy5vu1",
3
+ "startTime": 1752877891271,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877892607
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877890572_cwq8fiuma",
3
+ "startTime": 1752877891303,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877892309
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877892200_sgcwq1alt",
3
+ "startTime": 1752877892918,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877893623
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877892268_v8kexpbc5",
3
+ "startTime": 1752877892989,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877893685
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877892384_1gbbgrp4y",
3
+ "startTime": 1752877893081,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877893812
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877893568_9p2n5p31a",
3
+ "startTime": 1752877893795,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877895124
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877893727_un34a5tvp",
3
+ "startTime": 1752877894132,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877895254
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877893778_01j79sw9i",
3
+ "startTime": 1752877894179,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877895509
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877894053_jrhba6wko",
3
+ "startTime": 1752877894514,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877895860
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877894082_x3bghawox",
3
+ "startTime": 1752877894606,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877895861
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877894500_iytiav2ku",
3
+ "startTime": 1752877895129,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877896105
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session_1752877894667_ucn0gc2ge",
3
+ "startTime": 1752877895361,
4
+ "totalTokens": 0,
5
+ "commands": [],
6
+ "lastUpdated": 1752877896287
7
+ }
@@ -4,25 +4,25 @@
4
4
  {
5
5
  "name": "Persona Switching Time",
6
6
  "status": "passed",
7
- "executionTime": 0.30884159899999997,
7
+ "executionTime": 0.3060533329999998,
8
8
  "criteria": "< 2 seconds"
9
9
  },
10
10
  {
11
11
  "name": "Pre-commit Hook Installation",
12
12
  "status": "passed",
13
- "executionTime": 0.00018016499999998814,
13
+ "executionTime": 0.0006559580000002824,
14
14
  "criteria": "Hook installed or installable"
15
15
  },
16
16
  {
17
17
  "name": "Multi-language Support",
18
18
  "status": "passed",
19
- "executionTime": 0.0003207589999999527,
19
+ "executionTime": 0.0004612090000000535,
20
20
  "criteria": "Korean/English commands"
21
21
  },
22
22
  {
23
23
  "name": "Performance Baseline",
24
24
  "status": "passed",
25
- "executionTime": 0.05095473399999992,
25
+ "executionTime": 0.05384158300000035,
26
26
  "criteria": "< 5 seconds total",
27
27
  "actualValue": "0.05s"
28
28
  }
@@ -0,0 +1,82 @@
1
+ # Git 커밋 히스토리 기반 Changelog 자동 생성
2
+
3
+ Git 커밋 히스토리를 분석하여 체계적인 changelog를 생성합니다.
4
+
5
+ ## 작업 단계
6
+
7
+ ### 1. Git 히스토리 분석
8
+ - 최근 커밋들을 분석하여 변경사항 파악
9
+ - 태그 정보 확인 (있는 경우)
10
+ - 커밋 메시지에서 conventional commit 형식 파싱
11
+
12
+ ### 2. 변경사항 분류
13
+ 다음 카테고리로 커밋들을 분류:
14
+ - ✨ Features (feat)
15
+ - 🐛 Bug Fixes (fix)
16
+ - 📝 Documentation (docs)
17
+ - 🎨 Code Style (style)
18
+ - ♻️ Refactoring (refactor)
19
+ - ⚡ Performance (perf)
20
+ - ✅ Tests (test)
21
+ - 🔧 Build/Config (build, chore)
22
+
23
+ ### 3. Changelog 생성
24
+ - CHANGELOG.md 파일 생성 또는 업데이트
25
+ - 버전별로 섹션 구분 (태그 기반)
26
+ - 각 카테고리별로 변경사항 정리
27
+ - 커밋 SHA와 함께 표시
28
+
29
+ ### 4. 실행 방법
30
+ ```bash
31
+ # 기본 실행 (전체 히스토리)
32
+ /project:aiwf:changelog
33
+
34
+ # 특정 커밋 범위 지정
35
+ /project:aiwf:changelog v1.0.0..HEAD
36
+
37
+ # 특정 개수의 최근 커밋
38
+ /project:aiwf:changelog -n 50
39
+ ```
40
+
41
+ ### 5. 생성 예시
42
+ ```markdown
43
+ # Changelog
44
+
45
+ ## [Unreleased]
46
+
47
+ ### ✨ Features
48
+ - feat(auth): 소셜 로그인 기능 추가 (abc1234)
49
+ - feat(api): RESTful API v2 구현 (def5678)
50
+
51
+ ### 🐛 Bug Fixes
52
+ - fix(ui): 모바일 반응형 레이아웃 수정 (ghi9012)
53
+
54
+ ### 📝 Documentation
55
+ - docs(readme): 설치 가이드 업데이트 (jkl3456)
56
+ ```
57
+
58
+ ## 구현 내용
59
+
60
+ 1. Git 로그 파싱:
61
+ ```bash
62
+ git log --pretty=format:"%h|%s|%an|%ad" --date=short
63
+ ```
64
+
65
+ 2. Conventional Commit 패턴 매칭:
66
+ ```regex
67
+ ^(feat|fix|docs|style|refactor|perf|test|build|chore)(\(.+\))?:\s+(.+)$
68
+ ```
69
+
70
+ 3. 태그 정보 활용:
71
+ ```bash
72
+ git describe --tags --abbrev=0
73
+ ```
74
+
75
+ 4. Changelog 템플릿 적용 및 파일 생성
76
+
77
+ 5. 기존 CHANGELOG.md가 있는 경우 적절히 병합
78
+
79
+ ## 주의사항
80
+ - Conventional Commit 형식을 따르지 않는 커밋은 "기타 변경사항"으로 분류
81
+ - 병합 커밋은 기본적으로 제외
82
+ - 생성된 changelog는 검토 후 수동 편집 가능
@@ -0,0 +1,88 @@
1
+ # 코드 리뷰 - 위에서 아래로 실행
2
+
3
+ 코드 리뷰를 실행하기 위해 다음 지침을 위에서 아래로 사용하세요.
4
+
5
+ ## 정확히 다음 6개 항목으로 할 일 목록을 만드세요
6
+
7
+ 1. 주어진 범위 분석
8
+ 2. 범위 내에서 코드 변경사항 찾기
9
+ 3. 관련 사양 및 문서 찾기
10
+ 4. 문서 및 요구사항과 코드 변경사항 비교
11
+ 5. 가능한 차이점 분석
12
+ 6. 세부사항과 함께 통과/실패 판정 제공
13
+
14
+ 각 단계를 단계별로 따르고 다음 지침을 엄격히 준수하세요.
15
+
16
+ ## 모든 할 일 목록 항목에 대한 세부사항
17
+
18
+ ### 1. 주어진 범위 분석
19
+
20
+ 확인: <$ARGUMENTS>
21
+
22
+ 비어있으면 기본값을 사용하고, 그렇지 않으면 <$ARGUMENTS>를 해석하여 리뷰 범위를 식별합니다. 리뷰할 의미 있는 변경사항을 찾을 수 있는 경우에만 계속합니다.
23
+
24
+ **맥락:** 코드 변경사항을 리뷰하기 전에:
25
+
26
+ - `.aiwf/00_PROJECT_MANIFEST.md`를 읽어 현재 스프린트와 마일스톤 맥락을 이해합니다
27
+ - 매니페스트를 사용하여 어떤 스프린트가 활성이고 어떤 작업이 범위에 있는지 식별합니다
28
+ - 현재 스프린트의 납품에 적절한 요구사항에만 평가합니다
29
+
30
+ ### 2. 범위 내에서 코드 변경사항 찾기
31
+
32
+ 식별된 범위를 사용하여 `git diff` (기본값: `git diff HEAD~1`)로 코드 변경사항을 찾습니다.
33
+
34
+ ### 3. 관련 사양 및 문서 찾기
35
+
36
+ - 수행된 작업에 관련된 태스크, 스프린트, 마일스톤을 찾고 발견사항을 출력합니다
37
+ - `.aiwf/03_SPRINTS/`로 이동하여 현재 스프린트 디렉토리를 찾습니다
38
+ - 스프린트 매타 파일을 읽어 스프린트 목표와 납품을 이해합니다
39
+ - 특정 태스크가 범위에 있는 경우, 스프린트 디렉토리에서 태스크 파일을 찾아 읽습니다
40
+ - 현재 마일스톤에 대한 `.aiwf/02_REQUIREMENTS/`에서 관련 요구사항을 식별합니다
41
+ - 관련 문서, 특히 `.aiwf/01_PROJECT_DOCS/`와 `.aiwf/02_REQUIREMENTS/`에서 문서를 읽습니다
42
+ - **중요:** 미래 마일스톤 기능이 아닌 현재 스프린트 납품에만 집중합니다
43
+
44
+ ### 4. 문서 및 요구사항과 코드 변경사항 비교
45
+
46
+ - 발견된 요구사항과 사양에 대해 변경사항을 비교하기 위해 심층 사고를 사용합니다
47
+ - 특히 다음 사항들을 비교합니다:
48
+ - **데이터 모델 / 스키마** — 필드, 타입, 제약사항, 관계
49
+ - **API / 인터페이스** — 엔드포인트, 매개변수, 반환 형태, 상태 코드, 오류
50
+ - **설정 / 환경** — 키, 기본값, 필수/선택사항
51
+ - **동작** — 비즈니스 규칙, 부작용, 오류 처리
52
+ - **품질** — 이름, 형식, 테스트, 린터 상태
53
+
54
+ **중요:**
55
+
56
+ - 사양에서 벗어나는 것은 허용되지 않습니다. 작은 것도 안 됩니다. 여기서는 매우 까다롭게 마세요!
57
+ - 의심스러우면 **실패**를 선언하고 사용자에게 문의하세요
58
+ - 사양과 문서를 따르지 않는 것에 대해 무관용입니다
59
+
60
+ ### 5. 차이점 분석
61
+
62
+ - 발견된 모든 차이점을 분석합니다
63
+ - 모든 문제에 심각도 점수를 부여합니다
64
+ - 심각도는 1(낮음)에서 10(높음)까지입니다
65
+ - 출력을 위해 문제 목록과 점수를 기억합니다
66
+
67
+ ### 6. 세부사항과 함께 통과/실패 판정 제공
68
+
69
+ - 발견된 모든 차이점에 대해 **실패**를 선언합니다
70
+ - 무관용 - 선의의 추가사항에도 적용됩니다
71
+ - 작은 변경사항이 허용되는지 여부는 사용자가 결정하도록 합니다
72
+ - 불일치가 나타나지 않은 경우에만 **통과**입니다
73
+
74
+ #### 중요: 출력 형식
75
+
76
+ - 리뷰 결과를 태스크 파일의 **## 출력 로그** 섹션에 출력합니다
77
+ - 범위에 따라 `.aiwf/03_SPRINTS/` 또는 `.aiwf/04_GENERAL_TASKS/`에서 태스크 파일을 찾습니다
78
+ - 타임스탬프와 함께 기존 출력 로그에 리뷰 결과를 추가합니다
79
+ - 출력 형식:
80
+ ```
81
+ [YYYY-MM-DD HH:MM]: 코드 리뷰 - 통과/실패
82
+ 결과: **실패/통과** 통과인지 실패인지에 대한 최종 결정
83
+ **범위:** 리뷰 범위에 대해 사용자에게 알립니다
84
+ **발견사항:** 발견된 모든 문제와 심각도 점수의 상세 목록
85
+ **요약:** 문제점이나 문제가 없는 상태에 대한 간단한 요약
86
+ **권장사항:** 추가 단계에 대한 개인적인 권장사항
87
+ ```
88
+ - 또한 즉시 피드백을 위해 콘솔에 간단한 결과 요약을 출력합니다
@@ -0,0 +1,160 @@
1
+ # 변경사항 분석 및 사용자 확인을 통한 논리적 git 커밋 생성
2
+
3
+ 다음 지시사항을 위에서 아래로 순서대로 따르세요.
4
+
5
+ ## 정확히 다음 6개 항목으로 TODO 생성
6
+
7
+ 1. 인수 파싱 및 git 상태 분석
8
+ 2. 변경사항 검토 및 논리적 커밋별 그룹화
9
+ 3. 커밋 구조 및 메시지 제안
10
+ 4. 사용자 승인 필요 여부 확인
11
+ 5. 승인된 커밋 실행
12
+ 6. 커밋 결과 보고
13
+
14
+ ---
15
+
16
+ ## 1 · git 상태 분석 및 인수 파싱
17
+
18
+ - 최대 효율성을 위해 다음 명령어들을 병렬 실행: `git status`, `git diff --staged`, `git diff`
19
+ - 범위를 이해하기 위해 폴더 구조와 함께 모든 변경된 파일 나열
20
+
21
+ ### 중요: 인수 해석 규칙
22
+
23
+ **컨텍스트 제공됨** (<$ARGUMENTS>에 텍스트가 포함된 경우):
24
+
25
+ - YOLO가 <$ARGUMENTS>의 일부라면 사용자 승인을 건너뛰는 것을 의미 (Todo의 4단계 참조)
26
+ - <$ARGUMENTS>의 다른 텍스트는 사용자가 제공한 **태스크 ID**, **스프린트 ID**, 또는 기타 **컨텍스트 식별자**를 나타냄
27
+ - 이것은 파일 경로가 아니라 변경사항을 필터링하기 위한 의미적 컨텍스트임
28
+ - **주요 초점**: 이 컨텍스트와 직접 관련된 파일만 커밋
29
+ - **부차적 고려사항**: 주요 컨텍스트 처리 후, 사용자가 관련 없는 다른 변경사항을 커밋하고 싶은지 묻기
30
+
31
+ **태스크 ID 패턴** (예: T01_S02, TX03_S01, T003):
32
+
33
+ - 스프린트 태스크: `T<NN>_S<NN>` 형식 (예: T01_S02, T03_S02)
34
+ - 완료된 스프린트 태스크: `TX<NN>_S<NN>` 형식 (예: TX01_S02, TX03_S01)
35
+ - 일반 태스크: `T<NNN>` 형식 (예: T001, T002)
36
+ - 완료된 일반 태스크: `TX<NNN>` 형식 (예: TX001, TX002)
37
+ - 다음 위치에서 이 태스크 ID를 검색:
38
+ - `.aiwf/03_SPRINTS/` 디렉토리 (스프린트 태스크용)
39
+ - `.aiwf/04_GENERAL_TASKS/` 디렉토리 (일반 태스크용)
40
+ - 파일의 태스크 메타데이터 (frontmatter에서 `task_id: T01_S02` 찾기)
41
+ - Git diff 내용 (코드 주석이나 커밋이 태스크를 참조하는지 확인)
42
+ - 이 태스크 구현의 일부로 수정된 모든 파일 식별
43
+ - 여기에는 다음이 포함: 소스 코드, 테스트, 구성, 그리고 태스크 문서 파일 자체
44
+
45
+ **스프린트 ID 패턴** (예: S01, S02):
46
+
47
+ - 스프린트 ID만 제공된 경우, 해당 스프린트 내의 모든 태스크와 관련된 변경사항을 커밋
48
+ - 검색 패턴: 스프린트 디렉토리의 `T*_S<NN>`
49
+ - 예시: "S02"는 T01_S02, T02_S02, T03_S02 등의 변경사항을 포함
50
+
51
+ **컨텍스트 제공되지 않음** (<$ARGUMENTS>가 비어있는 경우):
52
+
53
+ - 모든 변경사항을 분석하고 논리적으로 그룹화
54
+ - 서로 다른 논리적 작업 단위에 대해 별도 커밋 제안
55
+
56
+ ### 구현 단계
57
+
58
+ 1. 먼저 <$ARGUMENTS>에 텍스트가 포함되어 있는지 확인
59
+ 2. 포함되어 있다면 명시적으로 기술: "컨텍스트 제공됨: '$ARGUMENTS' - 이 컨텍스트와 관련된 변경사항에 집중하겠습니다"
60
+ 3. 태스크 ID 패턴인 경우, 태스크 파일을 찾아서 구현된 내용 이해
61
+ 4. 식별된 컨텍스트와 관련된 파일들로만 변경된 파일들을 필터링
62
+ 5. 컨텍스트와 일치하는 파일이 없으면 사용자에게 알림: "'$ARGUMENTS'와 관련된 변경사항을 찾을 수 없습니다"
63
+ 6. 관련 없는 변경사항이 존재하면 언급하되 초기 커밋 제안에는 포함하지 않음
64
+
65
+ ## 2 · 변경사항 검토 및 논리적 커밋별 그룹화
66
+
67
+ ### 우선순위: 컨텍스트 필터링
68
+
69
+ **인수에 컨텍스트가 제공된 경우**:
70
+
71
+ 1. **먼저 필터링**: 변경사항을 두 그룹으로 분리:
72
+ - **컨텍스트와 관련**: 태스크/컨텍스트 구현의 일부인 파일들
73
+ - **컨텍스트와 무관**: 그 외 모든 것
74
+ 2. **집중**: 첫 번째 커밋에서는 "컨텍스트와 관련" 그룹만 분석
75
+ 3. **연기**: 잠재적인 후속 커밋을 위해 "무관" 그룹 보관 (사용자가 요청하는 경우에만)
76
+
77
+ **표준 그룹화 로직** (컨텍스트 없음 또는 컨텍스트 내 그룹화용):
78
+
79
+ - **논리적으로 함께 속하는 변경사항 고민**:
80
+ - 태스크 완료 (해당되는 경우 태스크 ID별 그룹화)
81
+ - 기능 추가 (기능 범위별 그룹화)
82
+ - 구성 업데이트 (별도 그룹화)
83
+ - 문서 업데이트 (문서 유형별 그룹화)
84
+ - 버그 수정 (관련 기능별 그룹화)
85
+ - **신중하게 고려**하여 각 커밋이 독립적으로 이해되고 잠재적으로 되돌릴 수 있는 하나의 논리적 변경을 나타내도록 보장
86
+ - 관련 없는 변경사항을 같은 커밋에 혼합하지 않기
87
+ - 커밋 순서를 정할 때 변경사항 간의 의존성 고려
88
+
89
+ ## 3 · 커밋 제안
90
+
91
+ ### 컨텍스트 인식 커밋 제안
92
+
93
+ **컨텍스트가 제공된 경우** (예: 태스크 ID):
94
+
95
+ - **첫 번째 커밋**: 제공된 컨텍스트와 관련된 파일만 포함해야 함
96
+ - 명확히 기술: "이 커밋은 $ARGUMENTS에 대한 변경사항을 포함합니다"
97
+ - 이 커밋이 완료된 후, 다음과 같이 묻기: "[파일 목록]에 관련 없는 변경사항도 있습니다. 이것들에 대해서도 추가 커밋을 생성하시겠습니까?"
98
+
99
+ **컨텍스트가 제공되지 않은 경우**:
100
+
101
+ - 모든 변경사항의 논리적 그룹화를 기반으로 커밋 제안
102
+
103
+ 생성할 다음 커밋에 대해:
104
+
105
+ - **컨텍스트**: 해당되는 경우, 이 커밋이 다루는 태스크/컨텍스트
106
+ - **파일**: 포함될 특정 파일 목록
107
+ - **커밋 메시지**: 관례적인 커밋 형식 사용, 명확하고 간결하게
108
+ - **중요:** Claude, Anthropic, 또는 AI 지원에 대한 어떤 언급도 포함하지 않아야 함
109
+ - 태스크 관련인 경우, 메시지에 태스크 ID 포함 (예: "feat(agents): implement T01_S02 coordinator agent" 또는 "fix(api): resolve T003 authentication issue")
110
+ - **GitHub 이슈 연결**: 태스크에 GitHub 이슈가 있는 경우, 커밋 메시지에 `fixes #123` 또는 `relates to #456` 포함
111
+ - **근거**: 이러한 변경사항들이 왜 함께 속하는지에 대한 간단한 설명
112
+
113
+ ## 4 · 사용자 승인 필요 여부 확인
114
+
115
+ YOLO가 <$ARGUMENTS>의 **일부라면** 이 단계를 건너뛰고 다음 단계로 이동.
116
+
117
+ 그렇지 않으면 사용자 승인을 요청.
118
+
119
+ - 파일과 메시지를 포함한 완전한 커밋 계획 표시
120
+ - 진행하기 전에 명시적인 사용자 확인 대기
121
+ - 사용자가 거부하면 무엇을 변경해야 하는지 묻기
122
+ - 사용자가 커밋 메시지나 범위를 수정하고 싶어하면 조정
123
+
124
+ ## 5 · 승인된 커밋 실행 및 계속
125
+
126
+ 승인된 커밋에 대해:
127
+
128
+ - `git add`로 지정된 파일들 스테이징
129
+ - **중요:** pre-commit 훅을 사용하고 있어 부족한 점을 보고할 가능성이 높음. 이를 수정해야 함. 특히 이런 문제들을 다루는 열린 태스크가 없다면 검증을 건너뛰지 마세요.
130
+ - 승인된 메시지로 **커밋 생성**
131
+ - 커밋이 성공적으로 생성되었는지 확인
132
+ - **GitHub 이슈 업데이트 (해당하는 경우):**
133
+ - 태스크에 연결된 GitHub 이슈가 있는 경우
134
+ - 이슈에 커밋 링크 댓글 추가:
135
+ ```bash
136
+ gh issue comment {issue_number} --body "🔗 Commit: {commit_sha} - {commit_message}"
137
+ ```
138
+ - **중요:** 남은 커밋이 더 있다면 다음 커밋을 위해 3단계로 돌아가기
139
+ - 모든 커밋이 완료된 경우에만 6단계로 진행
140
+
141
+ ## 6 · 커밋 결과 보고
142
+
143
+ 요약 제공:
144
+
145
+ - **생성된 커밋**: SHA와 메시지와 함께 각 커밋 나열
146
+ - **커밋된 파일**: 커밋된 파일의 총 개수
147
+ - **남은 변경사항**: 아직 커밋되지 않은 대기 중인 변경사항
148
+ - **저장소 상태**: 커밋 후 현재 git 상태
149
+
150
+ ## 7 · 변경 로그 생성 (선택사항)
151
+
152
+ 성공적인 커밋 후:
153
+
154
+ - 사용자에게 묻기: "커밋이 완료되었습니다. Changelog를 업데이트하시겠습니까? (y/n)"
155
+ - yes인 경우 실행: `/project:aiwf:changelog`
156
+ - 이는 다음을 수행:
157
+ - 최근 커밋 히스토리 분석
158
+ - CHANGELOG.md 생성 또는 업데이트
159
+ - 유형별 변경사항 분류 (feat, fix, docs 등)
160
+ - 방금 생성된 커밋들 포함
@@ -0,0 +1,116 @@
1
+ # Context 압축 - 토큰 절약 실행
2
+
3
+ 토큰 사용량을 줄이기 위해 프로젝트 컨텍스트를 압축합니다. 3단계 압축 모드와 실시간 토큰 모니터링을 제공합니다.
4
+
5
+ **중요사항:**
6
+ - 기본 모드는 'balanced'로 30-50% 토큰 절약을 목표로 합니다
7
+ - 압축 전후 토큰 사용량과 절약률을 실시간으로 표시합니다
8
+ - 중요한 정보는 모든 모드에서 보존됩니다
9
+
10
+ ## 사용법
11
+
12
+ ```
13
+ /project:aiwf:compress_context [mode] [target]
14
+ ```
15
+
16
+ ### 파라미터
17
+
18
+ - `mode` (선택적): 압축 모드
19
+ - `aggressive`: 50-70% 토큰 절약 (critical/high 정보만 유지)
20
+ - `balanced`: 30-50% 토큰 절약 (기본값, medium 이상 정보 유지)
21
+ - `minimal`: 10-30% 토큰 절약 (모든 정보 유지, 포맷팅만 최적화)
22
+
23
+ - `target` (선택적): 압축 대상
24
+ - 파일 경로: 특정 파일 압축
25
+ - 디렉토리 경로: 디렉토리 내 모든 마크다운 파일 압축
26
+ - 생략 시: 현재 프로젝트의 주요 문서 압축
27
+
28
+ ## 압축 전략
29
+
30
+ ### Aggressive 모드 (50-70% 압축)
31
+ - Critical/High 중요도 섹션만 유지
32
+ - 코드 예제 대폭 축소
33
+ - 중복 정보 완전 제거
34
+ - Output Log, 히스토리 등 제거
35
+
36
+ ### Balanced 모드 (30-50% 압축)
37
+ - Critical/High/Medium 중요도 섹션 유지
38
+ - 코드 예제 선택적 유지
39
+ - 중복 정보 부분 제거
40
+ - 오래된 로그만 제거
41
+
42
+ ### Minimal 모드 (10-30% 압축)
43
+ - 모든 중요도 유지
44
+ - 공백 및 형식 정리
45
+ - 명백한 중복만 제거
46
+ - 안전한 압축
47
+
48
+ ## 실행 단계
49
+
50
+ 1. **압축 대상 파악**
51
+ - 대상 파일/디렉토리 확인
52
+ - 원본 토큰 수 계산
53
+
54
+ 2. **압축 모드 적용**
55
+ - 선택된 모드에 따라 압축 전략 실행
56
+ - 중요도 기반 섹션 필터링
57
+ - 압축 알고리즘 적용
58
+
59
+ 3. **압축 결과 검증**
60
+ - 압축 후 토큰 수 계산
61
+ - 절약률 및 품질 점수 표시
62
+ - Critical 정보 보존 검증
63
+
64
+ 4. **압축 파일 생성**
65
+ - 압축된 컨텐츠를 새 파일로 저장
66
+ - 원본 파일은 보존
67
+ - 압축 메타데이터 기록
68
+
69
+ ## 출력 형식
70
+
71
+ ```
72
+ 🗜️ Context 압축 시작
73
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
74
+ 압축 모드: balanced
75
+ 대상: /workspace/project/.aiwf/
76
+
77
+ 📊 압축 전 통계:
78
+ - 총 파일 수: 15
79
+ - 원본 토큰: 45,320
80
+ - 원본 크기: 125.4 KB
81
+
82
+ ⚙️ 압축 진행 중...
83
+ ✓ PROJECT_MANIFEST.md (5,320 → 2,890 토큰, -45.6%)
84
+ ✓ ARCHITECTURE.md (8,210 → 4,105 토큰, -50.0%)
85
+ ✓ M02_milestone_meta.md (3,450 → 2,070 토큰, -40.0%)
86
+ ... [추가 파일들]
87
+
88
+ 📊 압축 후 통계:
89
+ - 압축된 토큰: 27,192
90
+ - 절약된 토큰: 18,128
91
+ - 토큰 절약률: 40.0%
92
+ - 압축 시간: 2.3초
93
+ - 품질 점수: 92/100
94
+
95
+ ✅ 압축 완료!
96
+ 압축된 파일 위치: /workspace/project/.aiwf_compressed/
97
+ ```
98
+
99
+ ## 품질 보증
100
+
101
+ - **Critical 정보 보존**: 목표, 요구사항, 승인 기준은 항상 유지
102
+ - **구조 보존**: 문서의 논리적 구조와 계층 유지
103
+ - **가독성 유지**: 압축 후에도 읽기 쉬운 형태 유지
104
+ - **복원 가능**: 압축 메타데이터로 필요시 복원 지원
105
+
106
+ ## 권장 사용 시나리오
107
+
108
+ 1. **대규모 프로젝트 리뷰 시**: aggressive 모드로 핵심만 빠르게 파악
109
+ 2. **일반 개발 작업**: balanced 모드로 효율적인 컨텍스트 관리
110
+ 3. **디버깅/상세 분석**: minimal 모드로 모든 정보 유지하며 최적화
111
+
112
+ ## 주의사항
113
+
114
+ - 압축된 파일은 별도 디렉토리에 저장되며 원본은 보존됩니다
115
+ - 압축 시 일부 형식이나 세부 정보가 손실될 수 있습니다
116
+ - Critical로 표시된 정보는 모든 모드에서 보존됩니다