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,168 +0,0 @@
1
- # YOLO Mode Configuration Template
2
- # AIWF 자율 실행 모드 설정
3
- # 이 파일을 .aiwf/yolo-config.yaml에 복사하여 사용하세요
4
-
5
- # 엔지니어링 레벨 설정
6
- engineering_level: minimal # minimal, balanced, complete
7
-
8
- # 포커스 규칙 - 곁길로 빠지지 않도록 제어
9
- focus_rules:
10
- # 요구사항 우선 - 명시된 요구사항만 구현
11
- requirement_first: true
12
-
13
- # 간단한 해결책 선호
14
- simple_solution: true
15
-
16
- # 골드 플레이팅 방지 - 필요 이상의 기능 추가 금지
17
- no_gold_plating: true
18
-
19
- # 트랙 유지 - 원래 목표에서 벗어나지 않음
20
- stay_on_track: true
21
-
22
- # 리팩토링 제한 - 필수적인 경우만 허용
23
- limit_refactoring: false
24
-
25
- # 실행 모드 설정
26
- execution:
27
- # 스마트 모드 - 컨텍스트 기반 의사결정
28
- smart_mode: false
29
-
30
- # 빠른 실행 - 최소한의 검증만 수행
31
- fast_mode: true
32
-
33
- # 테스트 실행 - 각 태스크 완료 후 테스트
34
- run_tests: true
35
-
36
- # 커밋 자동화 - 태스크 완료 시 자동 커밋
37
- auto_commit: false
38
-
39
- # 브랜치 전략
40
- branch_strategy: feature # feature, direct, worktree
41
-
42
- # 중단 조건 - 이러한 상황에서 YOLO 모드 중단
43
- breakpoints:
44
- # 중요 파일 수정 시
45
- critical_files:
46
- - .env
47
- - database/migrations/*
48
- - config/production.js
49
-
50
- # 테스트 실패 임계값 (%)
51
- test_failure_threshold: 10
52
-
53
- # 데이터베이스 스키마 변경 시
54
- schema_changes: true
55
-
56
- # 보안 관련 변경 시
57
- security_changes: true
58
-
59
- # 외부 API 통합 시
60
- external_api: false
61
-
62
- # 진행률 리포트 설정
63
- reporting:
64
- # 상세 레벨
65
- verbosity: normal # quiet, normal, verbose
66
-
67
- # 진행률 업데이트 빈도 (태스크 단위)
68
- update_frequency: 1
69
-
70
- # 요약 리포트 생성
71
- generate_summary: true
72
-
73
- # 메트릭 추적
74
- track_metrics: true
75
-
76
- # 오버엔지니어링 방지 규칙
77
- overengineering_prevention:
78
- # 최대 파일 크기 (줄)
79
- max_file_lines: 300
80
-
81
- # 최대 함수 크기 (줄)
82
- max_function_lines: 50
83
-
84
- # 최대 중첩 깊이
85
- max_nesting_depth: 4
86
-
87
- # 추상화 레벨 제한
88
- max_abstraction_layers: 3
89
-
90
- # 디자인 패턴 사용 제한
91
- limit_design_patterns: true
92
-
93
- # 미래를 위한 코드 금지
94
- no_future_proofing: true
95
-
96
- # 체크포인트 설정
97
- checkpoint:
98
- # 체크포인트 활성화
99
- enabled: true
100
-
101
- # 체크포인트 간격 (태스크 수)
102
- interval: 5
103
-
104
- # 복구 모드
105
- recovery_mode: auto # auto, manual, disabled
106
-
107
- # 상태 저장 위치
108
- state_file: .aiwf/yolo-state.json
109
-
110
- # 태스크 우선순위 설정
111
- priority:
112
- # 우선순위 가중치
113
- weights:
114
- urgency: 0.4
115
- importance: 0.3
116
- dependencies: 0.2
117
- effort: 0.1
118
-
119
- # 의존성 우선 실행
120
- dependency_first: true
121
-
122
- # 블로커 태스크 즉시 처리
123
- handle_blockers: true
124
-
125
- # AI 페르소나 설정
126
- persona:
127
- # 기본 페르소나
128
- default: developer
129
-
130
- # 태스크별 페르소나 자동 선택
131
- auto_select: true
132
-
133
- # 페르소나 전환 규칙
134
- rules:
135
- - pattern: "API|백엔드|서버"
136
- persona: backend
137
- - pattern: "UI|프론트|컴포넌트"
138
- persona: frontend
139
- - pattern: "테스트|검증|QA"
140
- persona: tester
141
-
142
- # 성능 최적화
143
- performance:
144
- # 병렬 실행 (실험적)
145
- parallel_tasks: false
146
-
147
- # 캐시 활용
148
- use_cache: true
149
-
150
- # 불필요한 파일 읽기 스킵
151
- skip_unchanged: true
152
-
153
- # 압축 모드 사용
154
- compression_mode: auto
155
-
156
- # 안전 장치
157
- safety:
158
- # 드라이런 모드 - 실제 변경 없이 시뮬레이션
159
- dry_run: false
160
-
161
- # 백업 생성
162
- create_backup: true
163
-
164
- # 최대 실행 시간 (분)
165
- max_runtime: 120
166
-
167
- # 확인 프롬프트 표시
168
- confirmation_prompts: false
@@ -1,271 +0,0 @@
1
- import fs from 'fs/promises';
2
- import path from 'path';
3
- import ora from 'ora';
4
- import chalk from 'chalk';
5
- import {
6
- TOOL_DIRS,
7
- AIWF_DIRS,
8
- FILES
9
- } from '../utils/paths.js';
10
-
11
- let BACKUP_DIR = null;
12
-
13
- /**
14
- * Generate backup directory name with timestamp
15
- * @returns {string} Backup directory name
16
- */
17
- function getBackupDirName() {
18
- const now = new Date();
19
- const timestamp = now.toISOString().replace(/[:.]/g, '-').slice(0, -5);
20
- return `backup-${timestamp}`;
21
- }
22
-
23
- /**
24
- * Backup a single file with proper naming convention
25
- * @param {string} filePath - File to backup
26
- * @param {string} backupDir - Backup directory path
27
- * @returns {Promise<string|null>} Backup file path or null
28
- */
29
- async function backupFile(filePath, backupDir) {
30
- try {
31
- const exists = await fs.access(filePath).then(() => true).catch(() => false);
32
- if (exists) {
33
- await fs.mkdir(backupDir, { recursive: true });
34
- const backupPath = `${filePath}.bak`;
35
- await fs.copyFile(filePath, backupPath);
36
-
37
- // Tool-specific backup file naming rules
38
- let bakFileName;
39
- if (filePath.startsWith(TOOL_DIRS.CLAUDE_COMMANDS + '/')) {
40
- // Claude Code command files
41
- const relativePath = filePath.substring(TOOL_DIRS.CLAUDE_COMMANDS.length + 1);
42
- bakFileName = `claude-commands-aiwf-${relativePath.replace(/\//g, '-')}.bak`;
43
- } else if (filePath.startsWith(TOOL_DIRS.GEMINI_PROMPTS + '/')) {
44
- // Gemini CLI prompt files
45
- const relativePath = filePath.substring(TOOL_DIRS.GEMINI_PROMPTS.length + 1);
46
- bakFileName = `gemini-prompts-aiwf-${relativePath.replace(/\//g, '-')}.bak`;
47
- } else if (filePath.startsWith(TOOL_DIRS.CURSOR_RULES + '/')) {
48
- // Cursor rule files
49
- const relativePath = filePath.substring(TOOL_DIRS.CURSOR_RULES.length + 1);
50
- bakFileName = `cursor-rules-${relativePath.replace(/\//g, '-')}.bak`;
51
- } else if (filePath.startsWith(TOOL_DIRS.WINDSURF_RULES + '/')) {
52
- // Windsurf rule files
53
- const relativePath = filePath.substring(TOOL_DIRS.WINDSURF_RULES.length + 1);
54
- bakFileName = `windsurf-rules-${relativePath.replace(/\//g, '-')}.bak`;
55
- } else if (filePath.startsWith(AIWF_DIRS.ROOT + '/')) {
56
- // AIWF core files
57
- const relativePath = filePath.substring(AIWF_DIRS.ROOT.length + 1);
58
- bakFileName = `aiwf-${relativePath.replace(/\//g, '-')}.bak`;
59
- } else {
60
- // Other files
61
- bakFileName = path.basename(filePath) + '.bak';
62
- }
63
-
64
- const destPath = path.join(backupDir, bakFileName);
65
- await fs.rename(backupPath, destPath);
66
- return destPath;
67
- }
68
- } catch (error) {
69
- // Backup failed, but continue
70
- }
71
- return null;
72
- }
73
-
74
- /**
75
- * Backup commands and documentation files
76
- * @param {Object} messages - Localized messages
77
- * @param {string} [commandsDir] - Commands directory
78
- * @returns {Promise<Array<string>>} Array of backed up file paths
79
- */
80
- async function backupCommandsAndDocs(messages, commandsDir = TOOL_DIRS.CLAUDE_COMMANDS) {
81
- if (!BACKUP_DIR) BACKUP_DIR = getBackupDirName();
82
- const spinner = ora(messages.backingUp).start();
83
- const backedUpFiles = [];
84
- await fs.mkdir(BACKUP_DIR, { recursive: true });
85
-
86
- try {
87
- // Files that will be updated and need backup
88
- const filesToBackup = Object.values(FILES.CLAUDE_MD);
89
-
90
- // Backup CLAUDE.md files
91
- for (const file of filesToBackup) {
92
- const backupPath = await backupFile(file, BACKUP_DIR);
93
- if (backupPath) {
94
- backedUpFiles.push(backupPath);
95
- }
96
- }
97
-
98
- // Backup all command files
99
- const commandsExist = await fs.access(commandsDir).then(() => true).catch(() => false);
100
- if (commandsExist) {
101
- try {
102
- const commandFiles = await fs.readdir(commandsDir);
103
- for (const file of commandFiles) {
104
- const filePath = path.join(commandsDir, file);
105
- const stat = await fs.stat(filePath);
106
- if (stat.isFile() && file.endsWith('.md')) {
107
- const backupPath = await backupFile(filePath, BACKUP_DIR);
108
- if (backupPath) {
109
- backedUpFiles.push(backupPath);
110
- }
111
- }
112
- }
113
- } catch (error) {
114
- // Commands directory might be empty or have issues
115
- }
116
- }
117
-
118
- // Backup IDE rule files (Cursor)
119
- const cursorRulesExist = await fs.access(TOOL_DIRS.CURSOR_RULES).then(() => true).catch(() => false);
120
- if (cursorRulesExist) {
121
- try {
122
- const cursorFiles = await fs.readdir(TOOL_DIRS.CURSOR_RULES);
123
- for (const file of cursorFiles) {
124
- if (file.endsWith('.mdc')) {
125
- const filePath = path.join(TOOL_DIRS.CURSOR_RULES, file);
126
- const backupPath = await backupFile(filePath, BACKUP_DIR);
127
- if (backupPath) {
128
- backedUpFiles.push(backupPath);
129
- }
130
- }
131
- }
132
- } catch (error) {
133
- // Cursor rules directory might have issues
134
- }
135
- }
136
-
137
- // Backup IDE rule files (Windsurf)
138
- const windsurfRulesExist = await fs.access(TOOL_DIRS.WINDSURF_RULES).then(() => true).catch(() => false);
139
- if (windsurfRulesExist) {
140
- try {
141
- const windsurfFiles = await fs.readdir(TOOL_DIRS.WINDSURF_RULES);
142
- for (const file of windsurfFiles) {
143
- if (file.endsWith('.md')) {
144
- const filePath = path.join(TOOL_DIRS.WINDSURF_RULES, file);
145
- const backupPath = await backupFile(filePath, BACKUP_DIR);
146
- if (backupPath) {
147
- backedUpFiles.push(backupPath);
148
- }
149
- }
150
- }
151
- } catch (error) {
152
- // Windsurf rules directory might have issues
153
- }
154
- }
155
-
156
- if (backedUpFiles.length > 0) {
157
- spinner.succeed(chalk.green(messages.backupComplete.replace('{count}', backedUpFiles.length)));
158
- } else {
159
- spinner.succeed(chalk.gray(messages.noFilesToBackup));
160
- }
161
- return backedUpFiles;
162
- } catch (error) {
163
- spinner.fail(chalk.red(messages.backupFailed));
164
- throw error;
165
- }
166
- }
167
-
168
- /**
169
- * Restore files from backup
170
- * @param {Object} spinner - Ora spinner instance
171
- * @param {Object} messages - Localized messages
172
- * @returns {Promise<void>}
173
- */
174
- async function restoreFromBackup(spinner, messages) {
175
- if (!BACKUP_DIR) return;
176
-
177
- try {
178
- spinner.text = messages.restoringBackup;
179
-
180
- // Get all backup files
181
- const backupFiles = await fs.readdir(BACKUP_DIR);
182
- let restoredCount = 0;
183
-
184
- for (const bakFile of backupFiles) {
185
- if (bakFile.endsWith('.bak')) {
186
- const backupPath = path.join(BACKUP_DIR, bakFile);
187
- let originalPath;
188
-
189
- // Determine original path from backup filename
190
- if (bakFile.startsWith('claude-commands-aiwf-')) {
191
- const relativePath = bakFile
192
- .replace('claude-commands-aiwf-', '')
193
- .replace('.bak', '')
194
- .replace(/-/g, '/');
195
- originalPath = path.join(TOOL_DIRS.CLAUDE_COMMANDS, relativePath);
196
- } else if (bakFile.startsWith('gemini-prompts-aiwf-')) {
197
- const relativePath = bakFile
198
- .replace('gemini-prompts-aiwf-', '')
199
- .replace('.bak', '')
200
- .replace(/-/g, '/');
201
- originalPath = path.join(TOOL_DIRS.GEMINI_PROMPTS, relativePath);
202
- } else if (bakFile.startsWith('cursor-rules-')) {
203
- const relativePath = bakFile
204
- .replace('cursor-rules-', '')
205
- .replace('.bak', '')
206
- .replace(/-/g, '/');
207
- originalPath = path.join(TOOL_DIRS.CURSOR_RULES, relativePath);
208
- } else if (bakFile.startsWith('windsurf-rules-')) {
209
- const relativePath = bakFile
210
- .replace('windsurf-rules-', '')
211
- .replace('.bak', '')
212
- .replace(/-/g, '/');
213
- originalPath = path.join(TOOL_DIRS.WINDSURF_RULES, relativePath);
214
- } else if (bakFile.startsWith('aiwf-')) {
215
- const relativePath = bakFile
216
- .replace('aiwf-', '')
217
- .replace('.bak', '')
218
- .replace(/-/g, '/');
219
- originalPath = path.join(AIWF_DIRS.ROOT, relativePath);
220
- } else {
221
- // Simple filename.ext.bak format
222
- originalPath = bakFile.replace('.bak', '');
223
- }
224
-
225
- try {
226
- // Ensure directory exists
227
- await fs.mkdir(path.dirname(originalPath), { recursive: true });
228
- // Copy backup to original location
229
- await fs.copyFile(backupPath, originalPath);
230
- restoredCount++;
231
- } catch (error) {
232
- // Individual file restore failed, continue with others
233
- }
234
- }
235
- }
236
-
237
- // Clean up backup directory
238
- await fs.rm(BACKUP_DIR, { recursive: true, force: true });
239
- BACKUP_DIR = null;
240
-
241
- spinner.text = messages.backupRestored.replace('{count}', restoredCount);
242
- } catch (error) {
243
- spinner.fail(chalk.red(messages.restoreFailed));
244
- throw error;
245
- }
246
- }
247
-
248
- /**
249
- * Get current backup directory
250
- * @returns {string|null} Current backup directory path
251
- */
252
- function getCurrentBackupDir() {
253
- return BACKUP_DIR;
254
- }
255
-
256
- /**
257
- * Set backup directory
258
- * @param {string} dir - Backup directory path
259
- */
260
- function setBackupDir(dir) {
261
- BACKUP_DIR = dir;
262
- }
263
-
264
- export {
265
- getBackupDirName,
266
- backupFile,
267
- backupCommandsAndDocs,
268
- restoreFromBackup,
269
- getCurrentBackupDir,
270
- setBackupDir
271
- };