create-yss-spec 3.5.6 → 3.5.8

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 (552) hide show
  1. package/bin/create-yss-spec.js +3 -1
  2. package/cli-core.lock.json +10 -6
  3. package/package.json +4 -1
  4. package/src/api/_sync-service.js +3 -1
  5. package/src/command-runner.mjs +44 -9
  6. package/src/content-identity.js +111 -0
  7. package/src/runtime-store.mjs +650 -0
  8. package/src/template/asset-runtime.js +4 -1
  9. package/src/template/instance-runtime.js +23 -7
  10. package/src/validation/metadata.js +8 -0
  11. package/template/.agents/skills/.strategic-design-skills-manifest.json +1 -1
  12. package/template/.agents/skills/alibaba-java-code-style/SKILL.md +30 -36
  13. package/template/.agents/skills/archify/SKILL.md +2 -2
  14. package/template/.agents/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
  15. package/template/.agents/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
  16. package/template/.agents/skills/code-review/SKILL.md +19 -11
  17. package/template/.agents/skills/code-review/references/candidate-capture.md +1 -1
  18. package/template/.agents/skills/code-review/references/legacy-convergence.md +3 -1
  19. package/template/.agents/skills/code-review/references/review-axis-checklists.md +2 -0
  20. package/template/.agents/skills/code-review/references/yss-review-standards.md +4 -2
  21. package/template/.agents/skills/competitive-intelligence/SKILL.md +32 -74
  22. package/template/.agents/skills/file-export-download/SKILL.md +4 -73
  23. package/template/.agents/skills/file-export-download/references/binary-contract-example.md +26 -0
  24. package/template/.agents/skills/file-export-download/references/download-call-example.md +45 -0
  25. package/template/.agents/skills/formily-foundation/SKILL.md +6 -105
  26. package/template/.agents/skills/formily-foundation/references/async-save-example.md +57 -0
  27. package/template/.agents/skills/formily-foundation/references/query-layout.md +50 -0
  28. package/template/.agents/skills/formily-linkage-effects/SKILL.md +3 -116
  29. package/template/.agents/skills/formily-linkage-effects/references/linkage-example.md +116 -0
  30. package/template/.agents/skills/formily-mode-slot-detail/SKILL.md +3 -81
  31. package/template/.agents/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
  32. package/template/.agents/skills/formily-step-flow/SKILL.md +3 -143
  33. package/template/.agents/skills/formily-step-flow/references/step-flow-example.md +143 -0
  34. package/template/.agents/skills/handoff/SKILL.md +3 -1
  35. package/template/.agents/skills/i-have-adhd/SKILL.md +2 -2
  36. package/template/.agents/skills/i-have-adhd/references/yss-adaptation.md +2 -2
  37. package/template/.agents/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
  38. package/template/.agents/skills/implement/SKILL.md +2 -2
  39. package/template/.agents/skills/llm-wiki/references/transactions.md +2 -2
  40. package/template/.agents/skills/llm-wiki/scripts/core.mjs +40 -2
  41. package/template/.agents/skills/llm-wiki/scripts/transaction.mjs +30 -27
  42. package/template/.agents/skills/llm-wiki/scripts/v2.test.mjs +38 -2
  43. package/template/.agents/skills/lombok/SKILL.md +2 -0
  44. package/template/.agents/skills/mapstruct/SKILL.md +2 -0
  45. package/template/.agents/skills/tdd/SKILL.md +2 -2
  46. package/template/.agents/skills/theme-token-usage/SKILL.md +6 -5
  47. package/template/.agents/skills/wayfinder/references/chart-map.md +2 -2
  48. package/template/.agents/skills/wayfinder/references/ticket-types.md +1 -1
  49. package/template/.agents/skills/yss-api-integration/SKILL.md +13 -50
  50. package/template/.agents/skills/yss-api-integration/references/orval-list-example.md +38 -0
  51. package/template/.agents/skills/yss-application/SKILL.md +11 -5
  52. package/template/.agents/skills/yss-audit-log/SKILL.md +8 -6
  53. package/template/.agents/skills/yss-audit-log/references/README.md +5 -5
  54. package/template/.agents/skills/yss-cache/SKILL.md +4 -4
  55. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
  56. package/template/.agents/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
  57. package/template/.agents/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
  58. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
  59. package/template/.agents/skills/yss-design-system/SKILL.md +2 -2
  60. package/template/.agents/skills/yss-distributed-id/SKILL.md +4 -4
  61. package/template/.agents/skills/yss-dto/SKILL.md +9 -9
  62. package/template/.agents/skills/yss-dto/references/README.md +4 -4
  63. package/template/.agents/skills/yss-dto/references/wire-validation-checklist.md +4 -4
  64. package/template/.agents/skills/yss-excel-mvc/SKILL.md +4 -4
  65. package/template/.agents/skills/yss-exception/SKILL.md +42 -48
  66. package/template/.agents/skills/yss-formily-schema-generator/SKILL.md +26 -170
  67. package/template/.agents/skills/yss-formily-schema-generator/references/workflow.md +49 -193
  68. package/template/.agents/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
  69. package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +2 -6
  70. package/template/.agents/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
  71. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  72. package/template/.agents/skills/yss-mybatis/SKILL.md +4 -4
  73. package/template/.agents/skills/yss-openapi-draft-review/SKILL.md +6 -4
  74. package/template/.agents/skills/yss-openapi-draft-review/references/review-output.md +2 -0
  75. package/template/.agents/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
  76. package/template/.agents/skills/yss-openapi-governance/SKILL.md +5 -7
  77. package/template/.agents/skills/yss-openapi-governance/references/governance-output.md +2 -0
  78. package/template/.agents/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
  79. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +23 -21
  80. package/template/.agents/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
  81. package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +25 -5
  82. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +100 -4
  83. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +35 -12
  84. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +3 -1
  85. package/template/.agents/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
  86. package/template/.agents/skills/yss-prototype-stage/SKILL.md +1 -5
  87. package/template/.agents/skills/yss-repository/SKILL.md +2 -2
  88. package/template/.agents/skills/yss-research/SKILL.md +39 -48
  89. package/template/.agents/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
  90. package/template/.agents/skills/yss-research/references/competitive-analysis.md +76 -0
  91. package/template/.agents/skills/yss-research/references/competitive-analysis.schema.json +324 -0
  92. package/template/.agents/skills/yss-research/references/evidence-contract.md +8 -0
  93. package/template/.agents/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
  94. package/template/.agents/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
  95. package/template/.agents/skills/yss-research/scripts/validate-research-package.mjs +6 -2
  96. package/template/.agents/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
  97. package/template/.agents/skills/yss-resilience4j/SKILL.md +25 -31
  98. package/template/.agents/skills/yss-security-algorithm/SKILL.md +37 -43
  99. package/template/.agents/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
  100. package/template/.agents/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
  101. package/template/.agents/skills/yss-stage-decision/SKILL.md +2 -5
  102. package/template/.agents/skills/yss-tactical-design/SKILL.md +1 -1
  103. package/template/.agents/skills/yss-tactical-design/references/output-template.md +3 -3
  104. package/template/.agents/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
  105. package/template/.agents/skills/yss-technical-design/SKILL.md +6 -5
  106. package/template/.agents/skills/yss-ui/SKILL.md +7 -1
  107. package/template/.agents/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
  108. package/template/.agents/skills/yss-ui/references/checklist.md +38 -96
  109. package/template/.agents/skills/yss-ui/references/component-routing.md +3 -1
  110. package/template/.agents/skills/yss-ui/references/quick-recipes.md +17 -272
  111. package/template/.agents/skills/yss-ui/references/specialized-components.md +3 -3
  112. package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  113. package/template/.agents/skills/yss-up-springboot3/SKILL.md +19 -21
  114. package/template/.agents/skills/yss-userinfo/SKILL.md +27 -33
  115. package/template/.agents/skills/yss-validation/SKILL.md +26 -32
  116. package/template/.agents/skills/yss-web-controller/SKILL.md +11 -44
  117. package/template/.agents/skills/yss-web-controller/references/crud-generation.md +38 -0
  118. package/template/.agents/skills/ytable-usage/SKILL.md +2 -2
  119. package/template/.agents/skills/ytree-usage/SKILL.md +2 -80
  120. package/template/.agents/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
  121. package/template/.codex/skills/alibaba-java-code-style/SKILL.md +30 -36
  122. package/template/.codex/skills/archify/SKILL.md +2 -2
  123. package/template/.codex/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
  124. package/template/.codex/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
  125. package/template/.codex/skills/code-review/SKILL.md +19 -11
  126. package/template/.codex/skills/code-review/references/candidate-capture.md +1 -1
  127. package/template/.codex/skills/code-review/references/legacy-convergence.md +3 -1
  128. package/template/.codex/skills/code-review/references/review-axis-checklists.md +2 -0
  129. package/template/.codex/skills/code-review/references/yss-review-standards.md +4 -2
  130. package/template/.codex/skills/competitive-intelligence/SKILL.md +32 -74
  131. package/template/.codex/skills/file-export-download/SKILL.md +4 -73
  132. package/template/.codex/skills/file-export-download/references/binary-contract-example.md +26 -0
  133. package/template/.codex/skills/file-export-download/references/download-call-example.md +45 -0
  134. package/template/.codex/skills/formily-foundation/SKILL.md +6 -105
  135. package/template/.codex/skills/formily-foundation/references/async-save-example.md +57 -0
  136. package/template/.codex/skills/formily-foundation/references/query-layout.md +50 -0
  137. package/template/.codex/skills/formily-linkage-effects/SKILL.md +3 -116
  138. package/template/.codex/skills/formily-linkage-effects/references/linkage-example.md +116 -0
  139. package/template/.codex/skills/formily-mode-slot-detail/SKILL.md +3 -81
  140. package/template/.codex/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
  141. package/template/.codex/skills/formily-step-flow/SKILL.md +3 -143
  142. package/template/.codex/skills/formily-step-flow/references/step-flow-example.md +143 -0
  143. package/template/.codex/skills/handoff/SKILL.md +3 -1
  144. package/template/.codex/skills/i-have-adhd/SKILL.md +2 -2
  145. package/template/.codex/skills/i-have-adhd/references/yss-adaptation.md +2 -2
  146. package/template/.codex/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
  147. package/template/.codex/skills/implement/SKILL.md +2 -2
  148. package/template/.codex/skills/llm-wiki/references/transactions.md +2 -2
  149. package/template/.codex/skills/llm-wiki/scripts/core.mjs +40 -2
  150. package/template/.codex/skills/llm-wiki/scripts/transaction.mjs +30 -27
  151. package/template/.codex/skills/llm-wiki/scripts/v2.test.mjs +38 -2
  152. package/template/.codex/skills/lombok/SKILL.md +2 -0
  153. package/template/.codex/skills/mapstruct/SKILL.md +2 -0
  154. package/template/.codex/skills/product-design/references/communication-protocol.md +3 -3
  155. package/template/.codex/skills/product-design/references/critical-overrides.md +4 -5
  156. package/template/.codex/skills/product-design/skills/audit/SKILL.md +2 -4
  157. package/template/.codex/skills/product-design/skills/get-context/SKILL.md +6 -8
  158. package/template/.codex/skills/product-design/skills/ideate/SKILL.md +3 -3
  159. package/template/.codex/skills/product-design/skills/image-to-code/SKILL.md +3 -5
  160. package/template/.codex/skills/product-design/skills/index/SKILL.md +1 -1
  161. package/template/.codex/skills/product-design/skills/prototype/SKILL.md +2 -4
  162. package/template/.codex/skills/product-design/skills/research/SKILL.md +4 -6
  163. package/template/.codex/skills/product-design/skills/research/assets/research-brief-template.md +3 -3
  164. package/template/.codex/skills/product-design/skills/share/SKILL.md +2 -4
  165. package/template/.codex/skills/product-design/skills/url-to-code/SKILL.md +2 -4
  166. package/template/.codex/skills/product-design/skills/user-context/SKILL.md +1 -1
  167. package/template/.codex/skills/tdd/SKILL.md +2 -2
  168. package/template/.codex/skills/theme-token-usage/SKILL.md +6 -5
  169. package/template/.codex/skills/wayfinder/references/chart-map.md +2 -2
  170. package/template/.codex/skills/wayfinder/references/ticket-types.md +1 -1
  171. package/template/.codex/skills/yss-api-integration/SKILL.md +13 -50
  172. package/template/.codex/skills/yss-api-integration/references/orval-list-example.md +38 -0
  173. package/template/.codex/skills/yss-application/SKILL.md +11 -5
  174. package/template/.codex/skills/yss-audit-log/SKILL.md +8 -6
  175. package/template/.codex/skills/yss-audit-log/references/README.md +5 -5
  176. package/template/.codex/skills/yss-cache/SKILL.md +4 -4
  177. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
  178. package/template/.codex/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
  179. package/template/.codex/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
  180. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
  181. package/template/.codex/skills/yss-design-system/SKILL.md +2 -2
  182. package/template/.codex/skills/yss-distributed-id/SKILL.md +4 -4
  183. package/template/.codex/skills/yss-dto/SKILL.md +9 -9
  184. package/template/.codex/skills/yss-dto/references/README.md +4 -4
  185. package/template/.codex/skills/yss-dto/references/wire-validation-checklist.md +4 -4
  186. package/template/.codex/skills/yss-excel-mvc/SKILL.md +4 -4
  187. package/template/.codex/skills/yss-exception/SKILL.md +42 -48
  188. package/template/.codex/skills/yss-formily-schema-generator/SKILL.md +26 -170
  189. package/template/.codex/skills/yss-formily-schema-generator/references/workflow.md +49 -193
  190. package/template/.codex/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
  191. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +2 -6
  192. package/template/.codex/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
  193. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  194. package/template/.codex/skills/yss-mybatis/SKILL.md +4 -4
  195. package/template/.codex/skills/yss-openapi-draft-review/SKILL.md +6 -4
  196. package/template/.codex/skills/yss-openapi-draft-review/references/review-output.md +2 -0
  197. package/template/.codex/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
  198. package/template/.codex/skills/yss-openapi-governance/SKILL.md +5 -7
  199. package/template/.codex/skills/yss-openapi-governance/references/governance-output.md +2 -0
  200. package/template/.codex/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
  201. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +23 -21
  202. package/template/.codex/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
  203. package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +25 -5
  204. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +100 -4
  205. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +35 -12
  206. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +3 -1
  207. package/template/.codex/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
  208. package/template/.codex/skills/yss-prototype-stage/SKILL.md +1 -5
  209. package/template/.codex/skills/yss-repository/SKILL.md +2 -2
  210. package/template/.codex/skills/yss-research/SKILL.md +39 -48
  211. package/template/.codex/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
  212. package/template/.codex/skills/yss-research/references/competitive-analysis.md +76 -0
  213. package/template/.codex/skills/yss-research/references/competitive-analysis.schema.json +324 -0
  214. package/template/.codex/skills/yss-research/references/evidence-contract.md +8 -0
  215. package/template/.codex/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
  216. package/template/.codex/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
  217. package/template/.codex/skills/yss-research/scripts/validate-research-package.mjs +6 -2
  218. package/template/.codex/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
  219. package/template/.codex/skills/yss-resilience4j/SKILL.md +25 -31
  220. package/template/.codex/skills/yss-security-algorithm/SKILL.md +37 -43
  221. package/template/.codex/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
  222. package/template/.codex/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
  223. package/template/.codex/skills/yss-stage-decision/SKILL.md +2 -5
  224. package/template/.codex/skills/yss-tactical-design/SKILL.md +1 -1
  225. package/template/.codex/skills/yss-tactical-design/references/output-template.md +3 -3
  226. package/template/.codex/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
  227. package/template/.codex/skills/yss-technical-design/SKILL.md +6 -5
  228. package/template/.codex/skills/yss-ui/SKILL.md +7 -1
  229. package/template/.codex/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
  230. package/template/.codex/skills/yss-ui/references/checklist.md +38 -96
  231. package/template/.codex/skills/yss-ui/references/component-routing.md +3 -1
  232. package/template/.codex/skills/yss-ui/references/quick-recipes.md +17 -272
  233. package/template/.codex/skills/yss-ui/references/specialized-components.md +3 -3
  234. package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  235. package/template/.codex/skills/yss-up-springboot3/SKILL.md +19 -21
  236. package/template/.codex/skills/yss-userinfo/SKILL.md +27 -33
  237. package/template/.codex/skills/yss-validation/SKILL.md +26 -32
  238. package/template/.codex/skills/yss-web-controller/SKILL.md +11 -44
  239. package/template/.codex/skills/yss-web-controller/references/crud-generation.md +38 -0
  240. package/template/.codex/skills/ytable-usage/SKILL.md +2 -2
  241. package/template/.codex/skills/ytree-usage/SKILL.md +2 -80
  242. package/template/.codex/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
  243. package/template/.cursor/skills/alibaba-java-code-style/SKILL.md +30 -36
  244. package/template/.cursor/skills/archify/SKILL.md +2 -2
  245. package/template/.cursor/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
  246. package/template/.cursor/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
  247. package/template/.cursor/skills/code-review/SKILL.md +19 -11
  248. package/template/.cursor/skills/code-review/references/candidate-capture.md +1 -1
  249. package/template/.cursor/skills/code-review/references/legacy-convergence.md +3 -1
  250. package/template/.cursor/skills/code-review/references/review-axis-checklists.md +2 -0
  251. package/template/.cursor/skills/code-review/references/yss-review-standards.md +4 -2
  252. package/template/.cursor/skills/competitive-intelligence/SKILL.md +32 -74
  253. package/template/.cursor/skills/file-export-download/SKILL.md +4 -73
  254. package/template/.cursor/skills/file-export-download/references/binary-contract-example.md +26 -0
  255. package/template/.cursor/skills/file-export-download/references/download-call-example.md +45 -0
  256. package/template/.cursor/skills/formily-foundation/SKILL.md +6 -105
  257. package/template/.cursor/skills/formily-foundation/references/async-save-example.md +57 -0
  258. package/template/.cursor/skills/formily-foundation/references/query-layout.md +50 -0
  259. package/template/.cursor/skills/formily-linkage-effects/SKILL.md +3 -116
  260. package/template/.cursor/skills/formily-linkage-effects/references/linkage-example.md +116 -0
  261. package/template/.cursor/skills/formily-mode-slot-detail/SKILL.md +3 -81
  262. package/template/.cursor/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
  263. package/template/.cursor/skills/formily-step-flow/SKILL.md +3 -143
  264. package/template/.cursor/skills/formily-step-flow/references/step-flow-example.md +143 -0
  265. package/template/.cursor/skills/handoff/SKILL.md +3 -1
  266. package/template/.cursor/skills/i-have-adhd/SKILL.md +2 -2
  267. package/template/.cursor/skills/i-have-adhd/references/yss-adaptation.md +2 -2
  268. package/template/.cursor/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
  269. package/template/.cursor/skills/implement/SKILL.md +2 -2
  270. package/template/.cursor/skills/llm-wiki/references/transactions.md +2 -2
  271. package/template/.cursor/skills/llm-wiki/scripts/core.mjs +40 -2
  272. package/template/.cursor/skills/llm-wiki/scripts/transaction.mjs +30 -27
  273. package/template/.cursor/skills/llm-wiki/scripts/v2.test.mjs +38 -2
  274. package/template/.cursor/skills/lombok/SKILL.md +2 -0
  275. package/template/.cursor/skills/mapstruct/SKILL.md +2 -0
  276. package/template/.cursor/skills/tdd/SKILL.md +2 -2
  277. package/template/.cursor/skills/theme-token-usage/SKILL.md +6 -5
  278. package/template/.cursor/skills/wayfinder/references/chart-map.md +2 -2
  279. package/template/.cursor/skills/wayfinder/references/ticket-types.md +1 -1
  280. package/template/.cursor/skills/yss-api-integration/SKILL.md +13 -50
  281. package/template/.cursor/skills/yss-api-integration/references/orval-list-example.md +38 -0
  282. package/template/.cursor/skills/yss-application/SKILL.md +11 -5
  283. package/template/.cursor/skills/yss-audit-log/SKILL.md +8 -6
  284. package/template/.cursor/skills/yss-audit-log/references/README.md +5 -5
  285. package/template/.cursor/skills/yss-cache/SKILL.md +4 -4
  286. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
  287. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
  288. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
  289. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
  290. package/template/.cursor/skills/yss-design-system/SKILL.md +2 -2
  291. package/template/.cursor/skills/yss-distributed-id/SKILL.md +4 -4
  292. package/template/.cursor/skills/yss-dto/SKILL.md +9 -9
  293. package/template/.cursor/skills/yss-dto/references/README.md +4 -4
  294. package/template/.cursor/skills/yss-dto/references/wire-validation-checklist.md +4 -4
  295. package/template/.cursor/skills/yss-excel-mvc/SKILL.md +4 -4
  296. package/template/.cursor/skills/yss-exception/SKILL.md +42 -48
  297. package/template/.cursor/skills/yss-formily-schema-generator/SKILL.md +26 -170
  298. package/template/.cursor/skills/yss-formily-schema-generator/references/workflow.md +49 -193
  299. package/template/.cursor/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
  300. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +2 -6
  301. package/template/.cursor/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
  302. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  303. package/template/.cursor/skills/yss-mybatis/SKILL.md +4 -4
  304. package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +6 -4
  305. package/template/.cursor/skills/yss-openapi-draft-review/references/review-output.md +2 -0
  306. package/template/.cursor/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
  307. package/template/.cursor/skills/yss-openapi-governance/SKILL.md +5 -7
  308. package/template/.cursor/skills/yss-openapi-governance/references/governance-output.md +2 -0
  309. package/template/.cursor/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
  310. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +23 -21
  311. package/template/.cursor/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
  312. package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +25 -5
  313. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +100 -4
  314. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +35 -12
  315. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +3 -1
  316. package/template/.cursor/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
  317. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +1 -5
  318. package/template/.cursor/skills/yss-repository/SKILL.md +2 -2
  319. package/template/.cursor/skills/yss-research/SKILL.md +39 -48
  320. package/template/.cursor/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
  321. package/template/.cursor/skills/yss-research/references/competitive-analysis.md +76 -0
  322. package/template/.cursor/skills/yss-research/references/competitive-analysis.schema.json +324 -0
  323. package/template/.cursor/skills/yss-research/references/evidence-contract.md +8 -0
  324. package/template/.cursor/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
  325. package/template/.cursor/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
  326. package/template/.cursor/skills/yss-research/scripts/validate-research-package.mjs +6 -2
  327. package/template/.cursor/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
  328. package/template/.cursor/skills/yss-resilience4j/SKILL.md +25 -31
  329. package/template/.cursor/skills/yss-security-algorithm/SKILL.md +37 -43
  330. package/template/.cursor/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
  331. package/template/.cursor/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
  332. package/template/.cursor/skills/yss-stage-decision/SKILL.md +2 -5
  333. package/template/.cursor/skills/yss-tactical-design/SKILL.md +1 -1
  334. package/template/.cursor/skills/yss-tactical-design/references/output-template.md +3 -3
  335. package/template/.cursor/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
  336. package/template/.cursor/skills/yss-technical-design/SKILL.md +6 -5
  337. package/template/.cursor/skills/yss-ui/SKILL.md +7 -1
  338. package/template/.cursor/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
  339. package/template/.cursor/skills/yss-ui/references/checklist.md +38 -96
  340. package/template/.cursor/skills/yss-ui/references/component-routing.md +3 -1
  341. package/template/.cursor/skills/yss-ui/references/quick-recipes.md +17 -272
  342. package/template/.cursor/skills/yss-ui/references/specialized-components.md +3 -3
  343. package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  344. package/template/.cursor/skills/yss-up-springboot3/SKILL.md +19 -21
  345. package/template/.cursor/skills/yss-userinfo/SKILL.md +27 -33
  346. package/template/.cursor/skills/yss-validation/SKILL.md +26 -32
  347. package/template/.cursor/skills/yss-web-controller/SKILL.md +11 -44
  348. package/template/.cursor/skills/yss-web-controller/references/crud-generation.md +38 -0
  349. package/template/.cursor/skills/ytable-usage/SKILL.md +2 -2
  350. package/template/.cursor/skills/ytree-usage/SKILL.md +2 -80
  351. package/template/.cursor/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
  352. package/template/.pi/skills/alibaba-java-code-style/SKILL.md +30 -36
  353. package/template/.pi/skills/archify/SKILL.md +2 -2
  354. package/template/.pi/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
  355. package/template/.pi/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
  356. package/template/.pi/skills/code-review/SKILL.md +19 -11
  357. package/template/.pi/skills/code-review/references/candidate-capture.md +1 -1
  358. package/template/.pi/skills/code-review/references/legacy-convergence.md +3 -1
  359. package/template/.pi/skills/code-review/references/review-axis-checklists.md +2 -0
  360. package/template/.pi/skills/code-review/references/yss-review-standards.md +4 -2
  361. package/template/.pi/skills/competitive-intelligence/SKILL.md +32 -74
  362. package/template/.pi/skills/file-export-download/SKILL.md +4 -73
  363. package/template/.pi/skills/file-export-download/references/binary-contract-example.md +26 -0
  364. package/template/.pi/skills/file-export-download/references/download-call-example.md +45 -0
  365. package/template/.pi/skills/formily-foundation/SKILL.md +6 -105
  366. package/template/.pi/skills/formily-foundation/references/async-save-example.md +57 -0
  367. package/template/.pi/skills/formily-foundation/references/query-layout.md +50 -0
  368. package/template/.pi/skills/formily-linkage-effects/SKILL.md +3 -116
  369. package/template/.pi/skills/formily-linkage-effects/references/linkage-example.md +116 -0
  370. package/template/.pi/skills/formily-mode-slot-detail/SKILL.md +3 -81
  371. package/template/.pi/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
  372. package/template/.pi/skills/formily-step-flow/SKILL.md +3 -143
  373. package/template/.pi/skills/formily-step-flow/references/step-flow-example.md +143 -0
  374. package/template/.pi/skills/handoff/SKILL.md +3 -1
  375. package/template/.pi/skills/i-have-adhd/SKILL.md +2 -2
  376. package/template/.pi/skills/i-have-adhd/references/yss-adaptation.md +2 -2
  377. package/template/.pi/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
  378. package/template/.pi/skills/implement/SKILL.md +2 -2
  379. package/template/.pi/skills/llm-wiki/references/transactions.md +2 -2
  380. package/template/.pi/skills/llm-wiki/scripts/core.mjs +40 -2
  381. package/template/.pi/skills/llm-wiki/scripts/transaction.mjs +30 -27
  382. package/template/.pi/skills/llm-wiki/scripts/v2.test.mjs +38 -2
  383. package/template/.pi/skills/lombok/SKILL.md +2 -0
  384. package/template/.pi/skills/mapstruct/SKILL.md +2 -0
  385. package/template/.pi/skills/tdd/SKILL.md +2 -2
  386. package/template/.pi/skills/theme-token-usage/SKILL.md +6 -5
  387. package/template/.pi/skills/wayfinder/references/chart-map.md +2 -2
  388. package/template/.pi/skills/wayfinder/references/ticket-types.md +1 -1
  389. package/template/.pi/skills/yss-api-integration/SKILL.md +13 -50
  390. package/template/.pi/skills/yss-api-integration/references/orval-list-example.md +38 -0
  391. package/template/.pi/skills/yss-application/SKILL.md +11 -5
  392. package/template/.pi/skills/yss-audit-log/SKILL.md +8 -6
  393. package/template/.pi/skills/yss-audit-log/references/README.md +5 -5
  394. package/template/.pi/skills/yss-cache/SKILL.md +4 -4
  395. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
  396. package/template/.pi/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
  397. package/template/.pi/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
  398. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
  399. package/template/.pi/skills/yss-design-system/SKILL.md +2 -2
  400. package/template/.pi/skills/yss-distributed-id/SKILL.md +4 -4
  401. package/template/.pi/skills/yss-dto/SKILL.md +9 -9
  402. package/template/.pi/skills/yss-dto/references/README.md +4 -4
  403. package/template/.pi/skills/yss-dto/references/wire-validation-checklist.md +4 -4
  404. package/template/.pi/skills/yss-excel-mvc/SKILL.md +4 -4
  405. package/template/.pi/skills/yss-exception/SKILL.md +42 -48
  406. package/template/.pi/skills/yss-formily-schema-generator/SKILL.md +26 -170
  407. package/template/.pi/skills/yss-formily-schema-generator/references/workflow.md +49 -193
  408. package/template/.pi/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
  409. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +2 -6
  410. package/template/.pi/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
  411. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  412. package/template/.pi/skills/yss-mybatis/SKILL.md +4 -4
  413. package/template/.pi/skills/yss-openapi-draft-review/SKILL.md +6 -4
  414. package/template/.pi/skills/yss-openapi-draft-review/references/review-output.md +2 -0
  415. package/template/.pi/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
  416. package/template/.pi/skills/yss-openapi-governance/SKILL.md +5 -7
  417. package/template/.pi/skills/yss-openapi-governance/references/governance-output.md +2 -0
  418. package/template/.pi/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
  419. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +23 -21
  420. package/template/.pi/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
  421. package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +25 -5
  422. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +100 -4
  423. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +35 -12
  424. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +3 -1
  425. package/template/.pi/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
  426. package/template/.pi/skills/yss-prototype-stage/SKILL.md +1 -5
  427. package/template/.pi/skills/yss-repository/SKILL.md +2 -2
  428. package/template/.pi/skills/yss-research/SKILL.md +39 -48
  429. package/template/.pi/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
  430. package/template/.pi/skills/yss-research/references/competitive-analysis.md +76 -0
  431. package/template/.pi/skills/yss-research/references/competitive-analysis.schema.json +324 -0
  432. package/template/.pi/skills/yss-research/references/evidence-contract.md +8 -0
  433. package/template/.pi/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
  434. package/template/.pi/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
  435. package/template/.pi/skills/yss-research/scripts/validate-research-package.mjs +6 -2
  436. package/template/.pi/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
  437. package/template/.pi/skills/yss-resilience4j/SKILL.md +25 -31
  438. package/template/.pi/skills/yss-security-algorithm/SKILL.md +37 -43
  439. package/template/.pi/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
  440. package/template/.pi/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
  441. package/template/.pi/skills/yss-stage-decision/SKILL.md +2 -5
  442. package/template/.pi/skills/yss-tactical-design/SKILL.md +1 -1
  443. package/template/.pi/skills/yss-tactical-design/references/output-template.md +3 -3
  444. package/template/.pi/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
  445. package/template/.pi/skills/yss-technical-design/SKILL.md +6 -5
  446. package/template/.pi/skills/yss-ui/SKILL.md +7 -1
  447. package/template/.pi/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
  448. package/template/.pi/skills/yss-ui/references/checklist.md +38 -96
  449. package/template/.pi/skills/yss-ui/references/component-routing.md +3 -1
  450. package/template/.pi/skills/yss-ui/references/quick-recipes.md +17 -272
  451. package/template/.pi/skills/yss-ui/references/specialized-components.md +3 -3
  452. package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  453. package/template/.pi/skills/yss-up-springboot3/SKILL.md +19 -21
  454. package/template/.pi/skills/yss-userinfo/SKILL.md +27 -33
  455. package/template/.pi/skills/yss-validation/SKILL.md +26 -32
  456. package/template/.pi/skills/yss-web-controller/SKILL.md +11 -44
  457. package/template/.pi/skills/yss-web-controller/references/crud-generation.md +38 -0
  458. package/template/.pi/skills/ytable-usage/SKILL.md +2 -2
  459. package/template/.pi/skills/ytree-usage/SKILL.md +2 -80
  460. package/template/.pi/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
  461. package/template/.template-spec/agents/backend-architecture-profiles.md +1 -1
  462. package/template/.template-spec/agents/digital-human-roles.md +5 -1
  463. package/template/.template-spec/agents/digital-human-roles.yaml +49 -1
  464. package/template/.template-spec/engineering/backend-platforms.json +1 -1
  465. package/template/.template-spec/plan/templates/competitive-analysis-template.md +38 -36
  466. package/template/.template-spec/plan/templates/competitive-matrix-template.md +37 -17
  467. package/template/.template-spec/process/document-writing.md +22 -3
  468. package/template/.template-spec/process/harness-process-tailoring.md +5 -1
  469. package/template/.template-spec/process/implementation-repo-integration.md +26 -8
  470. package/template/.template-spec/process/research-completion.md +2 -0
  471. package/template/.template-spec/process/runtime-storage.md +78 -0
  472. package/template/.template-spec/process/schemas/approval-context.schema.json +67 -0
  473. package/template/.template-spec/process/schemas/approval-record.schema.json +179 -16
  474. package/template/.template-spec/process/schemas/backend-delivery.schema.json +16 -0
  475. package/template/.template-spec/process/schemas/delivery-preflight-input.schema.json +4 -0
  476. package/template/.template-spec/process/schemas/digital-human-task-package.schema.json +236 -1
  477. package/template/.template-spec/process/schemas/implementation-repository-preparation-result.schema.json +335 -52
  478. package/template/.template-spec/process/schemas/lifecycle-checkpoint.schema.json +11 -0
  479. package/template/.template-spec/process/schemas/project-scaffold-contract.schema.json +3 -0
  480. package/template/.template-spec/process/schemas/review-bundle.schema.json +347 -35
  481. package/template/.template-spec/process/schemas/strategic-design-handoff-v3.schema.json +504 -0
  482. package/template/.template-spec/process/schemas/strategic-design-handoff-v4.schema.json +544 -8
  483. package/template/.template-spec/process/schemas/strategic-design-handoff-v5.schema.json +616 -0
  484. package/template/.template-spec/process/schemas/strategic-design-handoff.schema.json +616 -0
  485. package/template/.template-spec/process/schemas/strategic-handoff-domain-strategy-v3.schema.json +712 -109
  486. package/template/.template-spec/process/schemas/strategic-handoff-domain-strategy.schema.json +595 -90
  487. package/template/.template-spec/process/schemas/strategic-handoff-export-v2.schema.json +448 -0
  488. package/template/.template-spec/process/schemas/strategic-handoff-export.schema.json +392 -0
  489. package/template/.template-spec/process/schemas/strategic-handoff-stage-decision-package-v3.schema.json +556 -83
  490. package/template/.template-spec/process/schemas/strategic-handoff-stage-decision-package.schema.json +418 -57
  491. package/template/.template-spec/process/subagent-collaboration.md +7 -1
  492. package/template/.template-spec/templates/approval-record-template.json +7 -3
  493. package/template/.template-spec/templates/approval-record-template.yaml +8 -2
  494. package/template/.template-spec/templates/examples/lifecycle-writing-examples.md +92 -2
  495. package/template/.template-spec/templates/retro-report-template.md +10 -3
  496. package/template/.template-spec/templates/review-bundle-template.yaml +19 -10
  497. package/template/AGENTS.md +4 -3
  498. package/template/CONTEXT.md +2 -2
  499. package/template/README.md +2 -2
  500. package/template/scripts/advance-maintenance-iteration +51 -0
  501. package/template/scripts/lib/approval-checkpoint-discovery.mjs +26 -0
  502. package/template/scripts/lib/approval-consumption.mjs +35 -0
  503. package/template/scripts/lib/approval-current.mjs +111 -0
  504. package/template/scripts/lib/approval-record-io.mjs +56 -0
  505. package/template/scripts/lib/approval-record.mjs +79 -184
  506. package/template/scripts/lib/approved-execution-context.mjs +8 -6
  507. package/template/scripts/lib/asset-transactions.mjs +5 -1
  508. package/template/scripts/lib/backend-delivery.mjs +1 -1
  509. package/template/scripts/lib/backend-review.mjs +2 -1
  510. package/template/scripts/lib/backend-scaffold-prerequisites.mjs +3 -2
  511. package/template/scripts/lib/business-ticket-lifecycle.mjs +2 -1
  512. package/template/scripts/lib/checkpoint-commit.mjs +50 -0
  513. package/template/scripts/lib/command-runner.mjs +44 -9
  514. package/template/scripts/lib/content-identity.mjs +273 -0
  515. package/template/scripts/lib/delivery-preflight.mjs +2 -1
  516. package/template/scripts/lib/digital-human-roles.mjs +12 -5
  517. package/template/scripts/lib/drift-report.mjs +110 -0
  518. package/template/scripts/lib/existing-backend-architecture.mjs +4 -1
  519. package/template/scripts/lib/lifecycle-context-query.mjs +172 -11
  520. package/template/scripts/lib/lifecycle-controls.mjs +9 -19
  521. package/template/scripts/lib/lifecycle-presentation.mjs +5 -0
  522. package/template/scripts/lib/lifecycle-status.mjs +63 -12
  523. package/template/scripts/lib/lifecycle-transition.mjs +2 -1
  524. package/template/scripts/lib/maintenance-candidate.mjs +24 -30
  525. package/template/scripts/lib/maintenance-research.mjs +52 -8
  526. package/template/scripts/lib/maintenance-storage.mjs +81 -0
  527. package/template/scripts/lib/plan-spec-entry.mjs +2 -1
  528. package/template/scripts/lib/project-governance.mjs +2 -1
  529. package/template/scripts/lib/read-only-intake.mjs +44 -9
  530. package/template/scripts/lib/review-capabilities.mjs +234 -0
  531. package/template/scripts/lib/review-package.mjs +100 -0
  532. package/template/scripts/lib/runtime-store.mjs +650 -0
  533. package/template/scripts/lib/skill-registry.mjs +4 -4
  534. package/template/scripts/lib/strategic-handoff.mjs +22 -9
  535. package/template/scripts/lib/task-package.mjs +47 -16
  536. package/template/scripts/lifecycle-status +26 -1
  537. package/template/scripts/maintenance-path +11 -0
  538. package/template/scripts/prepare-review-package +8 -0
  539. package/template/scripts/project-ci +13 -3
  540. package/template/scripts/query-lifecycle-context +8 -1
  541. package/template/scripts/run-read-only-intake +2 -2
  542. package/template/scripts/runtime-store +40 -0
  543. package/template/scripts/verify-approval-record +21 -13
  544. package/template/scripts/verify-lifecycle-checkpoint +7 -3
  545. package/template/scripts/verify-project-instance +21 -1
  546. package/template/skills-lock.json +62 -61
  547. package/template.snapshot.json +4 -4
  548. package/vendor/cli-core/cli.mjs +2 -0
  549. package/vendor/cli-core/command-runner.mjs +44 -9
  550. package/vendor/cli-core/package.json +1 -1
  551. package/vendor/cli-core/runtime-store.mjs +650 -0
  552. package/vendor/cli-core/scaffold.mjs +4 -2
