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,516 +0,0 @@
1
- # AI Persona System Design Document
2
-
3
- ## Overview
4
-
5
- The AI Persona System is designed to optimize Claude Code's behavior for different development tasks through specialized personas. This document outlines the architecture, implementation strategy, and integration approach.
6
-
7
- ## Design Principles
8
-
9
- 1. **Hybrid Activation**: Automatic detection with manual override capability
10
- 2. **Context Preservation**: Maintain existing context while adding persona-specific rules
11
- 3. **Predefined Personas**: Start with 5 core personas, extensible in future versions
12
- 4. **Prompt Injection**: Integrate with Claude via system prompt modification
13
- 5. **Tool Recommendations**: Suggest optimal tools without hard restrictions
14
- 6. **Dynamic Token Management**: Adjust token allocation based on task complexity
15
- 7. **Metrics-Driven**: Collect completion time and quality metrics for continuous improvement
16
-
17
- ## Architecture
18
-
19
- ### System Components
20
-
21
- ```
22
- ┌─────────────────────────────────────────────────────────────┐
23
- │ Claude Code │
24
- ├─────────────────────────────────────────────────────────────┤
25
- │ AI Persona System │
26
- ├─────────────────┬───────────────────┬───────────────────────┤
27
- │ Persona Manager │ Context Engine │ Metrics Collector │
28
- ├─────────────────┼───────────────────┼───────────────────────┤
29
- │ Auto Detector │ Rule Processor │ Quality Analyzer │
30
- │ Manual Switch │ Token Optimizer │ Time Tracker │
31
- │ State Manager │ Prompt Builder │ Report Generator │
32
- └─────────────────┴───────────────────┴───────────────────────┘
33
- ```
34
-
35
- ### Core Personas
36
-
37
- | Persona | Primary Focus | Key Behaviors | Recommended Tools |
38
- |---------|---------------|---------------|-------------------|
39
- | **Architect** | System design | Big picture thinking, scalability focus | Glob, LS, MarkdownProcessor |
40
- | **Debugger** | Problem solving | Detailed analysis, systematic approach | Grep, Read, MemoryProfiler |
41
- | **Reviewer** | Code quality | Standards compliance, security awareness | Git commands, FileUtils |
42
- | **Documenter** | Documentation | Clear explanations, examples | MarkdownProcessor, TemplateEngine |
43
- | **Optimizer** | Performance | Efficiency focus, benchmarking | PerformanceBenchmark, TokenTracker |
44
-
45
- ## Implementation Strategy
46
-
47
- ### Phase 1: Core Infrastructure
48
-
49
- #### 1.1 Persona Manager Class
50
-
51
- ```javascript
52
- class PersonaManager {
53
- constructor(options = {}) {
54
- this.currentPersona = null;
55
- this.personaHistory = [];
56
- this.autoDetectionEnabled = true;
57
- this.metricsCollector = new MetricsCollector();
58
- this.contextEngine = new ContextEngine();
59
- }
60
-
61
- async switchPersona(personaName, options = {}) {
62
- // Validate persona
63
- if (!this.isValidPersona(personaName)) {
64
- throw new Error(`Invalid persona: ${personaName}`);
65
- }
66
-
67
- // Save current state
68
- if (this.currentPersona) {
69
- this.personaHistory.push({
70
- persona: this.currentPersona,
71
- timestamp: new Date(),
72
- metrics: await this.collectMetrics()
73
- });
74
- }
75
-
76
- // Load new persona
77
- const persona = await this.loadPersona(personaName);
78
-
79
- // Apply context rules
80
- await this.contextEngine.applyPersonaRules(persona);
81
-
82
- // Update state
83
- this.currentPersona = persona;
84
-
85
- // Track switch event
86
- this.metricsCollector.trackEvent('persona_switch', {
87
- from: this.personaHistory[this.personaHistory.length - 1]?.persona?.name,
88
- to: personaName,
89
- trigger: options.manual ? 'manual' : 'auto'
90
- });
91
-
92
- return persona;
93
- }
94
-
95
- async detectOptimalPersona(taskContext) {
96
- // Analyze task characteristics
97
- const analysis = await this.analyzeTask(taskContext);
98
-
99
- // Score each persona
100
- const scores = {};
101
- for (const personaName of this.getAvailablePersonas()) {
102
- scores[personaName] = await this.scorePersonaFit(personaName, analysis);
103
- }
104
-
105
- // Return best match
106
- return Object.entries(scores)
107
- .sort(([,a], [,b]) => b - a)[0][0];
108
- }
109
- }
110
- ```
111
-
112
- #### 1.2 Context Engine
113
-
114
- ```javascript
115
- class ContextEngine {
116
- constructor() {
117
- this.baseContext = null;
118
- this.personaOverlay = null;
119
- this.tokenOptimizer = new TokenOptimizer();
120
- }
121
-
122
- async applyPersonaRules(persona) {
123
- // Preserve base context
124
- if (!this.baseContext) {
125
- this.baseContext = await this.captureCurrentContext();
126
- }
127
-
128
- // Build persona-specific overlay
129
- this.personaOverlay = {
130
- systemPrompt: this.buildSystemPrompt(persona),
131
- priorityPatterns: persona.contextRules.priority,
132
- exclusionPatterns: persona.contextRules.exclude,
133
- focusAreas: persona.contextRules.focus,
134
- keywords: persona.contextRules.keywords
135
- };
136
-
137
- // Optimize token usage
138
- const optimizedContext = await this.tokenOptimizer.optimize(
139
- this.baseContext,
140
- this.personaOverlay,
141
- persona.tokenAllocation
142
- );
143
-
144
- // Inject into Claude
145
- await this.injectContext(optimizedContext);
146
- }
147
-
148
- buildSystemPrompt(persona) {
149
- return `You are currently operating in ${persona.name} mode.
150
-
151
- Key behaviors:
152
- ${persona.behaviors.map(b => `- ${b}`).join('\n')}
153
-
154
- Focus areas:
155
- ${persona.focusAreas.map(f => `- ${f}`).join('\n')}
156
-
157
- Communication style: ${persona.communicationStyle}
158
-
159
- Recommended tools: ${persona.recommendedTools.join(', ')}`;
160
- }
161
- }
162
- ```
163
-
164
- ### Phase 2: Auto-Detection System
165
-
166
- #### 2.1 Task Analyzer
167
-
168
- ```javascript
169
- class TaskAnalyzer {
170
- constructor() {
171
- this.patterns = {
172
- architecture: [
173
- /design|architect|structure|system|scalab/i,
174
- /interface|api|contract|schema/i
175
- ],
176
- debugging: [
177
- /bug|error|fix|issue|problem|debug/i,
178
- /trace|stack|exception|fail/i
179
- ],
180
- review: [
181
- /review|audit|check|quality|standard/i,
182
- /security|vulnerability|code.*smell/i
183
- ],
184
- documentation: [
185
- /document|docs|readme|guide|tutorial/i,
186
- /explain|describe|comment/i
187
- ],
188
- optimization: [
189
- /optimiz|performance|speed|efficient/i,
190
- /benchmark|profile|memory|token/i
191
- ]
192
- };
193
- }
194
-
195
- async analyzeTask(context) {
196
- const analysis = {
197
- command: context.command,
198
- recentFiles: await this.getRecentFiles(),
199
- keywords: this.extractKeywords(context),
200
- gitContext: await this.getGitContext(),
201
- errorState: await this.checkErrorState()
202
- };
203
-
204
- // Score each persona category
205
- analysis.scores = {};
206
- for (const [persona, patterns] of Object.entries(this.patterns)) {
207
- analysis.scores[persona] = this.calculatePatternScore(
208
- analysis,
209
- patterns
210
- );
211
- }
212
-
213
- return analysis;
214
- }
215
-
216
- calculatePatternScore(analysis, patterns) {
217
- let score = 0;
218
-
219
- // Check command
220
- patterns.forEach(pattern => {
221
- if (pattern.test(analysis.command)) score += 10;
222
- });
223
-
224
- // Check keywords
225
- analysis.keywords.forEach(keyword => {
226
- patterns.forEach(pattern => {
227
- if (pattern.test(keyword)) score += 5;
228
- });
229
- });
230
-
231
- // Context bonuses
232
- if (analysis.errorState.hasErrors && patterns.some(p => p.test('debug'))) {
233
- score += 20;
234
- }
235
-
236
- return score;
237
- }
238
- }
239
- ```
240
-
241
- ### Phase 3: Metrics Collection
242
-
243
- #### 3.1 Metrics Collector
244
-
245
- ```javascript
246
- class MetricsCollector {
247
- constructor() {
248
- this.metrics = {
249
- sessions: [],
250
- personaPerformance: {},
251
- taskOutcomes: []
252
- };
253
- this.currentSession = null;
254
- }
255
-
256
- startSession(persona, task) {
257
- this.currentSession = {
258
- id: generateId(),
259
- persona: persona.name,
260
- task: task,
261
- startTime: Date.now(),
262
- events: [],
263
- tokenUsage: {
264
- start: this.getCurrentTokenCount(),
265
- contextSwitches: 0
266
- }
267
- };
268
- }
269
-
270
- trackEvent(eventType, data) {
271
- if (!this.currentSession) return;
272
-
273
- this.currentSession.events.push({
274
- type: eventType,
275
- timestamp: Date.now(),
276
- data
277
- });
278
-
279
- // Special handling for quality events
280
- if (eventType === 'task_completed') {
281
- this.calculateQualityMetrics(data);
282
- }
283
- }
284
-
285
- async calculateQualityMetrics(completionData) {
286
- const metrics = {
287
- completionTime: Date.now() - this.currentSession.startTime,
288
- tokenEfficiency: this.calculateTokenEfficiency(),
289
- errorRate: await this.calculateErrorRate(),
290
- codeQuality: await this.assessCodeQuality(completionData),
291
- userSatisfaction: null // To be collected via feedback
292
- };
293
-
294
- this.currentSession.qualityMetrics = metrics;
295
- this.updatePersonaPerformance(this.currentSession.persona, metrics);
296
- }
297
-
298
- calculateTokenEfficiency() {
299
- const totalTokens = this.getCurrentTokenCount() -
300
- this.currentSession.tokenUsage.start;
301
- const taskComplexity = this.estimateTaskComplexity();
302
-
303
- return {
304
- totalUsed: totalTokens,
305
- efficiency: taskComplexity / totalTokens,
306
- contextSwitches: this.currentSession.tokenUsage.contextSwitches
307
- };
308
- }
309
-
310
- async generateReport(timeRange = 'week') {
311
- const report = {
312
- summary: {
313
- totalSessions: this.metrics.sessions.length,
314
- averageCompletionTime: this.calculateAverageTime(),
315
- personaUsage: this.getPersonaUsageStats(),
316
- qualityTrend: this.calculateQualityTrend()
317
- },
318
- personaAnalysis: this.analyzePersonaEffectiveness(),
319
- recommendations: this.generateRecommendations()
320
- };
321
-
322
- return report;
323
- }
324
-
325
- analyzePersonaEffectiveness() {
326
- const analysis = {};
327
-
328
- for (const [persona, data] of Object.entries(this.metrics.personaPerformance)) {
329
- analysis[persona] = {
330
- averageCompletionTime: average(data.completionTimes),
331
- averageQualityScore: average(data.qualityScores),
332
- tokenEfficiency: average(data.tokenEfficiencies),
333
- bestUseCases: this.identifyBestUseCases(persona),
334
- improvementAreas: this.identifyImprovementAreas(persona)
335
- };
336
- }
337
-
338
- return analysis;
339
- }
340
- }
341
- ```
342
-
343
- ### Phase 4: Integration Points
344
-
345
- #### 4.1 Claude Command Integration
346
-
347
- ```javascript
348
- // In .claude/commands/aiwf/persona-commands.js
349
-
350
- export const personaCommands = {
351
- '/project:aiwf:ai_persona:switch': async (personaName) => {
352
- const manager = getPersonaManager();
353
- await manager.switchPersona(personaName, { manual: true });
354
- return `Switched to ${personaName} persona`;
355
- },
356
-
357
- '/project:aiwf:ai_persona:auto': async (enabled) => {
358
- const manager = getPersonaManager();
359
- manager.autoDetectionEnabled = enabled;
360
- return `Auto-detection ${enabled ? 'enabled' : 'disabled'}`;
361
- },
362
-
363
- '/project:aiwf:ai_persona:status': async () => {
364
- const manager = getPersonaManager();
365
- const current = manager.currentPersona;
366
- const metrics = await manager.metricsCollector.getCurrentSessionMetrics();
367
-
368
- return formatPersonaStatus(current, metrics);
369
- },
370
-
371
- '/project:aiwf:ai_persona:report': async (timeRange) => {
372
- const manager = getPersonaManager();
373
- const report = await manager.metricsCollector.generateReport(timeRange);
374
-
375
- return formatPersonaReport(report);
376
- }
377
- };
378
- ```
379
-
380
- #### 4.2 Git Hook Integration
381
-
382
- ```bash
383
- #!/bin/bash
384
- # .git/hooks/post-commit
385
-
386
- # Detect if this was a bug fix
387
- if git log -1 --pretty=%B | grep -qiE "fix|bug|error"; then
388
- # Suggest debugger persona for follow-up
389
- echo "💡 Tip: Switch to debugger persona for thorough testing"
390
- echo " /project:aiwf:ai_persona:debugger"
391
- fi
392
-
393
- # Track commit patterns for persona optimization
394
- aiwf-persona track-commit
395
- ```
396
-
397
- ## Performance Optimization
398
-
399
- ### Token Management Strategy
400
-
401
- 1. **Base Allocation**: Each persona has a suggested token budget
402
- - Architect: 30% context, 70% response
403
- - Debugger: 50% context, 50% response
404
- - Reviewer: 40% context, 60% response
405
- - Documenter: 20% context, 80% response
406
- - Optimizer: 60% context, 40% response
407
-
408
- 2. **Dynamic Adjustment**: Based on task complexity
409
- - Simple tasks: -20% tokens
410
- - Complex tasks: +30% tokens
411
- - Multi-file tasks: +50% tokens
412
-
413
- 3. **Context Pruning**: Remove irrelevant information
414
- - Architect: Prune implementation details
415
- - Debugger: Prune documentation
416
- - Reviewer: Prune test files
417
- - Documenter: Prune internal logic
418
- - Optimizer: Prune comments
419
-
420
- ## Testing Strategy
421
-
422
- ### Unit Tests
423
-
424
- ```javascript
425
- describe('PersonaManager', () => {
426
- test('switches personas correctly', async () => {
427
- const manager = new PersonaManager();
428
- await manager.switchPersona('architect');
429
-
430
- expect(manager.currentPersona.name).toBe('architect');
431
- expect(manager.personaHistory).toHaveLength(0);
432
- });
433
-
434
- test('detects optimal persona', async () => {
435
- const manager = new PersonaManager();
436
- const taskContext = {
437
- command: 'debug the login error',
438
- recentFiles: ['auth.js', 'login.test.js']
439
- };
440
-
441
- const optimal = await manager.detectOptimalPersona(taskContext);
442
- expect(optimal).toBe('debugger');
443
- });
444
- });
445
- ```
446
-
447
- ### Integration Tests
448
-
449
- ```javascript
450
- describe('Persona System Integration', () => {
451
- test('full workflow with auto-detection', async () => {
452
- // Initialize system
453
- const system = await initializePersonaSystem();
454
-
455
- // Simulate task
456
- const task = {
457
- type: 'bug_fix',
458
- description: 'Fix authentication timeout'
459
- };
460
-
461
- // Start task
462
- await system.startTask(task);
463
-
464
- // Verify persona selection
465
- expect(system.currentPersona.name).toBe('debugger');
466
-
467
- // Complete task
468
- const result = await system.completeTask({
469
- success: true,
470
- filesModified: ['auth.js']
471
- });
472
-
473
- // Verify metrics collected
474
- expect(result.metrics).toHaveProperty('completionTime');
475
- expect(result.metrics).toHaveProperty('tokenEfficiency');
476
- });
477
- });
478
- ```
479
-
480
- ## Rollout Plan
481
-
482
- ### Phase 1: Beta (Week 1-2)
483
- - Core PersonaManager implementation
484
- - Manual switching only
485
- - Basic metrics collection
486
-
487
- ### Phase 2: Auto-Detection (Week 3-4)
488
- - Task analyzer implementation
489
- - Auto-detection with manual override
490
- - Enhanced context engine
491
-
492
- ### Phase 3: Metrics & Optimization (Week 5-6)
493
- - Full metrics collection
494
- - Performance reports
495
- - Token optimization
496
-
497
- ### Phase 4: Production (Week 7+)
498
- - Public release
499
- - User feedback collection
500
- - Continuous improvement
501
-
502
- ## Success Metrics
503
-
504
- 1. **Adoption Rate**: >70% of users actively using personas
505
- 2. **Task Completion Time**: 20% reduction on average
506
- 3. **Token Efficiency**: 30% improvement
507
- 4. **User Satisfaction**: >4.5/5 rating
508
- 5. **Auto-Detection Accuracy**: >85% correct persona selection
509
-
510
- ## Future Enhancements
511
-
512
- 1. **Custom Personas**: User-defined personas
513
- 2. **Team Personas**: Shared team configurations
514
- 3. **Learning System**: ML-based persona optimization
515
- 4. **IDE Integration**: Direct VS Code/Cursor integration
516
- 5. **Persona Marketplace**: Community-shared personas