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,502 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * YOLO 설정 파일 자동 생성 및 관리
5
- * AIWF YOLO 모드의 설정을 초기화하고 관리하는 유틸리티
6
- */
7
-
8
- import fs from 'fs/promises';
9
- import path from 'path';
10
- import chalk from 'chalk';
11
- import prompts from 'prompts';
12
- import { fileURLToPath } from 'url';
13
-
14
- const __filename = fileURLToPath(import.meta.url);
15
- const __dirname = path.dirname(__filename);
16
-
17
- /**
18
- * 프로젝트 루트 찾기
19
- */
20
- async function findProjectRoot(startDir = process.cwd()) {
21
- let currentDir = startDir;
22
-
23
- while (currentDir !== path.parse(currentDir).root) {
24
- try {
25
- await fs.access(path.join(currentDir, '.aiwf'));
26
- return currentDir;
27
- } catch {
28
- currentDir = path.dirname(currentDir);
29
- }
30
- }
31
-
32
- throw new Error('.aiwf 디렉토리를 찾을 수 없습니다. AIWF 프로젝트 내에서 실행해주세요.');
33
- }
34
-
35
- /**
36
- * YOLO 설정 파일 생성
37
- */
38
- export async function createYoloConfig(options = {}) {
39
- try {
40
- const projectRoot = await findProjectRoot();
41
- const configPath = path.join(projectRoot, '.aiwf', 'yolo-config.yaml');
42
- const templatePath = path.join(__dirname, '..', 'config', 'yolo-config-template.yaml');
43
-
44
- // .aiwf 디렉토리 확인
45
- const aiwfDir = path.join(projectRoot, '.aiwf');
46
- await fs.mkdir(aiwfDir, { recursive: true });
47
-
48
- // 기존 설정 파일이 있는지 확인
49
- let shouldOverwrite = false;
50
- try {
51
- await fs.access(configPath);
52
- if (!options.force) {
53
- const response = await prompts({
54
- type: 'confirm',
55
- name: 'overwrite',
56
- message: 'YOLO 설정 파일이 이미 존재합니다. 덮어쓰시겠습니까?',
57
- initial: false
58
- });
59
- shouldOverwrite = response.overwrite;
60
- } else {
61
- shouldOverwrite = true;
62
- }
63
- } catch {
64
- shouldOverwrite = true;
65
- }
66
-
67
- if (!shouldOverwrite) {
68
- console.log(chalk.yellow('⏭️ YOLO 설정 파일 생성을 건너뜁니다.'));
69
- return { success: false, skipped: true };
70
- }
71
-
72
- // 템플릿 파일 복사
73
- const templateContent = await fs.readFile(templatePath, 'utf-8');
74
-
75
- // 옵션에 따라 설정 커스터마이징
76
- let customizedContent = templateContent;
77
-
78
- if (options.engineeringLevel) {
79
- customizedContent = customizedContent.replace(
80
- /engineering_level: minimal/,
81
- `engineering_level: ${options.engineeringLevel}`
82
- );
83
- }
84
-
85
- if (options.focusMode) {
86
- // 포커스 모드에 따른 규칙 조정
87
- if (options.focusMode === 'strict') {
88
- customizedContent = customizedContent.replace(
89
- /no_gold_plating: true/,
90
- 'no_gold_plating: true\n \n # 엄격 모드 추가 규칙\n strict_requirements: true\n no_extras: true'
91
- );
92
- }
93
- }
94
-
95
- await fs.writeFile(configPath, customizedContent);
96
-
97
- console.log(chalk.green('✅ YOLO 설정 파일이 생성되었습니다!'));
98
- console.log(`📁 위치: ${chalk.cyan(configPath)}`);
99
-
100
- return { success: true, configPath };
101
-
102
- } catch (error) {
103
- throw new Error(`YOLO 설정 파일 생성 실패: ${error.message}`);
104
- }
105
- }
106
-
107
- /**
108
- * 대화형 YOLO 설정 생성
109
- */
110
- export async function createInteractiveYoloConfig() {
111
- try {
112
- console.log(chalk.bold('🛠️ YOLO 설정 마법사'));
113
- console.log('');
114
- console.log(chalk.gray('YOLO 모드의 동작을 커스터마이징할 수 있습니다.'));
115
- console.log('');
116
-
117
- const responses = await prompts([
118
- {
119
- type: 'select',
120
- name: 'engineeringLevel',
121
- message: '엔지니어링 레벨을 선택하세요:',
122
- choices: [
123
- { title: '최소 (Minimal) - 빠른 프로토타입, 최소 구현', value: 'minimal' },
124
- { title: '균형 (Balanced) - 품질과 속도의 균형', value: 'balanced' },
125
- { title: '완전 (Complete) - 완전한 구현, 높은 품질', value: 'complete' }
126
- ],
127
- initial: 0
128
- },
129
- {
130
- type: 'multiselect',
131
- name: 'focusRules',
132
- message: '포커스 규칙을 선택하세요 (스페이스바로 선택):',
133
- choices: [
134
- { title: '요구사항 우선 (requirement_first)', value: 'requirement_first', selected: true },
135
- { title: '간단한 해결책 (simple_solution)', value: 'simple_solution', selected: true },
136
- { title: '골드 플레이팅 방지 (no_gold_plating)', value: 'no_gold_plating', selected: true },
137
- { title: '트랙 유지 (stay_on_track)', value: 'stay_on_track', selected: true },
138
- { title: '리팩토링 제한 (limit_refactoring)', value: 'limit_refactoring', selected: false }
139
- ],
140
- min: 1
141
- },
142
- {
143
- type: 'select',
144
- name: 'executionMode',
145
- message: '실행 모드를 선택하세요:',
146
- choices: [
147
- { title: '빠른 모드 - 최소 검증, 빠른 실행', value: 'fast' },
148
- { title: '스마트 모드 - 컨텍스트 기반 의사결정', value: 'smart' },
149
- { title: '안전 모드 - 철저한 검증', value: 'safe' }
150
- ],
151
- initial: 0
152
- },
153
- {
154
- type: 'confirm',
155
- name: 'enableCheckpoints',
156
- message: '체크포인트 시스템을 활성화하시겠습니까?',
157
- initial: true
158
- },
159
- {
160
- type: prev => prev ? 'number' : null,
161
- name: 'checkpointInterval',
162
- message: '체크포인트 간격 (태스크 수):',
163
- initial: 5,
164
- min: 1,
165
- max: 20
166
- },
167
- {
168
- type: 'confirm',
169
- name: 'autoCommit',
170
- message: '태스크 완료 시 자동 커밋을 사용하시겠습니까?',
171
- initial: false
172
- },
173
- {
174
- type: 'number',
175
- name: 'maxFileLines',
176
- message: '최대 파일 크기 (줄 수):',
177
- initial: 300,
178
- min: 100,
179
- max: 1000
180
- },
181
- {
182
- type: 'number',
183
- name: 'maxFunctionLines',
184
- message: '최대 함수 크기 (줄 수):',
185
- initial: 50,
186
- min: 20,
187
- max: 200
188
- }
189
- ]);
190
-
191
- // 응답이 중단된 경우 처리
192
- if (!responses.engineeringLevel) {
193
- console.log(chalk.yellow('⏭️ 설정 생성이 취소되었습니다.'));
194
- return { success: false, cancelled: true };
195
- }
196
-
197
- console.log('');
198
- console.log(chalk.blue('🔧 YOLO 설정 파일 생성 중...'));
199
-
200
- // 커스텀 설정 파일 생성
201
- const customConfig = await generateCustomConfig(responses);
202
- const projectRoot = await findProjectRoot();
203
- const configPath = path.join(projectRoot, '.aiwf', 'yolo-config.yaml');
204
-
205
- await fs.mkdir(path.dirname(configPath), { recursive: true });
206
- await fs.writeFile(configPath, customConfig);
207
-
208
- console.log(chalk.green('✅ 커스텀 YOLO 설정이 생성되었습니다!'));
209
- console.log(`📁 위치: ${chalk.cyan(configPath)}`);
210
- console.log('');
211
-
212
- // 설정 요약 표시
213
- console.log(chalk.bold('📋 설정 요약:'));
214
- console.log(` 엔지니어링 레벨: ${chalk.yellow(responses.engineeringLevel)}`);
215
- console.log(` 실행 모드: ${chalk.yellow(responses.executionMode)}`);
216
- console.log(` 체크포인트: ${chalk.yellow(responses.enableCheckpoints ? '활성화' : '비활성화')}`);
217
- console.log(` 자동 커밋: ${chalk.yellow(responses.autoCommit ? '활성화' : '비활성화')}`);
218
- console.log(` 최대 파일 크기: ${chalk.blue(responses.maxFileLines)}줄`);
219
- console.log('');
220
-
221
- console.log(chalk.green('🚀 이제 YOLO 모드를 실행할 준비가 되었습니다!'));
222
- console.log(chalk.blue('Claude Code에서 /project:aiwf:yolo 를 실행하세요.'));
223
-
224
- return { success: true, configPath, config: responses };
225
-
226
- } catch (error) {
227
- if (error.message.includes('cancelled')) {
228
- console.log(chalk.yellow('⏭️ 설정 생성이 취소되었습니다.'));
229
- return { success: false, cancelled: true };
230
- }
231
- throw error;
232
- }
233
- }
234
-
235
- /**
236
- * 커스텀 설정 파일 생성
237
- */
238
- async function generateCustomConfig(responses) {
239
- const config = `# YOLO Mode Configuration - AIWF 자율 실행 모드 설정
240
- # 마법사로 생성된 커스텀 설정
241
-
242
- # 엔지니어링 레벨 설정
243
- engineering_level: ${responses.engineeringLevel}
244
-
245
- # 포커스 규칙 - 곁길로 빠지지 않도록 제어
246
- focus_rules:
247
- ${responses.focusRules.map(rule => {
248
- switch(rule) {
249
- case 'requirement_first': return ' # 요구사항 우선 - 명시된 요구사항만 구현\n requirement_first: true';
250
- case 'simple_solution': return ' # 간단한 해결책 선호\n simple_solution: true';
251
- case 'no_gold_plating': return ' # 골드 플레이팅 방지 - 필요 이상의 기능 추가 금지\n no_gold_plating: true';
252
- case 'stay_on_track': return ' # 트랙 유지 - 원래 목표에서 벗어나지 않음\n stay_on_track: true';
253
- case 'limit_refactoring': return ' # 리팩토링 제한 - 필수적인 경우만 허용\n limit_refactoring: true';
254
- default: return '';
255
- }
256
- }).join('\n \n')}
257
-
258
- # 실행 모드 설정
259
- execution:
260
- # 스마트 모드 - 컨텍스트 기반 의사결정
261
- smart_mode: ${responses.executionMode === 'smart'}
262
-
263
- # 빠른 실행 - 최소한의 검증만 수행
264
- fast_mode: ${responses.executionMode === 'fast'}
265
-
266
- # 안전 모드 - 철저한 검증
267
- safe_mode: ${responses.executionMode === 'safe'}
268
-
269
- # 테스트 실행 - 각 태스크 완료 후 테스트
270
- run_tests: true
271
-
272
- # 커밋 자동화 - 태스크 완료 시 자동 커밋
273
- auto_commit: ${responses.autoCommit}
274
-
275
- # 브랜치 전략
276
- branch_strategy: feature # feature, direct, worktree
277
-
278
- # 중단 조건 - 이러한 상황에서 YOLO 모드 중단
279
- breakpoints:
280
- # 중요 파일 수정 시
281
- critical_files:
282
- - .env
283
- - database/migrations/*
284
- - config/production.js
285
-
286
- # 테스트 실패 임계값 (%)
287
- test_failure_threshold: 10
288
-
289
- # 데이터베이스 스키마 변경 시
290
- schema_changes: true
291
-
292
- # 보안 관련 변경 시
293
- security_changes: true
294
-
295
- # 외부 API 통합 시
296
- external_api: false
297
-
298
- # 진행률 리포트 설정
299
- reporting:
300
- # 상세 레벨
301
- verbosity: normal # quiet, normal, verbose
302
-
303
- # 진행률 업데이트 빈도 (태스크 단위)
304
- update_frequency: 1
305
-
306
- # 요약 리포트 생성
307
- generate_summary: true
308
-
309
- # 메트릭 추적
310
- track_metrics: true
311
-
312
- # 오버엔지니어링 방지 규칙
313
- overengineering_prevention:
314
- # 최대 파일 크기 (줄)
315
- max_file_lines: ${responses.maxFileLines}
316
-
317
- # 최대 함수 크기 (줄)
318
- max_function_lines: ${responses.maxFunctionLines}
319
-
320
- # 최대 중첩 깊이
321
- max_nesting_depth: 4
322
-
323
- # 추상화 레벨 제한
324
- max_abstraction_layers: 3
325
-
326
- # 디자인 패턴 사용 제한
327
- limit_design_patterns: true
328
-
329
- # 미래를 위한 코드 금지
330
- no_future_proofing: true
331
-
332
- # 체크포인트 설정
333
- checkpoint:
334
- # 체크포인트 활성화
335
- enabled: ${responses.enableCheckpoints}
336
-
337
- # 체크포인트 간격 (태스크 수)
338
- interval: ${responses.checkpointInterval || 5}
339
-
340
- # 복구 모드
341
- recovery_mode: auto # auto, manual, disabled
342
-
343
- # 상태 저장 위치
344
- state_file: .aiwf/yolo-state.json
345
-
346
- # 태스크 우선순위 설정
347
- priority:
348
- # 우선순위 가중치
349
- weights:
350
- urgency: 0.4
351
- importance: 0.3
352
- dependencies: 0.2
353
- effort: 0.1
354
-
355
- # 의존성 우선 실행
356
- dependency_first: true
357
-
358
- # 블로커 태스크 즉시 처리
359
- handle_blockers: true
360
-
361
- # AI 페르소나 설정
362
- persona:
363
- # 기본 페르소나
364
- default: developer
365
-
366
- # 태스크별 페르소나 자동 선택
367
- auto_select: true
368
-
369
- # 페르소나 전환 규칙
370
- rules:
371
- - pattern: "API|백엔드|서버"
372
- persona: backend
373
- - pattern: "UI|프론트|컴포넌트"
374
- persona: frontend
375
- - pattern: "테스트|검증|QA"
376
- persona: tester
377
-
378
- # 성능 최적화
379
- performance:
380
- # 병렬 실행 (실험적)
381
- parallel_tasks: false
382
-
383
- # 캐시 활용
384
- use_cache: true
385
-
386
- # 불필요한 파일 읽기 스킵
387
- skip_unchanged: true
388
-
389
- # 압축 모드 사용
390
- compression_mode: auto
391
-
392
- # 안전 장치
393
- safety:
394
- # 드라이런 모드 - 실제 변경 없이 시뮬레이션
395
- dry_run: false
396
-
397
- # 백업 생성
398
- create_backup: true
399
-
400
- # 최대 실행 시간 (분)
401
- max_runtime: 120
402
-
403
- # 확인 프롬프트 표시
404
- confirmation_prompts: false`;
405
-
406
- return config;
407
- }
408
-
409
- /**
410
- * 현재 YOLO 설정 확인
411
- */
412
- export async function showYoloConfig() {
413
- try {
414
- const projectRoot = await findProjectRoot();
415
- const configPath = path.join(projectRoot, '.aiwf', 'yolo-config.yaml');
416
-
417
- try {
418
- const configContent = await fs.readFile(configPath, 'utf-8');
419
-
420
- console.log(chalk.bold('🛠️ 현재 YOLO 설정:'));
421
- console.log(`📁 위치: ${chalk.cyan(configPath)}`);
422
- console.log('');
423
-
424
- // 주요 설정 추출
425
- const engineeringLevel = configContent.match(/engineering_level:\s*(\w+)/)?.[1] || 'unknown';
426
- const enabledRules = [];
427
-
428
- if (configContent.includes('requirement_first: true')) enabledRules.push('요구사항 우선');
429
- if (configContent.includes('simple_solution: true')) enabledRules.push('간단한 해결책');
430
- if (configContent.includes('no_gold_plating: true')) enabledRules.push('골드 플레이팅 방지');
431
- if (configContent.includes('stay_on_track: true')) enabledRules.push('트랙 유지');
432
-
433
- const checkpointEnabled = configContent.includes('enabled: true');
434
- const autoCommit = configContent.includes('auto_commit: true');
435
-
436
- console.log(chalk.bold('📋 주요 설정:'));
437
- console.log(` 엔지니어링 레벨: ${chalk.yellow(engineeringLevel)}`);
438
- console.log(` 포커스 규칙: ${chalk.blue(enabledRules.join(', '))}`);
439
- console.log(` 체크포인트: ${chalk.yellow(checkpointEnabled ? '활성화' : '비활성화')}`);
440
- console.log(` 자동 커밋: ${chalk.yellow(autoCommit ? '활성화' : '비활성화')}`);
441
- console.log('');
442
-
443
- console.log(chalk.gray('전체 설정을 보려면 파일을 직접 확인하세요:'));
444
- console.log(chalk.blue(`cat ${configPath}`));
445
-
446
- } catch (error) {
447
- console.log(chalk.yellow('⚠️ YOLO 설정 파일이 없습니다.'));
448
- console.log('');
449
- console.log(chalk.gray('설정 파일을 생성하려면:'));
450
- console.log(chalk.blue('aiwf yolo-config init'));
451
- }
452
-
453
- } catch (error) {
454
- throw new Error(`YOLO 설정 확인 실패: ${error.message}`);
455
- }
456
- }
457
-
458
- /**
459
- * CLI에서 실행될 때
460
- */
461
- if (import.meta.url === `file://${process.argv[1]}`) {
462
- const command = process.argv[2];
463
-
464
- switch (command) {
465
- case 'init':
466
- createYoloConfig({ force: process.argv.includes('--force') })
467
- .catch(error => {
468
- console.error(chalk.red(`오류: ${error.message}`));
469
- process.exit(1);
470
- });
471
- break;
472
-
473
- case 'wizard':
474
- case 'interactive':
475
- createInteractiveYoloConfig()
476
- .catch(error => {
477
- console.error(chalk.red(`오류: ${error.message}`));
478
- process.exit(1);
479
- });
480
- break;
481
-
482
- case 'show':
483
- case 'status':
484
- showYoloConfig()
485
- .catch(error => {
486
- console.error(chalk.red(`오류: ${error.message}`));
487
- process.exit(1);
488
- });
489
- break;
490
-
491
- default:
492
- console.log(chalk.bold('🛠️ YOLO 설정 관리'));
493
- console.log('');
494
- console.log(chalk.yellow('사용법:'));
495
- console.log(` ${chalk.blue('node yolo-config.js init')} - 기본 설정 파일 생성`);
496
- console.log(` ${chalk.blue('node yolo-config.js wizard')} - 대화형 설정 생성`);
497
- console.log(` ${chalk.blue('node yolo-config.js show')} - 현재 설정 확인`);
498
- break;
499
- }
500
- }
501
-
502
- export default { createYoloConfig, createInteractiveYoloConfig, showYoloConfig };
@@ -1,147 +0,0 @@
1
- /**
2
- * AIWF 설치 시 다운로드할 파일 목록들
3
- * 이 파일은 GitHub에서 다운로드할 파일들의 사전 정의된 목록을 포함합니다.
4
- *
5
- * ⚠️ 이 파일은 자동 생성됩니다. 수동으로 편집하지 마세요!
6
- * 업데이트하려면: npm run update:file-lists
7
- *
8
- * Generated at: 2025-07-22T16:39:32.225Z
9
- */
10
-
11
- // Claude Code 명령어 파일 목록 (한국어와 영어 공통)
12
- export const COMMAND_FILES = [
13
- 'aiwf_add_sprint_task.md',
14
- 'aiwf_analyze_milestone.md',
15
- 'aiwf_changelog.md',
16
- 'aiwf_check_state.md',
17
- 'aiwf_code_review.md',
18
- 'aiwf_commit.md',
19
- 'aiwf_compress_aggressive_persona.md',
20
- 'aiwf_compress_context.md',
21
- 'aiwf_compress_minimal_persona.md',
22
- 'aiwf_compress_stats.md',
23
- 'aiwf_compress_with_persona.md',
24
- 'aiwf_create_general_task.md',
25
- 'aiwf_create_milestone_plan.md',
26
- 'aiwf_create_prd.md',
27
- 'aiwf_create_sprint_tasks.md',
28
- 'aiwf_create_sprints_from_milestone.md',
29
- 'aiwf_create_testcase.md',
30
- 'aiwf_default_mode.md',
31
- 'aiwf_discuss_review.md',
32
- 'aiwf_do_task.md',
33
- 'aiwf_docs.md',
34
- 'aiwf_evaluate.md',
35
- 'aiwf_infinite.md',
36
- 'aiwf_initialize.md',
37
- 'aiwf_issue_create.md',
38
- 'aiwf_mermaid.md',
39
- 'aiwf_next_action.md',
40
- 'aiwf_persona_architect.md',
41
- 'aiwf_persona_backend.md',
42
- 'aiwf_persona_data_analyst.md',
43
- 'aiwf_persona_frontend.md',
44
- 'aiwf_persona_security.md',
45
- 'aiwf_persona_status.md',
46
- 'aiwf_pr_create.md',
47
- 'aiwf_prime.md',
48
- 'aiwf_project_review.md',
49
- 'aiwf_project_status.md',
50
- 'aiwf_smart_complete.md',
51
- 'aiwf_smart_start.md',
52
- 'aiwf_test.md',
53
- 'aiwf_testing_review.md',
54
- 'aiwf_tm-run-all-subtask.md',
55
- 'aiwf_transition.md',
56
- 'aiwf_ultrathink_code_advanced.md',
57
- 'aiwf_ultrathink_code_basic.md',
58
- 'aiwf_ultrathink_general.md',
59
- 'aiwf_update_docs.md',
60
- 'aiwf_update_state.md',
61
- 'aiwf_validate_state.md',
62
- 'aiwf_validate_workflow.md',
63
- 'aiwf_workflow_context.md',
64
- 'aiwf_yolo.md'
65
- ];
66
-
67
- // 글로벌 룰 파일 목록
68
- export const GLOBAL_RULES_FILES = [
69
- 'aiwf-code-style-guide.md',
70
- 'aiwf-coding-principles.md',
71
- 'aiwf-development-process.md',
72
- 'aiwf-global-rules.md'
73
- ];
74
-
75
- // 수동 룰 파일 목록
76
- export const MANUAL_RULES_FILES = [
77
- 'aiwf-generate-plan-docs.md'
78
- ];
79
-
80
- // 템플릿 파일 목록 (향후 추가 예정)
81
- export const TEMPLATE_FILES = [
82
- // 템플릿 파일들이 추가되면 여기에 나열
83
- ];
84
-
85
- // 프롬프트 파일 목록 (향후 추가 예정)
86
- export const PROMPT_FILES = [
87
- // 프롬프트 파일들이 추가되면 여기에 나열
88
- ];
89
-
90
- // 모든 파일 목록을 하나의 객체로 export
91
- export const FILE_LISTS = {
92
- COMMAND_FILES,
93
- GLOBAL_RULES_FILES,
94
- MANUAL_RULES_FILES,
95
- TEMPLATE_FILES,
96
- PROMPT_FILES
97
- };
98
-
99
- // 개별 카테고리별 파일 수 정보
100
- export const FILE_COUNTS = {
101
- commands: COMMAND_FILES.length,
102
- globalRules: GLOBAL_RULES_FILES.length,
103
- manualRules: MANUAL_RULES_FILES.length,
104
- templates: TEMPLATE_FILES.length,
105
- prompts: PROMPT_FILES.length,
106
- total: COMMAND_FILES.length + GLOBAL_RULES_FILES.length + MANUAL_RULES_FILES.length + TEMPLATE_FILES.length + PROMPT_FILES.length
107
- };
108
-
109
- /**
110
- * 특정 언어의 파일 존재 여부 확인을 위한 헬퍼 함수들
111
- */
112
-
113
- /**
114
- * 언어별로 존재하지 않을 수 있는 파일들을 필터링
115
- * @param {Array<string>} fileList - 원본 파일 목록
116
- * @param {string} language - 언어 코드 (ko, en)
117
- * @returns {Array<string>} 필터링된 파일 목록
118
- */
119
- export function filterFilesByLanguage(fileList, language) {
120
- // 일부 파일들은 특정 언어에만 존재할 수 있음
121
- const languageSpecificFiles = {
122
- ko: [
123
- // 한국어에만 있는 파일들 (현재는 없음)
124
- ],
125
- en: [
126
- // 영어에만 있는 파일들 (현재는 없음)
127
- ]
128
- };
129
-
130
- // 현재는 모든 파일이 두 언어 모두 존재한다고 가정
131
- return fileList;
132
- }
133
-
134
- /**
135
- * 파일 목록 업데이트를 위한 헬퍼 함수
136
- * 실제 디렉토리를 스캔하여 파일 목록을 업데이트할 수 있는 함수
137
- */
138
- export function getLatestFileList() {
139
- // 이 함수는 향후 자동 업데이트 기능 구현 시 사용
140
- return {
141
- commands: COMMAND_FILES,
142
- globalRules: GLOBAL_RULES_FILES,
143
- manualRules: MANUAL_RULES_FILES,
144
- templates: TEMPLATE_FILES,
145
- prompts: PROMPT_FILES
146
- };
147
- }