aiwf 0.3.22 → 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 (456) 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 -104
  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/{src/lib/resources/templates/npm-library/template → plugins/aiwf-delegate-claude}/LICENSE +2 -2
  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/DEPENDENCY_MAP.md +0 -90
  308. package/src/cli/cache-cli.js +0 -459
  309. package/src/cli/checkpoint-cli.js +0 -417
  310. package/src/cli/index.js +0 -481
  311. package/src/cli/language-cli.js +0 -286
  312. package/src/cli/sprint-cli.js +0 -287
  313. package/src/commands/ai-tool.js +0 -383
  314. package/src/commands/compress.js +0 -60
  315. package/src/commands/create-project.js +0 -160
  316. package/src/commands/evaluate.js +0 -459
  317. package/src/commands/persona.js +0 -309
  318. package/src/commands/sprint-independent.js +0 -393
  319. package/src/commands/sprint-task.js +0 -262
  320. package/src/commands/state.js +0 -1164
  321. package/src/commands/token.js +0 -312
  322. package/src/commands/yolo-config.js +0 -502
  323. package/src/config/file-lists.js +0 -147
  324. package/src/config/yolo-config-template.yaml +0 -168
  325. package/src/lib/ai-persona-manager.js +0 -711
  326. package/src/lib/backup-manager.js +0 -271
  327. package/src/lib/cache-system.js +0 -332
  328. package/src/lib/context-engine.js +0 -568
  329. package/src/lib/file-downloader.js +0 -304
  330. package/src/lib/github-integration.js +0 -402
  331. package/src/lib/installer.js +0 -1066
  332. package/src/lib/memory-profiler.js +0 -471
  333. package/src/lib/metrics-collector.js +0 -885
  334. package/src/lib/offline-detector.js +0 -386
  335. package/src/lib/resource-loader-enhanced.js +0 -399
  336. package/src/lib/resource-loader.js +0 -250
  337. package/src/lib/resources/commands/ai-persona.js +0 -602
  338. package/src/lib/resources/commands/compress-context.js +0 -389
  339. package/src/lib/resources/commands/evaluate.js +0 -246
  340. package/src/lib/resources/commands/persona-context-apply.js +0 -562
  341. package/src/lib/resources/commands/token-tracking.js +0 -443
  342. package/src/lib/resources/config/commit-patterns.js +0 -103
  343. package/src/lib/resources/config/language.json +0 -6
  344. package/src/lib/resources/personas/PERSONA_INDEX.md +0 -57
  345. package/src/lib/resources/personas/analyst.json +0 -44
  346. package/src/lib/resources/personas/architect/best_practices.md +0 -136
  347. package/src/lib/resources/personas/architect/knowledge_base.md +0 -377
  348. package/src/lib/resources/personas/architect.json +0 -44
  349. package/src/lib/resources/personas/backend/best_practices.md +0 -766
  350. package/src/lib/resources/personas/backend/knowledge_base.md +0 -1070
  351. package/src/lib/resources/personas/data_analyst/best_practices.md +0 -594
  352. package/src/lib/resources/personas/data_analyst/knowledge_base.md +0 -1057
  353. package/src/lib/resources/personas/developer.json +0 -44
  354. package/src/lib/resources/personas/developer.md +0 -37
  355. package/src/lib/resources/personas/evaluation_criteria.json +0 -137
  356. package/src/lib/resources/personas/frontend/best_practices.md +0 -445
  357. package/src/lib/resources/personas/frontend/knowledge_base.md +0 -729
  358. package/src/lib/resources/personas/persona-index.json +0 -31
  359. package/src/lib/resources/personas/reviewer.json +0 -44
  360. package/src/lib/resources/personas/security/best_practices.md +0 -307
  361. package/src/lib/resources/personas/security/knowledge_base.md +0 -498
  362. package/src/lib/resources/personas/tester.json +0 -44
  363. package/src/lib/resources/templates/README.md +0 -78
  364. package/src/lib/resources/templates/api-server/config.json +0 -64
  365. package/src/lib/resources/templates/api-server/template/.aiwf/config.json +0 -56
  366. package/src/lib/resources/templates/api-server/template/.aiwf/feature-ledger.json +0 -42
  367. package/src/lib/resources/templates/api-server/template/.aiwf/personas/backend-engineer.json +0 -40
  368. package/src/lib/resources/templates/api-server/template/.aiwf/scripts/cli.js +0 -111
  369. package/src/lib/resources/templates/api-server/template/.env.example +0 -29
  370. package/src/lib/resources/templates/api-server/template/.eslintrc.json +0 -23
  371. package/src/lib/resources/templates/api-server/template/README.md +0 -171
  372. package/src/lib/resources/templates/api-server/template/jest.config.js +0 -26
  373. package/src/lib/resources/templates/api-server/template/nodemon.json +0 -9
  374. package/src/lib/resources/templates/api-server/template/package.json +0 -61
  375. package/src/lib/resources/templates/api-server/template/src/app.ts +0 -60
  376. package/src/lib/resources/templates/api-server/template/src/config/swagger.ts +0 -38
  377. package/src/lib/resources/templates/api-server/template/src/controllers/aiwfController.ts +0 -54
  378. package/src/lib/resources/templates/api-server/template/src/controllers/authController.ts +0 -128
  379. package/src/lib/resources/templates/api-server/template/src/controllers/statusController.ts +0 -28
  380. package/src/lib/resources/templates/api-server/template/src/index.ts +0 -28
  381. package/src/lib/resources/templates/api-server/template/src/middleware/aiwfMiddleware.ts +0 -50
  382. package/src/lib/resources/templates/api-server/template/src/middleware/authMiddleware.ts +0 -41
  383. package/src/lib/resources/templates/api-server/template/src/middleware/errorHandler.ts +0 -42
  384. package/src/lib/resources/templates/api-server/template/src/middleware/notFoundHandler.ts +0 -14
  385. package/src/lib/resources/templates/api-server/template/src/middleware/requestLogger.ts +0 -20
  386. package/src/lib/resources/templates/api-server/template/src/routes/aiwf.ts +0 -31
  387. package/src/lib/resources/templates/api-server/template/src/routes/index.ts +0 -13
  388. package/src/lib/resources/templates/api-server/template/src/routes/v1/index.ts +0 -67
  389. package/src/lib/resources/templates/api-server/template/src/utils/logger.ts +0 -37
  390. package/src/lib/resources/templates/api-server/template/tests/app.test.ts +0 -40
  391. package/src/lib/resources/templates/api-server/template/tsconfig.json +0 -43
  392. package/src/lib/resources/templates/npm-library/config.json +0 -61
  393. package/src/lib/resources/templates/npm-library/template/README.md +0 -201
  394. package/src/lib/resources/templates/npm-library/template/package.json +0 -78
  395. package/src/lib/resources/templates/web-app/config.json +0 -53
  396. package/src/lib/resources/templates/web-app/template/.aiwf/config.json +0 -54
  397. package/src/lib/resources/templates/web-app/template/.aiwf/feature-ledger.json +0 -37
  398. package/src/lib/resources/templates/web-app/template/.aiwf/personas/fullstack-developer.json +0 -40
  399. package/src/lib/resources/templates/web-app/template/.aiwf/scripts/cli.js +0 -110
  400. package/src/lib/resources/templates/web-app/template/.eslintrc.cjs +0 -20
  401. package/src/lib/resources/templates/web-app/template/README.md +0 -151
  402. package/src/lib/resources/templates/web-app/template/index.html +0 -14
  403. package/src/lib/resources/templates/web-app/template/package.json +0 -44
  404. package/src/lib/resources/templates/web-app/template/postcss.config.js +0 -6
  405. package/src/lib/resources/templates/web-app/template/public/vite.svg +0 -1
  406. package/src/lib/resources/templates/web-app/template/src/App.tsx +0 -21
  407. package/src/lib/resources/templates/web-app/template/src/components/Layout.tsx +0 -57
  408. package/src/lib/resources/templates/web-app/template/src/components/aiwf/ContextStatus.tsx +0 -107
  409. package/src/lib/resources/templates/web-app/template/src/components/aiwf/TokenUsage.tsx +0 -71
  410. package/src/lib/resources/templates/web-app/template/src/index.css +0 -60
  411. package/src/lib/resources/templates/web-app/template/src/main.tsx +0 -10
  412. package/src/lib/resources/templates/web-app/template/src/pages/AiwfDashboard.tsx +0 -57
  413. package/src/lib/resources/templates/web-app/template/src/pages/HomePage.tsx +0 -89
  414. package/src/lib/resources/templates/web-app/template/src/pages/NotFound.tsx +0 -25
  415. package/src/lib/resources/templates/web-app/template/src/stores/aiwfStore.ts +0 -126
  416. package/src/lib/resources/templates/web-app/template/src/types/global.d.ts +0 -9
  417. package/src/lib/resources/templates/web-app/template/src/vite-env.d.ts +0 -1
  418. package/src/lib/resources/templates/web-app/template/tailwind.config.js +0 -30
  419. package/src/lib/resources/templates/web-app/template/tsconfig.json +0 -37
  420. package/src/lib/resources/templates/web-app/template/tsconfig.node.json +0 -10
  421. package/src/lib/resources/templates/web-app/template/vite.config.ts +0 -23
  422. package/src/lib/resources/utils/background-monitor.js +0 -223
  423. package/src/lib/resources/utils/compression-metrics.js +0 -1031
  424. package/src/lib/resources/utils/compression-strategies.js +0 -557
  425. package/src/lib/resources/utils/content-normalizer.js +0 -455
  426. package/src/lib/resources/utils/context-compressor.js +0 -583
  427. package/src/lib/resources/utils/context-rule-parser.js +0 -180
  428. package/src/lib/resources/utils/context-token-monitor.js +0 -463
  429. package/src/lib/resources/utils/context-update-manager.js +0 -502
  430. package/src/lib/resources/utils/git-utils.js +0 -220
  431. package/src/lib/resources/utils/importance-classifier.js +0 -645
  432. package/src/lib/resources/utils/information-filter.js +0 -710
  433. package/src/lib/resources/utils/persona-aware-compressor.js +0 -598
  434. package/src/lib/resources/utils/prompt-injector.js +0 -242
  435. package/src/lib/resources/utils/simplified-evaluator.js +0 -119
  436. package/src/lib/resources/utils/text-summarizer.js +0 -492
  437. package/src/lib/resources/utils/token-counter.js +0 -177
  438. package/src/lib/resources/utils/token-monitor.js +0 -484
  439. package/src/lib/resources/utils/token-reporter.js +0 -452
  440. package/src/lib/resources/utils/token-storage.js +0 -433
  441. package/src/lib/resources/utils/token-tracker.js +0 -283
  442. package/src/lib/rollback-manager.js +0 -418
  443. package/src/lib/state/priority-calculator.js +0 -217
  444. package/src/lib/state/state-index.js +0 -155
  445. package/src/lib/state/task-scanner.js +0 -328
  446. package/src/lib/task-analyzer.js +0 -599
  447. package/src/lib/template-cache-system.js +0 -559
  448. package/src/lib/template-downloader.js +0 -467
  449. package/src/lib/template-version-manager.js +0 -491
  450. package/src/lib/token-optimizer.js +0 -517
  451. package/src/lib/validator.js +0 -376
  452. package/src/utils/checkpoint-manager.js +0 -435
  453. package/src/utils/engineering-guard.js +0 -399
  454. package/src/utils/language-utils.js +0 -331
  455. package/src/utils/messages.js +0 -166
  456. package/src/utils/paths.js +0 -112
