aiwf 0.3.23 → 0.4.0

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 (321) hide show
  1. package/.claude-plugin/marketplace.json +146 -0
  2. package/CHANGELOG.md +49 -1
  3. package/README.ko.md +118 -309
  4. package/README.md +68 -254
  5. package/docs/modernization/BROWNFIELD-GREENFIELD.ko.md +105 -0
  6. package/docs/modernization/CLAUDE-PLAN-REVIEW-2026-10-03.ko.md +77 -0
  7. package/docs/modernization/CLI-PRODUCTIVITY-REVIEWED-2026-10-03.ko.md +177 -0
  8. package/docs/modernization/CLI-PRODUCTIVITY.ko.md +193 -0
  9. package/docs/modernization/CORE-PACKAGE-PLAN.md +7 -0
  10. package/docs/modernization/DEEP-REVERSE-ENGINEERING.ko.md +88 -0
  11. package/docs/modernization/DELEGATION-OPTIONAL.ko.md +57 -0
  12. package/docs/modernization/DIRECTION.ko.md +56 -0
  13. package/docs/modernization/FULL-TEST-2026-10-03.md +49 -0
  14. package/docs/modernization/LEGACY-REMOVAL-PLAN.md +9 -0
  15. package/docs/modernization/PILOT-RESULT-2026-10-03.ko.md +85 -0
  16. package/docs/modernization/PILOT-UC-001.ko.md +79 -0
  17. package/docs/modernization/PLAN.md +28 -0
  18. package/docs/modernization/SKILLS.ko.md +105 -0
  19. package/docs/modernization/SPRINTABLE.ko.md +47 -0
  20. package/docs/modernization/SYNC-DOCS-VALIDATION-2026-10-04.ko.md +38 -0
  21. package/docs/modernization/VALIDATION.md +79 -0
  22. package/docs/modernization/evidence/example-review-packet.json +115 -0
  23. package/docs/modernization/evidence/example-spec-pin.json +48 -0
  24. package/docs/modernization/evidence/full-test-20261003/claude-lint.md +22 -0
  25. package/docs/modernization/evidence/full-test-20261003/claude-review-retry.md +56 -0
  26. package/docs/modernization/evidence/full-test-20261003/codex-review-packet.json +159 -0
  27. package/docs/modernization/evidence/full-test-20261003/src/expense.mjs +40 -0
  28. package/docs/modernization/evidence/full-test-20261003/summary.json +106 -0
  29. package/docs/modernization/evidence/full-test-20261003/tests/expense.test.mjs +61 -0
  30. package/docs/modernization/evidence/local-pilot-20261003/README.ko.md +40 -0
  31. package/docs/modernization/evidence/local-pilot-20261003/execution.json +1055 -0
  32. package/docs/modernization/evidence/local-pilot-20261003/maintenance/dependencies.json +24 -0
  33. package/docs/modernization/evidence/local-pilot-20261003/maintenance/dependencies.stderr.txt +0 -0
  34. package/docs/modernization/evidence/local-pilot-20261003/maintenance/dependencies.stdout.txt +5 -0
  35. package/docs/modernization/evidence/local-pilot-20261003/maintenance/docs.json +24 -0
  36. package/docs/modernization/evidence/local-pilot-20261003/maintenance/docs.stderr.txt +0 -0
  37. package/docs/modernization/evidence/local-pilot-20261003/maintenance/docs.stdout.txt +6 -0
  38. package/docs/modernization/evidence/local-pilot-20261003/maintenance/example.json +24 -0
  39. package/docs/modernization/evidence/local-pilot-20261003/maintenance/example.stderr.txt +0 -0
  40. package/docs/modernization/evidence/local-pilot-20261003/maintenance/example.stdout.txt +5 -0
  41. package/docs/modernization/evidence/local-pilot-20261003/maintenance/local-docs.json +24 -0
  42. package/docs/modernization/evidence/local-pilot-20261003/maintenance/local-docs.stderr.txt +0 -0
  43. package/docs/modernization/evidence/local-pilot-20261003/maintenance/local-docs.stdout.txt +6 -0
  44. package/docs/modernization/evidence/local-pilot-20261003/maintenance/node.json +23 -0
  45. package/docs/modernization/evidence/local-pilot-20261003/maintenance/node.stderr.txt +0 -0
  46. package/docs/modernization/evidence/local-pilot-20261003/maintenance/node.stdout.txt +535 -0
  47. package/docs/modernization/evidence/local-pilot-20261003/maintenance/provenance.json +24 -0
  48. package/docs/modernization/evidence/local-pilot-20261003/maintenance/provenance.stderr.txt +0 -0
  49. package/docs/modernization/evidence/local-pilot-20261003/maintenance/provenance.stdout.txt +5 -0
  50. package/docs/modernization/evidence/local-pilot-20261003/maintenance/readme-replay.json +24 -0
  51. package/docs/modernization/evidence/local-pilot-20261003/maintenance/readme-replay.stderr.txt +0 -0
  52. package/docs/modernization/evidence/local-pilot-20261003/maintenance/readme-replay.stdout.txt +273 -0
  53. package/docs/modernization/evidence/local-pilot-20261003/maintenance/upstream.json +24 -0
  54. package/docs/modernization/evidence/local-pilot-20261003/maintenance/upstream.stderr.txt +0 -0
  55. package/docs/modernization/evidence/local-pilot-20261003/maintenance/upstream.stdout.txt +7 -0
  56. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/archive-service.stderr.txt +0 -0
  57. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/archive-service.stdout.txt +148 -0
  58. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/archive-structure.stderr.txt +0 -0
  59. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/archive-structure.stdout.txt +9 -0
  60. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-check.stderr.txt +0 -0
  61. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-check.stdout.txt +67 -0
  62. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-evidence.json +34 -0
  63. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-packet.json +128 -0
  64. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-packet.stderr.txt +0 -0
  65. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-packet.stdout.txt +128 -0
  66. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-pin.json +54 -0
  67. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-pin.stderr.txt +0 -0
  68. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-pin.stdout.txt +60 -0
  69. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-readback.json +15 -0
  70. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-service.stderr.txt +0 -0
  71. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-service.stdout.txt +82 -0
  72. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-structure.stderr.txt +0 -0
  73. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-structure.stdout.txt +9 -0
  74. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-check.stderr.txt +0 -0
  75. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-check.stdout.txt +79 -0
  76. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-packet-refused.stderr.txt +0 -0
  77. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-packet-refused.stdout.txt +7 -0
  78. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-pin-refresh.stderr.txt +0 -0
  79. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-pin-refresh.stdout.txt +66 -0
  80. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-pin.json +60 -0
  81. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-structure.stderr.txt +0 -0
  82. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-structure.stdout.txt +9 -0
  83. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-check.stderr.txt +0 -0
  84. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-check.stdout.txt +73 -0
  85. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-evidence.json +34 -0
  86. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-packet.json +134 -0
  87. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-packet.stderr.txt +0 -0
  88. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-packet.stdout.txt +134 -0
  89. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-readback.json +15 -0
  90. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-service.stderr.txt +0 -0
  91. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-service.stdout.txt +148 -0
  92. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-structure.stderr.txt +0 -0
  93. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-structure.stdout.txt +9 -0
  94. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/node-version.stderr.txt +0 -0
  95. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/node-version.stdout.txt +1 -0
  96. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/python-version.stderr.txt +0 -0
  97. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/python-version.stdout.txt +1 -0
  98. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-evidence.json +34 -0
  99. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-packet.json +134 -0
  100. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-packet.stderr.txt +0 -0
  101. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-packet.stdout.txt +134 -0
  102. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-readback.json +15 -0
  103. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-service.stderr.txt +0 -0
  104. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-service.stdout.txt +266 -0
  105. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-structure.stderr.txt +0 -0
  106. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-structure.stdout.txt +9 -0
  107. package/docs/modernization/evidence/local-pilot-20261003/project/docs/entity_model.md +33 -0
  108. package/docs/modernization/evidence/local-pilot-20261003/project/docs/glossary.md +9 -0
  109. package/docs/modernization/evidence/local-pilot-20261003/project/docs/plans/UC-001.md +20 -0
  110. package/docs/modernization/evidence/local-pilot-20261003/project/docs/requirements.md +10 -0
  111. package/docs/modernization/evidence/local-pilot-20261003/project/docs/test_cases/TC-001-submit-expense.md +37 -0
  112. package/docs/modernization/evidence/local-pilot-20261003/project/docs/test_cases/TC-002-description-limit.md +42 -0
  113. package/docs/modernization/evidence/local-pilot-20261003/project/docs/use_cases/UC-001-submit-expense.md +76 -0
  114. package/docs/modernization/evidence/local-pilot-20261003/project/docs/use_cases.puml +12 -0
  115. package/docs/modernization/evidence/local-pilot-20261003/project/docs/vision.md +21 -0
  116. package/docs/modernization/evidence/local-pilot-20261003/project/src/expense.mjs +48 -0
  117. package/docs/modernization/evidence/local-pilot-20261003/project/tests/expense.test.mjs +116 -0
  118. package/docs/modernization/evidence/local-pilot-20261003/scope.json +31 -0
  119. package/docs/modernization/reviews/2026-10-03-claude-cli/CONTRACTS.ko.md +122 -0
  120. package/docs/modernization/reviews/2026-10-03-claude-cli/DIRECTION.ko.md +84 -0
  121. package/examples/spec-workflow/README.md +54 -0
  122. package/examples/spec-workflow/docs/entity_model.md +33 -0
  123. package/examples/spec-workflow/docs/glossary.md +9 -0
  124. package/examples/spec-workflow/docs/requirements.md +10 -0
  125. package/examples/spec-workflow/docs/test_cases/TC-001-submit-expense.md +37 -0
  126. package/examples/spec-workflow/docs/use_cases/UC-001-submit-expense.md +63 -0
  127. package/examples/spec-workflow/docs/use_cases.puml +12 -0
  128. package/examples/spec-workflow/docs/vision.md +21 -0
  129. package/package.json +37 -105
  130. package/plugins/aiwf-angular-jpa/.claude-plugin/plugin.json +11 -0
  131. package/plugins/aiwf-angular-jpa/LICENSE +201 -0
  132. package/plugins/aiwf-angular-jpa/NOTICE +16 -0
  133. package/plugins/aiwf-angular-jpa/README.md +54 -0
  134. package/plugins/aiwf-angular-jpa/UPSTREAM.json +35 -0
  135. package/plugins/aiwf-angular-jpa/agents/uc-coverage.md +263 -0
  136. package/plugins/aiwf-angular-jpa/rules/mcp-servers.md +64 -0
  137. package/plugins/aiwf-angular-jpa/skills/coverage-check/SKILL.md +190 -0
  138. package/plugins/aiwf-angular-jpa/skills/flyway-migration/SKILL.md +119 -0
  139. package/plugins/aiwf-angular-jpa/skills/implement/SKILL.md +528 -0
  140. package/plugins/aiwf-angular-jpa/skills/implement/references/module-layout.md +95 -0
  141. package/plugins/aiwf-angular-jpa/skills/playwright-test/SKILL.md +360 -0
  142. package/plugins/aiwf-angular-jpa/skills/spring-boot-test/SKILL.md +504 -0
  143. package/plugins/aiwf-angular-jpa/skills/vitest-test/SKILL.md +309 -0
  144. package/plugins/aiwf-blazor-dotnet/.claude-plugin/plugin.json +11 -0
  145. package/plugins/aiwf-blazor-dotnet/LICENSE +201 -0
  146. package/plugins/aiwf-blazor-dotnet/NOTICE +16 -0
  147. package/plugins/aiwf-blazor-dotnet/README.md +53 -0
  148. package/plugins/aiwf-blazor-dotnet/UPSTREAM.json +31 -0
  149. package/plugins/aiwf-blazor-dotnet/rules/mcp-servers.md +25 -0
  150. package/plugins/aiwf-blazor-dotnet/skills/bunit-test/SKILL.md +110 -0
  151. package/plugins/aiwf-blazor-dotnet/skills/dotnet-test/SKILL.md +108 -0
  152. package/plugins/aiwf-blazor-dotnet/skills/ef-migration/SKILL.md +43 -0
  153. package/plugins/aiwf-blazor-dotnet/skills/implement/SKILL.md +149 -0
  154. package/plugins/aiwf-blazor-dotnet/skills/playwright-test/SKILL.md +130 -0
  155. package/plugins/aiwf-core/.claude-plugin/plugin.json +11 -0
  156. package/plugins/aiwf-core/LICENSE +201 -0
  157. package/plugins/aiwf-core/NOTICE +20 -0
  158. package/plugins/aiwf-core/README.md +38 -0
  159. package/plugins/aiwf-core/UPSTREAM.json +50 -0
  160. package/plugins/aiwf-core/skills/entity-model/SKILL.md +160 -0
  161. package/plugins/aiwf-core/skills/entity-model/references/REFERENCE.md +36 -0
  162. package/plugins/aiwf-core/skills/requirements/SKILL.md +157 -0
  163. package/plugins/aiwf-core/skills/requirements/references/REFERENCE.md +70 -0
  164. package/plugins/aiwf-core/skills/requirements/references/glossary.md +7 -0
  165. package/plugins/aiwf-core/skills/reverse-engineer/SKILL.md +509 -0
  166. package/plugins/aiwf-core/skills/reverse-engineer/references/stack-signals.md +210 -0
  167. package/plugins/aiwf-core/skills/spec-review/SKILL.md +197 -0
  168. package/plugins/aiwf-core/skills/spec-review/references/lint-codes.md +63 -0
  169. package/plugins/aiwf-core/skills/spec-review/references/review-checklist.md +189 -0
  170. package/plugins/aiwf-core/skills/spec-review/scripts/spec_lint.py +1216 -0
  171. package/plugins/aiwf-core/skills/test-case/SKILL.md +138 -0
  172. package/plugins/aiwf-core/skills/test-case/references/example-process.bpmn +118 -0
  173. package/plugins/aiwf-core/skills/test-case/references/example.md +38 -0
  174. package/plugins/aiwf-core/skills/test-case/references/test-case.md +35 -0
  175. package/plugins/aiwf-core/skills/test-case/scripts/bpmn_paths.py +542 -0
  176. package/plugins/aiwf-core/skills/use-case-diagram/SKILL.md +99 -0
  177. package/plugins/aiwf-core/skills/use-case-spec/SKILL.md +257 -0
  178. package/plugins/aiwf-core/skills/use-case-spec/references/clarify-checklist.md +70 -0
  179. package/plugins/aiwf-core/skills/use-case-spec/references/example.md +88 -0
  180. package/plugins/aiwf-core/skills/use-case-spec/references/format-spec.md +246 -0
  181. package/plugins/aiwf-core/skills/use-case-spec/references/use-case.md +50 -0
  182. package/plugins/aiwf-core/skills/use-case-spec/scripts/validate_use_case.py +941 -0
  183. package/plugins/aiwf-delegate-claude/.claude-plugin/plugin.json +9 -0
  184. package/plugins/aiwf-delegate-claude/LICENSE +21 -0
  185. package/plugins/aiwf-delegate-claude/NOTICE +4 -0
  186. package/plugins/aiwf-delegate-claude/README.md +10 -0
  187. package/plugins/aiwf-delegate-claude/plugin.json +13 -0
  188. package/plugins/aiwf-delegate-claude/skills/delegate-claude/LICENSE +21 -0
  189. package/plugins/aiwf-delegate-claude/skills/delegate-claude/NOTICE +4 -0
  190. package/plugins/aiwf-delegate-claude/skills/delegate-claude/SKILL.md +49 -0
  191. package/plugins/aiwf-delegate-claude/skills/delegate-claude/agents/openai.yaml +2 -0
  192. package/plugins/aiwf-delegate-codex/.claude-plugin/plugin.json +9 -0
  193. package/plugins/aiwf-delegate-codex/LICENSE +21 -0
  194. package/plugins/aiwf-delegate-codex/NOTICE +4 -0
  195. package/plugins/aiwf-delegate-codex/README.md +10 -0
  196. package/plugins/aiwf-delegate-codex/plugin.json +13 -0
  197. package/plugins/aiwf-delegate-codex/skills/delegate-codex/LICENSE +21 -0
  198. package/plugins/aiwf-delegate-codex/skills/delegate-codex/NOTICE +4 -0
  199. package/plugins/aiwf-delegate-codex/skills/delegate-codex/SKILL.md +47 -0
  200. package/plugins/aiwf-delegate-codex/skills/delegate-codex/agents/openai.yaml +2 -0
  201. package/plugins/aiwf-nestjs-nextjs/.claude-plugin/plugin.json +11 -0
  202. package/plugins/aiwf-nestjs-nextjs/LICENSE +201 -0
  203. package/plugins/aiwf-nestjs-nextjs/NOTICE +16 -0
  204. package/plugins/aiwf-nestjs-nextjs/README.md +53 -0
  205. package/plugins/aiwf-nestjs-nextjs/UPSTREAM.json +32 -0
  206. package/plugins/aiwf-nestjs-nextjs/rules/mcp-servers.md +59 -0
  207. package/plugins/aiwf-nestjs-nextjs/skills/drizzle-migration/SKILL.md +222 -0
  208. package/plugins/aiwf-nestjs-nextjs/skills/implement/SKILL.md +393 -0
  209. package/plugins/aiwf-nestjs-nextjs/skills/implement/references/project-layout.md +158 -0
  210. package/plugins/aiwf-nestjs-nextjs/skills/nest-test/SKILL.md +300 -0
  211. package/plugins/aiwf-nestjs-nextjs/skills/playwright-test/SKILL.md +245 -0
  212. package/plugins/aiwf-nestjs-nextjs/skills/react-test/SKILL.md +217 -0
  213. package/plugins/aiwf-spec/.claude-plugin/plugin.json +9 -0
  214. package/plugins/aiwf-spec/LICENSE +201 -0
  215. package/plugins/aiwf-spec/NOTICE +20 -0
  216. package/plugins/aiwf-spec/README.md +36 -0
  217. package/plugins/aiwf-spec/skills/sync-docs/SKILL.md +47 -0
  218. package/plugins/aiwf-spec/skills/workflow/SKILL.md +42 -0
  219. package/plugins/aiwf-vaadin-jooq/.claude-plugin/plugin.json +11 -0
  220. package/plugins/aiwf-vaadin-jooq/LICENSE +201 -0
  221. package/plugins/aiwf-vaadin-jooq/NOTICE +16 -0
  222. package/plugins/aiwf-vaadin-jooq/README.md +56 -0
  223. package/plugins/aiwf-vaadin-jooq/UPSTREAM.json +43 -0
  224. package/plugins/aiwf-vaadin-jooq/agents/uc-coverage.md +260 -0
  225. package/plugins/aiwf-vaadin-jooq/rules/mcp-servers.md +44 -0
  226. package/plugins/aiwf-vaadin-jooq/skills/browserless-test/SKILL.md +407 -0
  227. package/plugins/aiwf-vaadin-jooq/skills/browserless-test/references/UC001ManagePersonsTest.java +111 -0
  228. package/plugins/aiwf-vaadin-jooq/skills/coverage-check/SKILL.md +190 -0
  229. package/plugins/aiwf-vaadin-jooq/skills/flyway-migration/SKILL.md +70 -0
  230. package/plugins/aiwf-vaadin-jooq/skills/hilla-test/SKILL.md +350 -0
  231. package/plugins/aiwf-vaadin-jooq/skills/hilla-test/references/UC001ManagePersonsServiceTest.java +81 -0
  232. package/plugins/aiwf-vaadin-jooq/skills/hilla-test/references/UC001ManagePersonsViewTest.tsx +87 -0
  233. package/plugins/aiwf-vaadin-jooq/skills/implement/SKILL.md +196 -0
  234. package/plugins/aiwf-vaadin-jooq/skills/implement-hilla/SKILL.md +216 -0
  235. package/plugins/aiwf-vaadin-jooq/skills/karibu-test/SKILL.md +298 -0
  236. package/plugins/aiwf-vaadin-jooq/skills/karibu-test/references/UC001ManagePersonsTest.java +93 -0
  237. package/plugins/aiwf-vaadin-jooq/skills/playwright-test/SKILL.md +237 -0
  238. package/plugins/aiwf-vaadin-jooq/skills/playwright-test/references/ExampleViewIT.java +143 -0
  239. package/plugins/aiwf-vaadin-jooq/skills/playwright-test/references/TC001CustomerOnboardingIT.java +144 -0
  240. package/plugins/aiwf-vaadin-jooq/skills/playwright-test/references/dramafinder-api.md +190 -0
  241. package/scripts/check-dependencies.js +26 -96
  242. package/scripts/install-spec-skills.mjs +126 -0
  243. package/scripts/validate-spec-plugin.mjs +145 -0
  244. package/src/cli/spec-cli.js +292 -0
  245. package/src/lib/spec-workflow.js +982 -0
  246. package/docs/ADR_MANAGEMENT_GUIDE.ko.md +0 -602
  247. package/docs/ADR_MANAGEMENT_GUIDE.md +0 -602
  248. package/docs/AI-WORKFLOW.ko.md +0 -299
  249. package/docs/AI-WORKFLOW.md +0 -401
  250. package/docs/API_REFERENCE_FULL.ko.md +0 -1135
  251. package/docs/API_REFERENCE_FULL.md +0 -1135
  252. package/docs/ARCHITECTURE.ko.md +0 -314
  253. package/docs/ARCHITECTURE.md +0 -314
  254. package/docs/CLI_USAGE_GUIDE.ko.md +0 -634
  255. package/docs/CLI_USAGE_GUIDE.md +0 -640
  256. package/docs/CODE_CLEANUP_GUIDE.ko.md +0 -415
  257. package/docs/CODE_CLEANUP_GUIDE.md +0 -415
  258. package/docs/COMMANDS_GUIDE.ko.md +0 -1037
  259. package/docs/COMMANDS_GUIDE.md +0 -1037
  260. package/docs/CONTRIBUTING.ko.md +0 -408
  261. package/docs/CONTRIBUTING.md +0 -408
  262. package/docs/DEVELOPMENT_GUIDE.ko.md +0 -440
  263. package/docs/DEVELOPMENT_GUIDE.md +0 -727
  264. package/docs/EXAMPLES.ko.md +0 -695
  265. package/docs/EXAMPLES.md +0 -693
  266. package/docs/GETTING_STARTED.ko.md +0 -219
  267. package/docs/GETTING_STARTED.md +0 -476
  268. package/docs/MODULE_MANAGEMENT_GUIDE.ko.md +0 -289
  269. package/docs/MODULE_MANAGEMENT_GUIDE.md +0 -289
  270. package/docs/PERFORMANCE_ARCHITECTURE.md +0 -494
  271. package/docs/PERFORMANCE_GUIDELINES.ko.md +0 -388
  272. package/docs/PERFORMANCE_GUIDELINES.md +0 -553
  273. package/docs/PRD.ko.md +0 -148
  274. package/docs/PRD.md +0 -150
  275. package/docs/ROADMAP_v0.4.0.md +0 -286
  276. package/docs/STATE_MANAGEMENT_GUIDE.ko.md +0 -278
  277. package/docs/STATE_MANAGEMENT_GUIDE.md +0 -278
  278. package/docs/TROUBLESHOOTING.ko.md +0 -366
  279. package/docs/TROUBLESHOOTING.md +0 -722
  280. package/docs/VALIDATOR_API.ko.md +0 -324
  281. package/docs/VALIDATOR_API.md +0 -324
  282. package/docs/YOLO_SYSTEM_GUIDE.ko.md +0 -542
  283. package/docs/YOLO_SYSTEM_GUIDE.md +0 -542
  284. package/docs/designs/AI_PERSONA_SYSTEM_DESIGN.md +0 -516
  285. package/docs/designs/API_DOCUMENTATION.md +0 -932
  286. package/docs/designs/API_REFERENCE.md +0 -979
  287. package/docs/designs/Enhanced_Installation_Flow_Design.md +0 -498
  288. package/docs/designs/aiwf-metadata-system-prd.md +0 -127
  289. package/docs/designs/offline-template-cache.md +0 -323
  290. package/docs/designs/persona-aware-compression.md +0 -168
  291. package/docs/guides/ai-personas-guide-ko.md +0 -239
  292. package/docs/guides/ai-personas-guide.md +0 -239
  293. package/docs/guides/checkpoint-system-guide-ko.md +0 -356
  294. package/docs/guides/checkpoint-system-guide.md +0 -356
  295. package/docs/guides/context-compression-guide-ko.md +0 -313
  296. package/docs/guides/context-compression-guide.md +0 -313
  297. package/docs/guides/independent-sprint-guide-ko.md +0 -321
  298. package/docs/guides/independent-sprint-guide.md +0 -321
  299. package/rules/global/aiwf-code-style-guide.md +0 -30
  300. package/rules/global/aiwf-coding-principles.md +0 -33
  301. package/rules/global/aiwf-development-process.md +0 -41
  302. package/rules/global/aiwf-global-rules.md +0 -84
  303. package/rules/manual/aiwf-generate-plan-docs.md +0 -280
  304. package/scripts/run-integration-tests.js +0 -317
  305. package/scripts/update-file-lists.js +0 -267
  306. package/scripts/validate-commands.js +0 -254
  307. package/src/cli/index.js +0 -184
  308. package/src/commands/sprint-independent.js +0 -393
  309. package/src/commands/state.js +0 -1164
  310. package/src/commands/yolo-config.js +0 -502
  311. package/src/config/file-lists.js +0 -147
  312. package/src/config/yolo-config-template.yaml +0 -168
  313. package/src/lib/backup-manager.js +0 -271
  314. package/src/lib/file-downloader.js +0 -304
  315. package/src/lib/installer.js +0 -1270
  316. package/src/lib/rollback-manager.js +0 -418
  317. package/src/lib/validator.js +0 -376
  318. package/src/utils/checkpoint-manager.js +0 -435
  319. package/src/utils/language-utils.js +0 -331
  320. package/src/utils/messages.js +0 -190
  321. package/src/utils/paths.js +0 -112
