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
package/README.md CHANGED
@@ -1,298 +1,112 @@
1
- # AIWF (AI Workflow Framework)
1
+ # AIWF — specifications, implementation and evidence
2
2
 
3
- [Read in Korean (한국어로 보기)](README.ko.md)
3
+ [한국어](README.ko.md)
4
4
 
5
- [![NPM Version](https://img.shields.io/npm/v/aiwf.svg)](https://www.npmjs.com/package/aiwf)
6
- [![License](https://img.shields.io/npm/l/aiwf.svg)](https://github.com/moonklabs/aiwf/blob/main/LICENSE)
7
- [![Downloads](https://img.shields.io/npm/dm/aiwf.svg)](https://www.npmjs.com/package/aiwf)
5
+ Read the [Korean skill review documents](docs/ko-skills/README.md) before feature work. Update affected originals, translations and review records together; run `npm run docs:check` before concluding a task. Translation and automated checks do not constitute human approval. See the [optional Claude/Codex delegation design](docs/modernization/DELEGATION-OPTIONAL.ko.md).
8
6
 
9
- ## What is AIWF?
7
+ AIWF keeps use-case specifications in Git, lets existing Claude Code/Codex agents implement them, and records inspectable verification evidence.
10
8
 
11
- AIWF is an AI-powered workflow framework that enables autonomous software development with Claude Code. It provides intelligent command sets and workflow definitions that allow AI to manage entire project lifecycles - from planning to deployment - with minimal human intervention.
9
+ Modernization started on 2026-10-02. The specification workflow is split across two plugins: **`aiwf-core`**, the AIUP-derived methodology core (seven upstream skills for requirements, use cases, entities and specification review), and **`aiwf-spec`**, the AIWF wrapper whose `workflow` skill uses the repository CLI and whose `sync-docs` skill maintains affected documents after development for non-overwriting initialization, specification pins, drift detection and review packets. Two separate Claude/Codex delegation add-ons are available by choice. Sprintable synchronization and unattended execution are planned, not implemented. These features describe this checkout; do not assume they are present in the previously published npm release.
12
10
 
13
- This project is an updated version of [Simone](https://github.com/Helmi/claude-simone).
11
+ See the [direction](docs/modernization/DIRECTION.ko.md), [validation record](docs/modernization/VALIDATION.md), [Sprintable adapter proposal](docs/modernization/SPRINTABLE.ko.md) and [worked example](examples/spec-workflow/README.md).
14
12
 
15
- ## ✨ Core Features
13
+ The [CLI productivity analysis (Korean)](docs/modernization/CLI-PRODUCTIVITY.ko.md) proposes a real use-case pilot before read-only verification and optional checks with versioned execution records. Synchronized documentation remains a quality requirement at every step. These extensions are proposals, not implemented commands.
16
14
 
17
- ### 🤖 **Agent-Based Autonomous Development**
18
- Multi-agent architecture where AIWF acts as the master orchestrator managing entire development workflows, while Claude Code operates as specialized subagents handling specific tasks. YOLO mode enables completely autonomous development - AI handles planning, coding, testing, and deployment without human intervention. Built-in checkpoint system ensures resilience and recovery.
15
+ Two independent Claude sessions assessed the reviewed proposal as conditionally suitable. The [Korean plan review](docs/modernization/CLAUDE-PLAN-REVIEW-2026-10-03.ko.md) preserves their concerns and original input. The revised [pilot plan](docs/modernization/PILOT-UC-001.ko.md) and [local execution result](docs/modernization/PILOT-RESULT-2026-10-03.ko.md) record drift refusal and failing-to-passing service tests. Actual product adoption, human review and productivity gains remain unverified; no proposed CLI commands were added.
19
16
 
20
- ### 🧠 **Intelligent Task Management**
21
- Workflow-based state management with dependency tracking, priority calculation, and smart task recommendations. AI understands project context and suggests optimal next actions.
17
+ ## Start with this checkout
22
18
 
23
- ### 🎭 **Specialized AI Personas**
24
- Five expert personas (Architect, Security, Frontend, Backend, Data Analyst) with specialized knowledge bases and context-aware compression for domain-specific optimization.
19
+ Node.js 20+; Python 3.9+ for structural lint. The new Node CLI has no external dependencies. The target project directory must already exist.
25
20
 
26
- ### 🧬 **Advanced Context Engineering**
27
- Intelligent context construction and optimization that maximizes AI effectiveness while minimizing token usage. Dynamic context compression, workflow-aware prompt engineering, and automatic relevance filtering ensure AI always has the right information at the right time.
28
-
29
- ### 💡 **Smart Context Management**
30
- Token-efficient context strategies with automatic compression, intelligent chunking, and relevance scoring. Maintains comprehensive project understanding while optimizing for AI model limits and performance.
31
-
32
- ### 🔄 **Multi-Agent Architecture**
33
- AIWF operates as the master orchestration agent that coordinates complex development workflows. Claude Code instances function as specialized subagents, each handling specific domains like coding, testing, or documentation. This distributed approach enables parallel processing, fault tolerance, and specialized expertise application.
21
+ ```bash
22
+ node src/cli/spec-cli.js init --root /path/to/project --name "Our service"
23
+ node scripts/install-spec-skills.mjs --project /path/to/project --dry-run
24
+ node scripts/install-spec-skills.mjs --project /path/to/project --stack nestjs-nextjs --dry-run
25
+ node scripts/install-spec-skills.mjs --project /path/to/project --stack nestjs-nextjs
26
+ node scripts/install-spec-skills.mjs --project /path/to/project --delegate codex --dry-run
27
+ ```
34
28
 
35
- ### 🔗 **Seamless Integration**
36
- Native support for Claude Code, Cursor, Windsurf, GitHub, and Git with automated hooks, issue creation, and PR management.
29
+ By default Codex installs the `aiwf-core` seven skills plus the `aiwf-spec` `workflow` and `sync-docs` skills as `aiwf-requirements`, `aiwf-use-case-spec`, ..., `aiwf-workflow`, `aiwf-sync-docs`, with their full references, parsers and attribution. `--stack` selects one of `vaadin-jooq`, `angular-jpa`, `blazor-dotnet` or `nestjs-nextjs` and adds that stack; existing skills are never overwritten and there is no force flag. Live host skill selection and model execution remain separate pilot checks.
37
30
 
38
- ### ✅ **Robust Validation System**
39
- Advanced installation validation with intelligent file checking, dependency verification, and automated troubleshooting. Enhanced validation architecture ensures reliable framework setup and operation.
31
+ After development, use Codex's `aiwf-sync-docs` or Claude Code's `/aiwf-spec:sync-docs` with the change intent, comparison scope and UC IDs. The workflow includes this before completion; it updates affected documents and preserves implementation gaps and unverified behavior. See the [installation and standalone skills CLI guide](plugins/aiwf-spec/README.md#synchronize-documents-after-development) and [Korean review copy](docs/ko-skills/aiwf-spec/skills/sync-docs/SKILL.ko.md). This is a skill, not a new `aiwf-spec` CLI command.
40
32
 
41
- ## 📦 Installation
33
+ Delegation is opt-in: `--delegate claude` and `--delegate codex` add only the selected skill; repeat the option to add both. Claude Code users can instead install either marketplace add-on. To install one portable skill with the skills CLI for Codex or Claude Code, choose both the skill and agent explicitly:
42
34
 
43
- ### Global Installation (Recommended)
35
+ The GitHub-based skills.sh commands below become available after these changes are published to the repository.
44
36
 
45
37
  ```bash
46
- npm install -g aiwf
38
+ npx skills add https://github.com/moonklabs/aiwf --skill delegate-claude --agent codex
39
+ npx skills add https://github.com/moonklabs/aiwf --skill delegate-codex --agent codex
40
+ npx skills add https://github.com/moonklabs/aiwf --skill delegate-claude --agent claude-code
41
+ npx skills add https://github.com/moonklabs/aiwf --skill delegate-codex --agent claude-code
47
42
  ```
48
43
 
49
- ### First Time Setup
44
+ These skills run only when invoked directly. Native delegation is used when the current host matches the target. Starting the other CLI requires the literal `--cross-cli` token in the current request; naming a target alone does not authorize another process. Cross-CLI tasks are read-only by default. A write requires that same request to explicitly ask for changes and state their scope. The CLI runs under the same OS account, directory and environment, follows its own permission policy, and does not inherit the host's sandbox or approvals. See the [delegation design](docs/modernization/DELEGATION-OPTIONAL.ko.md).
50
45
 
51
- After global installation, navigate to your project directory and run:
46
+ ## Plugins
52
47
 
53
- ```bash
54
- aiwf install
55
- ```
48
+ 31 upstream AIUP skills are vendored unchanged plus AIWF's own `workflow`, `sync-docs` and two optional delegation skills (35 total available). `aiwf-core` holds the seven upstream skills; `aiwf-spec` holds the AIWF `workflow` and `sync-docs`.
56
49
 
57
- The installer will guide you through:
50
+ | Plugin | Role | Contents |
51
+ |---|---|---|
52
+ | `aiwf-core` | Methodology core (required) | 7 upstream skills, byte-identical (2.19.0) |
53
+ | `aiwf-spec` | AIWF wrapper (optional) | AIWF `workflow` and `sync-docs` |
54
+ | `aiwf-delegate-claude` | Optional delegation add-on | `delegate-claude` |
55
+ | `aiwf-delegate-codex` | Optional delegation add-on | `delegate-codex` |
56
+ | `aiwf-vaadin-jooq` | Stack | 8 upstream skills (2.20.0) |
57
+ | `aiwf-angular-jpa` | Stack | 6 upstream skills (0.7.0) |
58
+ | `aiwf-blazor-dotnet` | Stack | 5 upstream skills (0.7.0) |
59
+ | `aiwf-nestjs-nextjs` | Stack | 5 upstream skills (0.4.0) |
58
60
 
59
- 1. **Language Selection**: Choose between English and Korean
60
- 2. **Project Setup**: Initialize AIWF in your current directory
61
- 3. **Claude Commands**: Install language-specific commands
62
- 4. **Documentation**: Download guides and templates
63
- 5. **Validation**: Comprehensive installation verification and troubleshooting
61
+ Each plugin vendors the upstream files it imports with a per-plugin `UPSTREAM.json` (`skills/` plus, for stacks, `rules/` and any `agents/`, `LICENSE`, `NOTICE`). The only upstream source change is the AIWF attribution appended to the `aiwf-core` NOTICE; every other vendored file is byte-identical. `aiwf-spec` has no upstream of its own and links the core [UPSTREAM.json](plugins/aiwf-core/UPSTREAM.json). Installation copies files: it does not register native Codex subagents or configure MCP. Bundled agent prompts such as `agents/uc-coverage.md` are copied as resources, and the `workflow` skill describes the host mapping. See [SKILLS.ko.md](docs/modernization/SKILLS.ko.md) for names, counts and the pin-update procedure.
64
62
 
65
- ## 🚀 Getting Started Guide
63
+ For Claude Code, add this checkout's absolute path as a local marketplace during development, then install the core, the wrapper and any stack you need (`aiwf-core`, `aiwf-spec`, `aiwf-<stack>`) and invoke a qualified command such as `/aiwf-core:use-case-spec`, `/aiwf-spec:workflow` or `/aiwf-nestjs-nextjs:implement`. After publishing these changes, the remote marketplace source can be `moonklabs/aiwf`.
66
64
 
67
- ### Step 1: Installation
68
- ```bash
69
- # Install globally
70
- npm install -g aiwf
71
-
72
- # Setup in your project directory
73
- cd your-project
74
- aiwf install
75
- ```
65
+ ## Workflow
76
66
 
77
- ### Step 2: Project Planning Phase
78
- Enter **Plan Mode** - describe what you want to build and your project goals. **Do not start coding yet.**
79
- - Engage in thorough Q&A to clarify objectives
80
- - Define project scope and requirements
81
- - Set clear success criteria
82
-
83
- ### Step 3: Initialize Project Framework
84
- ```bash
85
- # Create/update Claude configuration
86
- /init
67
+ Write vision → requirements → glossary/entities → use cases → test definitions. For existing applications, draft observed behavior using `reverse-engineer`. Keep IDs stable and use canonical `docs/use_cases/UC-*.md` and `docs/test_cases/TC-*.md` paths. Implementation plans and architecture documents live under `docs/plans/` and `docs/architecture/`.
87
68
 
88
- # Initialize AIWF framework (creates first milestone)
89
- /project:aiwf:aiwf_initialize
90
- ```
69
+ Use English structural headings and status tokens. Korean prose is supported, but structural lint does not guarantee Korean semantic completeness.
91
70
 
92
- ### Step 4: Create Sprint Plans
93
71
  ```bash
94
- # Generate sprints from milestone (first sprint becomes active)
95
- /project:aiwf:aiwf_create_sprints_from_milestone M01
96
-
97
- # If only one milestone exists, you can omit the milestone code
98
- /project:aiwf:aiwf_create_sprints_from_milestone
72
+ python3 plugins/aiwf-core/skills/spec-review/scripts/spec_lint.py \
73
+ --docs /path/to/project/docs --strict --no-baseline
74
+ node src/cli/spec-cli.js pin --root /path/to/project
75
+ node src/cli/spec-cli.js check --root /path/to/project --json
99
76
  ```
100
77
 
101
- ### Step 5: Review and Refine
102
- Review generated plans and refine through Q&A until satisfied with the approach.
103
-
104
- ### Step 6: Generate Task Lists
105
- ```bash
106
- # Create detailed tasks for active sprint (first task becomes active)
107
- /project:aiwf:aiwf_create_sprint_tasks
108
- ```
78
+ Initialization creates Draft templates; complete them and add UC/TC documents before pinning. Review meaning separately from structural lint. A pin records byte-level SHA256 hashes; it grants no approval. After a reviewed spec change, explicitly refresh the pin with `--refresh` and rerun affected checks.
109
79
 
110
- ### Step 7: Execute Development
111
- ```bash
112
- # Execute individual task
113
- /project:aiwf:aiwf_do_task [task-id]
80
+ Implement with the current project's tools, execute actual checks, and save logs. Create an evidence JSON file:
114
81
 
115
- # OR run autonomous development for entire sprint
116
- /project:aiwf:aiwf_yolo
82
+ ```json
83
+ {
84
+ "checks": [
85
+ {"name": "UC-001 regression", "command": "npm test", "status": "passed", "log": "artifacts/test.log"},
86
+ {"name": "Business acceptance", "command": "stakeholder review", "status": "not_run"}
87
+ ],
88
+ "unverified": ["Stakeholder acceptance has not been recorded"]
89
+ }
117
90
  ```
118
91
 
119
- **YOLO Mode** orchestrates multiple Claude Code subagents to execute all sprint tasks continuously without interruption. The master agent coordinates planning while specialized subagents handle coding, testing, documentation, and commits automatically.
120
-
121
- ### Key Commands
122
-
123
- - **Initialize**: `/project:aiwf:aiwf_initialize` - Initial project setup
124
- - **Plan**: `/project:aiwf:aiwf_create_milestone_plan` - Create milestone plans
125
- - **Sprint**: `/project:aiwf:aiwf_create_sprints_from_milestone` - Generate sprints
126
- - **Task**: `/project:aiwf:aiwf_do_task` - Execute tasks
127
- - **Review**: `/project:aiwf:aiwf_code_review` - Code review
128
- - **GitHub Integration**: `/project:aiwf:aiwf_issue_create`, `/project:aiwf:aiwf_pr_create`
129
- - **AI Personas**: `/project:aiwf:aiwf_ai_persona_architect`, `/project:aiwf:aiwf_ai_persona_debugger`, etc.
130
-
131
- ### 🚀 YOLO Mode - Autonomous AI Development
132
-
133
- Revolutionary multi-agent orchestration that enables completely autonomous development workflows. AIWF acts as the master agent coordinating multiple Claude Code subagents:
92
+ This is an input-format example, not a test result. Executed checks require log files inside the project root. The CLI records submitted command strings and never executes them.
134
93
 
135
94
  ```bash
136
- # Full autonomous development - AI handles everything
137
- /project:aiwf:aiwf_yolo
138
-
139
- # Target specific sprint execution
140
- /project:aiwf:aiwf_yolo S03
141
-
142
- # Continuous multi-sprint development
143
- /project:aiwf:aiwf_yolo sprint-all
144
- ```
145
-
146
- Master agent analyzes requirements and coordinates specialized subagents that create tasks, write code, run tests, and commit changes - achieving true multi-agent autonomous software development.
147
-
148
- ## 🛠️ CLI Tools
149
-
150
- AIWF provides several specialized CLI tools for different aspects of project management:
151
-
152
- ### Main CLI Commands
153
- - `aiwf install` - Install AIWF framework in current project
154
- - `aiwf create-project` - Create new project from templates
155
- - `aiwf compress` - Context compression for token optimization
156
- - `aiwf token` - Token usage monitoring and management
157
- - `aiwf persona` - AI persona management
158
- - `aiwf evaluate` - AI response and code quality evaluation
159
-
160
- ### Sprint Management (`aiwf-sprint`)
161
- - `aiwf-sprint create` - Create new independent sprint
162
- - `aiwf-sprint list` - List all sprints
163
- - `aiwf-sprint status` - Show sprint status and progress
164
- - `aiwf-sprint task create` - Add tasks to sprint
165
- - `aiwf-sprint task execute` - Execute sprint tasks
166
-
167
- ### Checkpoint System (`aiwf-checkpoint`)
168
- - `aiwf-checkpoint create` - Create project checkpoint for rollback
169
- - `aiwf-checkpoint list` - List all available checkpoints
170
- - `aiwf-checkpoint restore` - Restore project to previous checkpoint
171
-
172
- ### Language Management (`aiwf-lang`)
173
- - `aiwf-lang status` - Check current language settings
174
- - `aiwf-lang set ko` - Switch to Korean
175
- - `aiwf-lang set en` - Switch to English
176
-
177
- ### Cache Management (`aiwf-cache`)
178
- - `aiwf-cache download` - Download templates to local cache
179
- - `aiwf-cache list` - List all cached templates
180
- - `aiwf-cache clean` - Clean cache storage
181
- - `aiwf-cache update` - Update cached templates
182
- - `aiwf-cache status` - Check cache status and usage
183
-
184
- ## 📁 What Gets Installed
185
-
186
- ### Directory Structure
187
-
188
- ```text
189
- your_project/
190
- ├── .aiwf/ # Project management root
191
- │ ├── 00_PROJECT_MANIFEST.md # Central tracking document
192
- │ ├── 01_PROJECT_DOCS/ # Project documentation
193
- │ ├── 02_REQUIREMENTS/ # Milestone requirements
194
- │ ├── 03_SPRINTS/ # Sprint execution tracking
195
- │ ├── 04_GENERAL_TASKS/ # Standalone tasks
196
- │ ├── 05_ARCHITECTURAL_DECISIONS/ # ADR documents
197
- │ ├── 10_STATE_OF_PROJECT/ # Project state snapshots
198
- │ ├── 98_PROMPTS/ # Useful AI prompts
199
- │ └── 99_TEMPLATES/ # Document templates
200
- ├── .claude/commands/aiwf/ # Language-specific Claude commands
201
- ├── .cursor/rules/ # Cursor IDE development rules
202
- └── .windsurf/rules/ # Windsurf IDE development rules
95
+ node src/cli/spec-cli.js packet --root /path/to/project --evidence /path/to/project/evidence.json
203
96
  ```
204
97
 
205
- ### Language-Specific Content
206
-
207
- Based on your language selection, you'll get:
208
-
209
- **English Version (`en/`)** (Default):
210
-
211
- - English Claude commands
212
- - English documentation and templates
213
- - Standard project management content
214
-
215
- **Korean Version (`ko/`)**:
216
-
217
- - Korean Claude commands (with `_kr` suffix available)
218
- - Korean documentation and templates
219
- - Localized project management content
220
-
221
- ## 🏗️ Code Architecture
222
-
223
- ### Optimized Validation System
224
-
225
- AIWF features a significantly improved validation system that ensures reliable installation and operation:
98
+ The packet embeds logs and their hashes, specification digests, Git context when available, reported results and limitations. It preserves failed/unexecuted checks and stays `awaiting_review`. Results are not independently verified; human acceptance, approval, merge and deployment need their own evidence. Existing packets require explicit `--force` to overwrite.
226
99
 
227
- #### Key Improvements in v0.3.18+
228
- - **86% Code Reduction**: Streamlined validator.js from 348 lines to 48 lines
229
- - **Unified Interface**: Single `validateInstallation()` function replaces 3 redundant methods
230
- - **Constants-Based Configuration**: All validation parameters centralized in `VALIDATION_CONSTANTS`
231
- - **Enhanced Error Reporting**: Specific, actionable error messages with detailed diagnostics
100
+ ## Validate
232
101
 
233
- #### VALIDATION_CONSTANTS Structure
234
- ```javascript
235
- const VALIDATION_CONSTANTS = {
236
- MIN_FILE_SIZE: 10, // Minimum file size requirement
237
- MIN_RULE_FILE_SIZE: 50, // Minimum size for AI tool rule files
238
- MIN_FILE_COUNT: {
239
- CURSOR_MDC: 2, // Required .mdc files for Cursor
240
- WINDSURF_MD: 2, // Required .md files for Windsurf
241
- CLAUDE_COMMANDS: 4 // Required command files for Claude
242
- }
243
- };
102
+ ```bash
103
+ npm run test:spec
104
+ npm run validate:spec-plugin
105
+ npm run test:spec-upstream
244
106
  ```
245
107
 
246
- #### Validation Features
247
- - **Multi-Tool Support**: Validates Claude Code, Cursor, Windsurf, and Gemini CLI
248
- - **File Integrity Checks**: Size validation, accessibility verification, and structure validation
249
- - **Intelligent Error Recovery**: Detailed troubleshooting guidance for failed validations
250
- - **Performance Optimized**: Faster execution with reduced memory footprint
251
-
252
- ### Clean Architecture Principles
253
-
254
- The codebase follows clean architecture principles for maintainability and extensibility:
255
-
256
- #### Eliminated Code Duplication
257
- - **Unified Validation Logic**: Consolidated validation functions eliminate redundancy
258
- - **Shared Constants**: Centralized configuration reduces maintenance overhead
259
- - **Streamlined Error Handling**: Consistent error reporting across all validation types
260
-
261
- #### Improved Developer Experience
262
- - **Clear Separation of Concerns**: Validation, file management, and error reporting are properly isolated
263
- - **Maintainable Code Structure**: Reduced complexity makes the codebase easier to understand and modify
264
- - **Performance Benefits**: Optimized code paths improve installation speed and reliability
265
-
266
- ## 📚 Documentation
267
-
268
- ### Core Documentation
269
- - [Commands Guide](docs/COMMANDS_GUIDE.md) - Complete list of AIWF commands
270
- - [CLI Usage Guide](docs/CLI_USAGE_GUIDE.md) - Detailed CLI tool documentation
271
- - [Getting Started](docs/GETTING_STARTED.md) - Quick start guide for new users
272
- - [Development Guide](docs/DEVELOPMENT_GUIDE.md) - Contributing to AIWF
273
-
274
- ### Feature Guides
275
- - [Independent Sprint Guide](docs/guides/independent-sprint-guide.md) - YOLO-focused sprint creation
276
- - [Checkpoint System Guide](docs/guides/checkpoint-system-guide.md) - Recovery and progress tracking
277
- - [AI Personas Guide](docs/guides/ai-personas-guide.md) - Using specialized AI personas
278
- - [Context Compression Guide](docs/guides/context-compression-guide.md) - Token optimization strategies
279
- - [Feature Git Integration Guide](docs/guides/feature-git-integration-guide.md) - Git hooks and tracking
280
-
281
- ### Technical Documentation
282
- - [Architecture](docs/ARCHITECTURE.md) - System architecture and design
283
- - [State Management Guide](docs/STATE_MANAGEMENT_GUIDE.md) - Workflow-based state system
284
- - [AI Workflow](docs/AI-WORKFLOW.md) - AI integration patterns
285
- - [API Reference](docs/API_REFERENCE.md) - Programmatic usage
286
- - [Complete API Reference](docs/API_REFERENCE_FULL.md) - Comprehensive API documentation
287
- - [Validator API Reference](docs/VALIDATOR_API.md) - Validation system API documentation
288
- - [Code Cleanup Guide](docs/CODE_CLEANUP_GUIDE.md) - Code cleanup principles and patterns
289
- - [Troubleshooting](docs/TROUBLESHOOTING.md) - Common issues and solutions
290
-
291
- ## 📖 Source
292
-
293
- This installer fetches the AIWF framework from:
294
- <https://github.com/moonklabs/aiwf>
108
+ The old installer, language/sprint/persona/YOLO commands, duplicate skill collections and legacy plugins have been removed. The npm package exposes only `aiwf-spec`, with no external Node dependencies. `npm test` runs the current regression suite. This is a breaking change from the old framework; previously installed project data is untouched.
295
109
 
296
- ## 📝 License
110
+ ## Attribution and licenses
297
111
 
298
- MIT
112
+ The `aiwf-core` methodology plugin and the four stack plugins derive from the [AI Unified Process marketplace](https://github.com/AI-Unified-Process/marketplace) at commit `065dadda0f696c29ff2bacbda31b38152082e6fa`: `aiwf-core` and `aiwf-vaadin-jooq` by Simon Martinelli, `aiwf-angular-jpa` by Marc Affolter, `aiwf-blazor-dotnet` by Carl J. Mosca and `aiwf-nestjs-nextjs` by Swift Ugandan. Each plugin's `UPSTREAM.json` records the exact source commit, original hashes and modifications. Existing AIWF code remains [MIT](LICENSE); imported plugins carry [Apache-2.0](plugins/aiwf-core/LICENSE) and [NOTICE](plugins/aiwf-core/NOTICE).
@@ -0,0 +1,105 @@
1
+ # 브라운필드와 그린필드 작업 가이드
2
+
3
+ 작성: 2026-10-04. 상태: 제안, 휴먼 검토 대기.
4
+
5
+ AIWF의 기존 명세·검증 흐름을 프로젝트의 출발점에 맞춰 적용하는 가이드다. 새로운 스킬이나 CLI 모드를 구현한 기록이 아니다. 상세 역설계는 [깊은 역설계 검토안](DEEP-REVERSE-ENGINEERING.ko.md)을 따른다.
6
+
7
+ ## 출발점과 공통 원칙
8
+
9
+ | 구분 | 브라운필드: 운영·개발 중인 기존 시스템 | 그린필드: 새 제품·시스템 |
10
+ | --- | --- | --- |
11
+ | 출발점 | 현재 구현, 사용자 업무, 기존 데이터·연동 계약 | 해결할 문제, 대상 사용자, 제약과 가설 |
12
+ | 첫 질문 | 무엇을 개선하며 무엇을 유지해야 하는가? | 누구의 어떤 목표를 먼저 달성할 것인가? |
13
+ | 초기 조사 | 현행 동작과 변경 영향 범위 | 요구사항과 중요한 불확실성 |
14
+ | 검증 기준 | 보존할 기존 동작 + 요청한 변경 | 명세한 동작 + 실제 사용 가치 |
15
+ | 주요 위험 | 회귀, 데이터 손상, 기존 연동과의 비호환 | 잘못된 가정, 과도한 설계, 불필요한 기능 |
16
+
17
+ 두 경우 모두 유스케이스 하나를 문서 → 구현 → 실제 검증까지 연결하고 반복한다. 작업의 종류가 개선, 버그 수정, 신규 기능, 분석 중 무엇인지와 종료 지점을 먼저 정한다. 분석만 요청했다면 구현으로 자동 확장하지 않는다.
18
+
19
+ ## 브라운필드 진행 순서
20
+
21
+ 1. **변경 목표를 먼저 정한다.** 해결할 문제, 기대 결과, 유지할 동작, 이번에 건드리지 않을 범위를 쓴다. 예를 들어 “지출 제출에 승인을 추가하되 기존 조회와 제출 데이터는 유지한다”처럼 구체화한다.
22
+ 2. **현재 실행 기준을 확보한다.** 커밋·미커밋 변경, 환경, 설정, 스키마 버전과 기존 테스트 결과를 기록한다. 현재 실패도 숨기지 않고 실행 불가, 기존 결함, 원인 미확인으로 분류한다. 기존 실패와 신규 회귀의 구분에 실제 근거를 남긴다.
23
+ 3. **전체를 얕게, 변경 주변을 깊게 조사한다.** 시스템 지도에서 관련 UC를 고른다. 호출 경로, 공유 데이터, 권한, 외부 연동, 비동기 작업과 사용자 영향을 추적한다. 먼저 모든 기능을 완벽하게 문서화하는 것을 변경 착수의 조건으로 만들지 않는다. 변경 과정에서 영향 범위가 넓어지면 해당 부분을 추가 조사한다.
24
+ 4. **현행 동작을 근거와 함께 기록한다.** 기존 UC/용어/엔티티 문서를 활용하고 빠진 부분만 복원한다. 중요한 보존 동작에 기존 테스트를 연결하고, 부족하면 현재 동작을 재현하는 회귀 테스트를 보강한다. 알려진 버그를 재현한 결과와 유지할 정상 동작을 구분한다.
25
+ 5. **변경 차이를 명세한다.** 유지·추가·변경·폐기할 규칙과 대안 흐름, 영향받는 UC, 데이터와 외부 계약을 적는다. 기존 UC가 달라지면 같은 ID를 갱신하고, 독립된 새 사용자 목표라면 새 UC를 추가한다. 같은 엔티티·용어·규칙을 중복 정의하지 않는다.
26
+ 6. **변경에 맞는 검증과 이전 계획을 정한다.** 기존 동작을 확인하는 회귀 검증과 새 요구사항 검증을 함께 계획한다. 데이터 변경이 있으면 기존 데이터 변환·누락값·재실행을 확인한다. 연동 변경이 있으면 이전·새 호출자의 호환성을 검토한다. 배포가 필요한 범위에서는 단계적 적용, 관찰 항목과 되돌리기 조건을 정한다. 데이터 변환 후에는 단순 코드 롤백만으로 복구되지 않을 수 있다.
27
+ 7. **작은 범위로 구현하고 비교 검증한다.** 개선과 무관한 대규모 정리를 섞지 않는다. 선택한 UC와 공유 경계의 테스트를 실행하고 필요한 통합·전체 검증을 수행한다. 변경 전후 결과와 미검증 항목을 남긴다. 변경 후 문서는 최신 동작에 맞추고 이전 동작은 Git 이력과 분석 근거에 보존한다.
28
+
29
+ 현행 동작 기록은 업무 정책의 승인이 아니다. 정책이 충돌하면 원하는 동작을 결정할 사람과 질문을 식별한다. 이미 사용자가 지시한 변경과 명확한 로컬 구현은 그 권한 안에서 진행한다.
30
+
31
+ ### 기존 시스템에 신규 기능을 추가할 때
32
+
33
+ 신규 화면이나 서비스라도 인증, 데이터, 이벤트, 배포 환경을 기존 시스템과 공유하면 그 경계를 조사해야 한다. 새 기능만 명세하는 것으로 끝내지 않고 영향받는 기존 UC의 유지 조건과 회귀 검증을 연결한다.
34
+
35
+ 가령 기존 지출 제출에 승인 기능을 더한다면 제출·조회 흐름, 승인 권한, 기존 지출의 초기 상태, 상태 변경 알림, 승인 중 수정 가능 여부와 중복 승인 처리를 확인한다. 이것들은 예시 질문이며 실제 정책은 대상 시스템 조사와 사용자 결정에서 정한다.
36
+
37
+ ## 그린필드 진행 순서
38
+
39
+ 1. **문제와 첫 사용자 목표를 정한다.** 대상 사용자, 해결할 문제, 첫 유용한 결과, 성공을 판단할 기준, 제외 범위를 작성한다. 목표가 모호할 때 요구사항을 다듬고, 코드나 기존 자료에서 확인할 수 있는 내용은 먼저 확인한다.
40
+ 2. **가정과 제약을 드러낸다.** 핵심 용어, 권한·데이터 정책, 외부 연동, 규모·응답시간 같은 필요한 제약을 정한다. 아직 근거가 없는 것은 가설로 둔다. 검증 가능한 목표에 임의의 수치를 넣어 확정된 요구사항처럼 다루지 않는다.
41
+ 3. **큰 불확실성만 짧게 검증한다.** 중요한 외부 연동이나 기술 가능성이 불확실하면 제한된 실험으로 확인한다. 사용자 문제가 불확실하면 사용자 업무와 피드백을 확인한다. 실험 결과를 기록하고 필요한 설계 결정을 남긴다. 전체 아키텍처를 먼저 완성할 필요는 없다.
42
+ 4. **첫 UC의 명세와 테스트를 만든다.** 정상·대안 흐름, BR, 필요한 엔티티와 실패 시 보장을 정의하고 테스트에 연결한다. 사용자 목표에 필요한 범위의 설계를 선택한다. 여러 UC를 미리 상세하게 작성하느라 첫 결과를 늦추지 않는다.
43
+ 5. **첫 UC를 끝까지 구현한다.** UI가 필요하면 UI부터 서비스·저장·필요한 연동까지 한 흐름을 연결한다. 필요한 프로젝트 실행·테스트 도구와 자동 검사를 마련한다. 실제 입력으로 동작과 오류 흐름을 확인하고 미검증 환경을 명시한다.
44
+ 6. **사용 결과로 명세를 갱신하고 확장한다.** 테스트 통과와 사용 가치 검증을 구분한다. 사용자 피드백으로 요구사항과 용어를 수정하고, 다음 UC를 같은 방식으로 추가한다. 구현이 생긴 영역은 이후 변경 때 현행 조사와 회귀 검증을 적용한다.
45
+
46
+ 새 저장소도 기존 플랫폼·인증·DB·외부 API를 사용할 수 있다. 내부 구현은 그린필드여도 그 공유 경계에는 브라운필드의 영향 분석을 적용한다.
47
+
48
+ ## AIWF에서의 연결
49
+
50
+ - 브라운필드: `reverse-engineer`로 필요한 현행 명세를 복원한 뒤 변경 요구사항 → UC/엔티티 갱신 → `test-case` → `spec-review` → 구현·검증으로 이어간다.
51
+ - 그린필드: `requirements`로 목표·요구사항·용어를 정리하고 필요한 엔티티와 UC → `test-case` → `spec-review` → 첫 구현·검증으로 이어간다. 모호한 목표는 로컬 `grill-with-docs`를 사용할 수 있으나 이 스킬은 현재 core에 내장된 것이 아니다.
52
+
53
+ 형식 검사와 의미 검토 후 계획까지 작성한 명세를 `pin`하고, 구현 후 `check`로 문서 변경을 확인하고 `packet`으로 검증 자료를 묶을 수 있다. 기존 자료는 보존하며 `pin`의 필수 문서·UC/TC 조건을 충족해야 한다. 명세가 바뀌면 변경 근거를 기록하고 기준을 갱신한 뒤 영향받는 검증을 다시 수행한다.
54
+
55
+ 현재 CLI는 역설계, 테스트 실행, 검증 증거의 코드 버전 일치나 휴먼 승인을 자동 보장하지 않는다. 실험·테스트는 프로젝트 도구와 에이전트가 실행하고 정확한 버전·환경·로그를 연결한다. 기능을 병합·배포·업무 수용했다는 판단은 각각의 증거가 필요하다.
56
+
57
+ ## 최소 문서와 휴먼 리뷰
58
+
59
+ `docs/vision.md`, `requirements.md`, `glossary.md`, `entity_model.md`, `use_cases.puml`과 선택한 UC/TC를 점진적으로 관리한다. 이미 자료가 있으면 그 기준과 연결하며 중복 작성하지 않는다. 브라운필드는 현행 근거와 영향 분석을 `docs/architecture/`에 추가하고, 변경 계획은 `docs/plans/UC-XXX.md`에 둔다. 그린필드는 필요한 설계 결정과 확인하지 못한 가정을 같은 경로에 남긴다.
60
+
61
+ 문서 본문은 사람이 읽을 수 있는 한글로 작성하고 core 파서용 헤딩·ID·상태는 유지한다. 관찰된 사실, 변경 목표와 남은 질문이 한 문장 안에서 섞이지 않도록 쓴다. 원문 스킬을 고도화하면 별도 한글 검토본과 관리 목록을 같은 변경에서 갱신한다.
62
+
63
+ 사람에게는 문서 전체를 반복해서 승인받기보다 유지·변경할 정책, 발견된 충돌, 중요한 설계 선택과 미검증 항목을 명확히 제시한다. 검토한 버전을 기록하고 자동 검사를 사람의 승인으로 바꾸지 않는다.
64
+
65
+ ## 개발 후 현재 기준으로 문서를 유지하는 절차
66
+
67
+ 추가 검토 및 반영: 2026-10-04. 문서 동기화는 AIWF 소유 [sync-docs 원문](../../plugins/aiwf-spec/skills/sync-docs/SKILL.md)과 [한글 검토본](../ko-skills/aiwf-spec/skills/sync-docs/SKILL.ko.md)에 반영했고 workflow의 완료 단계에도 연결했다. 변경 영향 분석·다른 스택의 감사 절차 확대는 후속 검토 사항이다. 아래 가이드가 실제 제품에서 검증되거나 휴먼 승인된 것을 뜻하지 않는다.
68
+
69
+ 개발 완료 시 코드뿐 아니라 영향받는 요구사항·UC·BR·테스트 정의·엔티티·설계·사용 안내가 함께 정리되어야 한다. 매번 전체 문서를 다시 생성하는 방식보다 변경 영향에 따라 기존 문서를 갱신하는 방식으로 운영한다. 문서 영향이 없다면 조사 범위와 그 이유를 남긴다.
70
+
71
+ “현재”는 작업 브랜치의 구현 버전과 실제 배포 버전을 구분해야 한다. 새 기능이 브랜치에 구현되었다는 이유로 운영 중인 기능이라고 설명하지 않는다. 아직 구현되지 않은 요구사항은 목표로 남기고, 구현·검증·배포 여부와 근거를 별도로 기록한다. 이 표현은 기존 core 상태 값을 바꾸는 새 파서 규약이 아니다.
72
+
73
+ ### 작업마다 수행할 정리
74
+
75
+ 1. **개발 전 영향 목록을 작성한다.** 변경 목표와 diff, 관련 호출자·공유 데이터·권한·이벤트 경계에서 영향받는 UC와 문서를 식별한다. 코드 파일명만으로 문서 대상을 결정하지 않는다.
76
+ 2. **개발 중 명세와 구현의 차이를 기록한다.** 요청한 변경이면 관련 명세를 갱신한다. 승인·합의된 의도에 어긋나는 구현이면 코드 결함으로 다룬다. 어느 쪽이 맞는지 불분명하면 충돌로 기록하고 필요한 판단을 요청한다. 코드에 맞추기 위해 요구사항을 무조건 완화하지 않는다.
77
+ 3. **검증 후 영향받는 문서를 함께 갱신한다.** UC의 흐름·규칙·사후조건, UC 다이어그램, 데이터·상태 모델, 테스트 시나리오와 실제 구현 연결을 확인한다. 사용법·설정·API 계약·배포 방식이 바뀌면 관련 README와 운영 안내도 반영한다. 설계 결정 기록은 기존 결정의 역사적 이유를 덮어쓰지 않고 후속 결정과 연결한다.
78
+ 4. **ID와 링크를 유지한다.** 같은 사용자 목표는 같은 UC ID로 갱신한다. 신규 목표는 새 ID를 부여한다. 폐기·병합한 항목은 대체 항목과 이력을 남기고 끊어진 참조를 해결한다. 사용한 ID를 다른 목표에 재사용하지 않는다. 중요한 BR 연결과 테스트 이름이 변경 과정에서 의미를 잃지 않았는지 확인한다.
79
+ 5. **작성과 검토를 나눈다.** 작성 단계가 정리한 문서에 대해 별도 검토 단계에서 코드·명세·테스트 연결과 문서 간 일관성을 확인한다. 독립 에이전트가 없으면 별도 검토 단계였음을 밝히고 독립 리뷰라고 주장하지 않는다. 코드에 테스트가 있다는 사실과 그 테스트를 실행해 통과했다는 사실을 구분한다.
80
+ 6. **최종 변경분에 맞는 증거를 남긴다.** 변경 후 테스트 결과와 문서 정합성을 확인하고 남은 미검증 항목을 기록한다. 명세가 변경되면 이유를 설명하고 pin 갱신과 영향받는 테스트 재실행을 수행한다. 문서·코드·검증 근거를 같은 PR에서 검토할 수 있게 한다. 과거 실행 로그를 현재 코드의 검증 근거처럼 재사용하지 않는다.
81
+
82
+ 종료 시 결과에는 영향받은 UC/BR/TC, 갱신 문서, 코드·실행 근거, 남은 불일치·미구현·미검증 항목을 포함한다. 문서가 최신이어야 한다는 요구는 아직 구현하지 않은 목표나 확인하지 못한 조건을 삭제하는 이유가 되지 않는다.
83
+
84
+ ### 필요한 역량과 기존 스킬의 범위
85
+
86
+ | 역량 | 현재 활용할 것 | 보강할 부분 |
87
+ | --- | --- | --- |
88
+ | 변경 영향 분석 | `reverse-engineer`와 기존 문서·코드 조사 | diff에서 공유 경계를 따라 영향 UC·문서·테스트를 정하는 재사용 절차 |
89
+ | 문서 갱신 | `requirements`, `use-case-spec`, `use-case-diagram`, `entity-model`, `test-case` | 변경 후 이 스킬들의 작성 범위를 묶고 최신 상태를 정리하는 절차 |
90
+ | 문서 정합성 검토 | `spec-review` | 구현 후 영향 문서를 대상으로 다시 검토하는 완료 조건 |
91
+ | 명세와 구현·테스트 대조 | Angular/JPA, Vaadin/jOOQ의 `coverage-check` | 다른 스택에서 사용할 공통 대조 절차와 실제 실행 증거 연결 |
92
+
93
+ `spec-review`는 문서를 서로 대조하며 코드 구현을 검사하는 스킬이 아니다. 현재 두 `coverage-check` 스킬은 읽기 전용 보고를 작성하고 코드·명세를 수정하거나 테스트를 실행하지 않는다. `aiwf-spec check`도 명세 파일 해시를 비교하므로 문서가 코드에 맞게 최신이라는 증명으로 사용할 수 없다.
94
+
95
+ AIWF 소유 `workflow`는 완료 전에 `sync-docs`를 사용하도록 갱신했다. 단독 문서 정리에도 재사용할 수 있으며 입력은 기준 버전·변경 범위·변경 의도, 출력은 영향 목록·문서 갱신·불일치 보고와 검증 근거다. Codex 프로젝트 설치기는 `aiwf-sync-docs`로 설치하고 Claude Code는 `/aiwf-spec:sync-docs`로 호출한다. 이 checkout에는 추가되어 있으나 원격 설치에 사용하려면 해당 변경의 게시가 필요하다. 스킬 지시 추가는 자동 동기화 서비스나 정합성 강제 장치의 구현이 아니다.
96
+
97
+ 공통 코드·명세 대조 역시 필요한 역량이지만 기존 스택의 감사 절차를 복제해 별도 기준을 만들지 않는다. 사용할 범위와 책임을 정한 뒤 기존 core 형식과 감사 규칙을 연결한다. 필요 시 영향 분석을 별도 스킬로 분리하되 먼저 workflow에서 반복 사용과 누락을 관찰한다.
98
+
99
+ 실행 지시를 반영하는 후속 변경에서는 AIWF 소유 원문과 한글 검토본, 플러그인 README 양쪽, 카탈로그·manifest를 변경 범위에 맞춰 함께 갱신한다. upstream core의 원문은 보존한다.
100
+
101
+ ## 작업 요청 예시
102
+
103
+ 브라운필드: “지출 승인 추가를 준비한다. 현행 제출 UC와 공유 권한·데이터·알림 경계를 조사해 근거가 있는 현행 명세, 변경 차이, 회귀 테스트 계획을 작성하라. 이번 작업은 분석과 문서까지다.”
104
+
105
+ 그린필드: “직원이 지출을 제출하는 첫 기능을 만든다. 목표·제외 범위와 정상·실패 흐름을 정리하고 UC 하나를 구현·실제 검증까지 완료하라. 미확정 정책과 검증하지 못한 환경을 기록하라.”
@@ -0,0 +1,77 @@
1
+ # Claude 두 세션의 CLI 계획 리뷰
2
+
3
+ 작성: 2026-10-03. 상태: **AI 리뷰 완료, 휴먼 리뷰 대기**.
4
+
5
+ 후속 진행 기록: 사용자의 “진행” 이후 계획을 수정하고 [로컬 예제를 실행](PILOT-RESULT-2026-10-03.ko.md)했다. 이 리뷰가 검토한 bytes는 [검토 당시 고정본](CLI-PRODUCTIVITY-REVIEWED-2026-10-03.ko.md)에 보존했다. [현재 계획](CLI-PRODUCTIVITY.ko.md)과 [파일럿 계획](PILOT-UC-001.ko.md)의 수정·실행은 별도 작업이며 이 리뷰를 새 버전의 검토 통과로 취급하지 않는다. 아래 본문은 리뷰 수행 당시의 판단과 미완료 항목을 기록한다.
6
+
7
+ 사용자 요청 “이계획을 claude 2세션으로 리뷰받아”에 따라 실제 Claude Code 세션 두 개를 실행했다. 검토 대상은 [검토 당시 CLI 생산성 분석과 권고안](CLI-PRODUCTIVITY-REVIEWED-2026-10-03.ko.md)이며, 그 리뷰 작업에서 계획 본문은 수정하지 않았다.
8
+
9
+ ## 결론
10
+
11
+ 두 세션 모두 **조건부 적합**으로 평가했다. 실제 UC 파일럿을 먼저 수행하고, 기존 코딩 에이전트·프로젝트 도구를 사용하며, 문서와 검증 근거를 휴먼 리뷰에 연결하는 방향에는 동의했다. 반면 파일럿의 완료·확장 기준이 구체적이지 않고, 첫 runner에 요구한 계약 범위가 크다는 지적이 공통으로 나왔다.
12
+
13
+ 조정 담당의 판단은 **현재 도구로 파일럿을 진행할 수 있지만, 이 계획을 그대로 runner 구현 명세로 사용하기에는 P1 결정이 남아 있다**는 것이다. 검토 결과를 근거로 새 기능을 구현하거나 승인을 부여하지 않았다.
14
+
15
+ ## 실제 실행과 검토 버전
16
+
17
+ | 세션 | 담당 | 세션 ID | 요청 모델 / 관측 모델 | 요청 effort / 관측 effort |
18
+ | --- | --- | --- | --- | --- |
19
+ | review-1 | 방향·제품 범위·우선순위·도입 부담 | `0f7eb76e-d5a5-4859-b6a6-9756fa26af16` | `claude-sonnet-5-5` / 동일 | `high` / 미확인 |
20
+ | review-2 | 검증·실행 기록 계약·기존 코드 정합성 | `cab3cadc-37d4-4ebb-a699-0d122c4c3baa` | `claude-sonnet-5-5` / 동일 | `high` / 미확인 |
21
+
22
+ - Claude Code: `2.1.288`. 설치 경로와 도움말을 확인하고 인증 상태의 loggedIn·인증 방식·provider만 확인했다. 인증 파일이나 토큰을 읽거나 변경하지 않았다.
23
+ - checkout: `/Users/moonklabs/workspace-plugin/aiwf`, 기준 HEAD `fcf5ebc24bcd5e49148290a65ac6e1a5c4b22ba6`. 계획은 미커밋 파일이므로 각 세션에 현재 파일을 읽도록 지시했다.
24
+ - 검토 당시 계획 SHA256: `426d38f8d52001678083979ca7418c64c6d0b780fa8ef504aec1d6aa5c6b7ab8`. 두 실행 후에도 같은 hash임을 확인했다.
25
+ - 두 결과 모두 exit 0, `subtype: success`, `is_error: false`, 권한 거부 0, stderr 0 bytes였다. 종료 코드뿐 아니라 최종 답변과 `modelUsage`의 실제 모델을 확인했다.
26
+ - 결과 JSON에는 실제 적용 effort가 없으므로 요청한 `high`가 관측되었다고 주장하지 않는다.
27
+ - 두 세션에 같은 계획과 저장소 지침을 제공하고 관점을 나눴다. 서로의 결과는 전달하지 않았다. 실제 사용 도구도 `Read`, `Grep`, `Glob`만 확인했다.
28
+ - 파일 편집·셸·테스트·MCP·새 에이전트는 세션에 제공하지 않았다. 리뷰 답변은 테스트 결과나 휴먼 승인으로 취급하지 않는다.
29
+
30
+ 요청에 모델 지정이 없어 이전 파일럿과 같은 Sonnet 5.5를 조정 담당이 선택했다. 로컬 설치된 `claude-sessions` 스킬을 사용했다. 실제 설치 지침은 아래 실행 경로에서 확인할 수 있다.
31
+
32
+ ```text
33
+ /Users/moonklabs/.codex/skills/claude-sessions/SKILL.md
34
+ /Users/moonklabs/.codex/skills/claude-sessions/scripts/run_session.py
35
+ ```
36
+
37
+ CLI·모델 옵션은 실행 전 [Claude CLI 공식 문서](https://code.claude.com/docs/en/cli-reference), [모델·effort 공식 문서](https://code.claude.com/docs/en/model-config)와 설치된 도움말을 대조했다. 두 개의 실제 세션만 시작했으며 모델 변경·추가 리뷰 세션·권한 확대 재시도는 없었다.
38
+
39
+ ## 핵심 지적과 처리 판단
40
+
41
+ 아래 “수용”은 조정 담당이 후속 문서 수정 항목으로 인정했다는 뜻이다. 코드 반영, 계획 수정 완료, 휴먼 승인 또는 Claude의 재검토 통과를 의미하지 않는다. 계획은 검토 버전 그대로 유지했다.
42
+
43
+ | 우선순위 | 지적 | 출처 | 판단과 최소 후속 작업 |
44
+ | --- | --- | --- | --- |
45
+ | P1 | 파일럿의 완료·확장 기준과 실제 사람 검토 결과의 기록 방법이 부족함 | review-1 | 수용. UC 선정 기준, 단계별 시간·전사·누락 기록, packet을 읽은 사람의 결과·재요청, 종료 조건을 먼저 한 장의 파일럿 문서로 정의한다. 자동화가 필요 없다는 결론도 종료 결과로 인정한다. |
46
+ | P1 | 검사 정의·UC/BR/TC 매핑의 위치, 명세 버전 포함 여부, 실행 시 선택된 정의 확인 계약이 없음 | 두 세션 | 수용. AIWF 자체 계약의 소유는 `aiwf-spec`/CLI에 둔다. 실제 파일 위치와 schema, pin 또는 별도 실행 입력 digest 포함 방식은 runner 착수 전에 확정한다. 매핑·명령이 바뀌면 옛 실행 기록으로 최신 검증을 충족하지 못해야 한다. |
47
+ | P2 | 첫 runner 범위가 입력 manifest·환경·취소·새 packet까지 한꺼번에 포함해 큼 | 두 세션 | 수용. 파일럿에서 측정한 병목에 필요한 범위만 채택하고 상세 receipt 계약은 미채택 후보로 관리한다. 입력을 좁힐 경우 `fresh`의 의미도 해당 선언 범위로 좁힌다. |
48
+ | P2 | 문서 검토 보고서가 본문에서 여전히 “첫 단계”로 보여 파일럿 우선순위와 충돌 | review-1 | 수용. 문서 정합성·한글본 갱신은 계속 먼저 수행한다. 별도 검토 보고서 기능은 사람이 실제로 검토할 때 자료 준비가 병목인지 확인한 뒤 도입한다. 기존 검사 명령의 CI 연결은 별도 저비용 유지보수 후보로 남긴다. |
49
+ | P2 | verify에 Python 시작 오류·JSON 오류·미처리 예외·읽기 중 변경의 분류가 부족함 | review-2 | 수용. `lint_failed`, `tool_error`, `incomplete`, `drift` 등의 보고 계약과 기존 CLI 종료 코드 관계를 정의한다. 도구 실패를 명세 실패나 성공으로 오인하지 않도록 한다. |
50
+ | P2 | packet의 1 MiB 제한을 runner 로그 제한으로 그대로 적용하면 실제 실행 결과 보존에 제약 | review-2 | 수용. 실행 outcome과 로그 수집·packet 생성 상태를 구분하고, 전체 로그 보관·발췌 또는 packet 거부 중 정책을 후속 설계에서 정한다. 현재 v1 제한을 조용히 완화하거나 초과 로그를 완전한 결과로 표시하지 않는다. |
51
+ | P3 | 현재 플러그인 수, runtime 정책 위치, 시점 고정 검증 기록의 표현 점검 필요 | review-1 | 일부 수용. core/workflow/stack 6개와 선택 위임 2개라는 범위를 명확히 설명한다. 과거 기록은 그 당시의 범위로 보존하고 검증 시점을 표시한다. runtime 정책은 파일럿과 별도 결정으로 취급한다. |
52
+ | P3 | packet 숫자 schema와 Sprintable 제안의 문자열 식별자, baseline 무시 정책 명확화 필요 | review-2 | 일부 수용. 현재 packet과 향후 Sprintable 전송 metadata는 다른 계약임을 명시한다. v2 계약에서는 각각의 식별자를 정한다. `--no-baseline`은 이미 workflow의 정책이며 기존 수용 항목도 다시 findings로 나타난다는 안내를 보완한다. |
53
+
54
+ ## 그대로 채택하지 않는 제안과 한계
55
+
56
+ review-2는 실행 전에 definition hash를 사용자가 지정한 값과 대조하거나 `--yes` 입력을 요구하는 방안을 제안했다. 정의의 변경과 실제 선택된 실행 범위를 확인해야 한다는 문제 제기는 수용한다. 다만 **추가 `--yes`를 모든 실행의 필수 승인 절차로 정하지는 않았다**. 사용자가 이미 지정한 실행 범위와 CLI 호출의 의미를 활용해 불필요한 재확인을 줄이는 계약을 먼저 검토해야 한다. 실제 실행은 이미 부여된 권한 범위에서 이루어져야 한다.
57
+
58
+ 명시적 파일 목록으로 첫 runner 입력을 좁히는 제안도 후보로 수용한다. 이 경우 새 파일·외부 서비스·목록 밖 설정을 검증했다고 주장할 수 없다. 필수 입력을 확인할 수 없는 경우의 `unknown`을 삭제하거나 `passed`로 바꾸지는 않는다.
59
+
60
+ `spec_lint.py --trace --format json` 재사용은 ID 연결을 읽는 후보이며, reviewer는 그 JSON이 모든 필요한 연결을 제공하는지 확인하지 못했다고 기록했다. trace 출력을 실행 테스트 커버리지로 사용하는 것은 현재 계획의 제한과 맞지 않는다.
61
+
62
+ review-1의 “사람 검토 0건”은 관리 목록에 실제 리뷰 기록이 없다는 사실이다. 사람이 문서를 읽은 적 자체가 없다고 추정하지 않는다. 준비 시간이 병목인지 역시 아직 측정하지 않았다. review-2의 대형 stack 로그 크기와 Node 20 입력 탐색 비용에 관한 지적은 실행 측정이 아닌 위험 추론이다.
63
+
64
+ ## 각 세션의 전체 최종 답변
65
+
66
+ - [review-1: 방향·우선순위](reviews/2026-10-03-claude-cli/DIRECTION.ko.md)
67
+ - [review-2: 검증·실행 기록 계약](reviews/2026-10-03-claude-cli/CONTRACTS.ko.md)
68
+
69
+ 각 답변의 파일·행 번호는 검토 당시 계획 hash에 대응한다. 향후 계획을 수정하면 기존 리뷰를 새 버전의 검토 결과로 승격하지 않는다. 추가 검토가 필요하면 새 세션을 임의로 만들지 않고 위 세션 ID를 재개한다.
70
+
71
+ ## 이번 결과 정리의 검증과 남은 것
72
+
73
+ 원본 결과 JSON과 요청·stderr·전체 세션 기록은 저장소 밖의 비공개 임시 경로에 둔다. 저장소에는 최종 리뷰 Markdown과 이 통합 판단만 남긴다. 두 세션의 실제 모델·최종 상태·권한 거부·사용 도구와 계획 hash 일치를 확인했다.
74
+
75
+ Claude 세션들은 자동 테스트와 앱 실행을 하지 않았다. 앞선 계획의 85개 테스트 통과를 이번 Claude 리뷰에서 재현한 결과로 표시하지 않는다. 결과 문서와 연결된 README·한글본·관리 목록을 갱신한 뒤 조정 담당이 `npm run docs:check`를 별도로 실행해 통과를 확인했다. 관리 문서 70개는 휴먼 리뷰 대기 상태다.
76
+
77
+ 남은 일은 소비 프로젝트·UC와 실제 검토자를 정하고 파일럿 기록을 수행하는 것, 그 근거로 상세 CLI 계약을 채택·축소하는 것, 그리고 한글 문서의 실제 휴먼 리뷰다. 이번 요청 범위는 두 세션의 계획 리뷰이며 파일럿이나 runner 구현은 시작하지 않았다.