@@ -31,7 +31,7 @@ description: "在 Vue3 YSS UI 中实现或修复文件下载与导出,处理 O
31
31
 
32
32
  ## 决策流程
33
33
 
34
- 1. 在 OpenAPI 中定位导出接口,优先把成功响应声明为二进制媒体类型和 `format: binary`。
34
+ 1. 在冻结 OpenAPI 中定位导出接口,核对成功响应的二进制媒体类型和 `format: binary`。需要修改声明时回交 `yss-openapi-governance`,完成现有 Draft / Freeze 与受控 JSON 派生链后再接入。
35
35
  2. 重新生成 API 后检查生成方法,而不是凭接口名称判断:
36
36
  - 已包含 `responseType: 'blob'`:业务调用不必重复传第二参数。
37
37
  - 未包含 `responseType: 'blob'`:业务调用必须传第二参数 `{ responseType: 'blob' }`。
@@ -57,78 +57,9 @@ description: "在 Vue3 YSS UI 中实现或修复文件下载与导出,处理 O
57
57
  - 必须用独立 loading 状态防止重复导出,并在 `finally` 中恢复。
58
58
  - 不得默认传 `skipBusinessError` 或 `skipErrorHandler`;只有明确需要业务自定义错误体验时才使用。
59
59
 
60
- ## OpenAPI 标准代码骨架
61
-
62
- ```json
63
- {
64
- "responses": {
65
- "200": {
66
- "description": "导出成功",
67
- "headers": {
68
- "Content-Disposition": {
69
- "schema": { "type": "string" }
70
- }
71
- },
72
- "content": {
73
- "application/octet-stream": {
74
- "schema": {
75
- "type": "string",
76
- "format": "binary"
77
- }
78
- }
79
- }
80
- }
81
- }
82
- }
83
- ```
84
-
85
- 根据文件类型可将媒体类型换成 `text/csv`、`application/pdf` 或 Excel 对应类型。跨域请求若读取不到文件名,后端还必须暴露 `Content-Disposition` 响应头。
86
-
87
- ## 标准代码骨架
88
-
89
- ### 生成方法已包含 responseType
90
-
91
- ```typescript
92
- import { ref } from 'vue';
93
- import { handleBlobResponse } from '@yss-ui/utils';
94
- import { downloadAccessSecret } from '@/api/generated/quality';
95
-
96
- /** 微应用 mutator 返回的文件下载响应。 */
97
- type BlobDownloadResponse = {
98
- data: Blob;
99
- headers: Record<string, string>;
100
- };
101
-
102
- /** 文件下载进行中状态。 */
103
- const downloading = ref(false);
104
-
105
- /** 下载密钥文件。 */
106
- const downloadFile = async (key: string): Promise<void> => {
107
- if (downloading.value) return;
108
-
109
- downloading.value = true;
110
- try {
111
- const res = (await downloadAccessSecret(key)) as unknown as BlobDownloadResponse;
112
- handleBlobResponse(res.data, res.headers);
113
- } catch {
114
- // mutator 已展示错误;此处只阻止 reject 继续向 UI 事件传播。
115
- } finally {
116
- downloading.value = false;
117
- }
118
- };
119
- ```
120
-
121
- ### 生成方法缺少 responseType
122
-
123
- 只改调用行,其他流程保持一致:
124
-
125
- ```typescript
126
- const res = (await downloadAccessSecret(key, {
127
- responseType: 'blob',
128
- })) as unknown as BlobDownloadResponse;
129
- ```
130
-
131
- 若 mutator 与 Orval 返回类型已经准确声明为 `{ data: Blob; headers: ... }`,直接使用生成类型,删除不必要的类型断言。
60
+ ## 按需示例
61
+
62
+ 核对二进制响应与文件名声明时,读取 [OpenAPI 二进制响应示例](references/binary-contract-example.md)。首次接入生成方法、或需判断是否补传 Blob 选项时,读取 [下载调用示例](references/download-call-example.md),按生成方法的真实签名选择分支。
132
63
 
