create-yss-spec 3.0.1 → 3.1.3

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 (1348) hide show
  1. package/README.md +117 -91
  2. package/bin/create-yss-spec.js +11 -3
  3. package/package.json +9 -2
  4. package/src/api/_sync-service.js +191 -0
  5. package/src/api/index.js +22 -0
  6. package/src/api/project-diff.js +9 -0
  7. package/src/api/project-doctor.js +10 -0
  8. package/src/api/template-apply.js +10 -0
  9. package/src/api/template-plan.js +9 -0
  10. package/src/cli/args.js +60 -0
  11. package/src/cli/error-output.js +52 -0
  12. package/src/cli/flags.js +9 -0
  13. package/src/cli/help.js +95 -0
  14. package/src/cli/index.js +82 -0
  15. package/src/cli/plan-output.js +61 -0
  16. package/src/cli/prompts.js +91 -0
  17. package/src/cli/router.js +41 -0
  18. package/src/cli.js +5 -2253
  19. package/src/commands/attach.js +280 -0
  20. package/src/commands/diff.js +23 -0
  21. package/src/commands/doctor.js +417 -0
  22. package/src/commands/init.js +193 -0
  23. package/src/commands/sync.js +146 -0
  24. package/src/commands/update.js +14 -0
  25. package/src/contracts/apply-result-v1.json +45 -0
  26. package/src/contracts/customization-policy-v1.json +28 -0
  27. package/src/contracts/doctor-report-v1.json +29 -0
  28. package/src/contracts/error-envelope-v1.json +24 -0
  29. package/src/contracts/generator-policy-v1.json +24 -0
  30. package/src/contracts/ownership-policy-v1.json +40 -0
  31. package/src/contracts/plan-schema-v1.json +115 -0
  32. package/src/family-identity.js +365 -0
  33. package/src/family-runtime.js +23 -0
  34. package/src/filesystem/apply-plan.js +44 -0
  35. package/src/filesystem/copy-path.js +28 -0
  36. package/src/filesystem/path-utils.js +67 -0
  37. package/src/filesystem/transaction-runner.js +41 -0
  38. package/src/filesystem/transaction.js +153 -0
  39. package/src/git/submodule.js +115 -0
  40. package/src/git/worktree.js +69 -0
  41. package/src/template/attach-planner-runtime.js +51 -0
  42. package/src/template/attach-planner.js +160 -0
  43. package/src/template/instance-runtime.js +463 -0
  44. package/src/template/lifecycle-metadata.js +99 -0
  45. package/src/template/lifecycle-policy.js +129 -0
  46. package/src/template/lifecycle-runtime.js +90 -0
  47. package/src/template/migration-planner.js +95 -0
  48. package/src/template/migration-runtime.js +247 -0
  49. package/src/template/ownership-metadata.js +79 -0
  50. package/src/template/ownership-policy.js +149 -0
  51. package/src/template/ownership-runtime.js +109 -0
  52. package/src/template/plan-schema.js +36 -0
  53. package/src/template/sync-planner-runtime.js +57 -0
  54. package/src/template/sync-planner.js +206 -0
  55. package/src/template/verification-runtime.js +154 -0
  56. package/src/validation/identity.js +41 -0
  57. package/src/validation/metadata.js +105 -0
  58. package/src/validation/security.js +67 -0
  59. package/src/validation/snapshot.js +47 -0
  60. package/template/.agents/rules/yss-ai-skills.md +3 -55
  61. package/template/.agents/skills/.strategic-design-skills-manifest.json +11 -6
  62. package/template/.agents/skills/.yss-skills-manifest.json +1 -3
  63. package/template/.agents/skills/alibaba-java-code-style/SKILL.md +1 -0
  64. package/template/.agents/skills/code-review/references/yss-review-standards.md +1 -1
  65. package/template/.agents/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
  66. package/template/.agents/skills/domain-modeling/SKILL.md +10 -26
  67. package/template/.agents/skills/grill-with-docs/SKILL.md +6 -5
  68. package/template/.agents/skills/lombok/SKILL.md +2 -1
  69. package/template/.agents/skills/mapstruct/SKILL.md +3 -2
  70. package/template/.agents/skills/setup-matt-pocock-skills/SKILL.md +5 -6
  71. package/template/.agents/skills/setup-matt-pocock-skills/domain.md +6 -20
  72. package/template/.agents/skills/wait-what/SKILL.md +1 -1
  73. package/template/.agents/skills/yss-antdv-next-design/SKILL.md +48 -0
  74. package/template/.agents/skills/yss-antdv-next-design/references/boundaries.md +25 -0
  75. package/template/.agents/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
  76. package/template/.agents/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
  77. package/template/.agents/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
  78. package/template/.agents/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
  79. package/template/.agents/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
  80. package/template/.agents/skills/yss-application/SKILL.md +6 -0
  81. package/template/.agents/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
  82. package/template/.agents/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
  83. package/template/.agents/skills/yss-application/references/profiles/target-domain-model.md +3 -0
  84. package/template/.agents/skills/yss-components/SKILL.md +1 -1
  85. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +3 -4
  86. package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
  87. package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
  88. package/template/.agents/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -4
  89. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
  90. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +21 -7
  91. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +37 -15
  92. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +22 -10
  93. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +14 -2
  94. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +41 -12
  95. package/template/.agents/skills/yss-design-system/SKILL.md +25 -22
  96. package/template/.agents/skills/yss-design-system/references/design-qa-theme.md +22 -24
  97. package/template/.agents/skills/yss-design-system/references/design-system.md +39 -56
  98. package/template/.agents/skills/yss-domain/SKILL.md +1 -1
  99. package/template/.agents/skills/yss-dto/SKILL.md +1 -0
  100. package/template/.agents/skills/yss-exception/SKILL.md +1 -0
  101. package/template/.agents/skills/yss-frontend-scaffold-generator/SKILL.md +3 -1
  102. package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +10 -2
  103. package/template/.agents/skills/yss-implementation-contract-compiler/references/boundaries.md +16 -8
  104. package/template/.agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +78 -19
  105. package/template/.agents/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +7 -1
  106. package/template/.agents/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -0
  107. package/template/.agents/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
  108. package/template/.agents/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +8 -6
  109. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
  110. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
  111. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
  112. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
  113. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
  114. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
  115. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
  116. package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
  117. package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
  118. package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
  119. package/template/.agents/skills/yss-mvc-scaffold-generator/SKILL.md +3 -82
  120. package/template/.agents/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
  121. package/template/.agents/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
  122. package/template/.agents/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
  123. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +2 -135
  124. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +4 -332
  125. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +11 -3
  126. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
  127. package/template/.agents/skills/yss-mybatis/SKILL.md +2 -2
  128. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +33 -7
  129. package/template/.agents/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
  130. package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +4 -6
  131. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +119 -46
  132. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +9 -3
  133. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +7 -2
  134. package/template/.agents/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
  135. package/template/.agents/skills/yss-prototype-stage/SKILL.md +9 -8
  136. package/template/.agents/skills/yss-prototype-stage/references/product-design-adapter.md +33 -10
  137. package/template/.agents/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -8
  138. package/template/.agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs +129 -22
  139. package/template/.agents/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
  140. package/template/.agents/skills/yss-prototype-stage/tests/run-scenarios.mjs +96 -17
  141. package/template/.agents/skills/yss-repository/SKILL.md +6 -0
  142. package/template/.agents/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
  143. package/template/.agents/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
  144. package/template/.agents/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
  145. package/template/.agents/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
  146. package/template/.agents/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +1 -1
  147. package/template/.agents/skills/yss-stage-decision/SKILL.md +16 -12
  148. package/template/.agents/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
  149. package/template/.agents/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
  150. package/template/.agents/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
  151. package/template/.agents/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
  152. package/template/.agents/skills/yss-stage-decision/references/validation-rules.md +1 -1
  153. package/template/.agents/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
  154. package/template/.agents/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
  155. package/template/.agents/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
  156. package/template/.agents/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
  157. package/template/.agents/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
  158. package/template/.agents/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
  159. package/template/.agents/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
  160. package/template/.agents/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
  161. package/template/.agents/skills/yss-tactical-design/SKILL.md +8 -2
  162. package/template/.agents/skills/yss-tactical-design/references/output-template.md +3 -0
  163. package/template/.agents/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
  164. package/template/.agents/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
  165. package/template/.agents/skills/yss-ui/SKILL.md +3 -2
  166. package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +3 -3
  167. package/template/.agents/skills/yss-validation/SKILL.md +1 -0
  168. package/template/.agents/skills/yss-web-controller/SKILL.md +6 -0
  169. package/template/.agents/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
  170. package/template/.agents/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
  171. package/template/.agents/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
  172. package/template/.agents/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
  173. package/template/.agents/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
  174. package/template/.agents/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
  175. package/template/.claude/skills/alibaba-java-code-style/SKILL.md +1 -0
  176. package/template/.claude/skills/code-review/references/yss-review-standards.md +1 -1
  177. package/template/.claude/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
  178. package/template/.claude/skills/domain-modeling/SKILL.md +10 -26
  179. package/template/.claude/skills/grill-with-docs/SKILL.md +6 -5
  180. package/template/.claude/skills/lombok/SKILL.md +2 -1
  181. package/template/.claude/skills/mapstruct/SKILL.md +3 -2
  182. package/template/.claude/skills/setup-matt-pocock-skills/SKILL.md +5 -6
  183. package/template/.claude/skills/setup-matt-pocock-skills/domain.md +6 -20
  184. package/template/.claude/skills/wait-what/SKILL.md +1 -1
  185. package/template/.claude/skills/yss-antdv-next-design/SKILL.md +48 -0
  186. package/template/.claude/skills/yss-antdv-next-design/references/boundaries.md +25 -0
  187. package/template/.claude/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
  188. package/template/.claude/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
  189. package/template/.claude/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
  190. package/template/.claude/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
  191. package/template/.claude/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
  192. package/template/.claude/skills/yss-application/SKILL.md +6 -0
  193. package/template/.claude/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
  194. package/template/.claude/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
  195. package/template/.claude/skills/yss-application/references/profiles/target-domain-model.md +3 -0
  196. package/template/.claude/skills/yss-components/SKILL.md +1 -1
  197. package/template/.claude/skills/yss-ddd-scaffold-generator/SKILL.md +3 -4
  198. package/template/.claude/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
  199. package/template/.claude/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
  200. package/template/.claude/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -4
  201. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
  202. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +21 -7
  203. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +37 -15
  204. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +22 -10
  205. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +14 -2
  206. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +41 -12
  207. package/template/.claude/skills/yss-design-system/SKILL.md +25 -22
  208. package/template/.claude/skills/yss-design-system/references/design-qa-theme.md +22 -24
  209. package/template/.claude/skills/yss-design-system/references/design-system.md +39 -56
  210. package/template/.claude/skills/yss-domain/SKILL.md +1 -1
  211. package/template/.claude/skills/yss-dto/SKILL.md +1 -0
  212. package/template/.claude/skills/yss-exception/SKILL.md +1 -0
  213. package/template/.claude/skills/yss-frontend-scaffold-generator/SKILL.md +3 -1
  214. package/template/.claude/skills/yss-implementation-contract-compiler/SKILL.md +10 -2
  215. package/template/.claude/skills/yss-implementation-contract-compiler/references/boundaries.md +16 -8
  216. package/template/.claude/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +78 -19
  217. package/template/.claude/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +7 -1
  218. package/template/.claude/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -0
  219. package/template/.claude/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
  220. package/template/.claude/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +8 -6
  221. package/template/.claude/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
  222. package/template/.claude/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
  223. package/template/.claude/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
  224. package/template/.claude/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
  225. package/template/.claude/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
  226. package/template/.claude/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
  227. package/template/.claude/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
  228. package/template/.claude/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
  229. package/template/.claude/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
  230. package/template/.claude/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
  231. package/template/.claude/skills/yss-mvc-scaffold-generator/SKILL.md +3 -82
  232. package/template/.claude/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
  233. package/template/.claude/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
  234. package/template/.claude/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
  235. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +2 -135
  236. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +4 -332
  237. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +11 -3
  238. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
  239. package/template/.claude/skills/yss-mybatis/SKILL.md +2 -2
  240. package/template/.claude/skills/yss-product-lifecycle/SKILL.md +33 -7
  241. package/template/.claude/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
  242. package/template/.claude/skills/yss-product-lifecycle/references/matt-yss-adapter.md +4 -6
  243. package/template/.claude/skills/yss-product-lifecycle/references/orchestration-contract.yaml +119 -46
  244. package/template/.claude/skills/yss-product-lifecycle/references/orchestration.md +9 -3
  245. package/template/.claude/skills/yss-product-lifecycle/references/state-model.md +7 -2
  246. package/template/.claude/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
  247. package/template/.claude/skills/yss-prototype-stage/SKILL.md +9 -8
  248. package/template/.claude/skills/yss-prototype-stage/references/product-design-adapter.md +33 -10
  249. package/template/.claude/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -8
  250. package/template/.claude/skills/yss-prototype-stage/scripts/prototype-contract.mjs +129 -22
  251. package/template/.claude/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
  252. package/template/.claude/skills/yss-prototype-stage/tests/run-scenarios.mjs +96 -17
  253. package/template/.claude/skills/yss-repository/SKILL.md +6 -0
  254. package/template/.claude/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
  255. package/template/.claude/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
  256. package/template/.claude/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
  257. package/template/.claude/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
  258. package/template/.claude/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +1 -1
  259. package/template/.claude/skills/yss-stage-decision/SKILL.md +16 -12
  260. package/template/.claude/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
  261. package/template/.claude/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
  262. package/template/.claude/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
  263. package/template/.claude/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
  264. package/template/.claude/skills/yss-stage-decision/references/validation-rules.md +1 -1
  265. package/template/.claude/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
  266. package/template/.claude/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
  267. package/template/.claude/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
  268. package/template/.claude/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
  269. package/template/.claude/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
  270. package/template/.claude/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
  271. package/template/.claude/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
  272. package/template/.claude/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
  273. package/template/.claude/skills/yss-tactical-design/SKILL.md +8 -2
  274. package/template/.claude/skills/yss-tactical-design/references/output-template.md +3 -0
  275. package/template/.claude/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
  276. package/template/.claude/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
  277. package/template/.claude/skills/yss-ui/SKILL.md +3 -2
  278. package/template/.claude/skills/yss-ui-business-page-generation/SKILL.md +3 -3
  279. package/template/.claude/skills/yss-validation/SKILL.md +1 -0
  280. package/template/.claude/skills/yss-web-controller/SKILL.md +6 -0
  281. package/template/.claude/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
  282. package/template/.claude/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
  283. package/template/.claude/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
  284. package/template/.claude/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
  285. package/template/.claude/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
  286. package/template/.claude/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
  287. package/template/.codex/skills/alibaba-java-code-style/SKILL.md +1 -0
  288. package/template/.codex/skills/code-review/references/yss-review-standards.md +1 -1
  289. package/template/.codex/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
  290. package/template/.codex/skills/domain-modeling/SKILL.md +10 -26
  291. package/template/.codex/skills/grill-with-docs/SKILL.md +6 -5
  292. package/template/.codex/skills/lombok/SKILL.md +2 -1
  293. package/template/.codex/skills/mapstruct/SKILL.md +3 -2
  294. package/template/.codex/skills/setup-matt-pocock-skills/SKILL.md +5 -6
  295. package/template/.codex/skills/setup-matt-pocock-skills/domain.md +6 -20
  296. package/template/.codex/skills/wait-what/SKILL.md +1 -1
  297. package/template/.codex/skills/yss-antdv-next-design/SKILL.md +48 -0
  298. package/template/.codex/skills/yss-antdv-next-design/references/boundaries.md +25 -0
  299. package/template/.codex/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
  300. package/template/.codex/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
  301. package/template/.codex/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
  302. package/template/.codex/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
  303. package/template/.codex/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
  304. package/template/.codex/skills/yss-application/SKILL.md +6 -0
  305. package/template/.codex/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
  306. package/template/.codex/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
  307. package/template/.codex/skills/yss-application/references/profiles/target-domain-model.md +3 -0
  308. package/template/.codex/skills/yss-components/SKILL.md +1 -1
  309. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +3 -4
  310. package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
  311. package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
  312. package/template/.codex/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -4
  313. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
  314. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +21 -7
  315. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +37 -15
  316. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +22 -10
  317. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +14 -2
  318. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +41 -12
  319. package/template/.codex/skills/yss-design-system/SKILL.md +25 -22
  320. package/template/.codex/skills/yss-design-system/references/design-qa-theme.md +22 -24
  321. package/template/.codex/skills/yss-design-system/references/design-system.md +39 -56
  322. package/template/.codex/skills/yss-domain/SKILL.md +1 -1
  323. package/template/.codex/skills/yss-dto/SKILL.md +1 -0
  324. package/template/.codex/skills/yss-exception/SKILL.md +1 -0
  325. package/template/.codex/skills/yss-frontend-scaffold-generator/SKILL.md +3 -1
  326. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +10 -2
  327. package/template/.codex/skills/yss-implementation-contract-compiler/references/boundaries.md +16 -8
  328. package/template/.codex/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +78 -19
  329. package/template/.codex/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +7 -1
  330. package/template/.codex/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -0
  331. package/template/.codex/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
  332. package/template/.codex/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +8 -6
  333. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
  334. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
  335. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
  336. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
  337. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
  338. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
  339. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
  340. package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
  341. package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
  342. package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
  343. package/template/.codex/skills/yss-mvc-scaffold-generator/SKILL.md +3 -82
  344. package/template/.codex/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
  345. package/template/.codex/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
  346. package/template/.codex/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
  347. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +2 -135
  348. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +4 -332
  349. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +11 -3
  350. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
  351. package/template/.codex/skills/yss-mybatis/SKILL.md +2 -2
  352. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +33 -7
  353. package/template/.codex/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
  354. package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +4 -6
  355. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +119 -46
  356. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +9 -3
  357. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +7 -2
  358. package/template/.codex/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
  359. package/template/.codex/skills/yss-prototype-stage/SKILL.md +9 -8
  360. package/template/.codex/skills/yss-prototype-stage/references/product-design-adapter.md +33 -10
  361. package/template/.codex/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -8
  362. package/template/.codex/skills/yss-prototype-stage/scripts/prototype-contract.mjs +129 -22
  363. package/template/.codex/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
  364. package/template/.codex/skills/yss-prototype-stage/tests/run-scenarios.mjs +96 -17
  365. package/template/.codex/skills/yss-repository/SKILL.md +6 -0
  366. package/template/.codex/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
  367. package/template/.codex/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
  368. package/template/.codex/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
  369. package/template/.codex/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
  370. package/template/.codex/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +1 -1
  371. package/template/.codex/skills/yss-stage-decision/SKILL.md +16 -12
  372. package/template/.codex/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
  373. package/template/.codex/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
  374. package/template/.codex/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
  375. package/template/.codex/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
  376. package/template/.codex/skills/yss-stage-decision/references/validation-rules.md +1 -1
  377. package/template/.codex/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
  378. package/template/.codex/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
  379. package/template/.codex/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
  380. package/template/.codex/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
  381. package/template/.codex/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
  382. package/template/.codex/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
  383. package/template/.codex/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
  384. package/template/.codex/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
  385. package/template/.codex/skills/yss-tactical-design/SKILL.md +8 -2
  386. package/template/.codex/skills/yss-tactical-design/references/output-template.md +3 -0
  387. package/template/.codex/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
  388. package/template/.codex/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
  389. package/template/.codex/skills/yss-ui/SKILL.md +3 -2
  390. package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +3 -3
  391. package/template/.codex/skills/yss-validation/SKILL.md +1 -0
  392. package/template/.codex/skills/yss-web-controller/SKILL.md +6 -0
  393. package/template/.codex/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
  394. package/template/.codex/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
  395. package/template/.codex/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
  396. package/template/.codex/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
  397. package/template/.codex/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
  398. package/template/.codex/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
  399. package/template/.cursor/skills/alibaba-java-code-style/SKILL.md +1 -0
  400. package/template/.cursor/skills/code-review/references/yss-review-standards.md +1 -1
  401. package/template/.cursor/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
  402. package/template/.cursor/skills/domain-modeling/SKILL.md +10 -26
  403. package/template/.cursor/skills/grill-with-docs/SKILL.md +6 -5
  404. package/template/.cursor/skills/lombok/SKILL.md +2 -1
  405. package/template/.cursor/skills/mapstruct/SKILL.md +3 -2
  406. package/template/.cursor/skills/setup-matt-pocock-skills/SKILL.md +5 -6
  407. package/template/.cursor/skills/setup-matt-pocock-skills/domain.md +6 -20
  408. package/template/.cursor/skills/wait-what/SKILL.md +1 -1
  409. package/template/.cursor/skills/yss-antdv-next-design/SKILL.md +48 -0
  410. package/template/.cursor/skills/yss-antdv-next-design/references/boundaries.md +25 -0
  411. package/template/.cursor/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
  412. package/template/.cursor/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
  413. package/template/.cursor/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
  414. package/template/.cursor/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
  415. package/template/.cursor/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
  416. package/template/.cursor/skills/yss-application/SKILL.md +6 -0
  417. package/template/.cursor/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
  418. package/template/.cursor/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
  419. package/template/.cursor/skills/yss-application/references/profiles/target-domain-model.md +3 -0
  420. package/template/.cursor/skills/yss-components/SKILL.md +1 -1
  421. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +3 -4
  422. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
  423. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
  424. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -4
  425. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
  426. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +21 -7
  427. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +37 -15
  428. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +22 -10
  429. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +14 -2
  430. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +41 -12
  431. package/template/.cursor/skills/yss-design-system/SKILL.md +25 -22
  432. package/template/.cursor/skills/yss-design-system/references/design-qa-theme.md +22 -24
  433. package/template/.cursor/skills/yss-design-system/references/design-system.md +39 -56
  434. package/template/.cursor/skills/yss-domain/SKILL.md +1 -1
  435. package/template/.cursor/skills/yss-dto/SKILL.md +1 -0
  436. package/template/.cursor/skills/yss-exception/SKILL.md +1 -0
  437. package/template/.cursor/skills/yss-frontend-scaffold-generator/SKILL.md +3 -1
  438. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +10 -2
  439. package/template/.cursor/skills/yss-implementation-contract-compiler/references/boundaries.md +16 -8
  440. package/template/.cursor/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +78 -19
  441. package/template/.cursor/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +7 -1
  442. package/template/.cursor/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -0
  443. package/template/.cursor/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
  444. package/template/.cursor/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +8 -6
  445. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
  446. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
  447. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
  448. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
  449. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
  450. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
  451. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
  452. package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
  453. package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
  454. package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
  455. package/template/.cursor/skills/yss-mvc-scaffold-generator/SKILL.md +3 -82
  456. package/template/.cursor/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
  457. package/template/.cursor/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
  458. package/template/.cursor/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
  459. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +2 -135
  460. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +4 -332
  461. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +11 -3
  462. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
  463. package/template/.cursor/skills/yss-mybatis/SKILL.md +2 -2
  464. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +33 -7
  465. package/template/.cursor/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
  466. package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +4 -6
  467. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +119 -46
  468. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +9 -3
  469. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +7 -2
  470. package/template/.cursor/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
  471. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +9 -8
  472. package/template/.cursor/skills/yss-prototype-stage/references/product-design-adapter.md +33 -10
  473. package/template/.cursor/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -8
  474. package/template/.cursor/skills/yss-prototype-stage/scripts/prototype-contract.mjs +129 -22
  475. package/template/.cursor/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
  476. package/template/.cursor/skills/yss-prototype-stage/tests/run-scenarios.mjs +96 -17
  477. package/template/.cursor/skills/yss-repository/SKILL.md +6 -0
  478. package/template/.cursor/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
  479. package/template/.cursor/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
  480. package/template/.cursor/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
  481. package/template/.cursor/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
  482. package/template/.cursor/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +1 -1
  483. package/template/.cursor/skills/yss-stage-decision/SKILL.md +16 -12
  484. package/template/.cursor/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
  485. package/template/.cursor/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
  486. package/template/.cursor/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
  487. package/template/.cursor/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
  488. package/template/.cursor/skills/yss-stage-decision/references/validation-rules.md +1 -1
  489. package/template/.cursor/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
  490. package/template/.cursor/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
  491. package/template/.cursor/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
  492. package/template/.cursor/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
  493. package/template/.cursor/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
  494. package/template/.cursor/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
  495. package/template/.cursor/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
  496. package/template/.cursor/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
  497. package/template/.cursor/skills/yss-tactical-design/SKILL.md +8 -2
  498. package/template/.cursor/skills/yss-tactical-design/references/output-template.md +3 -0
  499. package/template/.cursor/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
  500. package/template/.cursor/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
  501. package/template/.cursor/skills/yss-ui/SKILL.md +3 -2
  502. package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +3 -3
  503. package/template/.cursor/skills/yss-validation/SKILL.md +1 -0
  504. package/template/.cursor/skills/yss-web-controller/SKILL.md +6 -0
  505. package/template/.cursor/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
  506. package/template/.cursor/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
  507. package/template/.cursor/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
  508. package/template/.cursor/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
  509. package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
  510. package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
  511. package/template/.cursorrules +6 -34
  512. package/template/.pi/skills/alibaba-java-code-style/SKILL.md +1 -0
  513. package/template/.pi/skills/code-review/references/yss-review-standards.md +1 -1
  514. package/template/.pi/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
  515. package/template/.pi/skills/domain-modeling/SKILL.md +10 -26
  516. package/template/.pi/skills/grill-with-docs/SKILL.md +6 -5
  517. package/template/.pi/skills/lombok/SKILL.md +2 -1
  518. package/template/.pi/skills/mapstruct/SKILL.md +3 -2
  519. package/template/.pi/skills/setup-matt-pocock-skills/SKILL.md +5 -6
  520. package/template/.pi/skills/setup-matt-pocock-skills/domain.md +6 -20
  521. package/template/.pi/skills/wait-what/SKILL.md +1 -1
  522. package/template/.pi/skills/yss-antdv-next-design/SKILL.md +48 -0
  523. package/template/.pi/skills/yss-antdv-next-design/references/boundaries.md +25 -0
  524. package/template/.pi/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
  525. package/template/.pi/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
  526. package/template/.pi/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
  527. package/template/.pi/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
  528. package/template/.pi/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
  529. package/template/.pi/skills/yss-application/SKILL.md +6 -0
  530. package/template/.pi/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
  531. package/template/.pi/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
  532. package/template/.pi/skills/yss-application/references/profiles/target-domain-model.md +3 -0
  533. package/template/.pi/skills/yss-components/SKILL.md +1 -1
  534. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +3 -4
  535. package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
  536. package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
  537. package/template/.pi/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -4
  538. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
  539. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +21 -7
  540. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +37 -15
  541. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +22 -10
  542. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +14 -2
  543. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +41 -12
  544. package/template/.pi/skills/yss-design-system/SKILL.md +25 -22
  545. package/template/.pi/skills/yss-design-system/references/design-qa-theme.md +22 -24
  546. package/template/.pi/skills/yss-design-system/references/design-system.md +39 -56
  547. package/template/.pi/skills/yss-domain/SKILL.md +1 -1
  548. package/template/.pi/skills/yss-dto/SKILL.md +1 -0
  549. package/template/.pi/skills/yss-exception/SKILL.md +1 -0
  550. package/template/.pi/skills/yss-frontend-scaffold-generator/SKILL.md +3 -1
  551. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +10 -2
  552. package/template/.pi/skills/yss-implementation-contract-compiler/references/boundaries.md +16 -8
  553. package/template/.pi/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +78 -19
  554. package/template/.pi/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +7 -1
  555. package/template/.pi/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -0
  556. package/template/.pi/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
  557. package/template/.pi/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +8 -6
  558. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
  559. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
  560. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
  561. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
  562. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
  563. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
  564. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
  565. package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
  566. package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
  567. package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
  568. package/template/.pi/skills/yss-mvc-scaffold-generator/SKILL.md +3 -82
  569. package/template/.pi/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
  570. package/template/.pi/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
  571. package/template/.pi/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
  572. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +2 -135
  573. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +4 -332
  574. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +11 -3
  575. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
  576. package/template/.pi/skills/yss-mybatis/SKILL.md +2 -2
  577. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +33 -7
  578. package/template/.pi/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
  579. package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +4 -6
  580. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +119 -46
  581. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +9 -3
  582. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +7 -2
  583. package/template/.pi/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
  584. package/template/.pi/skills/yss-prototype-stage/SKILL.md +9 -8
  585. package/template/.pi/skills/yss-prototype-stage/references/product-design-adapter.md +33 -10
  586. package/template/.pi/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -8
  587. package/template/.pi/skills/yss-prototype-stage/scripts/prototype-contract.mjs +129 -22
  588. package/template/.pi/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
  589. package/template/.pi/skills/yss-prototype-stage/tests/run-scenarios.mjs +96 -17
  590. package/template/.pi/skills/yss-repository/SKILL.md +6 -0
  591. package/template/.pi/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
  592. package/template/.pi/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
  593. package/template/.pi/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
  594. package/template/.pi/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
  595. package/template/.pi/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +1 -1
  596. package/template/.pi/skills/yss-stage-decision/SKILL.md +16 -12
  597. package/template/.pi/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
  598. package/template/.pi/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
  599. package/template/.pi/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
  600. package/template/.pi/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
  601. package/template/.pi/skills/yss-stage-decision/references/validation-rules.md +1 -1
  602. package/template/.pi/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
  603. package/template/.pi/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
  604. package/template/.pi/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
  605. package/template/.pi/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
  606. package/template/.pi/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
  607. package/template/.pi/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
  608. package/template/.pi/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
  609. package/template/.pi/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
  610. package/template/.pi/skills/yss-tactical-design/SKILL.md +8 -2
  611. package/template/.pi/skills/yss-tactical-design/references/output-template.md +3 -0
  612. package/template/.pi/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
  613. package/template/.pi/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
  614. package/template/.pi/skills/yss-ui/SKILL.md +3 -2
  615. package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +3 -3
  616. package/template/.pi/skills/yss-validation/SKILL.md +1 -0
  617. package/template/.pi/skills/yss-web-controller/SKILL.md +6 -0
  618. package/template/.pi/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
  619. package/template/.pi/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
  620. package/template/.pi/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
  621. package/template/.pi/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
  622. package/template/.pi/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
  623. package/template/.pi/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
  624. package/template/.qoder/skills/alibaba-java-code-style/SKILL.md +1 -0
  625. package/template/.qoder/skills/code-review/references/yss-review-standards.md +1 -1
  626. package/template/.qoder/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
  627. package/template/.qoder/skills/domain-modeling/SKILL.md +10 -26
  628. package/template/.qoder/skills/grill-with-docs/SKILL.md +6 -5
  629. package/template/.qoder/skills/lombok/SKILL.md +2 -1
  630. package/template/.qoder/skills/mapstruct/SKILL.md +3 -2
  631. package/template/.qoder/skills/setup-matt-pocock-skills/SKILL.md +5 -6
  632. package/template/.qoder/skills/setup-matt-pocock-skills/domain.md +6 -20
  633. package/template/.qoder/skills/wait-what/SKILL.md +1 -1
  634. package/template/.qoder/skills/yss-antdv-next-design/SKILL.md +48 -0
  635. package/template/.qoder/skills/yss-antdv-next-design/references/boundaries.md +25 -0
  636. package/template/.qoder/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
  637. package/template/.qoder/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
  638. package/template/.qoder/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
  639. package/template/.qoder/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
  640. package/template/.qoder/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
  641. package/template/.qoder/skills/yss-application/SKILL.md +6 -0
  642. package/template/.qoder/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
  643. package/template/.qoder/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
  644. package/template/.qoder/skills/yss-application/references/profiles/target-domain-model.md +3 -0
  645. package/template/.qoder/skills/yss-components/SKILL.md +1 -1
  646. package/template/.qoder/skills/yss-ddd-scaffold-generator/SKILL.md +3 -4
  647. package/template/.qoder/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
  648. package/template/.qoder/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
  649. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -4
  650. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
  651. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +21 -7
  652. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +37 -15
  653. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +22 -10
  654. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +14 -2
  655. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +41 -12
  656. package/template/.qoder/skills/yss-design-system/SKILL.md +25 -22
  657. package/template/.qoder/skills/yss-design-system/references/design-qa-theme.md +22 -24
  658. package/template/.qoder/skills/yss-design-system/references/design-system.md +39 -56
  659. package/template/.qoder/skills/yss-domain/SKILL.md +1 -1
  660. package/template/.qoder/skills/yss-dto/SKILL.md +1 -0
  661. package/template/.qoder/skills/yss-exception/SKILL.md +1 -0
  662. package/template/.qoder/skills/yss-frontend-scaffold-generator/SKILL.md +3 -1
  663. package/template/.qoder/skills/yss-implementation-contract-compiler/SKILL.md +10 -2
  664. package/template/.qoder/skills/yss-implementation-contract-compiler/references/boundaries.md +16 -8
  665. package/template/.qoder/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +78 -19
  666. package/template/.qoder/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +7 -1
  667. package/template/.qoder/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -0
  668. package/template/.qoder/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
  669. package/template/.qoder/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +8 -6
  670. package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
  671. package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
  672. package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
  673. package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
  674. package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
  675. package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
  676. package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
  677. package/template/.qoder/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
  678. package/template/.qoder/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
  679. package/template/.qoder/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
  680. package/template/.qoder/skills/yss-mvc-scaffold-generator/SKILL.md +3 -82
  681. package/template/.qoder/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
  682. package/template/.qoder/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
  683. package/template/.qoder/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
  684. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +2 -135
  685. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +4 -332
  686. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +11 -3
  687. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
  688. package/template/.qoder/skills/yss-mybatis/SKILL.md +2 -2
  689. package/template/.qoder/skills/yss-product-lifecycle/SKILL.md +33 -7
  690. package/template/.qoder/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
  691. package/template/.qoder/skills/yss-product-lifecycle/references/matt-yss-adapter.md +4 -6
  692. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration-contract.yaml +119 -46
  693. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration.md +9 -3
  694. package/template/.qoder/skills/yss-product-lifecycle/references/state-model.md +7 -2
  695. package/template/.qoder/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
  696. package/template/.qoder/skills/yss-prototype-stage/SKILL.md +9 -8
  697. package/template/.qoder/skills/yss-prototype-stage/references/product-design-adapter.md +33 -10
  698. package/template/.qoder/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -8
  699. package/template/.qoder/skills/yss-prototype-stage/scripts/prototype-contract.mjs +129 -22
  700. package/template/.qoder/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
  701. package/template/.qoder/skills/yss-prototype-stage/tests/run-scenarios.mjs +96 -17
  702. package/template/.qoder/skills/yss-repository/SKILL.md +6 -0
  703. package/template/.qoder/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
  704. package/template/.qoder/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
  705. package/template/.qoder/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
  706. package/template/.qoder/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
  707. package/template/.qoder/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +1 -1
  708. package/template/.qoder/skills/yss-stage-decision/SKILL.md +16 -12
  709. package/template/.qoder/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
  710. package/template/.qoder/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
  711. package/template/.qoder/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
  712. package/template/.qoder/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
  713. package/template/.qoder/skills/yss-stage-decision/references/validation-rules.md +1 -1
  714. package/template/.qoder/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
  715. package/template/.qoder/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
  716. package/template/.qoder/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
  717. package/template/.qoder/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
  718. package/template/.qoder/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
  719. package/template/.qoder/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
  720. package/template/.qoder/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
  721. package/template/.qoder/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
  722. package/template/.qoder/skills/yss-tactical-design/SKILL.md +8 -2
  723. package/template/.qoder/skills/yss-tactical-design/references/output-template.md +3 -0
  724. package/template/.qoder/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
  725. package/template/.qoder/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
  726. package/template/.qoder/skills/yss-ui/SKILL.md +3 -2
  727. package/template/.qoder/skills/yss-ui-business-page-generation/SKILL.md +3 -3
  728. package/template/.qoder/skills/yss-validation/SKILL.md +1 -0
  729. package/template/.qoder/skills/yss-web-controller/SKILL.md +6 -0
  730. package/template/.qoder/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
  731. package/template/.qoder/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
  732. package/template/.qoder/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
  733. package/template/.qoder/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
  734. package/template/.qoder/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
  735. package/template/.qoder/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
  736. package/template/.trae/skills/alibaba-java-code-style/SKILL.md +1 -0
  737. package/template/.trae/skills/code-review/references/yss-review-standards.md +1 -1
  738. package/template/.trae/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
  739. package/template/.trae/skills/domain-modeling/SKILL.md +10 -26
  740. package/template/.trae/skills/grill-with-docs/SKILL.md +6 -5
  741. package/template/.trae/skills/lombok/SKILL.md +2 -1
  742. package/template/.trae/skills/mapstruct/SKILL.md +3 -2
  743. package/template/.trae/skills/setup-matt-pocock-skills/SKILL.md +5 -6
  744. package/template/.trae/skills/setup-matt-pocock-skills/domain.md +6 -20
  745. package/template/.trae/skills/wait-what/SKILL.md +1 -1
  746. package/template/.trae/skills/yss-antdv-next-design/SKILL.md +48 -0
  747. package/template/.trae/skills/yss-antdv-next-design/references/boundaries.md +25 -0
  748. package/template/.trae/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
  749. package/template/.trae/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
  750. package/template/.trae/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
  751. package/template/.trae/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
  752. package/template/.trae/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
  753. package/template/.trae/skills/yss-application/SKILL.md +6 -0
  754. package/template/.trae/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
  755. package/template/.trae/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
  756. package/template/.trae/skills/yss-application/references/profiles/target-domain-model.md +3 -0
  757. package/template/.trae/skills/yss-components/SKILL.md +1 -1
  758. package/template/.trae/skills/yss-ddd-scaffold-generator/SKILL.md +3 -4
  759. package/template/.trae/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
  760. package/template/.trae/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
  761. package/template/.trae/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -4
  762. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
  763. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +21 -7
  764. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +37 -15
  765. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +22 -10
  766. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +14 -2
  767. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +41 -12
  768. package/template/.trae/skills/yss-design-system/SKILL.md +25 -22
  769. package/template/.trae/skills/yss-design-system/references/design-qa-theme.md +22 -24
  770. package/template/.trae/skills/yss-design-system/references/design-system.md +39 -56
  771. package/template/.trae/skills/yss-domain/SKILL.md +1 -1
  772. package/template/.trae/skills/yss-dto/SKILL.md +1 -0
  773. package/template/.trae/skills/yss-exception/SKILL.md +1 -0
  774. package/template/.trae/skills/yss-frontend-scaffold-generator/SKILL.md +3 -1
  775. package/template/.trae/skills/yss-implementation-contract-compiler/SKILL.md +10 -2
  776. package/template/.trae/skills/yss-implementation-contract-compiler/references/boundaries.md +16 -8
  777. package/template/.trae/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +78 -19
  778. package/template/.trae/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +7 -1
  779. package/template/.trae/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -0
  780. package/template/.trae/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
  781. package/template/.trae/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +8 -6
  782. package/template/.trae/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
  783. package/template/.trae/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
  784. package/template/.trae/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
  785. package/template/.trae/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
  786. package/template/.trae/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
  787. package/template/.trae/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
  788. package/template/.trae/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
  789. package/template/.trae/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
  790. package/template/.trae/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
  791. package/template/.trae/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
  792. package/template/.trae/skills/yss-mvc-scaffold-generator/SKILL.md +3 -82
  793. package/template/.trae/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
  794. package/template/.trae/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
  795. package/template/.trae/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
  796. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +2 -135
  797. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +4 -332
  798. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +11 -3
  799. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
  800. package/template/.trae/skills/yss-mybatis/SKILL.md +2 -2
  801. package/template/.trae/skills/yss-product-lifecycle/SKILL.md +33 -7
  802. package/template/.trae/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
  803. package/template/.trae/skills/yss-product-lifecycle/references/matt-yss-adapter.md +4 -6
  804. package/template/.trae/skills/yss-product-lifecycle/references/orchestration-contract.yaml +119 -46
  805. package/template/.trae/skills/yss-product-lifecycle/references/orchestration.md +9 -3
  806. package/template/.trae/skills/yss-product-lifecycle/references/state-model.md +7 -2
  807. package/template/.trae/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
  808. package/template/.trae/skills/yss-prototype-stage/SKILL.md +9 -8
  809. package/template/.trae/skills/yss-prototype-stage/references/product-design-adapter.md +33 -10
  810. package/template/.trae/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -8
  811. package/template/.trae/skills/yss-prototype-stage/scripts/prototype-contract.mjs +129 -22
  812. package/template/.trae/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
  813. package/template/.trae/skills/yss-prototype-stage/tests/run-scenarios.mjs +96 -17
  814. package/template/.trae/skills/yss-repository/SKILL.md +6 -0
  815. package/template/.trae/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
  816. package/template/.trae/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
  817. package/template/.trae/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
  818. package/template/.trae/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
  819. package/template/.trae/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +1 -1
  820. package/template/.trae/skills/yss-stage-decision/SKILL.md +16 -12
  821. package/template/.trae/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
  822. package/template/.trae/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
  823. package/template/.trae/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
  824. package/template/.trae/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
  825. package/template/.trae/skills/yss-stage-decision/references/validation-rules.md +1 -1
  826. package/template/.trae/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
  827. package/template/.trae/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
  828. package/template/.trae/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
  829. package/template/.trae/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
  830. package/template/.trae/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
  831. package/template/.trae/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
  832. package/template/.trae/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
  833. package/template/.trae/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
  834. package/template/.trae/skills/yss-tactical-design/SKILL.md +8 -2
  835. package/template/.trae/skills/yss-tactical-design/references/output-template.md +3 -0
  836. package/template/.trae/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
  837. package/template/.trae/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
  838. package/template/.trae/skills/yss-ui/SKILL.md +3 -2
  839. package/template/.trae/skills/yss-ui-business-page-generation/SKILL.md +3 -3
  840. package/template/.trae/skills/yss-validation/SKILL.md +1 -0
  841. package/template/.trae/skills/yss-web-controller/SKILL.md +6 -0
  842. package/template/.trae/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
  843. package/template/.trae/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
  844. package/template/.trae/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
  845. package/template/.trae/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
  846. package/template/.trae/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
  847. package/template/.trae/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
  848. package/template/AGENTS.md +52 -91
  849. package/template/CONTEXT.md +17 -5
  850. package/template/DESIGN.md +85 -41
  851. package/template/README.md +4 -0
  852. package/template/__yss_dotfile__.gitignore +1 -0
  853. package/template/docs/agents/backend-architecture-profiles.md +25 -0
  854. package/template/docs/agents/digital-human-roles.md +3 -3
  855. package/template/docs/agents/digital-human-roles.yaml +47 -13
  856. package/template/docs/agents/domain.md +7 -6
  857. package/template/docs/agents/skill-migrations.md +20 -2
  858. package/template/docs/agents/skills-maintenance.md +3 -3
  859. package/template/docs/agents/strategic-design-skills-integration.md +6 -1
  860. package/template/docs/agents/yss-skill-registry.yaml +78 -94
  861. package/template/docs/agents/yss-ui-skills-integration.md +3 -3
  862. package/template/docs/api/templates/openapi-draft-review-checklist.md +2 -2
  863. package/template/docs/architecture/templates/engineering-baseline-review-template.md +18 -6
  864. package/template/docs/design/README.md +9 -6
  865. package/template/docs/design/design-system-sync.yaml +1 -1
  866. package/template/docs/design/design.md +86 -118
  867. package/template/docs/design/facts/antdv-next/1.5.2/cli-help.txt +38 -0
  868. package/template/docs/design/facts/antdv-next/1.5.2/component-list.json +434 -0
  869. package/template/docs/design/facts/antdv-next/1.5.2/components/Alert/demo-basic.json +7 -0
  870. package/template/docs/design/facts/antdv-next/1.5.2/components/Alert/info.json +246 -0
  871. package/template/docs/design/facts/antdv-next/1.5.2/components/Alert/semantic.json +40 -0
  872. package/template/docs/design/facts/antdv-next/1.5.2/components/Alert/token.json +32 -0
  873. package/template/docs/design/facts/antdv-next/1.5.2/components/Button/demo-basic.json +7 -0
  874. package/template/docs/design/facts/antdv-next/1.5.2/components/Button/info.json +190 -0
  875. package/template/docs/design/facts/antdv-next/1.5.2/components/Button/semantic.json +20 -0
  876. package/template/docs/design/facts/antdv-next/1.5.2/components/Button/token.json +256 -0
  877. package/template/docs/design/facts/antdv-next/1.5.2/components/Input/demo-basic.json +7 -0
  878. package/template/docs/design/facts/antdv-next/1.5.2/components/Input/info.json +460 -0
  879. package/template/docs/design/facts/antdv-next/1.5.2/components/Input/semantic.json +70 -0
  880. package/template/docs/design/facts/antdv-next/1.5.2/components/Input/token.json +123 -0
  881. package/template/docs/design/facts/antdv-next/1.5.2/components/Modal/demo-basic.json +7 -0
  882. package/template/docs/design/facts/antdv-next/1.5.2/components/Modal/info.json +646 -0
  883. package/template/docs/design/facts/antdv-next/1.5.2/components/Modal/semantic.json +50 -0
  884. package/template/docs/design/facts/antdv-next/1.5.2/components/Modal/token.json +130 -0
  885. package/template/docs/design/facts/antdv-next/1.5.2/components/Select/demo-basic.json +7 -0
  886. package/template/docs/design/facts/antdv-next/1.5.2/components/Select/info.json +640 -0
  887. package/template/docs/design/facts/antdv-next/1.5.2/components/Select/semantic.json +70 -0
  888. package/template/docs/design/facts/antdv-next/1.5.2/components/Select/token.json +172 -0
  889. package/template/docs/design/facts/antdv-next/1.5.2/components/Table/demo-basic.json +7 -0
  890. package/template/docs/design/facts/antdv-next/1.5.2/components/Table/info.json +1010 -0
  891. package/template/docs/design/facts/antdv-next/1.5.2/components/Table/semantic.json +70 -0
  892. package/template/docs/design/facts/antdv-next/1.5.2/components/Table/token.json +263 -0
  893. package/template/docs/design/facts/antdv-next/1.5.2/components/Tag/demo-basic.json +7 -0
  894. package/template/docs/design/facts/antdv-next/1.5.2/components/Tag/info.json +321 -0
  895. package/template/docs/design/facts/antdv-next/1.5.2/components/Tag/semantic.json +25 -0
  896. package/template/docs/design/facts/antdv-next/1.5.2/components/Tag/token.json +25 -0
  897. package/template/docs/design/facts/antdv-next/1.5.2/design-md.json +3 -0
  898. package/template/docs/design/facts/antdv-next/1.5.2/manifest.json +215 -0
  899. package/template/docs/design/facts/antdv-next/1.5.2/resolution-probe.json +5 -0
  900. package/template/docs/design/preview-dark.html +170 -7
  901. package/template/docs/design/preview.css +730 -0
  902. package/template/docs/design/preview.html +168 -10
  903. package/template/docs/design/preview.js +71 -0
  904. package/template/docs/design/schemas/visual-baseline.schema.json +66 -0
  905. package/template/docs/design/templates/interaction-spec-template.md +1 -1
  906. package/template/docs/design/templates/product-overview-design-template.md +6 -6
  907. package/template/docs/design/templates/prototype-evidence-template.yaml +21 -8
  908. package/template/docs/design/templates/prototype-review-checklist.md +1 -1
  909. package/template/docs/design/templates/visual-baseline-template.yaml +70 -0
  910. package/template/docs/design/tokens/.design-md-projection.json +3 -3
  911. package/template/docs/design/tokens/theme.json +2 -2
  912. package/template/docs/design/tokens/variables.css +5 -0
  913. package/template/docs/process/frontend-backend-delivery.md +72 -0
  914. package/template/docs/process/harness-executive-blueprint.md +1 -1
  915. package/template/docs/process/harness-process-tailoring.md +1 -0
  916. package/template/docs/process/implementation-repo-integration.md +2 -0
  917. package/template/docs/process/lifecycle-artifact-map.md +6 -4
  918. package/template/docs/process/lifecycle-registry-baseline.json +8 -5
  919. package/template/docs/process/lifecycle-registry.yaml +27 -0
  920. package/template/docs/process/schemas/backend-architecture-identity.schema.json +19 -0
  921. package/template/docs/process/schemas/backend-delivery-verification.schema.json +113 -0
  922. package/template/docs/process/schemas/backend-delivery.schema.json +301 -0
  923. package/template/docs/process/schemas/context-reconciliation.schema.json +57 -0
  924. package/template/docs/process/schemas/digital-human-task-package.schema.json +18 -0
  925. package/template/docs/process/schemas/frontend-delivery-acceptance.schema.json +200 -0
  926. package/template/docs/process/schemas/frontend-implementation-evidence.schema.json +65 -29
  927. package/template/docs/process/schemas/lifecycle-checkpoint.schema.json +16 -2
  928. package/template/docs/process/schemas/lifecycle-registry.schema.json +4 -4
  929. package/template/docs/process/schemas/scaffold-architecture-decisions.schema.json +68 -0
  930. package/template/docs/process/schemas/strategic-design-handoff.schema.json +670 -0
  931. package/template/docs/process/schemas/strategic-handoff-domain-strategy.schema.json +146 -0
  932. package/template/docs/process/schemas/strategic-handoff-export.schema.json +295 -0
  933. package/template/docs/process/schemas/strategic-handoff-package.schema.json +97 -0
  934. package/template/docs/process/schemas/strategic-handoff-stage-decision-package.schema.json +98 -0
  935. package/template/docs/process/schemas/user-decision.schema.json +357 -0
  936. package/template/docs/process/strategic-handoff-package.md +56 -0
  937. package/template/docs/process/template-verification-profiles.yaml +66 -1
  938. package/template/docs/process/templates/context-reconciliation-template.yaml +18 -0
  939. package/template/docs/process/templates/frontend-implementation-plan-template.yaml +11 -5
  940. package/template/docs/process/templates/frontend-implementation-verification-template.yaml +25 -5
  941. package/template/docs/process/templates/lifecycle-checkpoint-template.yaml +9 -0
  942. package/template/docs/process/templates/scaffold-architecture-decisions-template.yaml +32 -0
  943. package/template/docs/process/templates/stage-checkpoint-template.md +5 -0
  944. package/template/docs/process/templates/user-decision-template.yaml +30 -0
  945. package/template/docs/templates/approval-record-template.yaml +4 -0
  946. package/template/docs/templates/build-architecture-checklist-template.md +3 -3
  947. package/template/docs/templates/implementation-repo-registry-template.md +3 -1
  948. package/template/docs/templates/implementation-routing-template.md +8 -6
  949. package/template/docs/templates/requirement-freeze-template.md +1 -1
  950. package/template/docs/templates/review-report-template.md +1 -1
  951. package/template/docs/templates/spec-template.md +5 -5
  952. package/template/docs/user-guide//346/210/230/346/234/257/350/256/276/350/256/241/345/255/220/351/241/271/347/233/256/347/224/250/346/210/267/346/211/213/345/206/214.md +20 -204
  953. package/template/docs/user-guide//347/224/250/346/210/267/346/211/213/345/206/214.md +63 -963
  954. package/template/docs/user-guide//347/224/250/346/210/267/346/211/213/345/206/214/347/264/242/345/274/225.md +11 -14
  955. package/template/docs/user-guide//350/256/276/345/244/207/345/200/237/347/224/250/350/264/257/347/251/277/346/241/210/344/276/213.md +127 -0
  956. package/template/scripts/backend-delivery +14 -0
  957. package/template/scripts/fixtures/backend-delivery/revision-server.mjs +11 -0
  958. package/template/scripts/fixtures/strategic-handoff/base-stage.json +91 -0
  959. package/template/scripts/fixtures/strategic-handoff/base-strategy.json +205 -0
  960. package/template/scripts/fixtures/strategic-handoff/fixture.mjs +57 -0
  961. package/template/scripts/fixtures/strategic-handoff/source-roles.json +528 -0
  962. package/template/scripts/fixtures/user-decision/build-fixture.mjs +61 -0
  963. package/template/scripts/instantiate-harness +69 -0
  964. package/template/scripts/lib/approval-record.mjs +32 -1
  965. package/template/scripts/lib/backend-architecture.mjs +43 -0
  966. package/template/scripts/lib/backend-delivery.mjs +164 -0
  967. package/template/scripts/lib/context-contract.mjs +203 -0
  968. package/template/scripts/lib/digital-human-roles.mjs +21 -3
  969. package/template/scripts/lib/first-slice-architecture.mjs +23 -0
  970. package/template/scripts/lib/frontend-delivery-boundary.mjs +49 -0
  971. package/template/scripts/lib/frontend-delivery.mjs +73 -0
  972. package/template/scripts/lib/harness-execution-scope.mjs +52 -0
  973. package/template/scripts/lib/implementation-contract-compiler.mjs +45 -2
  974. package/template/scripts/lib/lifecycle-registry.mjs +14 -6
  975. package/template/scripts/lib/lifecycle-transition.mjs +26 -4
  976. package/template/scripts/lib/scaffold-local-database.mjs +26 -0
  977. package/template/scripts/lib/scenario-checks.mjs +25 -12
  978. package/template/scripts/lib/skill-governance.mjs +25 -10
  979. package/template/scripts/lib/skill-registry.mjs +1 -1
  980. package/template/scripts/lib/skill-supply-chain.mjs +1 -1
  981. package/template/scripts/lib/strategic-handoff-consumption.mjs +83 -0
  982. package/template/scripts/lib/strategic-handoff-io.mjs +75 -0
  983. package/template/scripts/lib/strategic-handoff-rules.mjs +37 -0
  984. package/template/scripts/lib/strategic-handoff-zip.py +52 -0
  985. package/template/scripts/lib/strategic-handoff.mjs +259 -0
  986. package/template/scripts/lib/task-package.mjs +17 -2
  987. package/template/scripts/lib/user-decision.mjs +210 -0
  988. package/template/scripts/strategic-handoff +14 -0
  989. package/template/scripts/sync-strategic-handoff-tools +20 -0
  990. package/template/scripts/verify-approval-record +5 -4
  991. package/template/scripts/verify-business-language-scenarios +59 -0
  992. package/template/scripts/verify-context-contract +15 -0
  993. package/template/scripts/verify-context-contract-scenarios +105 -0
  994. package/template/scripts/verify-context-reconciliation +58 -0
  995. package/template/scripts/verify-context-reconciliation-scenarios +69 -0
  996. package/template/scripts/verify-digital-human-roles-scenarios +1 -1
  997. package/template/scripts/verify-frontend-delivery +9 -0
  998. package/template/scripts/verify-frontend-delivery-scenarios +131 -0
  999. package/template/scripts/verify-frontend-implementation-evidence +33 -8
  1000. package/template/scripts/verify-frontend-implementation-evidence-scenarios +56 -0
  1001. package/template/scripts/verify-grill-with-docs-context-scenarios +15 -0
  1002. package/template/scripts/verify-lifecycle-checkpoint +9 -1
  1003. package/template/scripts/verify-lifecycle-transition-scenarios +13 -3
  1004. package/template/scripts/verify-retired-skill-ids +30 -4
  1005. package/template/scripts/verify-scaffold-architecture-decision-scenarios +30 -0
  1006. package/template/scripts/verify-scaffold-architecture-decisions +61 -0
  1007. package/template/scripts/verify-scaffold-generator-scenarios +74 -3
  1008. package/template/scripts/verify-strategic-context-import +65 -0
  1009. package/template/scripts/verify-strategic-context-import-scenarios +50 -0
  1010. package/template/scripts/verify-strategic-handoff-consumption +10 -0
  1011. package/template/scripts/verify-strategic-handoff-package-scenarios +102 -0
  1012. package/template/scripts/verify-subagent-task-package-scenarios +17 -3
  1013. package/template/scripts/verify-template-verification-scenarios +6 -1
  1014. package/template/scripts/verify-user-decision +17 -0
  1015. package/template/scripts/verify-user-decision-scenarios +103 -0
  1016. package/template/skills-lock.json +77 -270
  1017. package/template/yss-public-skills.json +4 -4
  1018. package/template.manifest.json +43 -1
  1019. package/template.snapshot.json +5 -5
  1020. package/template/.agents/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
  1021. package/template/.agents/skills/ask-matt/SKILL.md +0 -95
  1022. package/template/.agents/skills/ask-matt/agents/openai.yaml +0 -5
  1023. package/template/.agents/skills/dispatching-parallel-agents/SKILL.md +0 -185
  1024. package/template/.agents/skills/loop-me/SKILL.md +0 -32
  1025. package/template/.agents/skills/loop-me/agents/openai.yaml +0 -5
  1026. package/template/.agents/skills/migrate-to-shoehorn/SKILL.md +0 -118
  1027. package/template/.agents/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
  1028. package/template/.agents/skills/prototype-page-acceptance/SKILL.md +0 -62
  1029. package/template/.agents/skills/scaffold-exercises/SKILL.md +0 -106
  1030. package/template/.agents/skills/scaffold-exercises/agents/openai.yaml +0 -3
  1031. package/template/.agents/skills/setup-pre-commit/SKILL.md +0 -91
  1032. package/template/.agents/skills/setup-pre-commit/agents/openai.yaml +0 -3
  1033. package/template/.agents/skills/setup-ts-deep-modules/SKILL.md +0 -102
  1034. package/template/.agents/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
  1035. package/template/.agents/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
  1036. package/template/.agents/skills/teach/GLOSSARY-FORMAT.md +0 -35
  1037. package/template/.agents/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
  1038. package/template/.agents/skills/teach/MISSION-FORMAT.md +0 -31
  1039. package/template/.agents/skills/teach/RESOURCES-FORMAT.md +0 -32
  1040. package/template/.agents/skills/teach/SKILL.md +0 -140
  1041. package/template/.agents/skills/teach/agents/openai.yaml +0 -5
  1042. package/template/.agents/skills/writing-beats/SKILL.md +0 -67
  1043. package/template/.agents/skills/writing-beats/agents/openai.yaml +0 -5
  1044. package/template/.agents/skills/writing-fragments/SKILL.md +0 -79
  1045. package/template/.agents/skills/writing-fragments/agents/openai.yaml +0 -5
  1046. package/template/.agents/skills/writing-shape/SKILL.md +0 -79
  1047. package/template/.agents/skills/writing-shape/agents/openai.yaml +0 -5
  1048. package/template/.agents/skills/yss-microapp-commit/SKILL.md +0 -201
  1049. package/template/.agents/skills/yss-microapp-commit/agents/openai.yaml +0 -5
  1050. package/template/.agents/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
  1051. package/template/.agents/skills/yss-page-module-development/SKILL.md +0 -165
  1052. package/template/.agents/skills/yss-page-module-development/agents/openai.yaml +0 -5
  1053. package/template/.agents/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
  1054. package/template/.agents/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
  1055. package/template/.agents/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
  1056. package/template/.agents/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  1057. package/template/.agents/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
  1058. package/template/.agents/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
  1059. package/template/.agents/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
  1060. package/template/.agents/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
  1061. package/template/.agents/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
  1062. package/template/.agents/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
  1063. package/template/.agents/skills/yss-page-module-development/references/component-map.md +0 -34
  1064. package/template/.agents/skills/yss-page-module-development/references/frontend-docs.md +0 -11
  1065. package/template/.agents/skills/yss-page-module-development/references/hooks-map.md +0 -11
  1066. package/template/.agents/skills/yss-page-module-development/references/utils-map.md +0 -14
  1067. package/template/.claude/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
  1068. package/template/.claude/skills/ask-matt/SKILL.md +0 -95
  1069. package/template/.claude/skills/ask-matt/agents/openai.yaml +0 -5
  1070. package/template/.claude/skills/dispatching-parallel-agents/SKILL.md +0 -185
  1071. package/template/.claude/skills/loop-me/SKILL.md +0 -32
  1072. package/template/.claude/skills/loop-me/agents/openai.yaml +0 -5
  1073. package/template/.claude/skills/migrate-to-shoehorn/SKILL.md +0 -118
  1074. package/template/.claude/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
  1075. package/template/.claude/skills/prototype-page-acceptance/SKILL.md +0 -62
  1076. package/template/.claude/skills/scaffold-exercises/SKILL.md +0 -106
  1077. package/template/.claude/skills/scaffold-exercises/agents/openai.yaml +0 -3
  1078. package/template/.claude/skills/setup-pre-commit/SKILL.md +0 -91
  1079. package/template/.claude/skills/setup-pre-commit/agents/openai.yaml +0 -3
  1080. package/template/.claude/skills/setup-ts-deep-modules/SKILL.md +0 -102
  1081. package/template/.claude/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
  1082. package/template/.claude/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
  1083. package/template/.claude/skills/teach/GLOSSARY-FORMAT.md +0 -35
  1084. package/template/.claude/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
  1085. package/template/.claude/skills/teach/MISSION-FORMAT.md +0 -31
  1086. package/template/.claude/skills/teach/RESOURCES-FORMAT.md +0 -32
  1087. package/template/.claude/skills/teach/SKILL.md +0 -140
  1088. package/template/.claude/skills/teach/agents/openai.yaml +0 -5
  1089. package/template/.claude/skills/writing-beats/SKILL.md +0 -67
  1090. package/template/.claude/skills/writing-beats/agents/openai.yaml +0 -5
  1091. package/template/.claude/skills/writing-fragments/SKILL.md +0 -79
  1092. package/template/.claude/skills/writing-fragments/agents/openai.yaml +0 -5
  1093. package/template/.claude/skills/writing-shape/SKILL.md +0 -79
  1094. package/template/.claude/skills/writing-shape/agents/openai.yaml +0 -5
  1095. package/template/.claude/skills/yss-microapp-commit/SKILL.md +0 -201
  1096. package/template/.claude/skills/yss-microapp-commit/agents/openai.yaml +0 -5
  1097. package/template/.claude/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
  1098. package/template/.claude/skills/yss-page-module-development/SKILL.md +0 -165
  1099. package/template/.claude/skills/yss-page-module-development/agents/openai.yaml +0 -5
  1100. package/template/.claude/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
  1101. package/template/.claude/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
  1102. package/template/.claude/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
  1103. package/template/.claude/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  1104. package/template/.claude/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
  1105. package/template/.claude/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
  1106. package/template/.claude/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
  1107. package/template/.claude/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
  1108. package/template/.claude/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
  1109. package/template/.claude/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
  1110. package/template/.claude/skills/yss-page-module-development/references/component-map.md +0 -34
  1111. package/template/.claude/skills/yss-page-module-development/references/frontend-docs.md +0 -11
  1112. package/template/.claude/skills/yss-page-module-development/references/hooks-map.md +0 -11
  1113. package/template/.claude/skills/yss-page-module-development/references/utils-map.md +0 -14
  1114. package/template/.codex/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
  1115. package/template/.codex/skills/ask-matt/SKILL.md +0 -95
  1116. package/template/.codex/skills/ask-matt/agents/openai.yaml +0 -5
  1117. package/template/.codex/skills/dispatching-parallel-agents/SKILL.md +0 -185
  1118. package/template/.codex/skills/loop-me/SKILL.md +0 -32
  1119. package/template/.codex/skills/loop-me/agents/openai.yaml +0 -5
  1120. package/template/.codex/skills/migrate-to-shoehorn/SKILL.md +0 -118
  1121. package/template/.codex/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
  1122. package/template/.codex/skills/prototype-page-acceptance/SKILL.md +0 -62
  1123. package/template/.codex/skills/scaffold-exercises/SKILL.md +0 -106
  1124. package/template/.codex/skills/scaffold-exercises/agents/openai.yaml +0 -3
  1125. package/template/.codex/skills/setup-pre-commit/SKILL.md +0 -91
  1126. package/template/.codex/skills/setup-pre-commit/agents/openai.yaml +0 -3
  1127. package/template/.codex/skills/setup-ts-deep-modules/SKILL.md +0 -102
  1128. package/template/.codex/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
  1129. package/template/.codex/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
  1130. package/template/.codex/skills/teach/GLOSSARY-FORMAT.md +0 -35
  1131. package/template/.codex/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
  1132. package/template/.codex/skills/teach/MISSION-FORMAT.md +0 -31
  1133. package/template/.codex/skills/teach/RESOURCES-FORMAT.md +0 -32
  1134. package/template/.codex/skills/teach/SKILL.md +0 -140
  1135. package/template/.codex/skills/teach/agents/openai.yaml +0 -5
  1136. package/template/.codex/skills/writing-beats/SKILL.md +0 -67
  1137. package/template/.codex/skills/writing-beats/agents/openai.yaml +0 -5
  1138. package/template/.codex/skills/writing-fragments/SKILL.md +0 -79
  1139. package/template/.codex/skills/writing-fragments/agents/openai.yaml +0 -5
  1140. package/template/.codex/skills/writing-shape/SKILL.md +0 -79
  1141. package/template/.codex/skills/writing-shape/agents/openai.yaml +0 -5
  1142. package/template/.codex/skills/yss-microapp-commit/SKILL.md +0 -201
  1143. package/template/.codex/skills/yss-microapp-commit/agents/openai.yaml +0 -5
  1144. package/template/.codex/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
  1145. package/template/.codex/skills/yss-page-module-development/SKILL.md +0 -165
  1146. package/template/.codex/skills/yss-page-module-development/agents/openai.yaml +0 -5
  1147. package/template/.codex/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
  1148. package/template/.codex/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
  1149. package/template/.codex/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
  1150. package/template/.codex/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  1151. package/template/.codex/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
  1152. package/template/.codex/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
  1153. package/template/.codex/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
  1154. package/template/.codex/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
  1155. package/template/.codex/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
  1156. package/template/.codex/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
  1157. package/template/.codex/skills/yss-page-module-development/references/component-map.md +0 -34
  1158. package/template/.codex/skills/yss-page-module-development/references/frontend-docs.md +0 -11
  1159. package/template/.codex/skills/yss-page-module-development/references/hooks-map.md +0 -11
  1160. package/template/.codex/skills/yss-page-module-development/references/utils-map.md +0 -14
  1161. package/template/.cursor/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
  1162. package/template/.cursor/skills/ask-matt/SKILL.md +0 -95
  1163. package/template/.cursor/skills/ask-matt/agents/openai.yaml +0 -5
  1164. package/template/.cursor/skills/dispatching-parallel-agents/SKILL.md +0 -185
  1165. package/template/.cursor/skills/loop-me/SKILL.md +0 -32
  1166. package/template/.cursor/skills/loop-me/agents/openai.yaml +0 -5
  1167. package/template/.cursor/skills/migrate-to-shoehorn/SKILL.md +0 -118
  1168. package/template/.cursor/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
  1169. package/template/.cursor/skills/prototype-page-acceptance/SKILL.md +0 -62
  1170. package/template/.cursor/skills/scaffold-exercises/SKILL.md +0 -106
  1171. package/template/.cursor/skills/scaffold-exercises/agents/openai.yaml +0 -3
  1172. package/template/.cursor/skills/setup-pre-commit/SKILL.md +0 -91
  1173. package/template/.cursor/skills/setup-pre-commit/agents/openai.yaml +0 -3
  1174. package/template/.cursor/skills/setup-ts-deep-modules/SKILL.md +0 -102
  1175. package/template/.cursor/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
  1176. package/template/.cursor/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
  1177. package/template/.cursor/skills/teach/GLOSSARY-FORMAT.md +0 -35
  1178. package/template/.cursor/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
  1179. package/template/.cursor/skills/teach/MISSION-FORMAT.md +0 -31
  1180. package/template/.cursor/skills/teach/RESOURCES-FORMAT.md +0 -32
  1181. package/template/.cursor/skills/teach/SKILL.md +0 -140
  1182. package/template/.cursor/skills/teach/agents/openai.yaml +0 -5
  1183. package/template/.cursor/skills/writing-beats/SKILL.md +0 -67
  1184. package/template/.cursor/skills/writing-beats/agents/openai.yaml +0 -5
  1185. package/template/.cursor/skills/writing-fragments/SKILL.md +0 -79
  1186. package/template/.cursor/skills/writing-fragments/agents/openai.yaml +0 -5
  1187. package/template/.cursor/skills/writing-shape/SKILL.md +0 -79
  1188. package/template/.cursor/skills/writing-shape/agents/openai.yaml +0 -5
  1189. package/template/.cursor/skills/yss-microapp-commit/SKILL.md +0 -201
  1190. package/template/.cursor/skills/yss-microapp-commit/agents/openai.yaml +0 -5
  1191. package/template/.cursor/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
  1192. package/template/.cursor/skills/yss-page-module-development/SKILL.md +0 -165
  1193. package/template/.cursor/skills/yss-page-module-development/agents/openai.yaml +0 -5
  1194. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
  1195. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
  1196. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
  1197. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  1198. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
  1199. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
  1200. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
  1201. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
  1202. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
  1203. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
  1204. package/template/.cursor/skills/yss-page-module-development/references/component-map.md +0 -34
  1205. package/template/.cursor/skills/yss-page-module-development/references/frontend-docs.md +0 -11
  1206. package/template/.cursor/skills/yss-page-module-development/references/hooks-map.md +0 -11
  1207. package/template/.cursor/skills/yss-page-module-development/references/utils-map.md +0 -14
  1208. package/template/.pi/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
  1209. package/template/.pi/skills/ask-matt/SKILL.md +0 -95
  1210. package/template/.pi/skills/ask-matt/agents/openai.yaml +0 -5
  1211. package/template/.pi/skills/dispatching-parallel-agents/SKILL.md +0 -185
  1212. package/template/.pi/skills/loop-me/SKILL.md +0 -32
  1213. package/template/.pi/skills/loop-me/agents/openai.yaml +0 -5
  1214. package/template/.pi/skills/migrate-to-shoehorn/SKILL.md +0 -118
  1215. package/template/.pi/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
  1216. package/template/.pi/skills/prototype-page-acceptance/SKILL.md +0 -62
  1217. package/template/.pi/skills/scaffold-exercises/SKILL.md +0 -106
  1218. package/template/.pi/skills/scaffold-exercises/agents/openai.yaml +0 -3
  1219. package/template/.pi/skills/setup-pre-commit/SKILL.md +0 -91
  1220. package/template/.pi/skills/setup-pre-commit/agents/openai.yaml +0 -3
  1221. package/template/.pi/skills/setup-ts-deep-modules/SKILL.md +0 -102
  1222. package/template/.pi/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
  1223. package/template/.pi/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
  1224. package/template/.pi/skills/teach/GLOSSARY-FORMAT.md +0 -35
  1225. package/template/.pi/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
  1226. package/template/.pi/skills/teach/MISSION-FORMAT.md +0 -31
  1227. package/template/.pi/skills/teach/RESOURCES-FORMAT.md +0 -32
  1228. package/template/.pi/skills/teach/SKILL.md +0 -140
  1229. package/template/.pi/skills/teach/agents/openai.yaml +0 -5
  1230. package/template/.pi/skills/writing-beats/SKILL.md +0 -67
  1231. package/template/.pi/skills/writing-beats/agents/openai.yaml +0 -5
  1232. package/template/.pi/skills/writing-fragments/SKILL.md +0 -79
  1233. package/template/.pi/skills/writing-fragments/agents/openai.yaml +0 -5
  1234. package/template/.pi/skills/writing-shape/SKILL.md +0 -79
  1235. package/template/.pi/skills/writing-shape/agents/openai.yaml +0 -5
  1236. package/template/.pi/skills/yss-microapp-commit/SKILL.md +0 -201
  1237. package/template/.pi/skills/yss-microapp-commit/agents/openai.yaml +0 -5
  1238. package/template/.pi/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
  1239. package/template/.pi/skills/yss-page-module-development/SKILL.md +0 -165
  1240. package/template/.pi/skills/yss-page-module-development/agents/openai.yaml +0 -5
  1241. package/template/.pi/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
  1242. package/template/.pi/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
  1243. package/template/.pi/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
  1244. package/template/.pi/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  1245. package/template/.pi/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
  1246. package/template/.pi/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
  1247. package/template/.pi/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
  1248. package/template/.pi/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
  1249. package/template/.pi/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
  1250. package/template/.pi/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
  1251. package/template/.pi/skills/yss-page-module-development/references/component-map.md +0 -34
  1252. package/template/.pi/skills/yss-page-module-development/references/frontend-docs.md +0 -11
  1253. package/template/.pi/skills/yss-page-module-development/references/hooks-map.md +0 -11
  1254. package/template/.pi/skills/yss-page-module-development/references/utils-map.md +0 -14
  1255. package/template/.qoder/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
  1256. package/template/.qoder/skills/ask-matt/SKILL.md +0 -95
  1257. package/template/.qoder/skills/ask-matt/agents/openai.yaml +0 -5
  1258. package/template/.qoder/skills/dispatching-parallel-agents/SKILL.md +0 -185
  1259. package/template/.qoder/skills/loop-me/SKILL.md +0 -32
  1260. package/template/.qoder/skills/loop-me/agents/openai.yaml +0 -5
  1261. package/template/.qoder/skills/migrate-to-shoehorn/SKILL.md +0 -118
  1262. package/template/.qoder/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
  1263. package/template/.qoder/skills/prototype-page-acceptance/SKILL.md +0 -62
  1264. package/template/.qoder/skills/scaffold-exercises/SKILL.md +0 -106
  1265. package/template/.qoder/skills/scaffold-exercises/agents/openai.yaml +0 -3
  1266. package/template/.qoder/skills/setup-pre-commit/SKILL.md +0 -91
  1267. package/template/.qoder/skills/setup-pre-commit/agents/openai.yaml +0 -3
  1268. package/template/.qoder/skills/setup-ts-deep-modules/SKILL.md +0 -102
  1269. package/template/.qoder/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
  1270. package/template/.qoder/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
  1271. package/template/.qoder/skills/teach/GLOSSARY-FORMAT.md +0 -35
  1272. package/template/.qoder/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
  1273. package/template/.qoder/skills/teach/MISSION-FORMAT.md +0 -31
  1274. package/template/.qoder/skills/teach/RESOURCES-FORMAT.md +0 -32
  1275. package/template/.qoder/skills/teach/SKILL.md +0 -140
  1276. package/template/.qoder/skills/teach/agents/openai.yaml +0 -5
  1277. package/template/.qoder/skills/writing-beats/SKILL.md +0 -67
  1278. package/template/.qoder/skills/writing-beats/agents/openai.yaml +0 -5
  1279. package/template/.qoder/skills/writing-fragments/SKILL.md +0 -79
  1280. package/template/.qoder/skills/writing-fragments/agents/openai.yaml +0 -5
  1281. package/template/.qoder/skills/writing-shape/SKILL.md +0 -79
  1282. package/template/.qoder/skills/writing-shape/agents/openai.yaml +0 -5
  1283. package/template/.qoder/skills/yss-microapp-commit/SKILL.md +0 -201
  1284. package/template/.qoder/skills/yss-microapp-commit/agents/openai.yaml +0 -5
  1285. package/template/.qoder/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
  1286. package/template/.qoder/skills/yss-page-module-development/SKILL.md +0 -165
  1287. package/template/.qoder/skills/yss-page-module-development/agents/openai.yaml +0 -5
  1288. package/template/.qoder/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
  1289. package/template/.qoder/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
  1290. package/template/.qoder/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
  1291. package/template/.qoder/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  1292. package/template/.qoder/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
  1293. package/template/.qoder/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
  1294. package/template/.qoder/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
  1295. package/template/.qoder/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
  1296. package/template/.qoder/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
  1297. package/template/.qoder/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
  1298. package/template/.qoder/skills/yss-page-module-development/references/component-map.md +0 -34
  1299. package/template/.qoder/skills/yss-page-module-development/references/frontend-docs.md +0 -11
  1300. package/template/.qoder/skills/yss-page-module-development/references/hooks-map.md +0 -11
  1301. package/template/.qoder/skills/yss-page-module-development/references/utils-map.md +0 -14
  1302. package/template/.trae/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
  1303. package/template/.trae/skills/ask-matt/SKILL.md +0 -95
  1304. package/template/.trae/skills/ask-matt/agents/openai.yaml +0 -5
  1305. package/template/.trae/skills/dispatching-parallel-agents/SKILL.md +0 -185
  1306. package/template/.trae/skills/loop-me/SKILL.md +0 -32
  1307. package/template/.trae/skills/loop-me/agents/openai.yaml +0 -5
  1308. package/template/.trae/skills/migrate-to-shoehorn/SKILL.md +0 -118
  1309. package/template/.trae/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
  1310. package/template/.trae/skills/prototype-page-acceptance/SKILL.md +0 -62
  1311. package/template/.trae/skills/scaffold-exercises/SKILL.md +0 -106
  1312. package/template/.trae/skills/scaffold-exercises/agents/openai.yaml +0 -3
  1313. package/template/.trae/skills/setup-pre-commit/SKILL.md +0 -91
  1314. package/template/.trae/skills/setup-pre-commit/agents/openai.yaml +0 -3
  1315. package/template/.trae/skills/setup-ts-deep-modules/SKILL.md +0 -102
  1316. package/template/.trae/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
  1317. package/template/.trae/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
  1318. package/template/.trae/skills/teach/GLOSSARY-FORMAT.md +0 -35
  1319. package/template/.trae/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
  1320. package/template/.trae/skills/teach/MISSION-FORMAT.md +0 -31
  1321. package/template/.trae/skills/teach/RESOURCES-FORMAT.md +0 -32
  1322. package/template/.trae/skills/teach/SKILL.md +0 -140
  1323. package/template/.trae/skills/teach/agents/openai.yaml +0 -5
  1324. package/template/.trae/skills/writing-beats/SKILL.md +0 -67
  1325. package/template/.trae/skills/writing-beats/agents/openai.yaml +0 -5
  1326. package/template/.trae/skills/writing-fragments/SKILL.md +0 -79
  1327. package/template/.trae/skills/writing-fragments/agents/openai.yaml +0 -5
  1328. package/template/.trae/skills/writing-shape/SKILL.md +0 -79
  1329. package/template/.trae/skills/writing-shape/agents/openai.yaml +0 -5
  1330. package/template/.trae/skills/yss-microapp-commit/SKILL.md +0 -201
  1331. package/template/.trae/skills/yss-microapp-commit/agents/openai.yaml +0 -5
  1332. package/template/.trae/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
  1333. package/template/.trae/skills/yss-page-module-development/SKILL.md +0 -165
  1334. package/template/.trae/skills/yss-page-module-development/agents/openai.yaml +0 -5
  1335. package/template/.trae/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
  1336. package/template/.trae/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
  1337. package/template/.trae/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
  1338. package/template/.trae/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  1339. package/template/.trae/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
  1340. package/template/.trae/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
  1341. package/template/.trae/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
  1342. package/template/.trae/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
  1343. package/template/.trae/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
  1344. package/template/.trae/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
  1345. package/template/.trae/skills/yss-page-module-development/references/component-map.md +0 -34
  1346. package/template/.trae/skills/yss-page-module-development/references/frontend-docs.md +0 -11
  1347. package/template/.trae/skills/yss-page-module-development/references/hooks-map.md +0 -11
  1348. package/template/.trae/skills/yss-page-module-development/references/utils-map.md +0 -14