@@ -1,494 +0,0 @@
1
- # AIWF 성능 최적화 아키텍처
2
-
3
- ## 개요
4
-
5
- 이 문서는 AIWF 프로젝트의 성능 최적화 아키텍처에 대한 상세한 설명입니다. 시스템의 전체적인 성능을 향상시키기 위해 구현된 다양한 최적화 기술과 패턴을 다룹니다.
6
-
7
- ## 아키텍처 구성도
8
-
9
- ```
10
- ┌─────────────────────────────────────────────────────────────────┐
11
- │ AIWF Performance Architecture │
12
- ├─────────────────────────────────────────────────────────────────┤
13
- │ │
14
- │ ┌──────────────────┐ ┌──────────────────┐ │
15
- │ │ GitHub API │ │ File Batch │ │
16
- │ │ Cache System │ │ Processor │ │
17
- │ │ │ │ │ │
18
- │ │ ┌──────────────┐ │ │ ┌──────────────┐ │ │
19
- │ │ │ Memory Cache │ │ │ │ Queue System │ │ │
20
- │ │ │ Disk Cache │ │ │ │ Concurrency │ │ │
21
- │ │ │ Rate Limiter │ │ │ │ Control │ │ │
22
- │ │ └──────────────┘ │ │ └──────────────┘ │ │
23
- │ └──────────────────┘ └──────────────────┘ │
24
- │ │
25
- │ ┌──────────────────┐ ┌──────────────────┐ │
26
- │ │ Memory │ │ Performance │ │
27
- │ │ Profiler │ │ Benchmark │ │
28
- │ │ │ │ │ │
29
- │ │ ┌──────────────┐ │ │ ┌──────────────┐ │ │
30
- │ │ │ Leak Detector│ │ │ │ Load Testing │ │ │
31
- │ │ │ GC Optimizer │ │ │ │ Regression │ │ │
32
- │ │ │ Threshold │ │ │ │ Detection │ │ │
33
- │ │ │ Monitor │ │ │ │ │ │ │
34
- │ │ └──────────────┘ │ │ └──────────────┘ │ │
35
- │ └──────────────────┘ └──────────────────┘ │
36
- │ │
37
- └─────────────────────────────────────────────────────────────────┘
38
- ```
39
-
40
- ## 핵심 구성 요소
41
-
42
- ### 1. GitHub API 캐싱 시스템
43
-
44
- #### 목적
45
- - GitHub API 호출 횟수 최소화
46
- - 응답 시간 개선
47
- - Rate limiting 회피
48
-
49
- #### 구현 전략
50
-
51
- ##### 다중 레벨 캐싱
52
- ```javascript
53
- Memory Cache (L1) → Disk Cache (L2) → GitHub API (L3)
54
- ```
55
-
56
- - **L1 캐시**: 빠른 메모리 접근, 제한된 용량
57
- - **L2 캐시**: 지속적인 디스크 스토리지, 큰 용량
58
- - **L3 API**: 마지막 수단, 네트워크 호출
59
-
60
- ##### 캐시 키 전략
61
- ```javascript
62
- // URL + 헤더 정보를 기반으로 한 SHA256 해시
63
- const cacheKey = sha256(JSON.stringify({ url, headers }));
64
- ```
65
-
66
- ##### TTL 관리
67
- - 기본 TTL: 5분 (300초)
68
- - 동적 TTL: 응답 헤더 기반 조정
69
- - 조건부 TTL: 컨텐츠 타입별 차별화
70
-
71
- #### 성능 최적화 기법
72
-
73
- ##### 중복 요청 방지
74
- ```javascript
75
- // 동일한 요청이 진행 중일 때 Promise 재사용
76
- if (this.pendingRequests.has(key)) {
77
- return await this.pendingRequests.get(key);
78
- }
79
- ```
80
-
81
- ##### 배치 처리
82
- ```javascript
83
- // 여러 API 호출을 배치로 처리
84
- const batchResults = await Promise.allSettled(batchPromises);
85
- ```
86
-
87
- ##### Rate Limiting
88
- ```javascript
89
- // Token bucket 알고리즘 구현
90
- class RateLimiter {
91
- constructor(maxRequests, timeWindow) {
92
- this.maxRequests = maxRequests;
93
- this.timeWindow = timeWindow;
94
- this.requests = [];
95
- }
96
- }
97
- ```
98
-
99
- ### 2. 파일 배치 처리 시스템
100
-
101
- #### 목적
102
- - 파일 I/O 작업 최적화
103
- - 메모리 사용량 최소화
104
- - 병렬 처리 효율성 향상
105
-
106
- #### 구현 전략
107
-
108
- ##### 큐 기반 처리
109
- ```javascript
110
- Operation Queue → Batch Formation → Parallel Execution
111
- ```
112
-
113
- ##### 타입별 그룹핑
114
- ```javascript
115
- // 작업 타입별로 그룹화하여 효율적인 처리
116
- const grouped = {
117
- read: [operation1, operation2],
118
- write: [operation3, operation4],
119
- copy: [operation5, operation6]
120
- };
121
- ```
122
-
123
- ##### 동시성 제어
124
- ```javascript
125
- // 세마포어를 사용한 동시성 제어
126
- class Semaphore {
127
- constructor(capacity) {
128
- this.capacity = capacity;
129
- this.current = 0;
130
- this.queue = [];
131
- }
132
- }
133
- ```
134
-
135
- #### 성능 최적화 기법
136
-
137
- ##### 스트리밍 처리
138
- ```javascript
139
- // 대용량 파일의 경우 스트리밍 사용
140
- if (stats.size > 10 * 1024 * 1024) { // 10MB 이상
141
- return await this.readFileStreaming(filePath, options);
142
- }
143
- ```
144
-
145
- ##### 메모리 풀링
146
- ```javascript
147
- // 버퍼 재사용을 통한 메모리 최적화
148
- const bufferPool = new Map();
149
- ```
150
-
151
- ##### 비동기 배치 처리
152
- ```javascript
153
- // 비동기 배치 처리로 블로킹 최소화
154
- await this.processOperationsInParallel(operations, concurrencyLimit);
155
- ```
156
-
157
- ### 3. 메모리 프로파일링 시스템
158
-
159
- #### 목적
160
- - 메모리 사용량 실시간 모니터링
161
- - 메모리 누수 감지
162
- - 가비지 컬렉션 최적화
163
-
164
- #### 구현 전략
165
-
166
- ##### 실시간 샘플링
167
- ```javascript
168
- // 주기적인 메모리 샘플링
169
- setInterval(() => {
170
- this.takeSample();
171
- }, this.samplingInterval);
172
- ```
173
-
174
- ##### 임계값 모니터링
175
- ```javascript
176
- const thresholds = {
177
- heapUsed: 100 * 1024 * 1024, // 100MB
178
- heapTotal: 200 * 1024 * 1024, // 200MB
179
- external: 50 * 1024 * 1024, // 50MB
180
- rss: 500 * 1024 * 1024 // 500MB
181
- };
182
- ```
183
-
184
- ##### 누수 감지 알고리즘
185
- ```javascript
186
- // 추세 분석을 통한 누수 감지
187
- const heapTrend = this.calculateTrend(recentSamples.map(s => s.memory.heapUsed));
188
- if (heapTrend > 0.05) { // 5% 이상 증가
189
- this.alerts.push({
190
- type: 'memory_leak_suspected',
191
- heapTrend,
192
- timestamp: Date.now()
193
- });
194
- }
195
- ```
196
-
197
- #### 성능 최적화 기법
198
-
199
- ##### 객체 추적
200
- ```javascript
201
- // 객체 생성/소멸 추적
202
- class ObjectLeakDetector {
203
- trackObject(type, operation = 'create') {
204
- const current = this.objectCounts.get(type) || 0;
205
- this.objectCounts.set(type,
206
- operation === 'create' ? current + 1 : Math.max(0, current - 1)
207
- );
208
- }
209
- }
210
- ```
211
-
212
- ##### 스냅샷 비교
213
- ```javascript
214
- // 메모리 스냅샷 비교를 통한 변화 추적
215
- const comparison = {
216
- timeDiff: snapshot2.timestamp - snapshot1.timestamp,
217
- memoryDiff: {},
218
- objectDiff: {}
219
- };
220
- ```
221
-
222
- ##### 가비지 컬렉션 최적화
223
- ```javascript
224
- // 강제 GC 실행 및 효과 측정
225
- if (global.gc) {
226
- const beforeGC = process.memoryUsage();
227
- global.gc();
228
- const afterGC = process.memoryUsage();
229
- return { before: beforeGC, after: afterGC };
230
- }
231
- ```
232
-
233
- ### 4. 성능 벤치마크 시스템
234
-
235
- #### 목적
236
- - 성능 메트릭 측정
237
- - 회귀 테스트 실행
238
- - 부하 테스트 수행
239
-
240
- #### 구현 전략
241
-
242
- ##### 다차원 메트릭 수집
243
- ```javascript
244
- const metrics = {
245
- duration: [], // 실행 시간
246
- memory: [], // 메모리 사용량
247
- throughput: [], // 처리량
248
- errors: 0 // 오류 수
249
- };
250
- ```
251
-
252
- ##### 통계 분석
253
- ```javascript
254
- // 다양한 통계 메트릭 계산
255
- const stats = {
256
- min: Math.min(...values),
257
- max: Math.max(...values),
258
- avg: values.reduce((a, b) => a + b) / values.length,
259
- median: calculateMedian(values),
260
- p95: calculatePercentile(values, 95),
261
- p99: calculatePercentile(values, 99),
262
- stddev: calculateStandardDeviation(values)
263
- };
264
- ```
265
-
266
- ##### 회귀 감지
267
- ```javascript
268
- // 성능 회귀 감지 알고리즘
269
- const thresholds = {
270
- duration: 0.2, // 20% 증가
271
- memory: 0.3, // 30% 증가
272
- throughput: -0.1 // 10% 감소
273
- };
274
- ```
275
-
276
- #### 성능 최적화 기법
277
-
278
- ##### 워밍업 처리
279
- ```javascript
280
- // JIT 컴파일러 최적화를 위한 워밍업
281
- for (let i = 0; i < this.options.warmupIterations; i++) {
282
- await this.executeTest(test);
283
- }
284
- ```
285
-
286
- ##### 부하 테스트
287
- ```javascript
288
- // 점진적 부하 증가 (Ramp-up)
289
- for (let i = 0; i < concurrency; i++) {
290
- setTimeout(() => {
291
- const worker = this.createLoadTestWorker(target, duration, results);
292
- workers.push(worker);
293
- }, (i / concurrency) * rampUp);
294
- }
295
- ```
296
-
297
- ##### 동시성 테스트
298
- ```javascript
299
- // 동시성 테스트를 위한 Promise.allSettled 사용
300
- const results = await Promise.allSettled(promises);
301
- const successfulResults = results.filter(r => r.status === 'fulfilled');
302
- ```
303
-
304
- ## 성능 최적화 패턴
305
-
306
- ### 1. 지연 로딩 (Lazy Loading)
307
-
308
- ```javascript
309
- // 모듈을 필요할 때만 로드
310
- const lazyModule = await import('./heavy-module.js');
311
- ```
312
-
313
- ### 2. 메모이제이션 (Memoization)
314
-
315
- ```javascript
316
- // 계산 결과 캐싱
317
- const memoCache = new Map();
318
- function memoizedFunction(input) {
319
- if (memoCache.has(input)) {
320
- return memoCache.get(input);
321
- }
322
- const result = expensiveComputation(input);
323
- memoCache.set(input, result);
324
- return result;
325
- }
326
- ```
327
-
328
- ### 3. 객체 풀링 (Object Pooling)
329
-
330
- ```javascript
331
- // 객체 재사용을 통한 GC 압박 감소
332
- class ObjectPool {
333
- constructor(createFn, resetFn) {
334
- this.createFn = createFn;
335
- this.resetFn = resetFn;
336
- this.pool = [];
337
- }
338
-
339
- acquire() {
340
- return this.pool.pop() || this.createFn();
341
- }
342
-
343
- release(obj) {
344
- this.resetFn(obj);
345
- this.pool.push(obj);
346
- }
347
- }
348
- ```
349
-
350
- ### 4. 배치 처리 (Batching)
351
-
352
- ```javascript
353
- // 여러 작업을 배치로 묶어서 처리
354
- class BatchProcessor {
355
- constructor(batchSize, processFn) {
356
- this.batchSize = batchSize;
357
- this.processFn = processFn;
358
- this.queue = [];
359
- }
360
-
361
- async add(item) {
362
- this.queue.push(item);
363
- if (this.queue.length >= this.batchSize) {
364
- await this.flush();
365
- }
366
- }
367
-
368
- async flush() {
369
- const batch = this.queue.splice(0, this.batchSize);
370
- await this.processFn(batch);
371
- }
372
- }
373
- ```
374
-
375
- ## 성능 모니터링 전략
376
-
377
- ### 1. 실시간 모니터링
378
-
379
- ```javascript
380
- // 주요 메트릭 실시간 추적
381
- const monitoring = {
382
- apiCalls: 0,
383
- cacheHitRate: 0,
384
- memoryUsage: 0,
385
- responseTime: 0
386
- };
387
- ```
388
-
389
- ### 2. 알림 시스템
390
-
391
- ```javascript
392
- // 임계값 초과 시 알림 발송
393
- class AlertSystem {
394
- checkThreshold(metric, value, threshold) {
395
- if (value > threshold) {
396
- this.sendAlert({
397
- type: 'threshold_exceeded',
398
- metric,
399
- value,
400
- threshold
401
- });
402
- }
403
- }
404
- }
405
- ```
406
-
407
- ### 3. 대시보드
408
-
409
- ```javascript
410
- // 성능 대시보드 데이터 생성
411
- function generateDashboardData() {
412
- return {
413
- uptime: process.uptime(),
414
- memoryUsage: process.memoryUsage(),
415
- cacheStats: cache.getStats(),
416
- processingStats: processor.getStats()
417
- };
418
- }
419
- ```
420
-
421
- ## 배포 고려사항
422
-
423
- ### 1. 환경별 설정
424
-
425
- ```javascript
426
- // 환경별 성능 파라미터 조정
427
- const config = {
428
- development: {
429
- cacheSize: 100,
430
- batchSize: 10,
431
- concurrency: 2
432
- },
433
- production: {
434
- cacheSize: 1000,
435
- batchSize: 100,
436
- concurrency: 10
437
- }
438
- };
439
- ```
440
-
441
- ### 2. 점진적 배포
442
-
443
- ```javascript
444
- // 기능 플래그를 사용한 점진적 배포
445
- const features = {
446
- enableBatchProcessing: process.env.ENABLE_BATCH_PROCESSING === 'true',
447
- enableMemoryProfiling: process.env.ENABLE_MEMORY_PROFILING === 'true'
448
- };
449
- ```
450
-
451
- ### 3. 성능 테스트 자동화
452
-
453
- ```javascript
454
- // CI/CD 파이프라인에 성능 테스트 통합
455
- const performanceTest = async () => {
456
- const benchmark = new PerformanceBenchmark();
457
- const results = await benchmark.run(testSuite);
458
-
459
- if (results.summary.averageDuration > threshold) {
460
- throw new Error('Performance regression detected');
461
- }
462
- };
463
- ```
464
-
465
- ## 미래 개선 계획
466
-
467
- ### 1. 머신러닝 기반 최적화
468
-
469
- - 사용 패턴 학습을 통한 동적 캐시 정책
470
- - 예측적 프리페칭
471
- - 자동 성능 튜닝
472
-
473
- ### 2. 분산 시스템 최적화
474
-
475
- - 멀티 노드 캐싱
476
- - 분산 파일 처리
477
- - 클러스터 기반 벤치마킹
478
-
479
- ### 3. 실시간 성능 분석
480
-
481
- - 스트리밍 메트릭 처리
482
- - 실시간 이상 감지
483
- - 자동 스케일링
484
-
485
- ## 결론
486
-
487
- AIWF 성능 최적화 아키텍처는 다음과 같은 핵심 원칙을 기반으로 구현되었습니다:
488
-
489
- 1. **계층화된 캐싱**: 다중 레벨 캐시를 통한 최적의 성능
490
- 2. **배치 처리**: 효율적인 리소스 활용
491
- 3. **실시간 모니터링**: 지속적인 성능 추적
492
- 4. **자동화된 최적화**: 인텔리전트한 성능 튜닝
493
-
494
- 이러한 아키텍처를 통해 AIWF는 대규모 프로젝트에서도 안정적이고 효율적인 성능을 제공할 수 있습니다.