133
64
  ## 响应约定
134
65
 
@@ -0,0 +1,26 @@
1
+ ## OpenAPI 标准代码骨架
2
+
3
+ ```json
4
+ {
5
+ "responses": {
6
+ "200": {
7
+ "description": "导出成功",
8
+ "headers": {
9
+ "Content-Disposition": {
10
+ "schema": { "type": "string" }
11
+ }
12
+ },
13
+ "content": {
14
+ "application/octet-stream": {
15
+ "schema": {
16
+ "type": "string",
17
+ "format": "binary"
18
+ }
19
+ }
20
+ }
21
+ }
22
+ }
23
+ }
24
+ ```
25
+
26
+ 根据文件类型可将媒体类型换成 `text/csv`、`application/pdf` 或 Excel 对应类型。跨域请求若读取不到文件名,后端还必须暴露 `Content-Disposition` 响应头。
@@ -0,0 +1,45 @@
1
+ ## 标准代码骨架
2
+
3
+ ### 生成方法已包含 responseType
4
+
5
+ ```typescript
6
+ import { ref } from 'vue';
7
+ import { handleBlobResponse } from '@yss-ui/utils';
8
+ import { downloadAccessSecret } from '@/api/generated/quality';
9
+
10
+ /** 微应用 mutator 返回的文件下载响应。 */
11
+ type BlobDownloadResponse = {
12
+ data: Blob;
13
+ headers: Record<string, string>;
14
+ };
15
+
16
+ /** 文件下载进行中状态。 */
17
+ const downloading = ref(false);
18
+
19
+ /** 下载密钥文件。 */
20
+ const downloadFile = async (key: string): Promise<void> => {
21
+ if (downloading.value) return;
22
+
23
+ downloading.value = true;
24
+ try {
25
+ const res = (await downloadAccessSecret(key)) as unknown as BlobDownloadResponse;
26
+ handleBlobResponse(res.data, res.headers);
27
+ } catch {
28
+ // mutator 已展示错误;此处只阻止 reject 继续向 UI 事件传播。
29
+ } finally {
30
+ downloading.value = false;
31
+ }
32
+ };
33
+ ```
34
+
35
+ ### 生成方法缺少 responseType
36
+
37
+ 只改调用行,其他流程保持一致:
38
+
39
+ ```typescript
40
+ const res = (await downloadAccessSecret(key, {
41
+ responseType: 'blob',
42
+ })) as unknown as BlobDownloadResponse;
43
+ ```
44
+
45
+ 若 mutator 与 Orval 返回类型已经准确声明为 `{ data: Blob; headers: ... }`,直接使用生成类型,删除不必要的类型断言。
@@ -3,7 +3,7 @@ name: formily-foundation
3
3
  description: 指导 YFormily 基础表单开发;当创建或修复普通单页表单、字段校验、提交链路、查询表单布局、scope 表达式或导入边界时使用。