@@ -1,1135 +0,0 @@
1
- # AIWF 전체 API 참조
2
-
3
- [Read in English](API_REFERENCE_FULL.md)
4
-
5
- ## 목차
6
-
7
- 1. [핵심 API](#핵심-api)
8
- - [리소스 로더](#리소스-로더)
9
- - [상태 관리](#상태-관리)
10
- - [템플릿 시스템](#템플릿-시스템)
11
- 2. [명령어 API](#명령어-api)
12
- - [AI 도구 명령어](#ai-도구-명령어)
13
- - [압축 명령어](#압축-명령어)
14
- - [프로젝트 생성](#프로젝트-생성)
15
- - [평가 명령어](#평가-명령어)
16
- - [기능 명령어](#기능-명령어)
17
- - [페르소나 명령어](#페르소나-명령어)
18
- - [상태 명령어](#상태-명령어)
19
- - [토큰 명령어](#토큰-명령어)
20
- - [YOLO 설정](#yolo-설정)
21
- 3. [유틸리티 API](#유틸리티-api)
22
- - [체크포인트 관리자](#체크포인트-관리자)
23
- - [Git 유틸리티](#git-유틸리티)
24
- - [토큰 카운터](#토큰-카운터)
25
- - [텍스트 프로세서](#텍스트-프로세서)
26
- 4. [플러그인 API](#플러그인-api)
27
- - [플러그인 인터페이스](#플러그인-인터페이스)
28
- - [훅 시스템](#훅-시스템)
29
- 5. [AI 통합 API](#ai-통합-api)
30
- - [페르소나 관리자](#페르소나-관리자)
31
- - [압축 엔진](#압축-엔진)
32
- - [평가 시스템](#평가-시스템)
33
-
34
- ---
35
-
36
- ## 핵심 API
37
-
38
- ### 리소스 로더
39
-
40
- 리소스 로더는 모든 프레임워크 리소스를 관리하며, 번들된 리소스와 사용자 리소스에 대한 통합 인터페이스를 제공합니다.
41
-
42
- #### 클래스: `ResourceLoader`
43
-
44
- ```javascript
45
- import { ResourceLoader } from 'aiwf/lib/resource-loader';
46
- ```
47
-
48
- ##### 생성자
49
-
50
- ```javascript
51
- new ResourceLoader(options?: ResourceLoaderOptions)
52
- ```
53
-
54
- **옵션:**
55
- ```typescript
56
- interface ResourceLoaderOptions {
57
- bundledPath?: string; // 번들된 리소스 경로
58
- userPath?: string; // 사용자 리소스 경로
59
- preferUserResources?: boolean; // 사용자 리소스 우선 (기본값: true)
60
- }
61
- ```
62
-
63
- ##### 메서드
64
-
65
- ###### `resolvePath(resourceType, resourceName)`
66
-
67
- 리소스 경로를 확인합니다. 사용자 디렉토리를 먼저 확인한 후 번들된 리소스를 확인합니다.
68
-
69
- ```javascript
70
- async resolvePath(resourceType: string, resourceName: string): Promise<string>
71
- ```
72
-
73
- **예제:**
74
- ```javascript
75
- const loader = new ResourceLoader();
76
- const personaPath = await loader.resolvePath('personas', 'analyst.json');
77
- ```
78
-
79
- ###### `loadResource(resourceType, resourceName)`
80
-
81
- 리소스 파일을 로드하고 파싱합니다.
82
-
83
- ```javascript
84
- async loadResource(resourceType: string, resourceName: string): Promise<any>
85
- ```
86
-
87
- **지원 형식:**
88
- - JSON (`.json`)
89
- - YAML (`.yaml`, `.yml`)
90
- - JavaScript 모듈 (`.js`)
91
- - Markdown (`.md`)
92
-
93
- ###### `listResources(resourceType)`
94
-
95
- 특정 유형의 모든 사용 가능한 리소스를 나열합니다.
96
-
97
- ```javascript
98
- async listResources(resourceType: string): Promise<string[]>
99
- ```
100
-
101
- ###### `copyResource(resourceType, resourceName, destination)`
102
-
103
- 리소스를 지정된 위치로 복사합니다.
104
-
105
- ```javascript
106
- async copyResource(
107
- resourceType: string,
108
- resourceName: string,
109
- destination: string
110
- ): Promise<void>
111
- ```
112
-
113
- ### 상태 관리
114
-
115
- 체크포인트와 원자적 업데이트를 지원하는 애플리케이션 및 프로젝트 상태를 관리합니다.
116
-
117
- #### 클래스: `StateIndexManager`
118
-
119
- ```javascript
120
- import { StateIndexManager } from 'aiwf/lib/state/state-index';
121
- ```
122
-
123
- ##### 생성자
124
-
125
- ```javascript
126
- new StateIndexManager(aiwfPath: string)
127
- ```
128
-
129
- ##### 메서드
130
-
131
- ###### `loadState()`
132
-
133
- 디스크에서 현재 상태를 로드합니다.
134
-
135
- ```javascript
136
- async loadState(): Promise<StateIndex>
137
- ```
138
-
139
- **반환값:**
140
- ```typescript
141
- interface StateIndex {
142
- version: string;
143
- last_updated: string;
144
- last_updated_by: string;
145
- project_info: ProjectInfo;
146
- milestones: Milestone[];
147
- sprints: Sprint[];
148
- tasks: Task[];
149
- workflow_mode: WorkflowMode;
150
- }
151
- ```
152
-
153
- ###### `saveState(state)`
154
-
155
- 자동 백업과 함께 상태를 디스크에 저장합니다.
156
-
157
- ```javascript
158
- async saveState(state: StateIndex): Promise<void>
159
- ```
160
-
161
- ###### `updateProjectInfo(updates)`
162
-
163
- 프로젝트 정보를 업데이트합니다.
164
-
165
- ```javascript
166
- async updateProjectInfo(updates: Partial<ProjectInfo>): Promise<void>
167
- ```
168
-
169
- ###### `addMilestone(milestone)`
170
-
171
- 프로젝트에 새 마일스톤을 추가합니다.
172
-
173
- ```javascript
174
- async addMilestone(milestone: Milestone): Promise<void>
175
- ```
176
-
177
- ### 템플릿 시스템
178
-
179
- 프로젝트 템플릿과 코드 생성을 관리합니다.
180
-
181
- #### 클래스: `TemplateEngine`
182
-
183
- ```javascript
184
- import { TemplateEngine } from 'aiwf/lib/template-engine';
185
- ```
186
-
187
- ##### 메서드
188
-
189
- ###### `listTemplates()`
190
-
191
- 사용 가능한 모든 프로젝트 템플릿을 나열합니다.
192
-
193
- ```javascript
194
- async listTemplates(): Promise<TemplateInfo[]>
195
- ```
196
-
197
- ###### `createFromTemplate(templateName, targetPath, variables)`
198
-
199
- 템플릿에서 새 프로젝트를 생성합니다.
200
-
201
- ```javascript
202
- async createFromTemplate(
203
- templateName: string,
204
- targetPath: string,
205
- variables: Record<string, string>
206
- ): Promise<void>
207
- ```
208
-
209
- **예제:**
210
- ```javascript
211
- const engine = new TemplateEngine();
212
- await engine.createFromTemplate('api-server', './my-api', {
213
- projectName: '내 API',
214
- author: '홍길동',
215
- description: '멋진 API 서버'
216
- });
217
- ```
218
-
219
- ---
220
-
221
- ## 명령어 API
222
-
223
- ### AI 도구 명령어
224
-
225
- AI 도구 통합과 구성을 관리합니다.
226
-
227
- #### 클래스: `AIToolCommand`
228
-
229
- ```javascript
230
- import AIToolCommand from 'aiwf/commands/ai-tool';
231
- ```
232
-
233
- ##### 메서드
234
-
235
- ###### `execute(args)`
236
-
237
- AI 도구 명령을 실행합니다.
238
-
239
- ```javascript
240
- async execute(args: string[]): Promise<void>
241
- ```
242
-
243
- **하위 명령어:**
244
- - `list` - 사용 가능한 모든 AI 도구 나열
245
- - `activate <tool>` - AI 도구 활성화
246
- - `configure <tool>` - AI 도구 구성
247
- - `status` - 현재 AI 도구 상태 표시
248
-
249
- ### 압축 명령어
250
-
251
- 컨텍스트 최적화를 위한 다양한 압축 전략을 제공합니다.
252
-
253
- #### 함수
254
-
255
- ###### `compress(mode, content, options)`
256
-
257
- 지정된 전략을 사용하여 콘텐츠를 압축합니다.
258
-
259
- ```javascript
260
- async compress(
261
- mode: CompressionMode,
262
- content: string,
263
- options?: CompressionOptions
264
- ): Promise<string>
265
- ```
266
-
267
- **압축 모드:**
268
- - `simple` - 기본 공백 및 주석 제거
269
- - `moderate` - 균형 잡힌 압축
270
- - `aggressive` - 최대 압축
271
- - `custom` - 사용자 정의 규칙
272
-
273
- **옵션:**
274
- ```typescript
275
- interface CompressionOptions {
276
- preserveComments?: boolean;
277
- preserveWhitespace?: boolean;
278
- maxLineLength?: number;
279
- customRules?: CompressionRule[];
280
- }
281
- ```
282
-
283
- ### 프로젝트 생성
284
-
285
- 템플릿에서 새 AIWF 프로젝트를 생성합니다.
286
-
287
- #### 함수: `createProject`
288
-
289
- ```javascript
290
- async createProject(options: CreateProjectOptions): Promise<void>
291
- ```
292
-
293
- **옵션:**
294
- ```typescript
295
- interface CreateProjectOptions {
296
- template: string;
297
- name: string;
298
- path?: string;
299
- variables?: Record<string, string>;
300
- skipInstall?: boolean;
301
- gitInit?: boolean;
302
- }
303
- ```
304
-
305
- ### 평가 명령어
306
-
307
- AI 응답과 코드 품질을 평가합니다.
308
-
309
- #### 클래스: `EvaluateCommand`
310
-
311
- ##### 메서드
312
-
313
- ###### `evaluateResponse(file, options)`
314
-
315
- AI 응답의 품질을 평가합니다.
316
-
317
- ```javascript
318
- async evaluateResponse(
319
- file: string,
320
- options?: EvaluationOptions
321
- ): Promise<EvaluationResult>
322
- ```
323
-
324
- ###### `evaluateCode(file, options)`
325
-
326
- 코드 품질과 모범 사례를 평가합니다.
327
-
328
- ```javascript
329
- async evaluateCode(
330
- file: string,
331
- options?: CodeEvaluationOptions
332
- ): Promise<CodeEvaluationResult>
333
- ```
334
-
335
- ### 기능 명령어
336
-
337
- 기능 추적과 개발 워크플로우를 관리합니다.
338
-
339
- #### 함수
340
-
341
- ###### `createFeature(name, description)`
342
-
343
- 새 기능 항목을 생성합니다.
344
-
345
- ```javascript
346
- async createFeature(
347
- name: string,
348
- description?: string
349
- ): Promise<FeatureEntry>
350
- ```
351
-
352
- ###### `updateFeatureStatus(id, status)`
353
-
354
- 기능의 상태를 업데이트합니다.
355
-
356
- ```javascript
357
- async updateFeatureStatus(
358
- id: string,
359
- status: FeatureStatus
360
- ): Promise<void>
361
- ```
362
-
363
- **기능 상태:**
364
- - `planned` - 계획됨
365
- - `in-progress` - 진행 중
366
- - `testing` - 테스트 중
367
- - `completed` - 완료됨
368
- - `deployed` - 배포됨
369
-
370
- ### 페르소나 명령어
371
-
372
- AI 페르소나와 구성을 관리합니다.
373
-
374
- #### 클래스: `PersonaCommand`
375
-
376
- ##### 메서드
377
-
378
- ###### `listPersonas()`
379
-
380
- 사용 가능한 모든 페르소나를 나열합니다.
381
-
382
- ```javascript
383
- async listPersonas(): Promise<PersonaInfo[]>
384
- ```
385
-
386
- ###### `activatePersona(name)`
387
-
388
- 특정 페르소나를 활성화합니다.
389
-
390
- ```javascript
391
- async activatePersona(name: string): Promise<void>
392
- ```
393
-
394
- ###### `createPersona(name, config)`
395
-
396
- 커스텀 페르소나를 생성합니다.
397
-
398
- ```javascript
399
- async createPersona(
400
- name: string,
401
- config: PersonaConfig
402
- ): Promise<void>
403
- ```
404
-
405
- ### 상태 명령어
406
-
407
- 프로젝트 상태와 워크플로우 전환을 관리합니다.
408
-
409
- #### 클래스: `StateCommand`
410
-
411
- ##### 메서드
412
-
413
- ###### `showStatus()`
414
-
415
- 현재 프로젝트 상태를 표시합니다.
416
-
417
- ```javascript
418
- async showStatus(): Promise<StateStatus>
419
- ```
420
-
421
- ###### `checkpoint(name, description)`
422
-
423
- 상태 체크포인트를 생성합니다.
424
-
425
- ```javascript
426
- async checkpoint(
427
- name: string,
428
- description?: string
429
- ): Promise<CheckpointInfo>
430
- ```
431
-
432
- ###### `restore(checkpointId)`
433
-
434
- 체크포인트에서 복원합니다.
435
-
436
- ```javascript
437
- async restore(checkpointId: string): Promise<void>
438
- ```
439
-
440
- ### 토큰 명령어
441
-
442
- AI 토큰 사용량을 모니터링하고 관리합니다.
443
-
444
- #### 함수
445
-
446
- ###### `trackUsage(input, output, model)`
447
-
448
- 토큰 사용량을 기록합니다.
449
-
450
- ```javascript
451
- async trackUsage(
452
- input: string,
453
- output: string,
454
- model?: string
455
- ): Promise<UsageRecord>
456
- ```
457
-
458
- ###### `getUsageReport(period)`
459
-
460
- 사용량 보고서를 생성합니다.
461
-
462
- ```javascript
463
- async getUsageReport(
464
- period?: 'day' | 'week' | 'month'
465
- ): Promise<UsageReport>
466
- ```
467
-
468
- ### YOLO 설정
469
-
470
- YOLO 모드 구성을 관리합니다.
471
-
472
- #### 함수
473
-
474
- ###### `createYoloConfig(options)`
475
-
476
- YOLO 구성 파일을 생성합니다.
477
-
478
- ```javascript
479
- async createYoloConfig(options?: YoloOptions): Promise<void>
480
- ```
481
-
482
- ###### `createInteractiveYoloConfig()`
483
-
484
- 대화형 프롬프트를 통해 구성을 생성합니다.
485
-
486
- ```javascript
487
- async createInteractiveYoloConfig(): Promise<void>
488
- ```
489
-
490
- ---
491
-
492
- ## 유틸리티 API
493
-
494
- ### 엔지니어링 가드
495
-
496
- 자율 실행 중 오버엔지니어링을 방지하고 코드 품질을 유지합니다.
497
-
498
- #### 클래스: `EngineeringGuard`
499
-
500
- ```javascript
501
- import { EngineeringGuard } from 'aiwf/utils/engineering-guard';
502
- ```
503
-
504
- ##### 생성자
505
-
506
- ```javascript
507
- new EngineeringGuard(configPath?: string)
508
- ```
509
-
510
- ##### 메서드
511
-
512
- ###### `checkFileComplexity(filePath)`
513
-
514
- 단일 파일의 복잡성 위반을 검사합니다.
515
-
516
- ```javascript
517
- async checkFileComplexity(filePath: string): Promise<void>
518
- ```
519
-
520
- ###### `checkProject(projectPath, filePatterns)`
521
-
522
- 프로젝트 전체의 포괄적인 복잡성 분석을 수행합니다.
523
-
524
- ```javascript
525
- async checkProject(
526
- projectPath: string,
527
- filePatterns?: string[]
528
- ): Promise<GuardReport>
529
- ```
530
-
531
- **반환값:**
532
- ```typescript
533
- interface GuardReport {
534
- passed: boolean;
535
- violations: Violation[];
536
- warnings: Warning[];
537
- summary: {
538
- total_violations: number;
539
- high_severity: number;
540
- medium_severity: number;
541
- warnings: number;
542
- };
543
- recommendations: string[];
544
- }
545
- ```
546
-
547
- ###### `provideFeedback(filePath, content)`
548
-
549
- 개발 중 실시간 피드백을 제공합니다.
550
-
551
- ```javascript
552
- async provideFeedback(
553
- filePath: string,
554
- content?: string
555
- ): Promise<Feedback[]>
556
- ```
557
-
558
- ###### `generateReport()`
559
-
560
- 포괄적인 분석 리포트를 생성합니다.
561
-
562
- ```javascript
563
- generateReport(): GuardReport
564
- ```
565
-
566
- ### 체크포인트 관리자
567
-
568
- 상태 체크포인트와 복구를 관리합니다.
569
-
570
- #### 클래스: `CheckpointManager`
571
-
572
- ```javascript
573
- import { CheckpointManager } from 'aiwf/utils/checkpoint-manager';
574
- ```
575
-
576
- ##### 생성자
577
-
578
- ```javascript
579
- new CheckpointManager(projectRoot: string)
580
- ```
581
-
582
- ##### 메서드
583
-
584
- ###### `startSession(sprintId, mode)`
585
-
586
- 추적과 함께 새 YOLO 세션을 시작합니다.
587
-
588
- ```javascript
589
- async startSession(sprintId: string, mode?: string): Promise<void>
590
- ```
591
-
592
- ###### `startTask(taskId, taskInfo)`
593
-
594
- 특정 태스크 추적을 시작합니다.
595
-
596
- ```javascript
597
- async startTask(taskId: string, taskInfo?: any): Promise<void>
598
- ```
599
-
600
- ###### `completeTask(taskId, result)`
601
-
602
- 태스크를 결과와 함께 완료된 것으로 표시합니다.
603
-
604
- ```javascript
605
- async completeTask(taskId: string, result?: any): Promise<void>
606
- ```
607
-
608
- ###### `createCheckpoint(type, metadata)`
609
-
610
- 새 체크포인트를 생성합니다.
611
-
612
- ```javascript
613
- async createCheckpoint(
614
- type?: string,
615
- metadata?: CheckpointMetadata
616
- ): Promise<string>
617
- ```
618
-
619
- ###### `listCheckpoints()`
620
-
621
- 사용 가능한 모든 체크포인트를 나열합니다.
622
-
623
- ```javascript
624
- async listCheckpoints(): Promise<CheckpointInfo[]>
625
- ```
626
-
627
- ###### `restoreFromCheckpoint(checkpointId)`
628
-
629
- 특정 체크포인트에서 복원합니다.
630
-
631
- ```javascript
632
- async restoreFromCheckpoint(checkpointId: string): Promise<RestoreResult>
633
- ```
634
-
635
- **반환값:**
636
- ```typescript
637
- interface RestoreResult {
638
- success: boolean;
639
- checkpoint: Checkpoint;
640
- tasks_to_resume: {
641
- completed: string[];
642
- current: string | null;
643
- next_task_hint: string;
644
- };
645
- }
646
- ```
647
-
648
- ###### `generateProgressReport()`
649
-
650
- 포괄적인 진행률 리포트를 생성합니다.
651
-
652
- ```javascript
653
- async generateProgressReport(): Promise<ProgressReport>
654
- ```
655
-
656
- **반환값:**
657
- ```typescript
658
- interface ProgressReport {
659
- session: {
660
- id: string;
661
- started: string;
662
- sprint: string;
663
- mode: string;
664
- };
665
- progress: {
666
- completed: number;
667
- failed: number;
668
- skipped: number;
669
- current: string;
670
- };
671
- performance: {
672
- total_time: string;
673
- avg_task_time: string;
674
- success_rate: string;
675
- };
676
- checkpoints: CheckpointInfo[];
677
- recommendations: string[];
678
- }
679
- ```
680
-
681
- ###### `endSession(summary)`
682
-
683
- 현재 세션을 종료하고 최종 리포트를 생성합니다.
684
-
685
- ```javascript
686
- async endSession(summary?: any): Promise<ProgressReport>
687
- ```
688
-
689
- ### Git 유틸리티
690
-
691
- Git 통합 유틸리티를 제공합니다.
692
-
693
- #### 함수
694
-
695
- ###### `parseCommitMessage(message)`
696
-
697
- 구조화된 커밋 메시지를 파싱합니다.
698
-
699
- ```javascript
700
- parseCommitMessage(message: string): ParsedCommit
701
- ```
702
-
703
- **반환값:**
704
- ```typescript
705
- interface ParsedCommit {
706
- type: string;
707
- scope?: string;
708
- subject: string;
709
- body?: string;
710
- features?: string[];
711
- tasks?: string[];
712
- }
713
- ```
714
-
715
- ###### `getRecentCommits(limit)`
716
-
717
- 최근 커밋 기록을 가져옵니다.
718
-
719
- ```javascript
720
- async getRecentCommits(limit?: number): Promise<Commit[]>
721
- ```
722
-
723
- ### 토큰 카운터
724
-
725
- 다양한 AI 모델의 토큰을 계산합니다.
726
-
727
- #### 함수
728
-
729
- ###### `countTokens(text, model)`
730
-
731
- 텍스트의 토큰을 계산합니다.
732
-
733
- ```javascript
734
- countTokens(text: string, model?: string): number
735
- ```
736
-
737
- **지원 모델:**
738
- - `gpt-3.5-turbo`
739
- - `gpt-4`
740
- - `claude`
741
- - `claude-instant`
742
-
743
- ###### `estimateCost(tokens, model)`
744
-
745
- 토큰 수를 기반으로 비용을 추정합니다.
746
-
747
- ```javascript
748
- estimateCost(tokens: number, model: string): number
749
- ```
750
-
751
- ### 텍스트 프로세서
752
-
753
- 다양한 텍스트 처리 유틸리티입니다.
754
-
755
- #### 함수
756
-
757
- ###### `summarizeText(text, maxLength)`
758
-
759
- 텍스트의 요약을 생성합니다.
760
-
761
- ```javascript
762
- async summarizeText(
763
- text: string,
764
- maxLength?: number
765
- ): Promise<string>
766
- ```
767
-
768
- ###### `extractKeywords(text)`
769
-
770
- 텍스트에서 키워드를 추출합니다.
771
-
772
- ```javascript
773
- extractKeywords(text: string): string[]
774
- ```
775
-
776
- ###### `normalizeWhitespace(text)`
777
-
778
- 텍스트의 공백을 정규화합니다.
779
-
780
- ```javascript
781
- normalizeWhitespace(text: string): string
782
- ```
783
-
784
- ---
785
-
786
- ## 플러그인 API
787
-
788
- ### 플러그인 인터페이스
789
-
790
- AIWF 플러그인의 표준 인터페이스입니다.
791
-
792
- #### 인터페이스: `AIWFPlugin`
793
-
794
- ```typescript
795
- interface AIWFPlugin {
796
- name: string;
797
- version: string;
798
- description?: string;
799
-
800
- // 생명주기 훅
801
- init?(context: PluginContext): Promise<void>;
802
- destroy?(): Promise<void>;
803
-
804
- // 명령어 훅
805
- commands?: Record<string, CommandHandler>;
806
-
807
- // 이벤트 훅
808
- hooks?: Record<string, HookHandler>;
809
- }
810
- ```
811
-
812
- #### 플러그인 컨텍스트
813
-
814
- ```typescript
815
- interface PluginContext {
816
- aiwfPath: string;
817
- projectRoot: string;
818
- config: AIWFConfig;
819
- logger: Logger;
820
-
821
- // 핵심 서비스
822
- resourceLoader: ResourceLoader;
823
- stateManager: StateIndexManager;
824
- templateEngine: TemplateEngine;
825
- }
826
- ```
827
-
828
- ### 훅 시스템
829
-
830
- 이벤트 기반 확장 시스템입니다.
831
-
832
- #### 사용 가능한 훅
833
-
834
- ##### 명령어 생명주기
835
-
836
- ```javascript
837
- hooks: {
838
- 'before-command': async (command, args) => { /* ... */ },
839
- 'after-command': async (command, result) => { /* ... */ },
840
- 'command-error': async (command, error) => { /* ... */ }
841
- }
842
- ```
843
-
844
- ##### 상태 관리
845
-
846
- ```javascript
847
- hooks: {
848
- 'before-state-change': async (oldState, newState) => { /* ... */ },
849
- 'after-state-change': async (oldState, newState) => { /* ... */ },
850
- 'state-checkpoint': async (checkpoint) => { /* ... */ }
851
- }
852
- ```
853
-
854
- ##### 리소스 로딩
855
-
856
- ```javascript
857
- hooks: {
858
- 'before-resource-load': async (type, name) => { /* ... */ },
859
- 'after-resource-load': async (type, name, content) => { /* ... */ },
860
- 'resource-not-found': async (type, name) => { /* ... */ }
861
- }
862
- ```
863
-
864
- ---
865
-
866
- ## AI 통합 API
867
-
868
- ### 페르소나 관리자
869
-
870
- AI 페르소나 구성과 컨텍스트를 관리합니다.
871
-
872
- #### 클래스: `AIPersonaManager`
873
-
874
- ```javascript
875
- import { AIPersonaManager } from 'aiwf/lib/ai-persona-manager';
876
- ```
877
-
878
- ##### 메서드
879
-
880
- ###### `loadPersona(name)`
881
-
882
- 페르소나 구성을 로드합니다.
883
-
884
- ```javascript
885
- async loadPersona(name: string): Promise<Persona>
886
- ```
887
-
888
- ###### `applyPersona(content, persona)`
889
-
890
- 콘텐츠에 페르소나 컨텍스트를 적용합니다.
891
-
892
- ```javascript
893
- applyPersona(content: string, persona: Persona): string
894
- ```
895
-
896
- ###### `validatePersona(persona)`
897
-
898
- 페르소나 구성을 검증합니다.
899
-
900
- ```javascript
901
- validatePersona(persona: Persona): ValidationResult
902
- ```
903
-
904
- ### 압축 엔진
905
-
906
- 지능적인 콘텐츠 압축을 제공합니다.
907
-
908
- #### 클래스: `CompressionEngine`
909
-
910
- ##### 메서드
911
-
912
- ###### `compress(content, strategy)`
913
-
914
- 지정된 전략을 사용하여 콘텐츠를 압축합니다.
915
-
916
- ```javascript
917
- async compress(
918
- content: string,
919
- strategy: CompressionStrategy
920
- ): Promise<CompressedContent>
921
- ```
922
-
923
- ###### `decompress(compressed)`
924
-
925
- 콘텐츠를 압축 해제합니다.
926
-
927
- ```javascript
928
- async decompress(compressed: CompressedContent): Promise<string>
929
- ```
930
-
931
- ###### `analyzeCompression(content)`
932
-
933
- 잠재적인 압축 절감 효과를 분석합니다.
934
-
935
- ```javascript
936
- analyzeCompression(content: string): CompressionAnalysis
937
- ```
938
-
939
- ### 평가 시스템
940
-
941
- AI 응답과 코드 품질을 평가합니다.
942
-
943
- #### 클래스: `EvaluationSystem`
944
-
945
- ##### 메서드
946
-
947
- ###### `evaluateQuality(content, criteria)`
948
-
949
- 콘텐츠 품질을 평가합니다.
950
-
951
- ```javascript
952
- async evaluateQuality(
953
- content: string,
954
- criteria?: EvaluationCriteria
955
- ): Promise<QualityScore>
956
- ```
957
-
958
- ###### `compareResponses(responses)`
959
-
960
- 여러 AI 응답을 비교합니다.
961
-
962
- ```javascript
963
- compareResponses(responses: string[]): ComparisonResult
964
- ```
965
-
966
- ###### `generateReport(evaluations)`
967
-
968
- 평가 보고서를 생성합니다.
969
-
970
- ```javascript
971
- generateReport(evaluations: Evaluation[]): EvaluationReport
972
- ```
973
-
974
- ---
975
-
976
- ## 오류 처리
977
-
978
- 모든 AIWF API는 일관된 오류 처리 패턴을 따릅니다:
979
-
980
- ```javascript
981
- try {
982
- const result = await aiwfApi.someMethod();
983
- } catch (error) {
984
- if (error.code === 'RESOURCE_NOT_FOUND') {
985
- // 누락된 리소스 처리
986
- } else if (error.code === 'VALIDATION_ERROR') {
987
- // 검증 오류 처리
988
- console.error(error.details);
989
- } else {
990
- // 예상치 못한 오류 처리
991
- throw error;
992
- }
993
- }
994
- ```
995
-
996
- ### 오류 코드
997
-
998
- - `RESOURCE_NOT_FOUND` - 요청한 리소스를 찾을 수 없음
999
- - `VALIDATION_ERROR` - 입력 검증 실패
1000
- - `STATE_CONFLICT` - 상태 작업 충돌
1001
- - `PERMISSION_DENIED` - 권한 부족
1002
- - `NETWORK_ERROR` - 네트워크 작업 실패
1003
- - `TIMEOUT` - 작업 시간 초과
1004
-
1005
- ---
1006
-
1007
- ## 모범 사례
1008
-
1009
- ### 리소스 관리
1010
-
1011
- 1. 프레임워크 리소스 접근 시 항상 ResourceLoader 사용
1012
- 2. I/O 작업에는 비동기 메서드 선호
1013
- 3. 리소스를 찾을 수 없는 오류를 우아하게 처리
1014
- 4. 가능한 경우 비용이 많이 드는 작업을 캐시
1015
-
1016
- ### 상태 관리
1017
-
1018
- 1. 충돌 방지를 위해 원자적 상태 업데이트 사용
1019
- 2. 주요 작업 전에 체크포인트 생성
1020
- 3. 상태 전환 검증
1021
- 4. 동시 수정 처리
1022
-
1023
- ### 오류 처리
1024
-
1025
- 1. 다양한 시나리오에 대한 구체적인 오류 코드 사용
1026
- 2. 의미 있는 오류 메시지 제공
1027
- 3. 오류 세부 정보에 컨텍스트 포함
1028
- 4. 적절한 오류 로깅
1029
-
1030
- ### 성능
1031
-
1032
- 1. 대용량 파일에는 스트리밍 사용
1033
- 2. 목록에 페이지네이션 구현
1034
- 3. 자주 액세스하는 데이터 캐시
1035
- 4. 메모리 사용량 모니터링
1036
-
1037
- ---
1038
-
1039
- ## 예제
1040
-
1041
- ### 커스텀 명령어 생성
1042
-
1043
- ```javascript
1044
- import { ResourceLoader } from 'aiwf/lib/resource-loader';
1045
- import { StateIndexManager } from 'aiwf/lib/state/state-index';
1046
-
1047
- export default class CustomCommand {
1048
- constructor() {
1049
- this.loader = new ResourceLoader();
1050
- this.stateManager = new StateIndexManager('.aiwf');
1051
- }
1052
-
1053
- async execute(args) {
1054
- // 현재 상태 로드
1055
- const state = await this.stateManager.loadState();
1056
-
1057
- // 작업 수행
1058
- // ...
1059
-
1060
- // 업데이트된 상태 저장
1061
- await this.stateManager.saveState(state);
1062
- }
1063
- }
1064
- ```
1065
-
1066
- ### 플러그인 생성
1067
-
1068
- ```javascript
1069
- export default {
1070
- name: 'my-plugin',
1071
- version: '1.0.0',
1072
-
1073
- async init(context) {
1074
- this.logger = context.logger;
1075
- this.logger.info('내 플러그인이 초기화되었습니다');
1076
- },
1077
-
1078
- commands: {
1079
- 'my-command': {
1080
- description: '내 커스텀 명령어',
1081
- handler: async (args, options) => {
1082
- // 명령어 구현
1083
- }
1084
- }
1085
- },
1086
-
1087
- hooks: {
1088
- 'after-state-change': async (oldState, newState) => {
1089
- this.logger.info('상태가 변경되었습니다', {
1090
- from: oldState.workflow_mode,
1091
- to: newState.workflow_mode
1092
- });
1093
- }
1094
- }
1095
- };
1096
- ```
1097
-
1098
- ### 압축 엔진 사용
1099
-
1100
- ```javascript
1101
- import { CompressionEngine } from 'aiwf/utils/compression-engine';
1102
-
1103
- const engine = new CompressionEngine();
1104
-
1105
- // 압축 전 분석
1106
- const analysis = engine.analyzeCompression(largeContent);
1107
- console.log(`잠재적 절감: ${analysis.savingsPercent}%`);
1108
-
1109
- // 특정 전략으로 압축
1110
- const compressed = await engine.compress(largeContent, {
1111
- strategy: 'aggressive',
1112
- preserveStructure: true
1113
- });
1114
-
1115
- // 나중에 압축 해제
1116
- const original = await engine.decompress(compressed);
1117
- ```
1118
-
1119
- ---
1120
-
1121
- ## 버전 히스토리
1122
-
1123
- - **v0.3.x** - 현재 안정 버전
1124
- - 완전한 API 재설계
1125
- - 플러그인 시스템 도입
1126
- - 향상된 상태 관리
1127
-
1128
- - **v0.2.x** - 레거시 버전
1129
- - 기본 명령어 구조
1130
- - 초기 리소스 로더
1131
-
1132
- - **v0.1.x** - 초기 릴리스
1133
- - 핵심 프레임워크 설정
1134
-
1135
- 자세한 변경 로그는 [CHANGELOG.md](../CHANGELOG.md)를 참조하세요.