@@ -0,0 +1,159 @@
1
+ import { attachScaffoldDecisionFixture } from "../../../../scripts/fixtures/user-decision/build-fixture.mjs";
2
+ import assert from "node:assert/strict";
3
+ import { createHash } from "node:crypto";
4
+ import { spawnSync } from "node:child_process";
5
+ import { mkdtemp, mkdir, readFile, rm, stat, writeFile } from "node:fs/promises";
6
+ import os from "node:os";
7
+ import path from "node:path";
8
+ import test from "node:test";
9
+ import { fileURLToPath } from "node:url";
10
+
11
+ const script = path.join(path.dirname(fileURLToPath(import.meta.url)), "generate_scaffold.mjs");
12
+ const digest = (value) => `sha256:${createHash("sha256").update(value).digest("hex")}`;
13
+ const capabilityModules = {
14
+ basic: { capabilities: [], modules: ["server", "service", "repository"] },
15
+ adapter: { capabilities: ["external-integration"], modules: ["server", "service", "repository", "adapter"] },
16
+ client: { capabilities: ["published-client"], modules: ["server", "service", "repository", "client"] },
17
+ feign: { capabilities: ["feign-client"], modules: ["server", "service", "repository", "client", "feign-client"] },
18
+ combined: { capabilities: ["external-integration", "feign-client"], modules: ["server", "service", "repository", "adapter", "client", "feign-client"] }
19
+ };
20
+
21
+ async function fixture(t, { profile = capabilityModules.basic, architectureProfile = "layered-mvc-service", skillId = "yss-layered-mvc-scaffold-generator" } = {}) {
22
+ const root = await mkdtemp(path.join(os.tmpdir(), "yss-layered-mvc-"));
23
+ t.after(() => rm(root, { recursive: true, force: true }));
24
+ const output = path.join(root, "backend");
25
+ await mkdir(output);
26
+ let decisionText = `${JSON.stringify({ schema_version: 1, kind: "scaffold-architecture-decisions", template: false, status: "current", decisions: [{ decision_id: "scaffold-decision.demo-service", project_id: "demo-service", parent_project_id: null, status: "lifecycle-approved", recommended_architecture: "layered-mvc", recommendation_reasons: ["薄 CRUD 服务"], confirmed_architecture: "layered-mvc", override_reason: null, inheritance_mode: "root-default", inherited_from: null, platform_profile: "spring-boot-2.7-jdk8", architecture_profile: architectureProfile, verification_database: "h2", production_database: "not-bound", requested_capabilities: profile.capabilities, resolved_modules: profile.modules, resolution_version: 1, user_confirmation: { confirmed_by: "tester", channel: "test", confirmation_ref: "test://confirmation", confirmed_at: "2026-09-05T00:00:00Z", normalized_text: "确认使用 MVC" }, decision_inputs_digest: `sha256:${"1".repeat(64)}` }] }, null, 2)}\n`;
27
+ const decisionSet = JSON.parse(decisionText);
28
+ decisionSet.decisions = decisionSet.decisions.map((decision) => attachScaffoldDecisionFixture(path.join(root, "user-decision"), decision));
29
+ decisionText = JSON.stringify(decisionSet, null, 2) + "\n";
30
+ const decisionFile = path.join(root, "scaffold-architecture-decisions.yaml");
31
+ await writeFile(decisionFile, decisionText);
32
+ const contract = {
33
+ schema_version: 3,
34
+ contract_id: "scaffold.demo-service.v1",
35
+ contract_version: 1,
36
+ scaffold_request_id: "request.demo-service",
37
+ status: "approved",
38
+ compiler_draft_ref: "compiler://demo/1",
39
+ lifecycle_approval_ref: "approval://demo/1",
40
+ persisted_ref: "contract://demo/1",
41
+ current_version: 1,
42
+ implementation_repository: "external",
43
+ backend_repository: "external",
44
+ scaffold_status: "required",
45
+ project_name: "demo-service",
46
+ target_output_dir: output,
47
+ base_package: "com.yss.demo",
48
+ architecture_family: "layered-mvc", architecture_profile: architectureProfile,
49
+ generator_skill: skillId,
50
+ decision_ref: decisionFile,
51
+ decision_id: "scaffold-decision.demo-service",
52
+ decision_digest: digest(decisionText),
53
+ maven_coordinates: { group_id: "com.yss.demo", project_version: "1.0.0-SNAPSHOT", parent: { group_id: "com.yss.cloud", artifact_id: "yss-cloud-microservice", version: "2.0.0-SNAPSHOT" }, yss_components_version: "2.0.0-SNAPSHOT" },
54
+ profiles: { architecture: "layered-mvc", persistence: "mybatis-plus", verification_database: "h2", production_database: "not-bound", platform: "spring-boot-2.7-jdk8", validation_namespace: "javax", repository: "yss-internal" },
55
+ module_profile: { requested_capabilities: profile.capabilities, resolved_modules: profile.modules, resolution_version: 1 },
56
+ allowed_write_paths: ["."],
57
+ expected_evidence_files: [".yss/scaffold-generation.json"],
58
+ verification_commands: ["./mvnw validate", "./mvnw test", "./mvnw package"],
59
+ approval: { approval_ref: "approval://demo/1", approver: "lifecycle", persisted_ref: "contract://demo/1", current_version: 1 },
60
+ work_unit: { id: "scaffold.demo", behavior: "project-scaffold", primary_skill: skillId, supporting_skills: ["yss-implementation-contract-compiler"], tdd_mode: "controlled-generation", allowed_write_paths: ["."], expected_evidence: [".yss/scaffold-generation.json"], verification_commands: ["./mvnw validate", "./mvnw test", "./mvnw package"], controlled_generation: true },
61
+ generation_policy: { mode: "initialize-only", existing_target: "unsupported", old_project_migration: "unsupported", template_upgrade: "unsupported" }
62
+ };
63
+ const contractFile = path.join(root, "contract.json");
64
+ await writeFile(contractFile, `${JSON.stringify(contract, null, 2)}\n`);
65
+ const args = ["--project-name", "demo-service", "--base-package", "com.yss.demo", "--output-dir", output, "--contract-file", contractFile, "--contract-id", contract.contract_id, "--contract-version", "1", "--approval-ref", contract.lifecycle_approval_ref, "--compiler-draft-ref", contract.compiler_draft_ref, "--persisted-ref", contract.persisted_ref, "--group-id", "com.yss.demo", "--project-version", "1.0.0-SNAPSHOT", "--parent-group-id", "com.yss.cloud", "--parent-artifact-id", "yss-cloud-microservice", "--parent-version", "2.0.0-SNAPSHOT", "--yss-components-version", "2.0.0-SNAPSHOT"];
66
+ return { root, output, decisionFile, contractFile, contract, args, project: path.join(output, "demo-service") };
67
+ }
68
+
69
+ test("数据分析初始化生成 H2 六模块和独立治理信封", async (t) => {
70
+ const skillId = "yss-mvc-data-analysis-project-initializer";
71
+ const data = await fixture(t, { architectureProfile: "mvc-data-analysis-v1", skillId, profile: { capabilities: [], modules: ["server", "core", "client", "repository", "adapter", "feign-client"] } });
72
+ const context = "---\ncontext_schema_version: 1\n---\n# 业务上下文\n\n## 业务术语\n\n| 术语 | 含义 | 英文标识 | 适用业务责任区 | 避免 / 备注 |\n|---|---|---|---|---|\n";
73
+ await writeFile(path.join(data.root, "context-handoff.md"), context);
74
+ data.contract.context_handoff_ref = "context-handoff.md";
75
+ data.contract.context_handoff_digest = digest(context);
76
+ await writeFile(data.contractFile, JSON.stringify(data.contract));
77
+ const initializer = path.resolve(path.dirname(script), `../../${skillId}/scripts/generate_project.mjs`);
78
+ const result = spawnSync(process.execPath, [initializer, ...data.args], { encoding: "utf8" });
79
+ assert.equal(result.status, 0, result.stderr);
80
+ const manifest = JSON.parse(await readFile(path.join(data.project, ".yss/scaffold-generation.json"), "utf8"));
81
+ assert.equal(manifest.architecture_identity.architecture_profile, "mvc-data-analysis-v1");
82
+ assert.equal(manifest.generator_skill, skillId);
83
+ assert.equal(await readFile(path.join(data.project, "CONTEXT.md"), "utf8"), context);
84
+ await stat(path.join(data.project, ".git"));
85
+ await stat(path.join(data.output, "skillUtils/skills-lock.json"));
86
+ assert.ok(!manifest.ownership.generated_files.some((entry) => entry.path.startsWith(".git/")));
87
+ const core = await readFile(path.join(data.project, "demo-service-core/pom.xml"), "utf8");
88
+ assert.doesNotMatch(core, /demo-service-client|spring-web|ojdbc|mysql-connector/);
89
+ });
90
+
91
+ test("旧数据库和 Mock 参数在写入前被拒绝", async (t) => {
92
+ const data = await fixture(t);
93
+ for (const args of [["--database", "mysql"], ["--with-mock"]]) {
94
+ const result = spawnSync(process.execPath, [script, ...data.args, ...args], { encoding: "utf8" });
95
+ assert.notEqual(result.status, 0);
96
+ await assert.rejects(stat(data.project), { code: "ENOENT" });
97
+ }
98
+ });
99
+
100
+ test("可选离线 Maven 可行性检查(不替代受控仓库验收)", { skip: process.env.YSS_BACKEND_OFFLINE_PROBE !== "1" }, async (t) => {
101
+ const data = await fixture(t);
102
+ const generated = spawnSync(process.execPath, [script, ...data.args], { encoding: "utf8" });
103
+ assert.equal(generated.status, 0, generated.stderr);
104
+ for (const phase of ["validate", "test", "package"]) {
105
+ const result = spawnSync(path.join(data.project, "mvnw"), ["-o", phase], { cwd: data.project, encoding: "utf8", timeout: 60_000 });
106
+ t.diagnostic(`./mvnw -o ${phase}: exit=${result.status}; ${result.error?.message ?? ""}`);
107
+ assert.equal(result.status, 0, `${result.stdout}\n${result.stderr}`);
108
+ }
109
+ });
110
+
111
+ for (const database of ["h2"]) {
112
+ test(`生成 ${database} 基础 Profile`, async (t) => {
113
+ const data = await fixture(t, { database });
114
+ const result = spawnSync(process.execPath, [script, ...data.args], { encoding: "utf8" });
115
+ assert.equal(result.status, 0, result.stderr);
116
+ const manifest = JSON.parse(await readFile(path.join(data.project, ".yss/scaffold-generation.json"), "utf8"));
117
+ assert.equal(manifest.schema_version, 3);
118
+ assert.equal(manifest.architecture_family, "layered-mvc");
119
+ assert.equal(manifest.profiles.verification_database, database);
120
+ assert.equal(manifest.profiles.production_database, "not-bound");
121
+ assert.equal(manifest.architecture_identity.architecture_profile, "layered-mvc-service");
122
+ const config = await readFile(path.join(data.project, "demo-service-server/src/main/resources/application.yml"), "utf8");
123
+ assert.doesNotMatch(config, /datasource|profiles|jdbc:/);
124
+ const local = await readFile(path.join(data.project, "demo-service-server/src/main/resources/application-scaffold-local.yml"), "utf8");
125
+ assert.match(local, /jdbc:h2:mem:/);
126
+ assert.deepEqual(manifest.module_profile.resolved_modules, capabilityModules.basic.modules);
127
+ await stat(path.join(data.project, "demo-service-server/src/main/java/com/yss/demo/DemoServiceApplication.java"));
128
+ await assert.rejects(stat(path.join(data.project, "demo-service-server/src/main/java/com/yss/demo/server/controller")), { code: "ENOENT" });
129
+ });
130
+ }
131
+
132
+ for (const [name, profile] of Object.entries(capabilityModules)) {
133
+ test(`能力闭包 ${name}`, async (t) => {
134
+ const data = await fixture(t, { profile });
135
+ const result = spawnSync(process.execPath, [script, ...data.args], { encoding: "utf8" });
136
+ assert.equal(result.status, 0, result.stderr);
137
+ const pom = await readFile(path.join(data.project, "pom.xml"), "utf8");
138
+ for (const module of profile.modules) assert.match(pom, new RegExp(`<module>demo-service-${module}</module>`));
139
+ for (const module of ["adapter", "client", "feign-client"].filter((item) => !profile.modules.includes(item))) assert.doesNotMatch(pom, new RegExp(`<module>demo-service-${module}</module>`));
140
+ });
141
+ }
142
+
143
+ test("选择缺失、digest 漂移和非空目标均阻断", async (t) => {
144
+ const missing = await fixture(t);
145
+ missing.contract.decision_id = "decision.missing";
146
+ await writeFile(missing.contractFile, `${JSON.stringify(missing.contract)}\n`);
147
+ assert.notEqual(spawnSync(process.execPath, [script, ...missing.args], { encoding: "utf8" }).status, 0);
148
+
149
+ const drift = await fixture(t);
150
+ drift.contract.decision_digest = `sha256:${"0".repeat(64)}`;
151
+ await writeFile(drift.contractFile, `${JSON.stringify(drift.contract)}\n`);
152
+ assert.notEqual(spawnSync(process.execPath, [script, ...drift.args], { encoding: "utf8" }).status, 0);
153
+
154
+ const existing = await fixture(t);
155
+ await mkdir(existing.project);
156
+ const blocked = spawnSync(process.execPath, [script, ...existing.args], { encoding: "utf8" });
157
+ assert.notEqual(blocked.status, 0);
158
+ assert.match(blocked.stderr, /目标已存在/);
159
+ });
@@ -0,0 +1,22 @@
1
+ ---
2
+ name: yss-mvc-data-analysis-project-initializer
3
+ description: 在生命周期批准的初始化合同下创建独立 Git 管理的数据分析 project-instance;固定 mvc-data-analysis-v1 六模块、Java 8 和本地测试 H2。
4
+ ---
5
+
6
+ # 数据分析 MVC 项目初始化
7
+
8
+ 这是 `work-unit.service-project-initialization` 的执行器,不是通用 MVC 脚手架。通用 MVC 使用 `yss-layered-mvc-scaffold-generator`;DDD 使用 `yss-ddd-scaffold-generator`。旧 `yss-mvc-scaffold-generator` 已退役且不提供自动别名。
9
+
10
+ ## 执行合同
11
+
12
+ - 必须有生命周期批准且当前的 schema v3 scaffold contract,绑定 `architecture_profile=mvc-data-analysis-v1`、本生成器及已批准的架构决策。
13
+ - 固定 server/core/client/repository/adapter/feign-client;core 是薄应用层,规则见 `docs/agents/backend-architecture-profiles.md`。不生成业务接口、SQL、DDL、Mock、生产数据库配置或额外数据源。
14
+ - `verification_database=h2` / `production_database=not-bound`;Java 8 / Boot 2.7 / javax。目标不存在,禁止覆盖、迁移、自动提交和推送。
15
+ - 合同必须包含 `context_handoff_ref`、`context_handoff_digest`:批准交接的完整根 CONTEXT.md(含 schema frontmatter),不得用跨仓路径替代本仓词汇表。初始化只复制已确认内容,不创造业务术语;父项目只保留服务引用和 handoff 证据。
16
+ - `allowed_write_paths` 必须覆盖目标项目及同级 skillUtils。已有 skillUtils 锁不匹配即 blocked,不替换别的项目正在使用的工具包。
17
+
18
+ ## 命令与结果
19
+
20
+ `node scripts/generate_project.mjs` 使用通用 MVC 生成器相同的批准合同与 Maven 坐标参数(`--output-dir` 是父容器);无 `--database`、`--with-mock` 或交互选项。
21
+
22
+ 输出独立 project-instance、初始化但未提交的 main Git、生命周期资产、完整锁定 skillUtils、架构身份及 Manifest。使用共享 `run_scaffold_verification.mjs <project> <evidence>` 实跑三条 Wrapper 命令;只在实际成功后报告 empty-scaffold-verified。Profile 仍须独立首切片 fixture 达标才能晋升 supported。
@@ -0,0 +1,77 @@
1
+ #!/usr/bin/env node
2
+ import { createHash } from "node:crypto";
3
+ import { spawnSync } from "node:child_process";
4
+ import { cp, lstat, mkdir, mkdtemp, readFile, rename, rm, writeFile } from "node:fs/promises";
5
+ import path from "node:path";
6
+ import { fileURLToPath } from "node:url";
7
+ import { generate, parseArgs } from "../../yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs";
8
+
9
+ const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../../../..");
10
+ const skillId = "yss-mvc-data-analysis-project-initializer";
11
+ const digest = (value) => `sha256:${createHash("sha256").update(value).digest("hex")}`;
12
+ async function present(target) { try { await lstat(target); return true; } catch (error) { if (error.code === "ENOENT") return false; throw error; } }
13
+ async function put(target, text) { await mkdir(path.dirname(target), { recursive: true }); await writeFile(target, `${text.trimEnd()}\n`); }
14
+ function within(parent, target) { const relative = path.relative(parent, target); return relative === "" || (!relative.startsWith("..") && !path.isAbsolute(relative)); }
15
+
16
+ async function sharedTools(outputDir, contract) {
17
+ const destination = path.join(outputDir, "skillUtils");
18
+ if (!contract.allowed_write_paths.some((item) => within(path.resolve(outputDir, item), destination))) throw new Error("skillUtils 不在批准写范围内");
19
+ const lock = await readFile(path.join(root, "skills-lock.json"));
20
+ if (await present(destination)) {
21
+ if (!await present(path.join(destination, "skill-utils.yaml")) || !lock.equals(await readFile(path.join(destination, "skills-lock.json")))) throw new Error("已有 skillUtils 不匹配;须独立批准刷新,初始化不会覆盖");
22
+ return digest(lock);
23
+ }
24
+ const staging = await mkdtemp(path.join(outputDir, ".skillUtils.staging-"));
25
+ try {
26
+ for (const relative of [".agents/skills", ".codex/skills", ".claude/skills", ".cursor/skills", ".pi/skills", ".qoder/skills", ".trae/skills", "scripts", "docs/agents", "docs/process", "AGENTS.md", "skills-lock.json"]) {
27
+ await mkdir(path.dirname(path.join(staging, relative)), { recursive: true });
28
+ await cp(path.join(root, relative), path.join(staging, relative), { recursive: true });
29
+ }
30
+ await put(path.join(staging, "skill-utils.yaml"), "schema_version: 1\nkind: yss-skill-utils\ncompatibility: skill-utils-v1\ncanonical_root: .agents/skills");
31
+ await rename(staging, destination);
32
+ } catch (error) { await rm(staging, { recursive: true, force: true }); throw error; }
33
+ return digest(lock);
34
+ }
35
+
36
+ export async function initialize(options) {
37
+ // Shared generation validates approval, decision, target and write scope before invoking this callback.
38
+ return generate(options, { skillId, architectureProfile: "mvc-data-analysis-v1", finalize: async ({ projectRoot, contract, architectureIdentity }) => {
39
+ if (!contract.context_handoff_ref || !contract.context_handoff_digest) throw new Error("缺少批准的 context_handoff_ref/context_handoff_digest");
40
+ const handoffPath = path.resolve(path.dirname(path.resolve(options.contractFile)), contract.context_handoff_ref);
41
+ const context = await readFile(handoffPath);
42
+ if (digest(context) !== contract.context_handoff_digest || !/^---\r?\ncontext_schema_version: 1\r?\n---/m.test(context.toString())) throw new Error("CONTEXT handoff schema/digest 不匹配");
43
+ if (spawnSync("git", ["--version"]).status !== 0) throw new Error("Git 不可用");
44
+ for (const relative of ["docs/agents", "docs/process", "docs/templates", "docs/architecture/templates"]) {
45
+ await mkdir(path.dirname(path.join(projectRoot, relative)), { recursive: true });
46
+ await cp(path.join(root, relative), path.join(projectRoot, relative), { recursive: true });
47
+ }
48
+ await put(path.join(projectRoot, "CONTEXT.md"), context.toString());
49
+ const agents = (await readFile(path.join(root, "AGENTS.md"), "utf8"))
50
+ .replace(/## 4\. `template-source` 模板维护路由[\s\S]*?(?=## 5\.)/, "## 4. 模板维护\n\n本仓为 project-instance;模板维护回上游执行。\n\n")
51
+ .replaceAll(".agents/skills", "../skillUtils/.agents/skills");
52
+ await put(path.join(projectRoot, "AGENTS.md"), agents);
53
+ await put(path.join(projectRoot, "yss-project.yaml"), "schema_version: 1\nrepository_mode: project-instance");
54
+ await put(path.join(projectRoot, ".artifact-workspace.yaml"), `schema_version: 1\nkind: service\nservice_id: ${options.projectName}`);
55
+ await cp(path.join(root, "scripts/lib"), path.join(projectRoot, "scripts/lib"), { recursive: true });
56
+ await cp(path.join(root, "scripts/vendor"), path.join(projectRoot, "scripts/vendor"), { recursive: true });
57
+ for (const name of ["repository-mode", "implementation-path-policy", "repository-scope-policy", "generate-lifecycle-artifacts", "node-generate-lifecycle-artifacts.mjs", "verify-lifecycle-registry", "node-verify-lifecycle-registry.mjs", "verify-lifecycle-checkpoint", "verify-context-reconciliation", "verify-approval-record", "verify-user-decision", "verify-digital-human-task-package", "verify-yss-dto-openapi-profile", "verify-frontend-implementation-evidence"]) {
58
+ await cp(path.join(root, "scripts", name), path.join(projectRoot, "scripts", name));
59
+ }
60
+ const lockDigest = await sharedTools(path.resolve(options.outputDir), contract);
61
+ await put(path.join(projectRoot, "skills-lock.json"), JSON.stringify({ version: 1, distribution: { mode: "sibling-directory", skillUtilsDir: "../skillUtils", required: true, compatibility: "skill-utils-v1", lock_digest: lockDigest } }, null, 2));
62
+ await put(path.join(projectRoot, "docs/process/engineering-baseline.json"), JSON.stringify({ schema_version: 1, architecture_identity: architectureIdentity, platform_profile: contract.profiles.platform, scaffold_completion: "generated" }, null, 2));
63
+ await put(path.join(projectRoot, "docs/process/implementation-repo-registry.yaml"), JSON.stringify({ schema_version: 1, projects: [{ project_type: "backend", project_name: options.projectName, project_root: ".", git_root: ".", repository_scope: "external-repository", scaffold_status: "initialized", default_branch: "main", architecture_identity: architectureIdentity, allowed_write_paths: ["."], verification_commands: contract.verification_commands, expected_evidence_files: contract.expected_evidence_files, ci: "not-configured", rollback_point: "initial-empty-repository" }] }, null, 2));
64
+ await put(path.join(projectRoot, "docs/process/service-initialization.json"), JSON.stringify({ work_unit: "work-unit.service-project-initialization", context_handoff_ref: contract.context_handoff_ref, context_handoff_digest: contract.context_handoff_digest, contract_id: contract.contract_id, architecture_identity: architectureIdentity, status: "generated" }, null, 2));
65
+ await put(path.join(projectRoot, ".gitignore"), "target/\n**/target/\n.idea/\n*.iml\n.env\n.env.*\n.local/");
66
+ const git = spawnSync("git", ["init", "--initial-branch=main"], { cwd: projectRoot, encoding: "utf8" });
67
+ if (git.status !== 0) throw new Error(`Git 初始化失败: ${git.stderr}`);
68
+ } });
69
+ }
70
+
71
+ if (process.argv[1] === fileURLToPath(import.meta.url)) {
72
+ try {
73
+ const options = parseArgs(process.argv.slice(2));
74
+ if (options.help) process.stdout.write("使用批准的 MVC schema v3 合同与 Maven 坐标参数;输出独立数据分析项目,无数据库/Mock 选项。\n");
75
+ else await initialize(options);
76
+ } catch (error) { process.stderr.write(`数据分析项目初始化失败: ${error.message}\n`); process.exitCode = 1; }
77
+ }
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ import { run } from "../../yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs";
3
+ try {
4
+ const [projectRoot, evidenceDir] = process.argv.slice(2);
5
+ if (!projectRoot || !evidenceDir) throw new Error("用法: run_scaffold_verification.mjs <project-root> <evidence-dir>");
6
+ const report = await run(projectRoot, evidenceDir);
7
+ process.stdout.write(`${JSON.stringify(report, null, 2)}\n`);
8
+ process.exitCode = report.status === "passed" ? 0 : 1;
9
+ } catch (error) { process.stderr.write(`${error.message}\n`); process.exitCode = 1; }
@@ -1,87 +1,8 @@
1
1
  ---
2
2
  name: yss-mvc-scaffold-generator
3
- description: 从空目录初始化独立 Git 管理的 YSS Java 8 MVC 数据分析 project-instance,生成固定六模块、YSS 标准组件、Oracle/OceanBase Oracle 与 Mock HTTP API;不用于通用 DDD 服务。
3
+ description: 已退役的数据分析 MVC 初始化旧入口;仅用于识别历史合同并指引重新批准,不执行生成或自动迁移。
4
4
  ---
5
5
 
6
- # YSS MVC Scaffold Generator
6
+ # 已退役入口
7
7
 
8
- 本 Skill 是 YSS MVC 数据分析项目的确定性机械生成器。它生成独立 `project-instance`、独立 Git 仓库,并将项目根直接作为 Maven 工程根,包含 `server`、`core`、`client`、`repository`、`adapter`、`feign-client` 六模块;业务功能仍须回到 `yss-product-lifecycle` 与 `yss-implementation-contract-compiler` 按垂直切片实现。
9
-
10
- 生成器编排入口位于 `scripts/generate_project.mjs`,参数与环境解析、skillUtils 文件操作、项目治理封装和 Maven/Java 模板分别位于 `scripts/lib/`。初始化阶段只写入 staging 目录并在成功后原子重命名,不执行 Maven 或网络依赖下载。
11
-
12
- 用户以“初始化新项目”进入时,由 `product-service-artifacts` 调用本生成器并默认附加 `docs/service/` 服务级研发产物;不要要求用户在提示词中另行说明“初始化产物”。未提供职责时生成 `skeleton`,不阻断工程创建。
13
-
14
- ## 输入
15
-
16
- - `project-name`:小写连字符项目名。
17
- - `base-package`:合法 Java 包名。
18
- - `target-dir`:最终项目根目录,必须显式给出。
19
- - `database`:支持 `oracle`、`oceanbase-oracle`,默认 `oracle`。
20
- - `with-mock`:生成 `mock` Profile、Mock 执行器及 HTTP 冒烟测试。
21
- - `maven-settings`:可选的外部 Maven settings 绝对路径,仅用于后续验证;未显式提供时依次读取 `YSS_MAVEN_SETTINGS` 和用户目录 `.m2/settings.xml`。不复制进项目、不写入生成清单。
22
-
23
- ## 执行
24
-
25
- 先预演:
26
-
27
- ```bash
28
- node scripts/generate_project.mjs --project-name mvc-analysis-item1 --base-package com.yss.dataanalysis.item1 --target-dir /path/to/mvc-analysis-item1 --database oracle --with-mock --maven-settings /path/to/settings.xml --dry-run
29
- ```
30
-
31
- 确认目标目录后去掉 `--dry-run`。生成后运行:
32
-
33
- ```bash
34
- node scripts/verify_project.mjs --project-root /path/to/mvc-analysis-item1
35
- cd /path/to/mvc-analysis-item1
36
- ./mvnw validate
37
- ./mvnw test
38
- ./mvnw package
39
- ./mvnw spring-boot:run -pl mvc-analysis-item1-server -Dspring-boot.run.profiles=mock
40
- ```
41
-
42
- Windows 使用 `mvnw.cmd`。指定外部 settings 时,Maven 命令必须加 `-s <settings.xml>`。启动后对 `POST /api/analysis/query` 执行 HTTP 冒烟测试。
43
-
44
- 生成项目进入 API/Controller 实现后,登记命令必须包含 Java Web/Javadoc 检查、`fmt:check`、测试和构建。Smart-doc 仅作为人工按需从 Controller 生成辅助文档的工具,不属于默认 AI Coding 验证链路;只有用户明确要求生成 Smart-doc 文档时才执行对应 goal。
45
-
46
- 生成结果包含根 `yss-project.yaml`、`AGENTS.md`、`CONTEXT.md`、生命周期事实源、共享 skills、本地 Ticket 入口、`external-repository` 实现仓库登记和 `.gitignore`。生成器执行 `git init --initial-branch=main`;旧版 Git自动回退到 `git init` 后重命名分支。只初始化仓库,不创建 commit 或 remote。
47
-
48
- ## 硬约束
49
-
50
- - `target-dir` 是最终项目根,不在其下再次创建项目名目录。
51
- - Windows 下优先使用纯 ASCII、长度可控且不属于其他项目 Git 根的父目录(例如 `C:\\projects`);旧 Maven 插件在非 ASCII 长路径上可能产生 reactor classpath 编码错误。
52
- - 非空目标目录拒绝生成;本 Skill 不提供隐式覆盖或删除。
53
- - 目标目录必须成为独立 Git 根;生成前必须能执行 `git --version`,生成后必须验证 Git 根等于 `target-dir`、分支为 `main`、commit 数为零且 remote 为空。
54
- - 生成前必须从 `git config --get user.name` 读取非空作者名;作者名包含换行或 `*/` 时拒绝生成。生成的 Controller 类和公开接口方法以该值填写 `@author`,不得固定为 `system`。
55
- - 项目根同时是 Maven 工程根和独立 Git 根,固定登记为 `repository_scope: external-repository`、`project_root: .`;六模块直接位于项目根目录。
56
- - 生成内容先写入同父目录 staging,全部步骤成功后再原子重命名;失败时只清理本次 staging,不留下不可重试的半成品。Maven 依赖解析明确延后到验证阶段;settings 缺失只记录 `maven-default` / `maven_settings_available=false`,不会压缩或截断生成的文件结构。
57
- - 每个项目持有自己的 `project-instance` 身份与业务资产;不得为了新项目改写模板工具仓库的项目名称或业务上下文。
58
- - 模块名固定使用正确拼写 `feign-client`;旧项目中的 `fegin-client` 只作为迁移来源,不继续传播。
59
- - Mock 与 Oracle 使用同一 Controller 和 DTO 契约,只替换 `AnalysisQueryExecutor` 实现。
60
- - Mock 仅用于本地联调和契约验证,不得携带真实凭据或生产数据。
61
- - 启用 Mock 时必须生成 `bootstrap-mock.yml`,并在 Spring Cloud Bootstrap 阶段同时禁用 Nacos Discovery、Nacos Config 和 Config import-check;不能只在 `application-mock.yml` 中禁用。
62
- - `bootstrap.yml` 的默认顺序为 `${app.env:dev},datasource,nacos,<database-profile>,mock`,`mock` 必须最后以覆盖 Nacos Bootstrap 配置,且 profile 列表不得有尾随逗号。未启用 Mock 时不生成、不激活 `mock`。
63
- - Mock 与数据库 profile 同时出现时,Mock 执行器优先;数据库执行器使用 `<database-profile> & !mock` 表达式,禁止两个 `AnalysisQueryExecutor` 同时注册。
64
- - Mock 的 `application-mock.yml` 必须关闭 Leaf Segment/Snowflake,并在 `spring.autoconfigure.exclude` 中排除 `DataSourceAutoConfiguration`、`MybatisPlusConfiguration` 和 `LeafDataSourceConfiguration`;组件扫描同时排除 `com.yss.cloud.mybatis..*`、`com.yss.cloud.sankuai..*`,`@EnableDistributedId` 与 `MapperConfiguration` 只允许在 `!mock` 配置类中加载,确保无数据库时 Mock 测试和 HTTP 冒烟可运行。
65
- - Oracle Adapter 只保留可编译 seam;连接信息通过环境变量注入,生成器不写真实账号密码。
66
- - 工程版本、YSS 父 POM 和组件 BOM 固定为 `2.0.0-SNAPSHOT`,运行时固定 Java 8。
67
- - 标准能力默认包含审计日志、分布式 ID、Excel、Nacos、Redis Cache、OpenFeign、Smart-doc、用户信息和 Actuator。
68
- - server POM 必须保留 `spring-boot-maven-plugin`和默认激活的 `nacos` profile;Nacos 依赖只在该 profile 中声明。
69
- - `bootstrap-nacos.yml` 默认使用 `${nacosserver:192.168.165.58:8848}`、`${nacos_group:yss-dm}` 和 `${namespace:yss-datamiddle}`,Discovery/Config 在 `nacos` profile 中开启,并由 `bootstrap-mock.yml` 在 Mock 模式覆盖关闭。
70
- - Smart-doc 使用 `assets/smart-doc.json.template`的完整配置并动态生成项目名、Controller 包和修订时间;Torna Token 与内网地址不进入生成项目。Smart-doc 插件保留跨模块 `includes`,但不绑定 Maven `executions`,不进入默认 `validate` / `test` / `package` / CI / AI Coding 验证命令。
71
- - Logback 使用 `assets/logback-spring.xml.template`;`dev,mock` 与 `uat,pro,oracle,oceanbase-oracle` 必须是并列 profile,项目名和基础包动态替换。
72
- - Controller 类和公开接口方法必须按真实业务语义生成 Javadoc,`@author` 使用生成时读取的 Git 用户名,`@date` 使用 `yyyy/MM/dd HH:mm`,方法按签名完整生成 `@param`和 `@return`。
73
- - API 实现不得交付单行 Javadoc block tag、Mapping 注解/方法同行或方法体单行压缩代码;相关规范由生成项目中的工程约定和实际验证命令约束。
74
- - API 完成证据必须包含 `yss-skill-execution-result.yaml` 和 `fresh-verification.md`,并记录 Controller 路由、DTO、响应 Wrapper、错误响应及契约测试与冻结 OpenAPI 的一致性。Smart-doc 输出不是 OpenAPI Freeze、契约审查或功能完成证据。
75
- - Maven settings 始终是项目外部的私密输入;不得复制到目标目录、写入 README/生成清单或提交 Git。
76
- - 持久层固定使用 YSS MyBatis-Plus;标准 CRUD 使用 MP,复杂 SQL 写入 mapper.xml,主键策略为 `IdType.ASSIGN_ID`。
77
- - 生成范围仅包含工程骨架、示例 Mock seam 和验证测试,不声称业务 Spec、OpenAPI Freeze 或 Slice Implementation Contract 已批准。
78
- - 完成结论必须包含结构验证,以及实际执行的 Maven 命令;无法下载依赖时如实记录环境阻塞。
79
-
80
- 模块职责和依赖方向见 [references/architecture.md](references/architecture.md)。
81
-
82
- ## API 契约与人工文档边界
83
-
84
- - 冻结的 OpenAPI 3.1 YAML 是接口契约的唯一事实来源;`yss-openapi-governance` 负责契约治理与 Freeze,`yss-openapi-draft-review` 负责冻结前审查,`yss-web-controller` 负责按冻结契约实现 Controller。
85
- - Smart-doc 是人工可选的源码文档工具。其输出只用于查看当前 Controller 实现,不得反向定义、覆盖或批准冻结 OpenAPI。
86
- - AI 默认不执行 `smart-doc:html`、`smart-doc:openapi` 或 `smart-doc:torna-rest`。`torna-rest` 涉及外部写入,执行前还必须获得对应授权。
87
- - 本生成器只用于空目录初始化。生成项目使用已物化的 `project-instance` 资产和实现 skills 开发后续需求;其共享 `skillUtils` 不应再分发 `yss-mvc-scaffold-generator` 本身。
8
+ 本 ID 为 deprecated,只读保留历史合同解释。通用 MVC 使用 yss-layered-mvc-scaffold-generator;独立数据分析项目使用 yss-mvc-data-analysis-project-initializer。旧 Oracle/Mock 合同不得静默别名或重放;经生命周期确认 Profile 与 H2 新合同后才执行新入口。历史说明位于 references/history/skill.md,不是现行执行规范。
@@ -0,0 +1,137 @@
1
+ #!/usr/bin/env node
2
+ // Historical source only; not an executable entrypoint.
3
+ /** YSS MVC 脚手架编排入口;参数、文件、模板和项目治理分别位于 scripts/lib。 */
4
+ import { cp, mkdir, mkdtemp, rename, rm, rmdir } from "node:fs/promises";
5
+ import path from "node:path";
6
+
7
+ import {
8
+ MODULES,
9
+ SHARED_SKILLS_ROOT,
10
+ fail,
11
+ parseArgs,
12
+ assertGitAvailable,
13
+ resolveGitAuthor,
14
+ resolveMavenSettings,
15
+ initializeGit,
16
+ exists,
17
+ } from "./lib/runtime.mjs";
18
+ import { assertEmpty, ensureSkillUtils, put, renderAsset } from "./lib/storage.mjs";
19
+ import { writeProjectEnvelope } from "./lib/envelope.mjs";
20
+ import { modulePom, parentPom, writeJavaSources } from "./lib/templates.mjs";
21
+
22
+ const SKILL_ID = "yss-mvc-scaffold-generator";
23
+ let generatedJavadocAuthor;
24
+
25
+ function usage() {
26
+ console.log(`YSS MVC 脚手架生成器\n\n用法: node scripts/generate_project.mjs --project-name <name> --base-package <package> --target-dir <dir> [选项]\n\n选项: --database oracle|oceanbase-oracle --with-mock --maven-settings <path> --dry-run`);
27
+ }
28
+
29
+ async function writeGenerated(root, relative, content) {
30
+ await put(root, relative, content, generatedJavadocAuthor);
31
+ }
32
+
33
+ async function copyWrapper(root) {
34
+ const source = path.join(SHARED_SKILLS_ROOT, "yss-ddd-scaffold-generator", "assets", "wrapper");
35
+ if (!await exists(source)) fail(`Maven Wrapper 资产不存在: ${source}`);
36
+ await cp(source, root, { recursive: true });
37
+ }
38
+
39
+ function buildPlan(o, skillUtils, mavenSettings) {
40
+ const driver = o.database === "oceanbase-oracle" ? "com.oceanbase:oceanbase-client:2.4.3" : "com.oracle.database.jdbc:ojdbc8:19.8.0.0";
41
+ return {
42
+ project_name: o.projectName,
43
+ project_version: "2.0.0-SNAPSHOT",
44
+ base_package: o.basePackage,
45
+ target_dir: o.targetDir,
46
+ backend_root: ".",
47
+ skill_utils_dir: path.relative(o.targetDir, skillUtils.path).replaceAll(path.sep, "/"),
48
+ skill_utils_created: skillUtils.created,
49
+ skill_utils_refreshed: skillUtils.refreshed,
50
+ skill_utils_backup: skillUtils.backup,
51
+ repository_scope: "external-repository",
52
+ database: o.database,
53
+ database_driver: driver,
54
+ runtime_java: "8",
55
+ parent_pom: "com.yss.cloud:yss-cloud-microservice:2.0.0-SNAPSHOT",
56
+ components_bom: "com.yss.cloud:yss-components-bom:2.0.0-SNAPSHOT",
57
+ persistence_profile: "yss-mybatis-plus",
58
+ id_strategy: "ASSIGN_ID",
59
+ javadoc_author: o.gitAuthor,
60
+ maven_settings_mode: "external",
61
+ maven_settings_source: mavenSettings.source,
62
+ maven_settings_available: mavenSettings.available,
63
+ maven_settings_required: mavenSettings.available,
64
+ dependency_resolution: "deferred",
65
+ network_access_during_generation: "disabled",
66
+ features: ["audit", "distributed-id", "excel", "nacos", "redis", "openfeign", "smart-doc", "userinfo", "actuator"],
67
+ modules: MODULES,
68
+ mock_enabled: o.withMock,
69
+ project_instance: true,
70
+ git_initialized: true,
71
+ default_branch: "main",
72
+ endpoint: o.withMock ? "POST /api/analysis/query" : null
73
+ };
74
+ }
75
+
76
+ async function generate(o) {
77
+ await assertEmpty(o.targetDir);
78
+ const skillUtils = await ensureSkillUtils(o.targetDir, { apply: !o.dryRun });
79
+ assertGitAvailable();
80
+ o.gitAuthor = resolveGitAuthor();
81
+ generatedJavadocAuthor = o.gitAuthor;
82
+ const mavenSettings = await resolveMavenSettings(o);
83
+ const plan = buildPlan(o, skillUtils, mavenSettings);
84
+ if (o.dryRun) {
85
+ console.log(JSON.stringify({ mode: "dry-run", ...plan }, null, 2));
86
+ return;
87
+ }
88
+
89
+ const targetParent = path.dirname(o.targetDir);
90
+ await mkdir(targetParent, { recursive: true });
91
+ const staging = await mkdtemp(path.join(targetParent, `.${path.basename(o.targetDir)}.staging-`));
92
+ const work = { ...o, targetDir: staging, modules: MODULES };
93
+ try {
94
+ for (const module of MODULES) {
95
+ await writeGenerated(work.targetDir, `${module}/pom.xml`, modulePom(work, module));
96
+ await mkdir(path.join(work.targetDir, module, "src/main/resources"), { recursive: true });
97
+ }
98
+ await writeGenerated(work.targetDir, "pom.xml", parentPom(work));
99
+ await writeJavaSources(work, writeGenerated);
100
+ const activeProfiles = `\${app.env:dev},datasource,nacos,${o.database === "oceanbase-oracle" ? "oceanbase-oracle" : "oracle"}${o.withMock ? ",mock" : ""}`;
101
+ await writeGenerated(work.targetDir, "server/src/main/resources/bootstrap.yml", `server:\n port: \${SERVER_PORT:8080}\nspring:\n application:\n name: \${APP_NAME:${o.projectName}}\n profiles:\n active: ${activeProfiles}\n main:\n allow-bean-definition-overriding: true\n servlet:\n multipart:\n max-file-size: \${MAX_FILE_SIZE:100MB}\n max-request-size: \${MAX_REQUEST_SIZE:100MB}`);
102
+ await writeGenerated(work.targetDir, "server/src/main/resources/bootstrap-nacos.yml", `spring:\n cloud:\n nacos:\n discovery:\n server-addr: \${nacosserver:192.168.165.58:8848}\n group: \${nacos_group:yss-dm}\n namespace: \${namespace:yss-datamiddle}\n enabled: true\n config:\n import-check:\n enabled: false\n server-addr: \${nacosserver:192.168.165.58:8848}\n namespace: \${namespace:yss-datamiddle}\n group: \${nacos_group:yss-dm}\n file-extension: yml\n enabled: true`);
103
+ if (o.withMock) await writeGenerated(work.targetDir, "server/src/main/resources/bootstrap-mock.yml", `spring:\n cloud:\n nacos:\n discovery:\n enabled: false\n config:\n enabled: false\n import-check:\n enabled: false`);
104
+ await writeGenerated(work.targetDir, "server/src/main/resources/application-mock.yml", `spring:\n autoconfigure:\n exclude:\n - org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration\n - com.yss.cloud.mybatis.MybatisPlusConfiguration\n - com.yss.cloud.sankuai.config.LeafDataSourceConfiguration\n leaf:\n leafSegmentEnable: false\n leafSnowflakeEnable: false\nyss:\n audit:\n enabled: false`);
105
+ const driver = o.database === "oceanbase-oracle" ? "com.oceanbase.jdbc.Driver" : "oracle.jdbc.OracleDriver";
106
+ await writeGenerated(work.targetDir, `server/src/main/resources/application-${o.database}.yml`, `spring:\n datasource:\n driver-class-name: ${driver}\n url: \${DB_URL:}\n username: \${DB_USERNAME:}\n password: \${DB_PASSWORD:}\nyss:\n id:\n strategy: ASSIGN_ID`);
107
+ await writeGenerated(work.targetDir, "server/src/main/resources/logback-spring.xml", await renderAsset("logback-spring.xml.template", { PROJECT_NAME: o.projectName, BASE_PACKAGE: o.basePackage }));
108
+ await writeGenerated(work.targetDir, "server/src/main/resources/smart-doc.json", await renderAsset("smart-doc.json.template", { PROJECT_NAME: o.projectName, BASE_PACKAGE: o.basePackage, GENERATED_AT: new Date().toISOString() }));
109
+ await writeGenerated(staging, "README.md", `# ${o.projectName}\n\n项目根即 Maven 后端工程根,固定模块:${MODULES.join("、")}。\n\n## 依赖解析\n\n初始化阶段只生成文件和 Git 根,不执行 Maven,不下载依赖。未提供 settings 时仍会完整生成;后续验证时请使用 \`mvnw.cmd -s <settings.xml> validate\`(Windows)或 \`./mvnw -s <settings.xml> validate\`(Unix)。`);
110
+ await writeProjectEnvelope(work);
111
+ await copyWrapper(work.targetDir);
112
+ if (process.env.NODE_ENV === "test" && process.env.YSS_SCAFFOLD_TEST_FAIL_AFTER_STAGING === "1") fail("测试注入:staging 后失败");
113
+ initializeGit(staging);
114
+ await writeGenerated(staging, ".yss/scaffold-generation.json", JSON.stringify({ schema_version: 1, skill: SKILL_ID, generation_mode: "controlled-generation", generated_at: new Date().toISOString(), ...plan }, null, 2));
115
+ if (process.env.NODE_ENV === "test" && process.env.YSS_SCAFFOLD_TEST_WRITE_TARGET_DURING_STAGING === "1") await writeGenerated(o.targetDir, "keep.txt", "concurrent content");
116
+ if (await exists(o.targetDir)) await rmdir(o.targetDir);
117
+ await rename(staging, o.targetDir);
118
+ } catch (error) {
119
+ if (await exists(staging)) await rm(staging, { recursive: true, force: true });
120
+ throw error;
121
+ }
122
+ console.log(JSON.stringify({ mode: "generated", ...plan }, null, 2));
123
+ }
124
+
125
+ async function main() {
126
+ try {
127
+ const options = parseArgs(process.argv.slice(2));
128
+ if (options.help) { usage(); return 0; }
129
+ await generate(options);
130
+ return 0;
131
+ } catch (error) {
132
+ process.stderr.write(`\n❌ 生成失败: ${error.message}\n`);
133
+ return 1;
134
+ }
135
+ }
136
+
137
+ process.exitCode = await main();