4
4
  ---
5
5
 
6
- # Formily Foundation Skill
6
+ # YFormily 基础表单
7
7
 
8
8
  ## 触发条件
9
9
 
@@ -28,6 +28,7 @@ description: 指导 YFormily 基础表单开发;当创建或修复普通单页
28
28
  - 禁止业务层导入 `@formily/antdv`、`@formily/antd*` UI 组件。
29
29
  - 必须使用三层结构:`FormLayout -> FormGrid -> 字段`,禁止字段直接挂在根节点或单独以 `FormGrid` 作为顶层布局。
30
30
  - `Submit` 必须传 `onSubmit`,否则不触发表单提交。
31
+ - 异步保存时 `onSubmit` 返回实际保存 Promise,以等待完成并传播 reject;`emit('submit')` 只发送事件,不能代表父回调的异步结果。
31
32
  - 标准业务列表/CRUD 查询区默认让 `YFormily` 只渲染字段;查询/重置按钮用外部 `YButton` 放在 `.xxx__search-actions`,由 hook 的 `handleSearch/handleReset` 控制分页重置和请求。
32
33
  - `AutoButtonGroup -> Submit/Reset` 仅用于纯 Formily 表单提交,不作为业务列表查询区默认方案。
33
34
  - 查询区禁止横向放“表单 + 按钮”后用大 `gap`、`align-items: flex-start` 或 `padding-top` 硬调位置;字段换行时按钮必须在搜索卡片右下角。
@@ -46,109 +47,9 @@ description: 指导 YFormily 基础表单开发;当创建或修复普通单页
46
47
  - 当前 YFormily 的 FormItem 适配层会在运行时归一化反馈:空值优先显示必填提示,非空值移除残留必填提示,多条相关消息只拼接一次。该兜底不替代正确的 Schema 校验职责拆分。
47
48
  - 分步需求默认走 `formily-step-flow`,不在本 skill 内给 `FormStep` 方案。
48
49
 
49
- ## 标准代码骨架
50
-
51
- ```vue
52
- <script setup lang="ts">
53
- import { YFormily, type ISchema } from '@yss-ui/components';
54
-
55
- /** 表单保存回调 Props。 */
56
- interface SaveFormProps {
57
- onSave: (values: Record<string, any>) => Promise<void>;
58
- }
59
-
60
- /** 表单保存回调。 */
61
- const props = defineProps<SaveFormProps>();
62
-
63
- /** 校验通过后提交表单数据。 */
64
- const onSubmit = (values: Record<string, any>) => {
65
- return props.onSave(values);
66
- };
67
-
68
- /** 基础表单 Schema。 */
69
- const schema: ISchema = {
70
- type: 'object',
71
- properties: {
72
- layout: {
73
- type: 'void',
74
- 'x-component': 'FormLayout',
75
- 'x-component-props': { layout: 'horizontal', labelWidth: 120, labelAlign: 'right' },
76
- properties: {
77
- grid: {
78
- type: 'void',
79
- 'x-component': 'FormGrid',
80
- 'x-component-props': { maxColumns: 3, minColumns: 1, minWidth: 260 },
81
- properties: {
82
- name: { type: 'string', title: '名称', 'x-decorator': 'FormItem', 'x-component': 'Input', required: true, 'x-validator': [{ required: true, whitespace: true, message: '请输入名称' }] },
83
- submit: {
84
- type: 'void',
85
- 'x-component': 'Submit',
86
- 'x-content': '提交',
87
- 'x-component-props': { onSubmit: '{{ onSubmit }}' },
88
- },
89
- },
90
- },
91
- },
92
- },
93
- },
94
- };
95
- </script>
96
-
97
- <template>
98
- <YFormily :schema="schema" :scope="{ onSubmit }" />
99
- </template>
100
- ```
101
-
102
- ## 业务查询区布局
103
-
104
- ```vue
105
- <template>
106
- <YCard class="demo-page__search-card" :padding="16">
107
- <div class="demo-page__search-content">
108
- <div class="demo-page__search-form">
109
- <YFormily v-model="queryModel" :schema="searchSchema" />
110
- </div>
111
- <div class="demo-page__search-actions">
112
- <YButton type="primary" @click="handleSearch">查询</YButton>
113
- <YButton @click="handleReset">重置</YButton>
114
- </div>
115
- </div>
116
- </YCard>
117
- </template>
118
- ```
119
-
120
- ```less
121
- .demo-page {
122
- &__search-content {
123
- display: flex;
124
- flex-direction: column;
125
- align-items: stretch;
126
- gap: 16px;
127
- }
128
-
129
- &__search-form {
130
- width: 100%;
131
- min-width: 0;
132
-
133
- :deep(.ant-formily-form-item) {
134
- margin-bottom: 0;
135
- }
136
-
137
- :deep(.ant-formily-form-grid) {
138
- width: 100%;
139
- }
140
- }
141
-
142
- &__search-actions {
143
- display: flex;
144
- width: 100%;
145
- flex: 0 0 auto;
146
- align-items: center;
147
- justify-content: flex-end;
148
- gap: 12px;
149
- }
150
- }
151
- ```
50
+ ## 按需示例
51
+
52
+ 同步事件提交读取 [基础表单与提交](references/examples.md#1-基础表单与提交);等待父回调完成的异步保存读取 [异步保存回调](references/async-save-example.md)。Orval 提交的 loading、reject 与错误提示读取 [错误处理](references/examples.md#8-orval-提交与错误处理)。实现业务列表查询区或排查窄屏按钮位置时,读取 [业务查询区布局](references/query-layout.md)。联动、模式和分步示例只在对应条件命中时读取,并服从实际命中的专项 Skill。
152
53
 
153
54
  ## 交付检查清单
154
55
 
@@ -173,4 +74,4 @@ const schema: ISchema = {
173
74
 
174
75
  ## 参考
175
76
 
176
- - 完整示例:`./references/examples.md`
77
+ [示例库目录](references/examples.md#目录)按具体场景定位,不要求每次读取全部示例。
@@ -0,0 +1,57 @@
1
+ # 异步保存回调
2
+
3
+ 等待父回调完成的保存场景读取本例。`onSubmit` 必须返回实际保存 Promise;发送 `emit` 事件只返回 void,不能等待父组件的异步请求。
4
+
5
+ Orval 请求失败沿用 [错误处理](examples.md#8-orval-提交与错误处理),由 mutator 统一提示,调用方恢复 loading 并传播 reject。
6
+
7
+ ```vue
8
+ <script setup lang="ts">
9
+ import { YFormily, type ISchema } from '@yss-ui/components';
10
+
11
+ /** 表单保存回调 Props。 */
12
+ interface SaveFormProps {
13
+ onSave: (values: Record<string, any>) => Promise<void>;
14
+ }
15
+
16
+ /** 表单保存回调。 */
17
+ const props = defineProps<SaveFormProps>();
18
+
19
+ /** 校验通过后提交表单数据。 */
20
+ const onSubmit = (values: Record<string, any>) => {
21
+ return props.onSave(values);
22
+ };
23
+
24
+ /** 基础表单 Schema。 */
25
+ const schema: ISchema = {
26
+ type: 'object',
27
+ properties: {
28
+ layout: {
29
+ type: 'void',
30
+ 'x-component': 'FormLayout',
31
+ 'x-component-props': { layout: 'horizontal', labelWidth: 120, labelAlign: 'right' },
32
+ properties: {
33
+ grid: {
34
+ type: 'void',
35
+ 'x-component': 'FormGrid',
36
+ 'x-component-props': { maxColumns: 3, minColumns: 1, minWidth: 260 },
37
+ properties: {
38
+ name: { type: 'string', title: '名称', 'x-decorator': 'FormItem', 'x-component': 'Input', required: true, 'x-validator': [{ required: true, whitespace: true, message: '请输入名称' }] },
39
+ submit: {
40
+ type: 'void',
41
+ 'x-component': 'Submit',
42
+ 'x-content': '提交',
43
+ 'x-component-props': { onSubmit: '{{ onSubmit }}' },
44
+ },
45
+ },
46
+ },
47
+ },
48
+ },
49
+ },
50
+ };
51
+ </script>
52
+
53
+ <template>
54
+ <YFormily :schema="schema" :scope="{ onSubmit }" />
55
+ </template>
56
+ ```
57
+
@@ -0,0 +1,50 @@
1
+ ## 业务查询区布局
2
+
3
+ ```vue
4
+ <template>
5
+ <YCard class="demo-page__search-card" :padding="16">
6
+ <div class="demo-page__search-content">
7
+ <div class="demo-page__search-form">
8
+ <YFormily v-model="queryModel" :schema="searchSchema" />
9
+ </div>
10
+ <div class="demo-page__search-actions">
11
+ <YButton type="primary" @click="handleSearch">查询</YButton>
12
+ <YButton @click="handleReset">重置</YButton>
13
+ </div>
14
+ </div>
15
+ </YCard>
16
+ </template>
17
+ ```
18
+
19
+ ```less
20
+ .demo-page {
21
+ &__search-content {
22
+ display: flex;
23
+ flex-direction: column;
24
+ align-items: stretch;
25
+ gap: 16px;
26
+ }
27
+
28
+ &__search-form {
29
+ width: 100%;
30
+ min-width: 0;
31
+
32
+ :deep(.ant-formily-form-item) {
33
+ margin-bottom: 0;
34
+ }
35
+
36
+ :deep(.ant-formily-form-grid) {
37
+ width: 100%;
38
+ }
39
+ }
40
+
41
+ &__search-actions {
42
+ display: flex;
43
+ width: 100%;
44
+ flex: 0 0 auto;
45
+ align-items: center;
46
+ justify-content: flex-end;
47
+ gap: 12px;
48
+ }
49
+ }
50
+ ```
@@ -3,7 +3,7 @@ name: formily-linkage-effects
3
3
  description: 指导 YFormily 字段联动与表单级副作用;当实现动态显隐、禁用、级联选项、scope 事件、x-reactions、effects、异步联动或客户端校验失败兜底时使用。
4
4
  ---
5
5
 
6
- # Formily Linkage Effects Skill
6
+ # YFormily 联动与副作用
7
7
 
8
8
  ## 触发条件
9
9
 
@@ -33,122 +33,9 @@ description: 指导 YFormily 字段联动与表单级副作用;当实现动态
33
33
  - Orval API 的网络/业务错误已由 `mutator.ts` 提示并 reject,业务 `else`/`catch` 禁止重复 `message.error`。
34
34
  - 分步需求默认走 `formily-step-flow`,不在此 skill 中给 `FormStep` 默认方案。
35
35
 
36
- ## 标准代码骨架
36
+ ## 按需示例
37
37
 
38
- ```vue
39
- <script setup lang="ts">
40
- import type { DataField, Form, IFieldState } from '@formily/core';
41
- import { createForm, onFieldInit, onFieldValueChange, onFormSubmitValidateFailed } from '@formily/core';
42
- import { YFormily, type ISchema } from '@yss-ui/components';
43
- import { message } from 'ant-design-vue';
44
-
45
- /** 下拉选项。 */
46
- interface OptionItem {
47
- label: string;
48
- value: string;
49
- }
50
-
51
- /** 根据省份返回城市选项。 */
52
- const getCityOptions = (province?: string): OptionItem[] =>
53
- province === 'zhejiang'
54
- ? [{ label: '杭州', value: 'hangzhou' }]
55
- : province === 'jiangsu'
56
- ? [{ label: '南京', value: 'nanjing' }]
57
- : [];
58
-
59
- /** 同步城市选项并清理已经失效的旧值。 */
60
- const syncCity = (field: DataField) => {
61
- const options = getCityOptions(field.value as string | undefined);
62
- field.form.setFieldState('city', (state: IFieldState) => {
63
- state.dataSource = options;
64
- if (!options.some(item => item.value === state.value)) state.value = undefined;
65
- });
66
- };
67
-
68
- /** 外部 Form 实例,用于承载表单级 effects。 */
69
- const form: Form = createForm({
70
- values: { province: 'zhejiang', city: 'hangzhou' },
71
- effects() {
72
- onFieldInit('province', field => syncCity(field as DataField));
73
- onFieldValueChange('province', field => syncCity(field as DataField));
74
- onFormSubmitValidateFailed(() => {
75
- const feedbacks = form.queryFeedbacks({ type: 'error' });
76
- message.error(feedbacks[0]?.messages?.[0] ?? '请检查表单');
77
- });
78
- },
79
- });
80
-
81
- /** 表单保存回调 Props。 */
82
- interface SaveFormProps {
83
- onSave: (values: Record<string, any>) => Promise<void>;
84
- }
85
-
86
- /** 表单保存回调。 */
87
- const props = defineProps<SaveFormProps>();
88
-
89
- /** 校验通过后提交;API 错误由 mutator 统一提示。 */
90
- const onSubmit = (values: Record<string, any>) => {
91
- return props.onSave(values);
92
- };
93
-
94
- /** 级联表单 Schema。 */
95
- const schema: ISchema = {
96
- type: 'object',
97
- properties: {
98
- layout: {
99
- type: 'void',
100
- 'x-component': 'FormLayout',
101
- 'x-component-props': { layout: 'horizontal', labelWidth: 120, labelAlign: 'right' },
102
- properties: {
103
- grid: {
104
- type: 'void',
105
- 'x-component': 'FormGrid',
106
- 'x-component-props': { maxColumns: 2, minColumns: 1, minWidth: 320 },
107
- properties: {
108
- province: {
109
- type: 'string',
110
- title: '省份',
111
- required: true,
112
- enum: [
113
- { label: '浙江', value: 'zhejiang' },
114
- { label: '江苏', value: 'jiangsu' },
115
- ],
116
- 'x-decorator': 'FormItem',
117
- 'x-component': 'Select',
118
- },
119
- city: {
120
- type: 'string',
121
- title: '城市',
122
- required: true,
123
- 'x-decorator': 'FormItem',
124
- 'x-component': 'Select',
125
- },
126
- actions: {
127
- type: 'void',
128
- 'x-decorator': 'FormItem',
129
- 'x-decorator-props': { gridSpan: 2, colon: false },
130
- 'x-component': 'AutoButtonGroup',
131
- properties: {
132
- submit: {
133
- type: 'void',
134
- 'x-component': 'Submit',
135
- 'x-content': '提交',
136
- 'x-component-props': { onSubmit: '{{ onSubmit }}' },
137
- },
138
- },
139
- },
140
- },
141
- },
142
- },
143
- },
144
- },
145
- };
146
- </script>
147
-
148
- <template>
149
- <YFormily :schema="schema" :form="form" :scope="{ onSubmit }" />
150
- </template>
151
- ```
38
+ 首次组织 `createForm + effects`、排查初始化联动或校验反馈时,读取 [联动与 effects 示例](references/linkage-example.md)。基础布局和提交仍按 `formily-foundation`。
152
39
 
153
40
  ## 交付检查清单
154
41
 
@@ -0,0 +1,116 @@
1
+ ## 标准代码骨架
2
+
3
+ ```vue
4
+ <script setup lang="ts">
5
+ import type { DataField, Form, IFieldState } from '@formily/core';
6
+ import { createForm, onFieldInit, onFieldValueChange, onFormSubmitValidateFailed } from '@formily/core';
7
+ import { YFormily, type ISchema } from '@yss-ui/components';
8
+ import { message } from 'ant-design-vue';
9
+
10
+ /** 下拉选项。 */
11
+ interface OptionItem {
12
+ label: string;
13
+ value: string;
14
+ }
15
+
16
+ /** 根据省份返回城市选项。 */
17
+ const getCityOptions = (province?: string): OptionItem[] =>
18
+ province === 'zhejiang'
19
+ ? [{ label: '杭州', value: 'hangzhou' }]
20
+ : province === 'jiangsu'
21
+ ? [{ label: '南京', value: 'nanjing' }]
22
+ : [];
23
+
24
+ /** 同步城市选项并清理已经失效的旧值。 */
25
+ const syncCity = (field: DataField) => {
26
+ const options = getCityOptions(field.value as string | undefined);
27
+ field.form.setFieldState('city', (state: IFieldState) => {
28
+ state.dataSource = options;
29
+ if (!options.some(item => item.value === state.value)) state.value = undefined;
30
+ });
31
+ };
32
+
33
+ /** 外部 Form 实例,用于承载表单级 effects。 */
34
+ const form: Form = createForm({
35
+ values: { province: 'zhejiang', city: 'hangzhou' },
36
+ effects() {
37
+ onFieldInit('province', field => syncCity(field as DataField));
38
+ onFieldValueChange('province', field => syncCity(field as DataField));
39
+ onFormSubmitValidateFailed(() => {
40
+ const feedbacks = form.queryFeedbacks({ type: 'error' });
41
+ message.error(feedbacks[0]?.messages?.[0] ?? '请检查表单');
42
+ });
43
+ },
44
+ });
45
+
46
+ /** 表单保存回调 Props。 */
47
+ interface SaveFormProps {
48
+ onSave: (values: Record<string, any>) => Promise<void>;
49
+ }
50
+
51
+ /** 表单保存回调。 */
52
+ const props = defineProps<SaveFormProps>();
53
+
54
+ /** 校验通过后提交;API 错误由 mutator 统一提示。 */
55
+ const onSubmit = (values: Record<string, any>) => {
56
+ return props.onSave(values);
57
+ };
58
+
59
+ /** 级联表单 Schema。 */
60
+ const schema: ISchema = {
61
+ type: 'object',
62
+ properties: {
63
+ layout: {
64
+ type: 'void',
65
+ 'x-component': 'FormLayout',
66
+ 'x-component-props': { layout: 'horizontal', labelWidth: 120, labelAlign: 'right' },
67
+ properties: {
68
+ grid: {
69
+ type: 'void',
70
+ 'x-component': 'FormGrid',
71
+ 'x-component-props': { maxColumns: 2, minColumns: 1, minWidth: 320 },
72
+ properties: {
73
+ province: {
74
+ type: 'string',
75
+ title: '省份',
76
+ required: true,
77
+ enum: [
78
+ { label: '浙江', value: 'zhejiang' },
79
+ { label: '江苏', value: 'jiangsu' },
80
+ ],
81
+ 'x-decorator': 'FormItem',
82
+ 'x-component': 'Select',
83
+ },
84
+ city: {
85
+ type: 'string',
86
+ title: '城市',
87
+ required: true,
88
+ 'x-decorator': 'FormItem',
89
+ 'x-component': 'Select',
90
+ },
91
+ actions: {
92
+ type: 'void',
93
+ 'x-decorator': 'FormItem',
94
+ 'x-decorator-props': { gridSpan: 2, colon: false },
95
+ 'x-component': 'AutoButtonGroup',
96
+ properties: {
97
+ submit: {
98
+ type: 'void',
99
+ 'x-component': 'Submit',
100
+ 'x-content': '提交',
101
+ 'x-component-props': { onSubmit: '{{ onSubmit }}' },
102
+ },
103
+ },
104
+ },
105
+ },
106
+ },
107
+ },
108
+ },
109
+ },
110
+ };
111
+ </script>
112
+
113
+ <template>
114
+ <YFormily :schema="schema" :form="form" :scope="{ onSubmit }" />
115
+ </template>
116
+ ```