create-yss-spec 3.3.8 → 3.4.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 (908) hide show
  1. package/README.md +1 -1
  2. package/package.json +2 -2
  3. package/template/.agents/skills/.strategic-design-skills-manifest.json +3 -13
  4. package/template/.agents/skills/archify/SKILL.md +1 -1
  5. package/template/.agents/skills/code-review/SKILL.md +12 -8
  6. package/template/.agents/skills/file-export-download/SKILL.md +1 -1
  7. package/template/.agents/skills/frontend-commit/SKILL.md +1 -1
  8. package/template/.agents/skills/java-backend-commit/SKILL.md +1 -1
  9. package/template/.agents/skills/llm-wiki/SKILL.md +1 -6
  10. package/template/.agents/skills/lombok/SKILL.md +10 -336
  11. package/template/.agents/skills/lombok/references/annotation-examples.md +307 -0
  12. package/template/.agents/skills/maintaining-skills/SKILL.md +2 -1
  13. package/template/.agents/skills/maintaining-skills/references/authoring.md +27 -0
  14. package/template/.agents/skills/mapstruct/SKILL.md +11 -318
  15. package/template/.agents/skills/mapstruct/references/annotation-examples.md +300 -0
  16. package/template/.agents/skills/page-form-module/SKILL.md +1 -1
  17. package/template/.agents/skills/page-skeleton/SKILL.md +1 -1
  18. package/template/.agents/skills/theme-token-usage/SKILL.md +1 -1
  19. package/template/.agents/skills/to-tickets/SKILL.md +1 -1
  20. package/template/.agents/skills/using-git-worktrees/SKILL.md +1 -1
  21. package/template/.agents/skills/wayfinder/SKILL.md +1 -1
  22. package/template/.agents/skills/yedit-table-usage/SKILL.md +1 -1
  23. package/template/.agents/skills/yss-api-integration/SKILL.md +1 -1
  24. package/template/.agents/skills/yss-audit-log/SKILL.md +1 -1
  25. package/template/.agents/skills/yss-cache/SKILL.md +1 -1
  26. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +18 -5
  27. package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +1 -1
  28. package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +15 -10
  29. package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +3 -3
  30. package/template/.agents/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +1 -1
  31. package/template/.agents/skills/yss-ddd-scaffold-generator/references/layer-skill-routing.md +18 -0
  32. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +4 -4
  33. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +18 -5
  34. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +5 -2
  35. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +21 -17
  36. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +4 -2
  37. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +41 -7
  38. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +109 -13
  39. package/template/.agents/skills/yss-design-system/SKILL.md +19 -19
  40. package/template/.agents/skills/yss-design-system/references/data-quality-theme.md +13 -0
  41. package/template/.agents/skills/yss-design-system/references/design-qa-theme.md +3 -1
  42. package/template/.agents/skills/yss-design-system/references/design-system.md +7 -9
  43. package/template/.agents/skills/yss-distributed-id/SKILL.md +1 -1
  44. package/template/.agents/skills/yss-dto/SKILL.md +5 -1
  45. package/template/.agents/skills/yss-excel-mvc/SKILL.md +1 -1
  46. package/template/.agents/skills/yss-exception/SKILL.md +5 -1
  47. package/template/.agents/skills/yss-formily/SKILL.md +21 -258
  48. package/template/.agents/skills/yss-formily-schema-generator/SKILL.md +1 -1
  49. package/template/.agents/skills/yss-frontend-scaffold-generator/SKILL.md +17 -13
  50. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/.eslintrc.cjs +1 -0
  51. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/.npmrc.example +2 -0
  52. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/DESIGN.md +264 -0
  53. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/README.md +13 -0
  54. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/__yss_dotfile__.gitignore +6 -0
  55. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/micro-config.json +5 -0
  56. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/orval.config.ts +2 -0
  57. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/package.json +30 -0
  58. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.development +1 -0
  59. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.example +5 -0
  60. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.production +1 -0
  61. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.production.standalone +1 -0
  62. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/index.html +2 -0
  63. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/package.json +34 -0
  64. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/public/favicon.svg +1 -0
  65. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/App.vue +15 -0
  66. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/api/mutator.ts +7 -0
  67. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/components/ThemeScope.vue +11 -0
  68. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/config/theme.json +41 -0
  69. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/env.d.ts +1 -0
  70. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/main.ts +40 -0
  71. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/router/index.ts +8 -0
  72. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/store/theme.ts +37 -0
  73. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/styles/index.less +6 -0
  74. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/types/microAppBridge.ts +28 -0
  75. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/utils/microAppRouterBridge.ts +266 -0
  76. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/views/NotFound.vue +1 -0
  77. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/views/Welcome.vue +1 -0
  78. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/tsconfig.json +23 -0
  79. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/vite.config.ts +16 -0
  80. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-lock.yaml +9026 -0
  81. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-workspace.yaml +7 -0
  82. package/template/.agents/skills/yss-frontend-scaffold-generator/references/data-quality-baseline.md +17 -0
  83. package/template/.agents/skills/yss-frontend-scaffold-generator/references/data-quality-v1.manifest.json +49 -0
  84. package/template/.agents/skills/yss-frontend-scaffold-generator/scripts/generate_scaffold.mjs +41 -13
  85. package/template/.agents/skills/yss-frontend-scaffold-generator/scripts/refresh_baseline.mjs +29 -0
  86. package/template/.agents/skills/yss-frontend-scaffold-generator/scripts/run_scaffold_verification.mjs +5 -1
  87. package/template/.agents/skills/yss-frontend-scaffold-generator/scripts/scaffold-generator.test.mjs +32 -0
  88. package/template/.agents/skills/yss-hook/SKILL.md +1 -1
  89. package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +14 -6
  90. package/template/.agents/skills/yss-implementation-contract-compiler/agents/openai.yaml +1 -1
  91. package/template/.agents/skills/yss-implementation-contract-compiler/references/boundaries.md +5 -3
  92. package/template/.agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +29 -5
  93. package/template/.agents/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +214 -0
  94. package/template/.agents/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +66 -204
  95. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/SKILL.md +17 -4
  96. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +1 -1
  97. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +38 -25
  98. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  99. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +101 -13
  100. package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +2 -2
  101. package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +1 -1
  102. package/template/.agents/skills/yss-mybatis/SKILL.md +4 -0
  103. package/template/.agents/skills/yss-openapi-draft-review/SKILL.md +1 -1
  104. package/template/.agents/skills/yss-openapi-governance/SKILL.md +3 -1
  105. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +4 -4
  106. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +50 -17
  107. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +6 -2
  108. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +3 -1
  109. package/template/.agents/skills/yss-product-lifecycle/references/user-decisions.md +23 -3
  110. package/template/.agents/skills/yss-prototype-stage/SKILL.md +13 -9
  111. package/template/.agents/skills/yss-prototype-stage/assets/antd-authoring/package.json +16 -0
  112. package/template/.agents/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +1678 -0
  113. package/template/.agents/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +23 -0
  114. package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/app.js +20 -0
  115. package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/index.html +11 -0
  116. package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/styles.css +28 -0
  117. package/template/.agents/skills/yss-prototype-stage/assets/offline-html/app.js +50 -0
  118. package/template/.agents/skills/yss-prototype-stage/assets/offline-html/index.html +38 -0
  119. package/template/.agents/skills/yss-prototype-stage/assets/offline-html/scenarios.js +7 -0
  120. package/template/.agents/skills/yss-prototype-stage/assets/offline-html/styles.css +20 -0
  121. package/template/.agents/skills/yss-prototype-stage/references/antd-component-catalog.json +736 -0
  122. package/template/.agents/skills/yss-prototype-stage/references/antd-integration.md +61 -0
  123. package/template/.agents/skills/yss-prototype-stage/references/html-prototype-practices.md +14 -0
  124. package/template/.agents/skills/yss-prototype-stage/references/product-design-adapter.md +28 -51
  125. package/template/.agents/skills/yss-prototype-stage/references/prototype-profile-routing.md +15 -4
  126. package/template/.agents/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +71 -0
  127. package/template/.agents/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +26 -0
  128. package/template/.agents/skills/yss-prototype-stage/scripts/offline-html.mjs +121 -0
  129. package/template/.agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs +52 -143
  130. package/template/.agents/skills/yss-prototype-stage/tests/antd-reference.test.mjs +24 -0
  131. package/template/.agents/skills/yss-prototype-stage/tests/browser-smoke.mjs +77 -0
  132. package/template/.agents/skills/yss-prototype-stage/tests/run-scenarios.mjs +73 -26
  133. package/template/.agents/skills/yss-prototype-stage/tests/workbench-smoke.mjs +57 -0
  134. package/template/.agents/skills/yss-repository/SKILL.md +4 -0
  135. package/template/.agents/skills/yss-research/SKILL.md +1 -1
  136. package/template/.agents/skills/yss-resilience4j/SKILL.md +1 -1
  137. package/template/.agents/skills/yss-security-algorithm/SKILL.md +1 -1
  138. package/template/.agents/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
  139. package/template/.agents/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +0 -1
  140. package/template/.agents/skills/yss-tactical-design/SKILL.md +5 -1
  141. package/template/.agents/skills/yss-technical-design/SKILL.md +4 -0
  142. package/template/.agents/skills/yss-technical-design/scripts/validate-technical-design.mjs +2 -2
  143. package/template/.agents/skills/yss-ui/SKILL.md +4 -3
  144. package/template/.agents/skills/yss-ui/references/component-routing.md +11 -10
  145. package/template/.agents/skills/yss-ui/references/specialized-components.md +52 -0
  146. package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  147. package/template/.agents/skills/yss-up-springboot3/SKILL.md +1 -1
  148. package/template/.agents/skills/yss-use-table-height/SKILL.md +1 -1
  149. package/template/.agents/skills/yss-use-tree-height/SKILL.md +1 -1
  150. package/template/.agents/skills/yss-userinfo/SKILL.md +1 -1
  151. package/template/.agents/skills/yss-validation/SKILL.md +5 -1
  152. package/template/.agents/skills/yss-web-controller/SKILL.md +5 -1
  153. package/template/.agents/skills/yss-web-controller/scripts/generate_controller.mjs +9 -5
  154. package/template/.agents/skills/yss-web-controller/scripts/generate_controller.test.mjs +1 -1
  155. package/template/.agents/skills/ytable-usage/SKILL.md +1 -1
  156. package/template/.agents/skills/ytree-usage/SKILL.md +1 -1
  157. package/template/.codex/skills/archify/SKILL.md +1 -1
  158. package/template/.codex/skills/code-review/SKILL.md +12 -8
  159. package/template/.codex/skills/data-analytics/skills/analyze-data-quality/SKILL.md +1 -1
  160. package/template/.codex/skills/data-analytics/skills/build-dashboard/SKILL.md +1 -1
  161. package/template/.codex/skills/data-analytics/skills/build-report/SKILL.md +1 -1
  162. package/template/.codex/skills/data-analytics/skills/design-kpis/SKILL.md +1 -1
  163. package/template/.codex/skills/data-analytics/skills/gather-business-context/SKILL.md +1 -1
  164. package/template/.codex/skills/data-analytics/skills/index/SKILL.md +1 -1
  165. package/template/.codex/skills/data-analytics/skills/jupyter-notebooks/SKILL.md +1 -1
  166. package/template/.codex/skills/data-analytics/skills/kpi-reporting/SKILL.md +1 -1
  167. package/template/.codex/skills/data-analytics/skills/market-sizing/SKILL.md +1 -1
  168. package/template/.codex/skills/data-analytics/skills/metric-diagnostics/SKILL.md +1 -1
  169. package/template/.codex/skills/data-analytics/skills/product-business-analysis/SKILL.md +1 -1
  170. package/template/.codex/skills/data-analytics/skills/spreadsheets/SKILL.md +1 -1
  171. package/template/.codex/skills/data-analytics/skills/validate-data/SKILL.md +1 -1
  172. package/template/.codex/skills/data-analytics/skills/visualize-data/SKILL.md +1 -1
  173. package/template/.codex/skills/file-export-download/SKILL.md +1 -1
  174. package/template/.codex/skills/frontend-commit/SKILL.md +1 -1
  175. package/template/.codex/skills/java-backend-commit/SKILL.md +1 -1
  176. package/template/.codex/skills/llm-wiki/SKILL.md +1 -6
  177. package/template/.codex/skills/lombok/SKILL.md +10 -336
  178. package/template/.codex/skills/lombok/references/annotation-examples.md +307 -0
  179. package/template/.codex/skills/maintaining-skills/SKILL.md +2 -1
  180. package/template/.codex/skills/maintaining-skills/references/authoring.md +27 -0
  181. package/template/.codex/skills/mapstruct/SKILL.md +11 -318
  182. package/template/.codex/skills/mapstruct/references/annotation-examples.md +300 -0
  183. package/template/.codex/skills/page-form-module/SKILL.md +1 -1
  184. package/template/.codex/skills/page-skeleton/SKILL.md +1 -1
  185. package/template/.codex/skills/product-design/skills/audit/SKILL.md +1 -1
  186. package/template/.codex/skills/product-design/skills/design-qa/SKILL.md +1 -1
  187. package/template/.codex/skills/product-design/skills/get-context/SKILL.md +1 -1
  188. package/template/.codex/skills/product-design/skills/ideate/SKILL.md +1 -1
  189. package/template/.codex/skills/product-design/skills/image-to-code/SKILL.md +1 -1
  190. package/template/.codex/skills/product-design/skills/index/SKILL.md +1 -1
  191. package/template/.codex/skills/product-design/skills/prototype/SKILL.md +1 -1
  192. package/template/.codex/skills/product-design/skills/research/SKILL.md +1 -1
  193. package/template/.codex/skills/product-design/skills/user-context/SKILL.md +1 -1
  194. package/template/.codex/skills/theme-token-usage/SKILL.md +1 -1
  195. package/template/.codex/skills/to-tickets/SKILL.md +1 -1
  196. package/template/.codex/skills/using-git-worktrees/SKILL.md +1 -1
  197. package/template/.codex/skills/wayfinder/SKILL.md +1 -1
  198. package/template/.codex/skills/yedit-table-usage/SKILL.md +1 -1
  199. package/template/.codex/skills/yss-api-integration/SKILL.md +1 -1
  200. package/template/.codex/skills/yss-audit-log/SKILL.md +1 -1
  201. package/template/.codex/skills/yss-cache/SKILL.md +1 -1
  202. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +18 -5
  203. package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +1 -1
  204. package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +15 -10
  205. package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +3 -3
  206. package/template/.codex/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +1 -1
  207. package/template/.codex/skills/yss-ddd-scaffold-generator/references/layer-skill-routing.md +18 -0
  208. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +4 -4
  209. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +18 -5
  210. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +5 -2
  211. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +21 -17
  212. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +4 -2
  213. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +41 -7
  214. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +109 -13
  215. package/template/.codex/skills/yss-design-system/SKILL.md +19 -19
  216. package/template/.codex/skills/yss-design-system/references/data-quality-theme.md +13 -0
  217. package/template/.codex/skills/yss-design-system/references/design-qa-theme.md +3 -1
  218. package/template/.codex/skills/yss-design-system/references/design-system.md +7 -9
  219. package/template/.codex/skills/yss-distributed-id/SKILL.md +1 -1
  220. package/template/.codex/skills/yss-dto/SKILL.md +5 -1
  221. package/template/.codex/skills/yss-excel-mvc/SKILL.md +1 -1
  222. package/template/.codex/skills/yss-exception/SKILL.md +5 -1
  223. package/template/.codex/skills/yss-formily/SKILL.md +21 -258
  224. package/template/.codex/skills/yss-formily-schema-generator/SKILL.md +1 -1
  225. package/template/.codex/skills/yss-frontend-scaffold-generator/SKILL.md +17 -13
  226. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/.eslintrc.cjs +1 -0
  227. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/.npmrc.example +2 -0
  228. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/DESIGN.md +264 -0
  229. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/README.md +13 -0
  230. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/__yss_dotfile__.gitignore +6 -0
  231. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/micro-config.json +5 -0
  232. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/orval.config.ts +2 -0
  233. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/package.json +30 -0
  234. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.development +1 -0
  235. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.example +5 -0
  236. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.production +1 -0
  237. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.production.standalone +1 -0
  238. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/index.html +2 -0
  239. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/package.json +34 -0
  240. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/public/favicon.svg +1 -0
  241. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/App.vue +15 -0
  242. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/api/mutator.ts +7 -0
  243. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/components/ThemeScope.vue +11 -0
  244. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/config/theme.json +41 -0
  245. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/env.d.ts +1 -0
  246. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/main.ts +40 -0
  247. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/router/index.ts +8 -0
  248. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/store/theme.ts +37 -0
  249. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/styles/index.less +6 -0
  250. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/types/microAppBridge.ts +28 -0
  251. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/utils/microAppRouterBridge.ts +266 -0
  252. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/views/NotFound.vue +1 -0
  253. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/views/Welcome.vue +1 -0
  254. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/tsconfig.json +23 -0
  255. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/vite.config.ts +16 -0
  256. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-lock.yaml +9026 -0
  257. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-workspace.yaml +7 -0
  258. package/template/.codex/skills/yss-frontend-scaffold-generator/references/data-quality-baseline.md +17 -0
  259. package/template/.codex/skills/yss-frontend-scaffold-generator/references/data-quality-v1.manifest.json +49 -0
  260. package/template/.codex/skills/yss-frontend-scaffold-generator/scripts/generate_scaffold.mjs +41 -13
  261. package/template/.codex/skills/yss-frontend-scaffold-generator/scripts/refresh_baseline.mjs +29 -0
  262. package/template/.codex/skills/yss-frontend-scaffold-generator/scripts/run_scaffold_verification.mjs +5 -1
  263. package/template/.codex/skills/yss-frontend-scaffold-generator/scripts/scaffold-generator.test.mjs +32 -0
  264. package/template/.codex/skills/yss-hook/SKILL.md +1 -1
  265. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +14 -6
  266. package/template/.codex/skills/yss-implementation-contract-compiler/agents/openai.yaml +1 -1
  267. package/template/.codex/skills/yss-implementation-contract-compiler/references/boundaries.md +5 -3
  268. package/template/.codex/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +29 -5
  269. package/template/.codex/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +214 -0
  270. package/template/.codex/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +66 -204
  271. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +17 -4
  272. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +1 -1
  273. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +38 -25
  274. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  275. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +101 -13
  276. package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +2 -2
  277. package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +1 -1
  278. package/template/.codex/skills/yss-mybatis/SKILL.md +4 -0
  279. package/template/.codex/skills/yss-openapi-draft-review/SKILL.md +1 -1
  280. package/template/.codex/skills/yss-openapi-governance/SKILL.md +3 -1
  281. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +4 -4
  282. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +50 -17
  283. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +6 -2
  284. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +3 -1
  285. package/template/.codex/skills/yss-product-lifecycle/references/user-decisions.md +23 -3
  286. package/template/.codex/skills/yss-prototype-stage/SKILL.md +13 -9
  287. package/template/.codex/skills/yss-prototype-stage/assets/antd-authoring/package.json +16 -0
  288. package/template/.codex/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +1678 -0
  289. package/template/.codex/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +23 -0
  290. package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/app.js +20 -0
  291. package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/index.html +11 -0
  292. package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/styles.css +28 -0
  293. package/template/.codex/skills/yss-prototype-stage/assets/offline-html/app.js +50 -0
  294. package/template/.codex/skills/yss-prototype-stage/assets/offline-html/index.html +38 -0
  295. package/template/.codex/skills/yss-prototype-stage/assets/offline-html/scenarios.js +7 -0
  296. package/template/.codex/skills/yss-prototype-stage/assets/offline-html/styles.css +20 -0
  297. package/template/.codex/skills/yss-prototype-stage/references/antd-component-catalog.json +736 -0
  298. package/template/.codex/skills/yss-prototype-stage/references/antd-integration.md +61 -0
  299. package/template/.codex/skills/yss-prototype-stage/references/html-prototype-practices.md +14 -0
  300. package/template/.codex/skills/yss-prototype-stage/references/product-design-adapter.md +28 -51
  301. package/template/.codex/skills/yss-prototype-stage/references/prototype-profile-routing.md +15 -4
  302. package/template/.codex/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +71 -0
  303. package/template/.codex/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +26 -0
  304. package/template/.codex/skills/yss-prototype-stage/scripts/offline-html.mjs +121 -0
  305. package/template/.codex/skills/yss-prototype-stage/scripts/prototype-contract.mjs +52 -143
  306. package/template/.codex/skills/yss-prototype-stage/tests/antd-reference.test.mjs +24 -0
  307. package/template/.codex/skills/yss-prototype-stage/tests/browser-smoke.mjs +77 -0
  308. package/template/.codex/skills/yss-prototype-stage/tests/run-scenarios.mjs +73 -26
  309. package/template/.codex/skills/yss-prototype-stage/tests/workbench-smoke.mjs +57 -0
  310. package/template/.codex/skills/yss-repository/SKILL.md +4 -0
  311. package/template/.codex/skills/yss-research/SKILL.md +1 -1
  312. package/template/.codex/skills/yss-resilience4j/SKILL.md +1 -1
  313. package/template/.codex/skills/yss-security-algorithm/SKILL.md +1 -1
  314. package/template/.codex/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
  315. package/template/.codex/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +0 -1
  316. package/template/.codex/skills/yss-tactical-design/SKILL.md +5 -1
  317. package/template/.codex/skills/yss-technical-design/SKILL.md +4 -0
  318. package/template/.codex/skills/yss-technical-design/scripts/validate-technical-design.mjs +2 -2
  319. package/template/.codex/skills/yss-ui/SKILL.md +4 -3
  320. package/template/.codex/skills/yss-ui/references/component-routing.md +11 -10
  321. package/template/.codex/skills/yss-ui/references/specialized-components.md +52 -0
  322. package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  323. package/template/.codex/skills/yss-up-springboot3/SKILL.md +1 -1
  324. package/template/.codex/skills/yss-use-table-height/SKILL.md +1 -1
  325. package/template/.codex/skills/yss-use-tree-height/SKILL.md +1 -1
  326. package/template/.codex/skills/yss-userinfo/SKILL.md +1 -1
  327. package/template/.codex/skills/yss-validation/SKILL.md +5 -1
  328. package/template/.codex/skills/yss-web-controller/SKILL.md +5 -1
  329. package/template/.codex/skills/yss-web-controller/scripts/generate_controller.mjs +9 -5
  330. package/template/.codex/skills/yss-web-controller/scripts/generate_controller.test.mjs +1 -1
  331. package/template/.codex/skills/ytable-usage/SKILL.md +1 -1
  332. package/template/.codex/skills/ytree-usage/SKILL.md +1 -1
  333. package/template/.cursor/skills/archify/SKILL.md +1 -1
  334. package/template/.cursor/skills/code-review/SKILL.md +12 -8
  335. package/template/.cursor/skills/file-export-download/SKILL.md +1 -1
  336. package/template/.cursor/skills/frontend-commit/SKILL.md +1 -1
  337. package/template/.cursor/skills/java-backend-commit/SKILL.md +1 -1
  338. package/template/.cursor/skills/llm-wiki/SKILL.md +1 -6
  339. package/template/.cursor/skills/lombok/SKILL.md +10 -336
  340. package/template/.cursor/skills/lombok/references/annotation-examples.md +307 -0
  341. package/template/.cursor/skills/maintaining-skills/SKILL.md +2 -1
  342. package/template/.cursor/skills/maintaining-skills/references/authoring.md +27 -0
  343. package/template/.cursor/skills/mapstruct/SKILL.md +11 -318
  344. package/template/.cursor/skills/mapstruct/references/annotation-examples.md +300 -0
  345. package/template/.cursor/skills/page-form-module/SKILL.md +1 -1
  346. package/template/.cursor/skills/page-skeleton/SKILL.md +1 -1
  347. package/template/.cursor/skills/theme-token-usage/SKILL.md +1 -1
  348. package/template/.cursor/skills/to-tickets/SKILL.md +1 -1
  349. package/template/.cursor/skills/using-git-worktrees/SKILL.md +1 -1
  350. package/template/.cursor/skills/wayfinder/SKILL.md +1 -1
  351. package/template/.cursor/skills/yedit-table-usage/SKILL.md +1 -1
  352. package/template/.cursor/skills/yss-api-integration/SKILL.md +1 -1
  353. package/template/.cursor/skills/yss-audit-log/SKILL.md +1 -1
  354. package/template/.cursor/skills/yss-cache/SKILL.md +1 -1
  355. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +18 -5
  356. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +1 -1
  357. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +15 -10
  358. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +3 -3
  359. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +1 -1
  360. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/layer-skill-routing.md +18 -0
  361. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +4 -4
  362. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +18 -5
  363. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +5 -2
  364. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +21 -17
  365. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +4 -2
  366. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +41 -7
  367. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +109 -13
  368. package/template/.cursor/skills/yss-design-system/SKILL.md +19 -19
  369. package/template/.cursor/skills/yss-design-system/references/data-quality-theme.md +13 -0
  370. package/template/.cursor/skills/yss-design-system/references/design-qa-theme.md +3 -1
  371. package/template/.cursor/skills/yss-design-system/references/design-system.md +7 -9
  372. package/template/.cursor/skills/yss-distributed-id/SKILL.md +1 -1
  373. package/template/.cursor/skills/yss-dto/SKILL.md +5 -1
  374. package/template/.cursor/skills/yss-excel-mvc/SKILL.md +1 -1
  375. package/template/.cursor/skills/yss-exception/SKILL.md +5 -1
  376. package/template/.cursor/skills/yss-formily/SKILL.md +21 -258
  377. package/template/.cursor/skills/yss-formily-schema-generator/SKILL.md +1 -1
  378. package/template/.cursor/skills/yss-frontend-scaffold-generator/SKILL.md +17 -13
  379. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/.eslintrc.cjs +1 -0
  380. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/.npmrc.example +2 -0
  381. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/DESIGN.md +264 -0
  382. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/README.md +13 -0
  383. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/__yss_dotfile__.gitignore +6 -0
  384. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/micro-config.json +5 -0
  385. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/orval.config.ts +2 -0
  386. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/package.json +30 -0
  387. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.development +1 -0
  388. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.example +5 -0
  389. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.production +1 -0
  390. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.production.standalone +1 -0
  391. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/index.html +2 -0
  392. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/package.json +34 -0
  393. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/public/favicon.svg +1 -0
  394. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/App.vue +15 -0
  395. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/api/mutator.ts +7 -0
  396. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/components/ThemeScope.vue +11 -0
  397. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/config/theme.json +41 -0
  398. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/env.d.ts +1 -0
  399. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/main.ts +40 -0
  400. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/router/index.ts +8 -0
  401. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/store/theme.ts +37 -0
  402. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/styles/index.less +6 -0
  403. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/types/microAppBridge.ts +28 -0
  404. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/utils/microAppRouterBridge.ts +266 -0
  405. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/views/NotFound.vue +1 -0
  406. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/views/Welcome.vue +1 -0
  407. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/tsconfig.json +23 -0
  408. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/vite.config.ts +16 -0
  409. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-lock.yaml +9026 -0
  410. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-workspace.yaml +7 -0
  411. package/template/.cursor/skills/yss-frontend-scaffold-generator/references/data-quality-baseline.md +17 -0
  412. package/template/.cursor/skills/yss-frontend-scaffold-generator/references/data-quality-v1.manifest.json +49 -0
  413. package/template/.cursor/skills/yss-frontend-scaffold-generator/scripts/generate_scaffold.mjs +41 -13
  414. package/template/.cursor/skills/yss-frontend-scaffold-generator/scripts/refresh_baseline.mjs +29 -0
  415. package/template/.cursor/skills/yss-frontend-scaffold-generator/scripts/run_scaffold_verification.mjs +5 -1
  416. package/template/.cursor/skills/yss-frontend-scaffold-generator/scripts/scaffold-generator.test.mjs +32 -0
  417. package/template/.cursor/skills/yss-hook/SKILL.md +1 -1
  418. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +14 -6
  419. package/template/.cursor/skills/yss-implementation-contract-compiler/agents/openai.yaml +1 -1
  420. package/template/.cursor/skills/yss-implementation-contract-compiler/references/boundaries.md +5 -3
  421. package/template/.cursor/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +29 -5
  422. package/template/.cursor/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +214 -0
  423. package/template/.cursor/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +66 -204
  424. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +17 -4
  425. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +1 -1
  426. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +38 -25
  427. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  428. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +101 -13
  429. package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +2 -2
  430. package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +1 -1
  431. package/template/.cursor/skills/yss-mybatis/SKILL.md +4 -0
  432. package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +1 -1
  433. package/template/.cursor/skills/yss-openapi-governance/SKILL.md +3 -1
  434. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +4 -4
  435. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +50 -17
  436. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +6 -2
  437. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +3 -1
  438. package/template/.cursor/skills/yss-product-lifecycle/references/user-decisions.md +23 -3
  439. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +13 -9
  440. package/template/.cursor/skills/yss-prototype-stage/assets/antd-authoring/package.json +16 -0
  441. package/template/.cursor/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +1678 -0
  442. package/template/.cursor/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +23 -0
  443. package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/app.js +20 -0
  444. package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/index.html +11 -0
  445. package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/styles.css +28 -0
  446. package/template/.cursor/skills/yss-prototype-stage/assets/offline-html/app.js +50 -0
  447. package/template/.cursor/skills/yss-prototype-stage/assets/offline-html/index.html +38 -0
  448. package/template/.cursor/skills/yss-prototype-stage/assets/offline-html/scenarios.js +7 -0
  449. package/template/.cursor/skills/yss-prototype-stage/assets/offline-html/styles.css +20 -0
  450. package/template/.cursor/skills/yss-prototype-stage/references/antd-component-catalog.json +736 -0
  451. package/template/.cursor/skills/yss-prototype-stage/references/antd-integration.md +61 -0
  452. package/template/.cursor/skills/yss-prototype-stage/references/html-prototype-practices.md +14 -0
  453. package/template/.cursor/skills/yss-prototype-stage/references/product-design-adapter.md +28 -51
  454. package/template/.cursor/skills/yss-prototype-stage/references/prototype-profile-routing.md +15 -4
  455. package/template/.cursor/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +71 -0
  456. package/template/.cursor/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +26 -0
  457. package/template/.cursor/skills/yss-prototype-stage/scripts/offline-html.mjs +121 -0
  458. package/template/.cursor/skills/yss-prototype-stage/scripts/prototype-contract.mjs +52 -143
  459. package/template/.cursor/skills/yss-prototype-stage/tests/antd-reference.test.mjs +24 -0
  460. package/template/.cursor/skills/yss-prototype-stage/tests/browser-smoke.mjs +77 -0
  461. package/template/.cursor/skills/yss-prototype-stage/tests/run-scenarios.mjs +73 -26
  462. package/template/.cursor/skills/yss-prototype-stage/tests/workbench-smoke.mjs +57 -0
  463. package/template/.cursor/skills/yss-repository/SKILL.md +4 -0
  464. package/template/.cursor/skills/yss-research/SKILL.md +1 -1
  465. package/template/.cursor/skills/yss-resilience4j/SKILL.md +1 -1
  466. package/template/.cursor/skills/yss-security-algorithm/SKILL.md +1 -1
  467. package/template/.cursor/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
  468. package/template/.cursor/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +0 -1
  469. package/template/.cursor/skills/yss-tactical-design/SKILL.md +5 -1
  470. package/template/.cursor/skills/yss-technical-design/SKILL.md +4 -0
  471. package/template/.cursor/skills/yss-technical-design/scripts/validate-technical-design.mjs +2 -2
  472. package/template/.cursor/skills/yss-ui/SKILL.md +4 -3
  473. package/template/.cursor/skills/yss-ui/references/component-routing.md +11 -10
  474. package/template/.cursor/skills/yss-ui/references/specialized-components.md +52 -0
  475. package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  476. package/template/.cursor/skills/yss-up-springboot3/SKILL.md +1 -1
  477. package/template/.cursor/skills/yss-use-table-height/SKILL.md +1 -1
  478. package/template/.cursor/skills/yss-use-tree-height/SKILL.md +1 -1
  479. package/template/.cursor/skills/yss-userinfo/SKILL.md +1 -1
  480. package/template/.cursor/skills/yss-validation/SKILL.md +5 -1
  481. package/template/.cursor/skills/yss-web-controller/SKILL.md +5 -1
  482. package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.mjs +9 -5
  483. package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.test.mjs +1 -1
  484. package/template/.cursor/skills/ytable-usage/SKILL.md +1 -1
  485. package/template/.cursor/skills/ytree-usage/SKILL.md +1 -1
  486. package/template/.pi/skills/archify/SKILL.md +1 -1
  487. package/template/.pi/skills/code-review/SKILL.md +12 -8
  488. package/template/.pi/skills/file-export-download/SKILL.md +1 -1
  489. package/template/.pi/skills/frontend-commit/SKILL.md +1 -1
  490. package/template/.pi/skills/java-backend-commit/SKILL.md +1 -1
  491. package/template/.pi/skills/llm-wiki/SKILL.md +1 -6
  492. package/template/.pi/skills/lombok/SKILL.md +10 -336
  493. package/template/.pi/skills/lombok/references/annotation-examples.md +307 -0
  494. package/template/.pi/skills/maintaining-skills/SKILL.md +2 -1
  495. package/template/.pi/skills/maintaining-skills/references/authoring.md +27 -0
  496. package/template/.pi/skills/mapstruct/SKILL.md +11 -318
  497. package/template/.pi/skills/mapstruct/references/annotation-examples.md +300 -0
  498. package/template/.pi/skills/page-form-module/SKILL.md +1 -1
  499. package/template/.pi/skills/page-skeleton/SKILL.md +1 -1
  500. package/template/.pi/skills/theme-token-usage/SKILL.md +1 -1
  501. package/template/.pi/skills/to-tickets/SKILL.md +1 -1
  502. package/template/.pi/skills/using-git-worktrees/SKILL.md +1 -1
  503. package/template/.pi/skills/wayfinder/SKILL.md +1 -1
  504. package/template/.pi/skills/yedit-table-usage/SKILL.md +1 -1
  505. package/template/.pi/skills/yss-api-integration/SKILL.md +1 -1
  506. package/template/.pi/skills/yss-audit-log/SKILL.md +1 -1
  507. package/template/.pi/skills/yss-cache/SKILL.md +1 -1
  508. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +18 -5
  509. package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +1 -1
  510. package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +15 -10
  511. package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +3 -3
  512. package/template/.pi/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +1 -1
  513. package/template/.pi/skills/yss-ddd-scaffold-generator/references/layer-skill-routing.md +18 -0
  514. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +4 -4
  515. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +18 -5
  516. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +5 -2
  517. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +21 -17
  518. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +4 -2
  519. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +41 -7
  520. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +109 -13
  521. package/template/.pi/skills/yss-design-system/SKILL.md +19 -19
  522. package/template/.pi/skills/yss-design-system/references/data-quality-theme.md +13 -0
  523. package/template/.pi/skills/yss-design-system/references/design-qa-theme.md +3 -1
  524. package/template/.pi/skills/yss-design-system/references/design-system.md +7 -9
  525. package/template/.pi/skills/yss-distributed-id/SKILL.md +1 -1
  526. package/template/.pi/skills/yss-dto/SKILL.md +5 -1
  527. package/template/.pi/skills/yss-excel-mvc/SKILL.md +1 -1
  528. package/template/.pi/skills/yss-exception/SKILL.md +5 -1
  529. package/template/.pi/skills/yss-formily/SKILL.md +21 -258
  530. package/template/.pi/skills/yss-formily-schema-generator/SKILL.md +1 -1
  531. package/template/.pi/skills/yss-frontend-scaffold-generator/SKILL.md +17 -13
  532. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/.eslintrc.cjs +1 -0
  533. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/.npmrc.example +2 -0
  534. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/DESIGN.md +264 -0
  535. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/README.md +13 -0
  536. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/__yss_dotfile__.gitignore +6 -0
  537. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/micro-config.json +5 -0
  538. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/orval.config.ts +2 -0
  539. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/package.json +30 -0
  540. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.development +1 -0
  541. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.example +5 -0
  542. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.production +1 -0
  543. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.production.standalone +1 -0
  544. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/index.html +2 -0
  545. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/package.json +34 -0
  546. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/public/favicon.svg +1 -0
  547. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/App.vue +15 -0
  548. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/api/mutator.ts +7 -0
  549. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/components/ThemeScope.vue +11 -0
  550. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/config/theme.json +41 -0
  551. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/env.d.ts +1 -0
  552. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/main.ts +40 -0
  553. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/router/index.ts +8 -0
  554. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/store/theme.ts +37 -0
  555. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/styles/index.less +6 -0
  556. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/types/microAppBridge.ts +28 -0
  557. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/utils/microAppRouterBridge.ts +266 -0
  558. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/views/NotFound.vue +1 -0
  559. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/views/Welcome.vue +1 -0
  560. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/tsconfig.json +23 -0
  561. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/vite.config.ts +16 -0
  562. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-lock.yaml +9026 -0
  563. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-workspace.yaml +7 -0
  564. package/template/.pi/skills/yss-frontend-scaffold-generator/references/data-quality-baseline.md +17 -0
  565. package/template/.pi/skills/yss-frontend-scaffold-generator/references/data-quality-v1.manifest.json +49 -0
  566. package/template/.pi/skills/yss-frontend-scaffold-generator/scripts/generate_scaffold.mjs +41 -13
  567. package/template/.pi/skills/yss-frontend-scaffold-generator/scripts/refresh_baseline.mjs +29 -0
  568. package/template/.pi/skills/yss-frontend-scaffold-generator/scripts/run_scaffold_verification.mjs +5 -1
  569. package/template/.pi/skills/yss-frontend-scaffold-generator/scripts/scaffold-generator.test.mjs +32 -0
  570. package/template/.pi/skills/yss-hook/SKILL.md +1 -1
  571. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +14 -6
  572. package/template/.pi/skills/yss-implementation-contract-compiler/agents/openai.yaml +1 -1
  573. package/template/.pi/skills/yss-implementation-contract-compiler/references/boundaries.md +5 -3
  574. package/template/.pi/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +29 -5
  575. package/template/.pi/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +214 -0
  576. package/template/.pi/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +66 -204
  577. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +17 -4
  578. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +1 -1
  579. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +38 -25
  580. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  581. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +101 -13
  582. package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +2 -2
  583. package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +1 -1
  584. package/template/.pi/skills/yss-mybatis/SKILL.md +4 -0
  585. package/template/.pi/skills/yss-openapi-draft-review/SKILL.md +1 -1
  586. package/template/.pi/skills/yss-openapi-governance/SKILL.md +3 -1
  587. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +4 -4
  588. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +50 -17
  589. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +6 -2
  590. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +3 -1
  591. package/template/.pi/skills/yss-product-lifecycle/references/user-decisions.md +23 -3
  592. package/template/.pi/skills/yss-prototype-stage/SKILL.md +13 -9
  593. package/template/.pi/skills/yss-prototype-stage/assets/antd-authoring/package.json +16 -0
  594. package/template/.pi/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +1678 -0
  595. package/template/.pi/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +23 -0
  596. package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/app.js +20 -0
  597. package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/index.html +11 -0
  598. package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/styles.css +28 -0
  599. package/template/.pi/skills/yss-prototype-stage/assets/offline-html/app.js +50 -0
  600. package/template/.pi/skills/yss-prototype-stage/assets/offline-html/index.html +38 -0
  601. package/template/.pi/skills/yss-prototype-stage/assets/offline-html/scenarios.js +7 -0
  602. package/template/.pi/skills/yss-prototype-stage/assets/offline-html/styles.css +20 -0
  603. package/template/.pi/skills/yss-prototype-stage/references/antd-component-catalog.json +736 -0
  604. package/template/.pi/skills/yss-prototype-stage/references/antd-integration.md +61 -0
  605. package/template/.pi/skills/yss-prototype-stage/references/html-prototype-practices.md +14 -0
  606. package/template/.pi/skills/yss-prototype-stage/references/product-design-adapter.md +28 -51
  607. package/template/.pi/skills/yss-prototype-stage/references/prototype-profile-routing.md +15 -4
  608. package/template/.pi/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +71 -0
  609. package/template/.pi/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +26 -0
  610. package/template/.pi/skills/yss-prototype-stage/scripts/offline-html.mjs +121 -0
  611. package/template/.pi/skills/yss-prototype-stage/scripts/prototype-contract.mjs +52 -143
  612. package/template/.pi/skills/yss-prototype-stage/tests/antd-reference.test.mjs +24 -0
  613. package/template/.pi/skills/yss-prototype-stage/tests/browser-smoke.mjs +77 -0
  614. package/template/.pi/skills/yss-prototype-stage/tests/run-scenarios.mjs +73 -26
  615. package/template/.pi/skills/yss-prototype-stage/tests/workbench-smoke.mjs +57 -0
  616. package/template/.pi/skills/yss-repository/SKILL.md +4 -0
  617. package/template/.pi/skills/yss-research/SKILL.md +1 -1
  618. package/template/.pi/skills/yss-resilience4j/SKILL.md +1 -1
  619. package/template/.pi/skills/yss-security-algorithm/SKILL.md +1 -1
  620. package/template/.pi/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
  621. package/template/.pi/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +0 -1
  622. package/template/.pi/skills/yss-tactical-design/SKILL.md +5 -1
  623. package/template/.pi/skills/yss-technical-design/SKILL.md +4 -0
  624. package/template/.pi/skills/yss-technical-design/scripts/validate-technical-design.mjs +2 -2
  625. package/template/.pi/skills/yss-ui/SKILL.md +4 -3
  626. package/template/.pi/skills/yss-ui/references/component-routing.md +11 -10
  627. package/template/.pi/skills/yss-ui/references/specialized-components.md +52 -0
  628. package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  629. package/template/.pi/skills/yss-up-springboot3/SKILL.md +1 -1
  630. package/template/.pi/skills/yss-use-table-height/SKILL.md +1 -1
  631. package/template/.pi/skills/yss-use-tree-height/SKILL.md +1 -1
  632. package/template/.pi/skills/yss-userinfo/SKILL.md +1 -1
  633. package/template/.pi/skills/yss-validation/SKILL.md +5 -1
  634. package/template/.pi/skills/yss-web-controller/SKILL.md +5 -1
  635. package/template/.pi/skills/yss-web-controller/scripts/generate_controller.mjs +9 -5
  636. package/template/.pi/skills/yss-web-controller/scripts/generate_controller.test.mjs +1 -1
  637. package/template/.pi/skills/ytable-usage/SKILL.md +1 -1
  638. package/template/.pi/skills/ytree-usage/SKILL.md +1 -1
  639. package/template/AGENTS.md +1 -0
  640. package/template/CONTEXT.md +3 -1
  641. package/template/DESIGN.md +31 -14
  642. package/template/__yss_dotfile__.gitignore +4 -0
  643. package/template/docs/agents/backend-architecture-profiles.md +1 -1
  644. package/template/docs/agents/digital-human-roles.yaml +29 -5
  645. package/template/docs/agents/issue-tracker.md +2 -0
  646. package/template/docs/agents/skill-migrations.md +15 -2
  647. package/template/docs/agents/yss-skill-registry.yaml +6 -40
  648. package/template/docs/design/README.md +4 -4
  649. package/template/docs/design/design-system-sync.yaml +2 -1
  650. package/template/docs/design/design.md +23 -31
  651. package/template/docs/design/preview-dark.html +3 -3
  652. package/template/docs/design/preview.css +1 -1
  653. package/template/docs/design/preview.html +2 -2
  654. package/template/docs/design/templates/interaction-spec-template.md +2 -2
  655. package/template/docs/design/templates/prototype-evidence-template.yaml +18 -22
  656. package/template/docs/design/templates/prototype-review-checklist.md +3 -1
  657. package/template/docs/design/templates/state-matrix-template.md +1 -1
  658. package/template/docs/design/templates/visual-baseline-template.yaml +3 -2
  659. package/template/docs/design/tokens/.design-md-projection.json +7 -7
  660. package/template/docs/design/tokens/theme.json +16 -10
  661. package/template/docs/design/tokens/tokens.compact.json +521 -237
  662. package/template/docs/design/tokens/tokens.dark.json +527 -240
  663. package/template/docs/design/tokens/tokens.default.json +513 -235
  664. package/template/docs/design/tokens/variables.css +67 -65
  665. package/template/docs/design/tokens/variables.dark.css +41 -41
  666. package/template/docs/engineering/backend-platforms.json +174 -0
  667. package/template/docs/engineering/backend-platforms.md +77 -0
  668. package/template/docs/process/MATT-POCOCK-ENGINEERING-SKILLS.md +1 -0
  669. package/template/docs/process/delivery-preflight.md +1 -1
  670. package/template/docs/process/frontend-backend-delivery.md +2 -1
  671. package/template/docs/process/harness-process-tailoring.md +9 -1
  672. package/template/docs/process/lifecycle-artifact-map.md +4 -4
  673. package/template/docs/process/lifecycle-registry-baseline.json +1 -1
  674. package/template/docs/process/lifecycle-registry.yaml +9 -9
  675. package/template/docs/process/schemas/api-contract-decision.schema.json +74 -0
  676. package/template/docs/process/schemas/backend-architecture-identity.schema.json +91 -0
  677. package/template/docs/process/schemas/data-architecture-decision.schema.json +34 -0
  678. package/template/docs/process/schemas/digital-human-task-package.schema.json +2 -1
  679. package/template/docs/process/schemas/implementation-repository-preparation-result.schema.json +80 -24
  680. package/template/docs/process/schemas/lifecycle-checkpoint.schema.json +4 -0
  681. package/template/docs/process/schemas/project-scaffold-contract.schema.json +666 -73
  682. package/template/docs/process/schemas/scaffold-architecture-decisions.schema.json +323 -39
  683. package/template/docs/process/schemas/slice-implementation-contract-v3.schema.json +925 -0
  684. package/template/docs/process/schemas/strategic-design-handoff.schema.json +296 -107
  685. package/template/docs/process/schemas/strategic-handoff-delivery-verification.schema.json +19 -0
  686. package/template/docs/process/schemas/strategic-handoff-delivery.schema.json +84 -0
  687. package/template/docs/process/schemas/strategic-handoff-import-receipt-v3.schema.json +42 -0
  688. package/template/docs/process/strategic-handoff-package.md +26 -9
  689. package/template/docs/templates/approval-record-template.yaml +2 -0
  690. package/template/docs/templates/vertical-slice-ticket-template.md +22 -31
  691. 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 +1 -1
  692. package/template/scripts/audit-legacy-backend-scaffold +29 -0
  693. package/template/scripts/backend-platforms +14 -0
  694. package/template/scripts/lib/api-contract-decision.mjs +49 -0
  695. package/template/scripts/lib/api-contract-decision.test.mjs +69 -0
  696. package/template/scripts/lib/approval-record.mjs +32 -6
  697. package/template/scripts/lib/approved-execution-context.mjs +31 -8
  698. package/template/scripts/lib/backend-architecture.mjs +6 -0
  699. package/template/scripts/lib/backend-platform-provenance.mjs +67 -0
  700. package/template/scripts/lib/backend-platform-verification.mjs +210 -0
  701. package/template/scripts/lib/backend-platform.mjs +175 -0
  702. package/template/scripts/lib/backend-scaffold-prerequisites.mjs +123 -0
  703. package/template/scripts/lib/decision-continuation.mjs +79 -0
  704. package/template/scripts/lib/delivery-preflight.mjs +6 -5
  705. package/template/scripts/lib/digital-human-roles.mjs +10 -0
  706. package/template/scripts/lib/frontend-delivery-boundary.mjs +3 -0
  707. package/template/scripts/lib/implementation-contract-compiler.mjs +42 -9
  708. package/template/scripts/lib/legacy-backend-scaffold-audit.mjs +87 -0
  709. package/template/scripts/lib/legacy-backend-scaffold-audit.test.mjs +64 -0
  710. package/template/scripts/lib/lifecycle-controls.mjs +2 -2
  711. package/template/scripts/lib/lifecycle-transition.mjs +155 -5
  712. package/template/scripts/lib/openapi-draft-validation.mjs +111 -0
  713. package/template/scripts/lib/plan-spec-entry.mjs +3 -3
  714. package/template/scripts/lib/scaffold-local-database.mjs +1 -0
  715. package/template/scripts/lib/skill-registry.mjs +17 -3
  716. package/template/scripts/lib/skill-supply-chain.mjs +12 -1
  717. package/template/scripts/lib/slice-applicability.mjs +10 -0
  718. package/template/scripts/lib/slice-contract-preparation.mjs +257 -0
  719. package/template/scripts/lib/slice-contract-views.mjs +52 -0
  720. package/template/scripts/lib/slice-contract.mjs +211 -0
  721. package/template/scripts/lib/slice-repositories.mjs +49 -0
  722. package/template/scripts/lib/slice-task-package.mjs +66 -0
  723. package/template/scripts/lib/strategic-feedback.mjs +2 -2
  724. package/template/scripts/lib/strategic-handoff-consumption.mjs +2 -2
  725. package/template/scripts/lib/strategic-handoff.mjs +89 -4
  726. package/template/scripts/lib/task-package.mjs +6 -2
  727. package/template/scripts/lib/technical-design-boundary.mjs +1 -0
  728. package/template/scripts/lib/user-decision-reuse.mjs +1 -0
  729. package/template/scripts/lib/user-decision.mjs +4 -1
  730. package/template/scripts/preflight-delivery +2 -2
  731. package/template/scripts/slice-contract +30 -0
  732. package/template/scripts/strategic-handoff +6 -4
  733. package/template/scripts/verify-backend-platform-matrix +69 -0
  734. package/template/scripts/verify-openapi-draft-validation-record +10 -129
  735. package/template/scripts/verify-scaffold-architecture-decisions +5 -0
  736. package/template/scripts/verify-strategic-context-import +12 -14
  737. package/template/scripts/verify-user-decision +7 -2
  738. package/template/skills-lock.json +67 -117
  739. package/template/yss-public-skills.json +0 -6
  740. package/template.snapshot.json +8 -4
  741. package/template/.agents/skills/yss-antd-design/SKILL.md +0 -35
  742. package/template/.agents/skills/yss-antd-design/references/boundaries.md +0 -30
  743. package/template/.agents/skills/yss-antd-design/references/cli-matrix.md +0 -38
  744. package/template/.agents/skills/yss-antd-design/references/evidence.md +0 -35
  745. package/template/.agents/skills/yss-antd-design/scripts/validate-frontmatter.mjs +0 -46
  746. package/template/.agents/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +0 -27
  747. package/template/.agents/skills/yss-antdv-next-design/SKILL.md +0 -48
  748. package/template/.agents/skills/yss-antdv-next-design/references/boundaries.md +0 -25
  749. package/template/.agents/skills/yss-antdv-next-design/references/cli-matrix.md +0 -34
  750. package/template/.agents/skills/yss-antdv-next-design/references/fact-pack.md +0 -38
  751. package/template/.agents/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +0 -213
  752. package/template/.agents/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +0 -168
  753. package/template/.agents/skills/yss-antdv-next-design/tests/run-scenarios.mjs +0 -139
  754. package/template/.agents/skills/yss-components/SKILL.md +0 -386
  755. package/template/.agents/skills/yss-components/agents/openai.yaml +0 -5
  756. package/template/.agents/skills/yss-components/references/frontend-docs.md +0 -9
  757. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/SKILL.md +0 -31
  758. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/agents/openai.yaml +0 -5
  759. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +0 -8
  760. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  761. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +0 -8
  762. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  763. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +0 -8
  764. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  765. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +0 -8
  766. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  767. package/template/.agents/skills/yss-mvc-scaffold-generator/SKILL.md +0 -8
  768. package/template/.agents/skills/yss-mvc-scaffold-generator/agents/openai.yaml +0 -4
  769. package/template/.agents/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +0 -50
  770. package/template/.agents/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +0 -42
  771. package/template/.agents/skills/yss-mvc-scaffold-generator/references/architecture.md +0 -28
  772. package/template/.agents/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +0 -137
  773. package/template/.agents/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +0 -341
  774. package/template/.agents/skills/yss-mvc-scaffold-generator/references/history/skill.md +0 -87
  775. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +0 -3
  776. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +0 -9
  777. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +0 -74
  778. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +0 -36
  779. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +0 -114
  780. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +0 -90
  781. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +0 -54
  782. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +0 -103
  783. package/template/.codex/skills/yss-antd-design/SKILL.md +0 -35
  784. package/template/.codex/skills/yss-antd-design/references/boundaries.md +0 -30
  785. package/template/.codex/skills/yss-antd-design/references/cli-matrix.md +0 -38
  786. package/template/.codex/skills/yss-antd-design/references/evidence.md +0 -35
  787. package/template/.codex/skills/yss-antd-design/scripts/validate-frontmatter.mjs +0 -46
  788. package/template/.codex/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +0 -27
  789. package/template/.codex/skills/yss-antdv-next-design/SKILL.md +0 -48
  790. package/template/.codex/skills/yss-antdv-next-design/references/boundaries.md +0 -25
  791. package/template/.codex/skills/yss-antdv-next-design/references/cli-matrix.md +0 -34
  792. package/template/.codex/skills/yss-antdv-next-design/references/fact-pack.md +0 -38
  793. package/template/.codex/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +0 -213
  794. package/template/.codex/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +0 -168
  795. package/template/.codex/skills/yss-antdv-next-design/tests/run-scenarios.mjs +0 -139
  796. package/template/.codex/skills/yss-components/SKILL.md +0 -386
  797. package/template/.codex/skills/yss-components/agents/openai.yaml +0 -5
  798. package/template/.codex/skills/yss-components/references/frontend-docs.md +0 -9
  799. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/SKILL.md +0 -31
  800. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/agents/openai.yaml +0 -5
  801. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +0 -8
  802. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  803. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +0 -8
  804. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  805. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +0 -8
  806. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  807. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +0 -8
  808. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  809. package/template/.codex/skills/yss-mvc-scaffold-generator/SKILL.md +0 -8
  810. package/template/.codex/skills/yss-mvc-scaffold-generator/agents/openai.yaml +0 -4
  811. package/template/.codex/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +0 -50
  812. package/template/.codex/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +0 -42
  813. package/template/.codex/skills/yss-mvc-scaffold-generator/references/architecture.md +0 -28
  814. package/template/.codex/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +0 -137
  815. package/template/.codex/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +0 -341
  816. package/template/.codex/skills/yss-mvc-scaffold-generator/references/history/skill.md +0 -87
  817. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +0 -3
  818. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +0 -9
  819. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +0 -74
  820. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +0 -36
  821. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +0 -114
  822. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +0 -90
  823. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +0 -54
  824. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +0 -103
  825. package/template/.cursor/skills/yss-antd-design/SKILL.md +0 -35
  826. package/template/.cursor/skills/yss-antd-design/references/boundaries.md +0 -30
  827. package/template/.cursor/skills/yss-antd-design/references/cli-matrix.md +0 -38
  828. package/template/.cursor/skills/yss-antd-design/references/evidence.md +0 -35
  829. package/template/.cursor/skills/yss-antd-design/scripts/validate-frontmatter.mjs +0 -46
  830. package/template/.cursor/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +0 -27
  831. package/template/.cursor/skills/yss-antdv-next-design/SKILL.md +0 -48
  832. package/template/.cursor/skills/yss-antdv-next-design/references/boundaries.md +0 -25
  833. package/template/.cursor/skills/yss-antdv-next-design/references/cli-matrix.md +0 -34
  834. package/template/.cursor/skills/yss-antdv-next-design/references/fact-pack.md +0 -38
  835. package/template/.cursor/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +0 -213
  836. package/template/.cursor/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +0 -168
  837. package/template/.cursor/skills/yss-antdv-next-design/tests/run-scenarios.mjs +0 -139
  838. package/template/.cursor/skills/yss-components/SKILL.md +0 -386
  839. package/template/.cursor/skills/yss-components/agents/openai.yaml +0 -5
  840. package/template/.cursor/skills/yss-components/references/frontend-docs.md +0 -9
  841. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/SKILL.md +0 -31
  842. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/agents/openai.yaml +0 -5
  843. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +0 -8
  844. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  845. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +0 -8
  846. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  847. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +0 -8
  848. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  849. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +0 -8
  850. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  851. package/template/.cursor/skills/yss-mvc-scaffold-generator/SKILL.md +0 -8
  852. package/template/.cursor/skills/yss-mvc-scaffold-generator/agents/openai.yaml +0 -4
  853. package/template/.cursor/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +0 -50
  854. package/template/.cursor/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +0 -42
  855. package/template/.cursor/skills/yss-mvc-scaffold-generator/references/architecture.md +0 -28
  856. package/template/.cursor/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +0 -137
  857. package/template/.cursor/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +0 -341
  858. package/template/.cursor/skills/yss-mvc-scaffold-generator/references/history/skill.md +0 -87
  859. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +0 -3
  860. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +0 -9
  861. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +0 -74
  862. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +0 -36
  863. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +0 -114
  864. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +0 -90
  865. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +0 -54
  866. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +0 -103
  867. package/template/.pi/skills/yss-antd-design/SKILL.md +0 -35
  868. package/template/.pi/skills/yss-antd-design/references/boundaries.md +0 -30
  869. package/template/.pi/skills/yss-antd-design/references/cli-matrix.md +0 -38
  870. package/template/.pi/skills/yss-antd-design/references/evidence.md +0 -35
  871. package/template/.pi/skills/yss-antd-design/scripts/validate-frontmatter.mjs +0 -46
  872. package/template/.pi/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +0 -27
  873. package/template/.pi/skills/yss-antdv-next-design/SKILL.md +0 -48
  874. package/template/.pi/skills/yss-antdv-next-design/references/boundaries.md +0 -25
  875. package/template/.pi/skills/yss-antdv-next-design/references/cli-matrix.md +0 -34
  876. package/template/.pi/skills/yss-antdv-next-design/references/fact-pack.md +0 -38
  877. package/template/.pi/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +0 -213
  878. package/template/.pi/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +0 -168
  879. package/template/.pi/skills/yss-antdv-next-design/tests/run-scenarios.mjs +0 -139
  880. package/template/.pi/skills/yss-components/SKILL.md +0 -386
  881. package/template/.pi/skills/yss-components/agents/openai.yaml +0 -5
  882. package/template/.pi/skills/yss-components/references/frontend-docs.md +0 -9
  883. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/SKILL.md +0 -31
  884. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/agents/openai.yaml +0 -5
  885. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +0 -8
  886. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  887. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +0 -8
  888. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  889. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +0 -8
  890. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  891. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +0 -8
  892. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  893. package/template/.pi/skills/yss-mvc-scaffold-generator/SKILL.md +0 -8
  894. package/template/.pi/skills/yss-mvc-scaffold-generator/agents/openai.yaml +0 -4
  895. package/template/.pi/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +0 -50
  896. package/template/.pi/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +0 -42
  897. package/template/.pi/skills/yss-mvc-scaffold-generator/references/architecture.md +0 -28
  898. package/template/.pi/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +0 -137
  899. package/template/.pi/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +0 -341
  900. package/template/.pi/skills/yss-mvc-scaffold-generator/references/history/skill.md +0 -87
  901. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +0 -3
  902. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +0 -9
  903. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +0 -74
  904. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +0 -36
  905. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +0 -114
  906. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +0 -90
  907. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +0 -54
  908. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +0 -103
@@ -0,0 +1,61 @@
1
+ # AntD 组件知识与条件预构建
2
+
3
+ 默认用原生 HTML/CSS/JS;当复杂表格、树选择、日期范围等简化模拟会改变评审结论时,记录 `selection_reason` 并使用 `react-antd-prebuilt`。复杂组件的出现不是自动启用条件,先判断本次实际要验证的行为。两条路线都交付 `index.html` 与完整本地资源,接收者无需 Node。预构建仍在浏览器运行 React;不是零 JavaScript,也不是生产 YSS 组件证明。
4
+
5
+ ## 组件选择
6
+
7
+ [全量组件索引](antd-component-catalog.json) 固定官方来源、版本、分类、废弃状态及链接:73 个基础目录条目(包含已废弃 List),6 个重型组件单列外部来源。Icon 属于 `@ant-design/icons`;目录条目不等于 `antd` 直接导出。默认排除废弃组件。实际使用前按锁定版本查询;不要把官网当前页自动当成项目版本。
8
+
9
+ 首批选型覆盖 23 种语义:Layout、Menu、Breadcrumb、Tabs、Button、Typography、Form、Input、InputNumber、Select、Checkbox、Radio、Switch、Table、Pagination、Tag、Descriptions、Empty、Modal、Drawer、Alert、Spin、Message。组件知识可查不代表每种组件已有本地实现;可运行 starter 覆盖查询列表、详情、编辑弹窗、失败恢复。原生详情使用 dialog,AntD 详情使用 Drawer。其他变体按实际状态矩阵补充。
10
+
11
+ Table 首先限定分页、筛选、选择与操作;编辑、虚拟滚动、拖拽按需求验证,不从少量模拟数据推断性能。树控件明确勾选传导、禁用与异步加载;日期明确清空/非法输入/区间;Upload 只模拟交互,不把模拟成功标为服务端接收。ProTable 等重型组件只作为模式参考,另行评估依赖。
12
+
13
+ ## 资料与版本
14
+
15
+ 官方事实入口:[CLI](https://ant.design/docs/react/cli-cn/)、[LLMs/Markdown](https://ant.design/docs/react/llms-cn/)、组件源码。优先按组件查询,避免每次加载整个站点。
16
+
17
+ 当前作者工具固定 AntD 6.6.4、React/ReactDOM 19.2.4、esbuild 0.28.2、CLI 6.6.4,由 `assets/antd-authoring/package.json` 和 `pnpm-lock.yaml` 持有版本。更新时重新生成目录/来源记录并运行脚本和浏览器验证,不自动追随 latest。
18
+
19
+ CLI 按 minor 快照选择,可能回退到更早 minor 或 major;`--version` 不是补丁版本精确性的证据。采集器记录 requested/resolved snapshot 及原始摘要;未命中同 minor 时明确拒绝,补固定源码证据。`design.md` 是 major 粒度的默认 light 参考,根 `DESIGN.md` 才是项目权威。`zeroRuntime` 只关闭运行时样式生成,不移除 React;本适配器保留常规 AntD 样式生成,并用已计算 Token 映射主题,不再执行 compact 算法。
20
+
21
+ ## 作者侧工具(与交付包分离)
22
+
23
+ 在独立作者目录安装依赖,禁止在 canonical Skill 或生成投影内安装,禁止把 `node_modules` 和 lockfile 放入原型交付目录。
24
+
25
+ ```bash
26
+ mkdir -p docs/.scratch/<feature>/design/authoring
27
+ cp .agents/skills/yss-prototype-stage/assets/antd-authoring/{package.json,pnpm-lock.yaml} docs/.scratch/<feature>/design/authoring/
28
+ pnpm --dir docs/.scratch/<feature>/design/authoring install --frozen-lockfile
29
+ node .agents/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs \
30
+ --toolchain docs/.scratch/<feature>/design/authoring \
31
+ --version 6.6.4 --output docs/.scratch/<feature>/design/antd-reference
32
+ ```
33
+
34
+ 采集器默认缓存上述 23 个组件,可用 `--components Table,Select,DatePicker` 按需指定。CLI 尚缺的条目(例如此版本的 Util)必须补读官方源码,不伪造 API。返回的 `runtime_compatibility_verified=false` 只能由实际原型验证补足,采集不是批准。
35
+
36
+ ## 构建与验证
37
+
38
+ 原生完整业务流程 starter:
39
+
40
+ ```bash
41
+ node .agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs prepare-flow \
42
+ --project-root . --root docs/.scratch/<feature>/design/prototypes \
43
+ --feature <feature> --pattern workbench
44
+ ```
45
+
46
+ 真实 AntD starter(初次可用默认示例;定制后 `--entry` 指向作者目录中的 JSX 源文件):
47
+
48
+ ```bash
49
+ node .agents/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs \
50
+ --project-root . --feature <feature> \
51
+ --toolchain docs/.scratch/<feature>/design/authoring \
52
+ --reason '<说明简化模拟如何影响本次评审结论>'
53
+ ```
54
+
55
+ 输出是 IIFE bundle、Token/CSS、作者 JSX、构建来源和第三方许可;`build-provenance.json` 绑定实际包版本、作者 lock、源码及主题摘要。已有目录拒绝覆盖。继续修改原型时选择新版本工作目录,避免重写冻结截图与用户确认。`--entry` 当前接受单个 JSX bundle,额外资源须先补明确的本地打包支持,不能静默漏交付。
56
+
57
+ 两条路线统一 `seal-project` / `validate-project`、六轴 QA、Visual Baseline 和用户确认。`react-antd-prebuilt` 的 evidence 声明 `runtime_build_required=false`、`framework=react-antd-prebuilt`、`selection_reason`,组件事实仍绑定实际版本、组件集合、项目 DESIGN/Token digest 与来源 manifest;额外提供 `build_provenance_ref`。它不复用已退役 `react-antd-6` 路线。
58
+
59
+ 将包复制到独立目录,用 `file://`、禁用网络,验证 desktop/narrow、查询、详情、保存/失败重试、空/加载/权限/冲突、场景重置、键盘焦点、实际 32px 默认控件与主色。静态扫描有边界:编译后的依赖不按网络关键词判断,必须以真实浏览器的请求、console、状态证据复验。若离线小样不通过,记录阻塞,不自动换成需要服务器的工程。
60
+
61
+ 维护回归:`tests/run-scenarios.mjs`;配置 Playwright 和独立 `YSS_ANTD_TOOLCHAIN` 后运行 `tests/workbench-smoke.mjs`。模板示例与截图仅验证 starter,不代替具体产品独立评审和批准。
@@ -0,0 +1,14 @@
1
+ # HTML 原型实践与来源
2
+
3
+ 这些方法补充既有状态矩阵、六轴 QA 和 Visual Baseline,不引入新的生命周期或整套第三方技能。2026-09-14 核查;外部 main 是观察来源,不是自动更新授权。不复制第三方实现代码。
4
+
5
+ | 来源 | 采纳 | 边界 |
6
+ |---|---|---|
7
+ | [Google design.md](https://github.com/google-labs-code/design.md/blob/main/README.md) | 规范 Token、lint、diff 和派生导出 | alpha;沿用项目锁定工具,导出成功不替代 lint,规范不承载业务状态 |
8
+ | [GOV.UK 场景数据](https://prototype-kit.service.gov.uk/pass-data/) | 场景初值、输入保留、切换和清空 | 借鉴行为,服务端 session 不进入离线包 |
9
+ | [WAI APG](https://www.w3.org/WAI/ARIA/apg/practices/read-me-first/) 与 [Dialog](https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/) | 原生语义、键盘与焦点承诺 | ARIA 本身不实现交互;按实际采用模式复验 |
10
+ | [Playwright visual comparisons](https://playwright.dev/docs/test-snapshots) | 同环境、同场景的截图比较 | 首版截图不是已通过的回归;环境变化可能产生渲染差异 |
11
+ | [MDN modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) 与 [localStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) | 普通脚本、随包数据、内存场景与 file:// 复验 | 不依赖模块本地加载或 file: 持久化保证 |
12
+ | [Frontend Design](https://github.com/anthropics/claude-code/blob/main/plugins/frontend-design/skills/frontend-design/SKILL.md) | 内容、用户任务、数据密度驱动的设计 | 不采用其营销 hero 或改变 YSS 字体/品牌的默认倾向 |
13
+
14
+ Owl-Listener/designer-skills 四项方法已融合,固定 revision 与原型策略见 [档位合同](prototype-profile-routing.md)。页面行为根据实际 Spec 编写;场景与重置示例为 YSS 自行实现,不代表生产能力。
@@ -1,75 +1,50 @@
1
- # YSS 原型渲染适配器
1
+ # YSS HTML 原型适配器
2
2
 
3
- 生命周期调用方只选择 H1/H2 并验证 schema v3;静态与流程原型渲染细节留在本适配器内。
3
+ H1/H2 表示验证深度,不表示低/高保真。统一消费 Prototype Evidence schema v4 与 Visual Baseline schema v1。默认 `html-css-js`,接收者可离线打开;生产组件验证仍归下游 `yss-ui`,原型阶段不得调用。
4
4
 
5
- ## H1:静态视觉评审
5
+ ## 构建与交付
6
6
 
7
- 目录固定为 `docs/.scratch/<feature>/design/prototypes/`。运行:
7
+ 在项目实例中,低保真和状态矩阵评审通过后运行;模板源仅在临时 fixture 测试生成器:
8
8
 
9
9
  ```bash
10
- node .agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs prepare-static \
11
- --project-root <project-root> \
12
- --root <project-root>/docs/.scratch/<feature>/design/prototypes \
13
- --feature <feature>
10
+ node .agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs prepare-flow \
11
+ --project-root <project-root> --root <project-root>/docs/.scratch/<feature>/design/prototypes --feature <feature>
14
12
  ```
15
13
 
16
- 命令生成语义化 `index.html`、`styles.css` 和 `yss-prototype-adapter.json`,引用项目 Token CSS。它不创建 `package.json`、lockfile、`node_modules` 或运行时构建合同。设计者在此最小壳中实现布局和少量关键交互;交付可以是静态目录或 URL,不要求单文件。
17
-
18
- 校验:
14
+ H1 将 `prepare-flow` 换成 `prepare-static`。两者输出 `index.html`、`styles.css`、`tokens.css`、`scenarios.js`、`app.js` 和 `yss-prototype-adapter.json`。初始交互仅为模板示例,必须按已评审的 Spec、页面与状态替换。已有非空目录拒绝覆盖;旧批准版本保持只读,新工作版本使用新的工作目录标识并保留业务 feature 的追踪关系。
19
15
 
20
- ```bash
21
- node .agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs validate-project \
22
- --profile H1 --root <prototype-root>
23
- ```
16
+ 制作时可以使用必要工具,交付包不携带 package、lockfile、node_modules,不要求接收方运行 Node。使用普通 script、本地相对路径和随包数据;模块与工具源需先转换成可离线执行的脚本。场景状态默认在内存中,不以 file:// 下不确定的 localStorage 行为作为正确性前提。无需为简单流程建设路由或状态框架。
24
17
 
25
- ## H2:可运行流程
18
+ 所有运行资源收在交付目录内,Token 从 `DESIGN.md` 的项目派生 CSS 复制并保存来源摘要。静态扫描拒绝远程资源、越出目录、符号链接、缺失文件和常见网络依赖;动态构造资源及浏览器差异仍由真实离线复验发现。
26
19
 
27
- H2 可选择任何能稳定浏览器交付的轻量前端实现。默认 `component_basis=vue-antdv-next`,使用 Vue 3/Vite + Antdv Next:
20
+ 完成编辑后执行:
28
21
 
29
22
  ```bash
30
- node .agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs prepare-flow \
31
- --project-root <project-root> \
32
- --root <prototype-root> \
33
- --feature <feature> \
34
- --pnpm-version <actual-pnpm-version>
35
-
36
- node .agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs validate-project \
37
- --profile H2 --root <prototype-root>
23
+ node .agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs seal-project --root <prototype-root> --profile H2
24
+ node .agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs validate-project --root <prototype-root> --profile H2
38
25
  ```
39
26
 
40
- 默认命令生成最小 Vue/Vite starter,精确写入 `antdv-next@1.5.2`、`vue@3.5.21`、`vite@6.4.2`、`@vitejs/plugin-vue@5.2.4`,登记实际 pnpm,生成 Vue 入口、`src/yss-theme.js` 与 provider-neutral adapter schema v3。设计 workflow 在 starter 中替换占位页面,再以 `ConfigProvider`、`pnpm install`、`pnpm build` 形成可移植静态输出。已有 Vue 页面不会被重写,但必须通过合同验证。
27
+ `seal-project` 更新资源清单和摘要,不表示设计通过;修改批准原型前先建立新版本。封存后资源变化会使验证失败。规范或 Token 变化时先由设计系统重新派生,再更新包内副本与对应来源摘要,重新验证受影响场景并取得当前版本确认。
41
28
 
42
- 显式兼容 React/Vite + Ant Design v6 时传入:
29
+ ## 规范直出与视觉还原
43
30
 
44
- ```bash
45
- node .agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs prepare-flow \
46
- --project-root <project-root> \
47
- --root <prototype-root> \
48
- --feature <feature> \
49
- --component-basis react-antd-6 \
50
- --library-version <exact-6.x-version> \
51
- --pnpm-version <actual-pnpm-version>
52
- ```
31
+ - `source_visual.kind=design-system`:输入为根 `DESIGN.md`、交互说明、状态矩阵和已有页面模式;由本适配器直接构建,QA 使用 `design-contract`,核对 Token、实际计算样式、密度、内容和交互。不要调用要求图片前置的 Product Design prototype/image-to-code/design-qa,不改写上游插件的规则。
32
+ - `source_visual.kind=visual-reference`:已有用户选定、可定位的图像或页面捕获,QA 使用 `visual-comparison`。只有选用的 focused workflow 能满足本交付边界时才调用;要求 Node starter 的 workflow 不用于默认离线构建,可由 YSS adapter 直接还原该视觉目标。
33
+ - 没有足够设计依据时先澄清;仅视觉方向或信息架构不确定时比较候选方案。首版图不可当作独立来源来证明符合规范,必须先完成规范审查和用户确认,才能成为后续回归基线。
53
34
 
54
- 历史 `--target-antd-version` 继续映射到 `react-antd-6`,只为在途兼容,不再是默认调用。其他 H2 基座必须在证据中明确记录,不得伪造 Antdv Next 或 AntD 字段。
35
+ ## 流程和内容
55
36
 
56
- ### Provider fact pack
37
+ 使用现有状态矩阵约束事件、guard、动作与退出路径。以 `case_id/data_scenario` 定位固定场景,支持重置和重复操作;场景入口留在独立评审区域,不混入产品主流程。H2 覆盖主流程及命中的 failure/no-permission/conflict/recovery 状态,记录 `scenario_replay_ref`、`scenario_reset_result`。
57
38
 
58
- 默认目录为 `docs/design/facts/antdv-next/<exact-version>/`;React 兼容路线使用 `docs/design/facts/antd/<exact-version>/`。至少包含 `manifest.json`、design-md 摘要、组件事实与 digest。只有以下全部相等才为 fresh:
39
+ 表格、表单与说明使用代表性业务内容和数据密度,覆盖长中文、空值、校验反馈与窄屏形态。复杂组件只实现当前决策需要的可操作模拟;若模拟无法支持关键结论,记录 gap 并返回设计澄清,真实组件假设由 `implementation_handoff` 交给实现阶段。
59
40
 
60
- - manifest 的 package 与 exact version 等于原型 lockfile;
61
- - 所需组件均被覆盖;
62
- - 根 `DESIGN.md` path / digest 与当前规范源相等;
63
- - `project_token_baseline_digest` 等于当前 Token 派生基线;
64
- - 没有新的 API/semantic 疑问。
41
+ ## 统一 QA 与离线复验
65
42
 
66
- 不满足时只查询缺失或变化的事实。默认 Vue 路线调用 `yss-antdv-next-design`;React 兼容路线调用 `yss-antd-design`,且 `lint/doctor` 只在存在相关 React 源时运行。不要创建占位 fact 目录;feature 证据只引用实际 manifest。
43
+ 六轴仍为 visual/layout/interaction/content/accessibility/cross-platform,写同一份 feature 级 `verification/design-qa.md`。原生语义优先;弹窗按适用行为验证初始焦点、Tab、Escape 和关闭后的焦点去向。ARIA 属性或自动扫描不替代键盘实操。
67
44
 
68
- ## 共同映射与验证
45
+ 复制资源包到脱离源仓的目录,以 `file://` 且无网络运行,检查所有采用的场景、资源加载、console、键盘、焦点、200% zoom/reduced motion。证据写 `delivery_contract=offline-html-v1`、`resource_manifest_ref`、`offline_verification_ref/result`。机器静态检查通过只代表结构可检查。
69
46
 
70
- 映射的是 semantic role、项目 Token、状态和验收行为,不是 React API 表面。默认视口为 desktop `1440x900` 与 narrow `390x844`;按影响追加其他断点。Design QA 固定写 feature 级 verification 路径,并按 visual/layout/interaction/content/accessibility/cross-platform 六轴执行。
71
-
72
- 浏览器/Design QA 将每个风险驱动 case 捕获为 PNG,写入 `docs/.scratch/<feature>/handoff/visual-baseline-v<version>/images/`,并从 `docs/design/templates/visual-baseline-template.yaml` 生成 manifest。截图必须使用固定数据、sRGB、DPR 1,等待字体完成,关闭动画、过渡和光标闪烁;长页面使用固定滚动分段。捕获完成后运行:
47
+ 默认视口 desktop `1440x900`、narrow `390x844`;按影响追加。Visual Baseline 捕获固定数据、浏览器及版本、操作系统、字体、时区、locale、sRGB、DPR 1,关闭动画与光标,等待字体就绪;复验前重置场景。长页面按固定滚动位置分段。
73
48
 
74
49
  ```bash
75
50
  node .agents/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs seal \
@@ -77,6 +52,8 @@ node .agents/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs sea
77
52
  --bundle-root docs/.scratch/<feature>/handoff/visual-baseline-v1
78
53
  ```
79
54
 
80
- `seal` 校验 PNG 尺寸与大小并写入图像和整包摘要;随后以 `validate` 重验。模型和下游实现只从 manifest 的 `case_id` 取图,不通过 glob 推断含义。工作目录可位于被忽略的 `.scratch`,但 Strategic Design Handoff 必须携带或引用可读取的自包含 Bundle。
55
+ 从 manifest 的 `case_id` 读取语义与截图,不依赖 glob;视觉回归按风险采用,首次生成基线不声称已有回归通过。六轴 QA、独立评审、用户确认和生产实现隔离保持原合同。
56
+
57
+ ## 条件 AntD 路线
81
58
 
82
- H1/H2 的条件验证矩阵与实现阶段交接规则见 [prototype-profile-routing.md](prototype-profile-routing.md)。原型阶段禁止调用 `yss-ui`;真实组件事实只在批准后的前端实现与实现还原验证中取得。
59
+ 已确认复杂交互需要真实组件时,按 [AntD 集成](antd-integration.md) 使用 `react-antd-prebuilt`;这是作者侧预构建,接收者仍无需 Node,所有资源离线随包。默认 `html-css-js` 保持原生实现。组件库知识仅作为本阶段设计事实,不取代根 DESIGN.md 或授权生产实现。
@@ -9,7 +9,7 @@
9
9
  | 档位 | 名称 | 命中条件 | 默认适配器 |
10
10
  |---|---|---|---|
11
11
  | H1 | `visual-review` | 仅需确认布局、密度、层级、文案或少量关键交互;不涉及多页面导航、复杂联动、权限、恢复、冲突或真实组件差异 | 语义 HTML + 项目 Token CSS + 最小 JavaScript;可使用设计工具导出,但必须有浏览器可复验入口 |
12
- | H2 | `flow-review` | 多页面/路由、复杂表单联动、权限体验、失败恢复、并发冲突或需要可操作主流程测试 | 可运行前端原型;Vue 3/Vite + Antdv Next 是受支持默认,React/Vite + Ant Design v6 为显式兼容路线 |
12
+ | H2 | `flow-review` | 多页面/路由、复杂表单联动、权限体验、失败恢复、并发冲突或需要可操作主流程测试 | HTML/CSS/JavaScript 可操作流程;默认离线资源包,保持同等流程和异常验收 |
13
13
 
14
14
  真实 YSS/AntDV 组件行为、lockfile、props、slots、events 或 Storybook 状态不是第三种原型档位。它们属于前端实现计划、已批准切片的生产实现与实现还原验证。原型中发现的相关不确定性写入 `implementation_handoff`,不得为解决它调用 `yss-ui` 或把实现仓组件代码引入原型。
15
15
 
@@ -39,8 +39,9 @@
39
39
 
40
40
  - 主流程与关键 failure / no-permission / conflict 状态可操作。
41
41
  - 验证键盘、焦点、对比度、200% zoom、reduced motion;按风险决定视觉回归。
42
- - 默认使用 `vue-antdv-next` 并记录 package 与精确版本;显式兼容路线记录 `react-antd-6`。fact pack 只有在 provider、版本、组件集合和项目 Token baseline digest 全部匹配且没有新 API 疑问时才可复用,否则只补增量查询。
43
- - 使用其他基座时记录 `component_basis`,不创建空 Antdv Next 或 AntD 字段。
42
+ - 默认 `component_basis=html-css-js`、`runtime_build_required=false`、`prototype_library_facts.applicable=false`,不创建 package、lockfile 或空事实包。
43
+ - 场景使用现有 `case_id/data_scenario` 对应状态矩阵;固定初始输入与结果,提供切换、深链接和重置,验证失败后的输入保留、重试、权限边界及冲突恢复。
44
+ - `offline-html-v1` 交付包记录所有本地资源及摘要;断开网络后通过 `file://` 从独立目录复验,保存 console、资源、交互和截图结果。静态扫描不能替代浏览器行为证明。
44
45
 
45
46
  ### 实现阶段交接
46
47
 
@@ -50,7 +51,9 @@
50
51
 
51
52
  ## 条件 ideation
52
53
 
53
- 新视觉方向、信息架构不确定或存在两个以上合理布局时,`product-design:ideate` 的三方案比较为 mandatory。沿用已批准模式且 source visual 可定位时记录 `not-applicable`、复用来源和理由,不制造三份无意义变体。
54
+ 新视觉方向、信息架构不确定或存在多个合理布局时比较三个候选方案,由用户选择后构建。可用低保真、HTML 或按需 `product-design:ideate`;不把 ImageGen 当作所有原型的前置依赖。已批准模式或当前设计规范足以约束页面时,记录 `not-applicable`、来源与理由。
55
+
56
+ `source_visual.kind=design-system` 引用 `DESIGN.md`,走规范直出和 `design-contract` QA;`visual-reference` 引用独立视觉稿,走 `visual-comparison` QA。两者都要求统一六轴 QA 和用户确认;首版截图只在确认后成为后续回归基线。
54
57
 
55
58
  ## 上游融合记录
56
59
 
@@ -67,3 +70,11 @@
67
70
  - 新证据只生成 schema v4、Visual Baseline schema v1 与 `artifact.prototype-deliverable`。
68
71
  - prototype evidence schema v1/v2/v3 和 `artifact.high-fidelity-html-prototype` 只读兼容;已经关闭的历史证据保持有效,不补造图片。
69
72
  - 在途 UI 证据必须迁移到 v4 并产生 Visual Baseline 后才能关闭 `check.prototype-verified`;非 UI 功能不生成空包。
73
+
74
+ ### HTML 路线迁移
75
+
76
+ 两个原型组件 Provider 已从当前技能与生成路线退役。历史 Vue/React 原型、fact pack 与批准证据保留原字节;`--allow-legacy` 只读校验不代表通过当前门禁。在途原型继续演进时生成新的 HTML 工作版本、补离线与场景证据并重新确认,禁止覆盖旧版本。
77
+
78
+ 采纳的外部方法与适用边界见 [HTML 原型实践](html-prototype-practices.md);不安装上游整包或引入第二套状态、QA、交接体系。
79
+
80
+ 真实组件确有评审价值时,H2 可条件使用 `react-antd-prebuilt`,仍交付离线 HTML 资源包;启用条件、版本与验证见 [AntD 集成](antd-integration.md)。
@@ -0,0 +1,71 @@
1
+ #!/usr/bin/env node
2
+ // Author-side only. No package manager or build server is shipped to prototype recipients.
3
+ import {readFile,writeFile} from 'node:fs/promises';
4
+ import {createRequire} from 'node:module';
5
+ import {createHash} from 'node:crypto';
6
+ import {pathToFileURL} from 'node:url';
7
+ import path from 'node:path';
8
+ import {prepareOfflineHtml,sealOfflineHtml} from './offline-html.mjs';
9
+ const assets=new URL('../assets/antd-authoring/',import.meta.url);
10
+ const sha=b=>`sha256:${createHash('sha256').update(b).digest('hex')}`;
11
+ export async function buildAntdPrototype({projectRoot,root,feature,toolchain,reason,entry}){
12
+ if(!reason?.trim())throw new Error('真实 AntD 路线必须记录简化模拟影响评审结论的理由');
13
+ if(!toolchain)throw new Error('需要独立作者工具目录 toolchain;不要在共享 Skill 内安装依赖');
14
+ const expected=JSON.parse(await readFile(new URL('package.json',assets),'utf8'));
15
+ const require=createRequire(path.join(path.resolve(toolchain),'package.json'));
16
+ for(const [name,version]of Object.entries({...expected.dependencies,...expected.devDependencies})){
17
+ const actual=require(`${name}/package.json`).version;if(actual!==version)throw new Error(`${name} 需要锁定 ${version},实际 ${actual}`);
18
+ }
19
+ const lock=await readFile(new URL('pnpm-lock.yaml',assets));
20
+ if(sha(await readFile(path.join(toolchain,'pnpm-lock.yaml')))!==sha(lock))throw new Error('作者工具 pnpm lock 与技能基线不匹配');
21
+ const tokenCss=await readFile(path.join(projectRoot,'docs/design/tokens/variables.css'),'utf8');
22
+ // This adapter targets the default light :root baseline, never the later dark-theme overrides.
23
+ const lightCss=tokenCss.match(/^:root\s*\{([^}]+)\}/m)?.[1];
24
+ if(!lightCss)throw new Error('缺少明确的 :root light Token 基线');
25
+ const tokens=Object.fromEntries([...lightCss.matchAll(/(--[\w-]+):\s*([^;]+);/g)].map(m=>[m[1],m[2].trim()]));
26
+ const value=key=>{if(!tokens[key]||tokens[key].includes('var('))throw new Error(`需先派生实际 Token 值 ${key}`);return tokens[key];};
27
+ const theme={colorPrimary:value('--yss-color-primary-control'),colorPrimaryHover:value('--yss-color-primary-control-hover'),fontFamily:value('--brand-font-family'),fontSize:parseFloat(value('--brand-font-size')),controlHeight:parseFloat(value('--yss-control-height')),borderRadius:parseFloat(value('--brand-border-radius')),colorText:value('--brand-color-text'),colorBgLayout:value('--brand-color-bg-layout'),colorBgContainer:value('--brand-color-bg-container'),colorBorder:value('--brand-color-border'),motion:false};
28
+ const source=await readFile(entry?path.resolve(entry):new URL('workbench.jsx',assets),'utf8');
29
+ if(/\b(?:fetch\s*\(|XMLHttpRequest|WebSocket|EventSource|import\s*\(|serviceWorker\s*\.)/.test(source))throw new Error('离线原型源不得依赖网络或动态模块');
30
+ {
31
+ const {build}=require('esbuild');
32
+ const result=await build({stdin:{contents:source,loader:'jsx',resolveDir:path.resolve(toolchain)},bundle:true,write:false,format:'iife',platform:'browser',target:['chrome110'],minify:true,metafile:true,legalComments:'eof',define:{'process.env.NODE_ENV':'"production"',__PROTOTYPE_THEME__:JSON.stringify(theme)}});
33
+ if(result.outputFiles.length!==1)throw new Error('此离线路线仅接受一个 JS bundle;额外 CSS/资源需明确本地打包支持');
34
+ const packageRoots=new Set();
35
+ for(const input of Object.keys(result.metafile.inputs)){
36
+ let current=path.dirname(path.resolve(input));
37
+ if(!current.includes('node_modules'))continue;
38
+ while(current!==path.dirname(current)){
39
+ try{const pkg=JSON.parse(await readFile(path.join(current,'package.json'),'utf8'));if(pkg.name&&pkg.version){packageRoots.add(current);break;}}catch{}current=path.dirname(current);
40
+ }
41
+ }
42
+ const notices=[];
43
+ for(const base of [...packageRoots].sort()){
44
+ const pkg=JSON.parse(await readFile(path.join(base,'package.json'),'utf8'));
45
+ let license;
46
+ for(const file of ['LICENSE','LICENSE.md','LICENSE.txt','license','license.md']){try{license=await readFile(path.join(base,file),'utf8');break;}catch{}}
47
+ if(!license){for(const file of ['README.md','Readme.md','readme.md']){try{const readme=await readFile(path.join(base,file),'utf8');const section=readme.match(/^##? License[^\n]*\n([\s\S]*?)(?=^##? |$(?![\s\S]))/im);if(section?.[1].includes('Permission is hereby granted')){license=section[1].trim();break;}}catch{}}}
48
+ if(!license && pkg.name==='@ant-design/icons-svg' && pkg.version==='4.6.0' && pkg.license==='MIT'){
49
+ const antdRequire=createRequire(require.resolve('antd/package.json'));
50
+ const iconsRoot=path.dirname(antdRequire.resolve('@ant-design/icons/package.json'));
51
+ const icons=JSON.parse(await readFile(path.join(iconsRoot,'package.json'),'utf8'));
52
+ if(JSON.stringify(icons.repository).includes('ant-design-icons'))license=await readFile(path.join(iconsRoot,'LICENSE'),'utf8');
53
+ }
54
+ if(!license)throw new Error(`缺少已打包依赖的许可文件 ${pkg.name}`);
55
+ notices.push(`${pkg.name}@${pkg.version}\n${license}`);
56
+ }
57
+ if(notices.length<3)throw new Error('无法确认已打包依赖许可');
58
+ const manifest=await prepareOfflineHtml({projectRoot,root,feature,profile:'H2'});
59
+ await writeFile(path.join(root,'app.js'),result.outputFiles[0].contents);
60
+ await writeFile(path.join(root,'index.html'),'<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>资料维护</title><link rel="stylesheet" href="./tokens.css"><link rel="stylesheet" href="./styles.css"><script defer src="./app.js"></script></head><body><div id="app"></div></body></html>');
61
+ await writeFile(path.join(root,'styles.css'),`:root{font-family:var(--brand-font-family);color:var(--brand-color-text);background:var(--brand-color-bg-layout)}*{box-sizing:border-box}body{margin:0}.ant-layout-header{height:auto;line-height:normal;padding:16px 24px;background:var(--brand-color-bg-container);display:flex;gap:32px;align-items:center}.ant-layout-content{width:100%;max-width:1440px;margin:auto;padding:24px}.heading{display:flex;justify-content:space-between;align-items:center}.surface{background:var(--brand-color-bg-container);padding:16px;border-radius:8px;margin-block:16px}.review-controls{margin-block:24px}select{min-height:var(--yss-control-height);color:var(--brand-color-text);border:1px solid var(--brand-color-border);background:var(--brand-color-bg-container)}:focus-visible{outline:2px solid var(--yss-color-primary-control);outline-offset:2px}@media(max-width:576px){.ant-layout-content{padding:12px}.ant-layout-header{padding:12px;gap:16px}.surface{padding:12px}.heading{align-items:start;gap:8px}}`);
62
+ const buildBasis={reason,packages:{...expected.dependencies,...expected.devDependencies},lock_digest:sha(lock),source_digest:sha(source),theme_digest:sha(JSON.stringify(theme)),format:'iife',browser_runtime:'react',toolchain_required_by_recipient:false};
63
+ await writeFile(path.join(root,'authoring-source.jsx'),source);
64
+ await writeFile(path.join(root,'build-provenance.json'),JSON.stringify(buildBasis,null,2)+'\n');
65
+ // Preserve bundled third-party notices alongside the generated resources.
66
+ await writeFile(path.join(root,'THIRD-PARTY-NOTICES.txt'),notices.join('\n\n'));
67
+ await writeFile(path.join(root,'yss-prototype-adapter.json'),JSON.stringify({...manifest,component_basis:'react-antd-prebuilt',build_provenance:buildBasis},null,2));
68
+ return await sealOfflineHtml(root,'H2');
69
+ }
70
+ }
71
+ if(process.argv[1]&&pathToFileURL(path.resolve(process.argv[1])).href===import.meta.url){const args={};for(let i=2;i<process.argv.length;i+=2){if(!process.argv[i].startsWith('--')||!process.argv[i+1])throw new Error('参数必须是 --key value');args[process.argv[i].slice(2)]=process.argv[i+1];}const projectRoot=path.resolve(args['project-root']||'.');const root=args.root||path.join(projectRoot,'docs/.scratch',args.feature||'','design/prototypes');console.log(JSON.stringify(await buildAntdPrototype({projectRoot,root,feature:args.feature,toolchain:args.toolchain,reason:args.reason,entry:args.entry}),null,2));}
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env node
2
+ import{readFileSync,existsSync,mkdirSync,writeFileSync}from'node:fs';
3
+ import{createRequire}from'node:module';
4
+ import{createHash}from'node:crypto';
5
+ import{gunzipSync}from'node:zlib';
6
+ import path from'node:path';
7
+ import{pathToFileURL}from'node:url';
8
+ const core=['Layout','Menu','Breadcrumb','Tabs','Button','Typography','Form','Input','InputNumber','Select','Checkbox','Radio','Switch','Table','Pagination','Tag','Descriptions','Empty','Modal','Drawer','Alert','Spin','Message'];
9
+ const digest=b=>`sha256:${createHash('sha256').update(b).digest('hex')}`;
10
+ export function collectAntdReference({toolchain,version,output,components=core}){
11
+ if(!/^6\.\d+\.\d+$/.test(version||''))throw new Error('明确指定 --version 6.x.y;不自动检测或静默回退');
12
+ if(existsSync(output))throw new Error('输出已存在,保留历史快照,请选新目录');
13
+ const require=createRequire(path.join(path.resolve(toolchain),'package.json'));
14
+ const cliPath=require.resolve('@ant-design/cli/package.json'),cli=JSON.parse(readFileSync(cliPath));
15
+ if(cli.version!=='6.6.4')throw new Error('此采集器只适配已核验的 CLI 6.6.4 数据布局');
16
+ const dataRoot=path.join(path.dirname(cliPath),'data');const index=JSON.parse(readFileSync(path.join(dataRoot,'versions.json')));
17
+ const snapshot=index.v6?.[version.split('.').slice(0,2).join('.')];if(!snapshot)throw new Error('CLI 未收录该 minor;须补充固定源码证据');
18
+ const ref=`v${snapshot}.json`;const source=existsSync(path.join(dataRoot,ref))?readFileSync(path.join(dataRoot,ref)):gunzipSync(readFileSync(path.join(dataRoot,ref+'.gz')));const data=JSON.parse(source);
19
+ if(data.version!==snapshot)throw new Error('CLI 索引与实际数据版本不一致');
20
+ const selected=components.map(name=>{const c=data.components.find(c=>c.name.toLowerCase()===name.toLowerCase());if(!c)throw new Error(`CLI 不含 ${name},请读取固定官方源码;不可补造 API`);return c;});
21
+ const manifest={schema_version:1,requested_version:version,resolved_snapshot_version:snapshot,version_match:snapshot===version?'exact':'minor-snapshot-only',cli_version:cli.version,cli_snapshot_digest:digest(source),components_covered:selected.map(c=>c.name),design_doc_scope:'major-v6/default-light; reference only, project DESIGN.md is authoritative',runtime_compatibility_verified:false,files:{}};
22
+ const files={};for(const c of selected)files[`${c.name}.json`]=JSON.stringify(c,null,2)+'\n';
23
+ for(const[ref,bytes]of Object.entries(files))manifest.files[ref]=digest(bytes);
24
+ mkdirSync(output,{recursive:true});for(const[ref,bytes]of Object.entries(files))writeFileSync(path.join(output,ref),bytes);writeFileSync(path.join(output,'manifest.json'),JSON.stringify(manifest,null,2)+'\n');return manifest;
25
+ }
26
+ if(process.argv[1]&&pathToFileURL(path.resolve(process.argv[1])).href===import.meta.url){const a={};for(let i=2;i<process.argv.length;i+=2)a[process.argv[i].slice(2)]=process.argv[i+1];console.log(JSON.stringify(collectAntdReference({toolchain:a.toolchain,version:a.version,output:a.output,components:a.components?.split(',')}),null,2));}
@@ -0,0 +1,121 @@
1
+ import { createHash } from "node:crypto";
2
+ import { existsSync } from "node:fs";
3
+ import { mkdir, readFile, writeFile, readdir, lstat } from "node:fs/promises";
4
+ import path from "node:path";
5
+
6
+ const manifestName = "yss-prototype-adapter.json";
7
+ const sha = (bytes) => `sha256:${createHash("sha256").update(bytes).digest("hex")}`;
8
+ const assetRoot = new URL("../assets/offline-html/", import.meta.url);
9
+
10
+ async function inventory(root, relative = "") {
11
+ const result = {};
12
+ if ((await lstat(path.join(root, relative))).isSymbolicLink()) throw new Error(`原型资源不允许符号链接: ${relative || "."}`);
13
+ for (const entry of await readdir(path.join(root, relative), { withFileTypes: true })) {
14
+ const name = path.posix.join(relative, entry.name);
15
+ if (entry.isSymbolicLink()) throw new Error(`原型资源不允许符号链接: ${name}`);
16
+ if (entry.isDirectory()) Object.assign(result, await inventory(root, name));
17
+ else if (!entry.isFile()) throw new Error(`原型资源不是普通文件: ${name}`);
18
+ else if (name !== manifestName) result[name] = sha(await readFile(path.join(root, name)));
19
+ }
20
+ return Object.fromEntries(Object.entries(result).sort(([a], [b]) => a.localeCompare(b, "en")));
21
+ }
22
+
23
+ function resourceErrors(file, text, files) {
24
+ const errors = [];
25
+ const refs = [];
26
+ if (/\.html?$/i.test(file)) {
27
+ for (const tag of text.matchAll(/<(?:script|link|img|source|iframe|video|audio|object|embed)\b[^>]*>/gi)) {
28
+ for (const attr of tag[0].matchAll(/\b(?:src|href|poster|data)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s>]+))/gi)) refs.push(attr[1] ?? attr[2] ?? attr[3]);
29
+ if (/\bsrcset\s*=/i.test(tag[0])) errors.push(`${file}: 离线包请使用明确的本地 src,srcset 需先转换并复验`);
30
+ }
31
+ if (/<base\b/i.test(text) || /<script\b[^>]*\btype\s*=\s*["']?module\b/i.test(text)) errors.push(`${file}: file:// 交付不使用 base 或 module script`);
32
+ }
33
+ if (/\.(?:css|html?)$/i.test(file)) {
34
+ for (const match of text.matchAll(/url\(\s*["']?([^"')]+)["']?\s*\)|@import\s+["']([^"']+)["']/gi)) refs.push((match[1] ?? match[2]).trim());
35
+ }
36
+ for (const ref of refs) {
37
+ if (/^(?:data:|#)/i.test(ref)) continue;
38
+ let decoded;
39
+ try { decoded = decodeURIComponent(ref.split(/[?#]/)[0]); } catch { errors.push(`${file}: 非法资源 URL ${ref}`); continue; }
40
+ if (/^(?:[a-z][\w+.-]*:|\/|\\)/i.test(decoded) || decoded.includes("\\")) { errors.push(`${file}: 非本地相对资源 ${ref}`); continue; }
41
+ const target = path.posix.normalize(path.posix.join(path.posix.dirname(file), decoded));
42
+ if (target.startsWith("../") || !Object.hasOwn(files, target)) errors.push(`${file}: 资源缺失或越出交付包 ${ref}`);
43
+ }
44
+ if (/\.(?:jsx?|html?)$/i.test(file) && /\b(?:fetch\s*\(|XMLHttpRequest|WebSocket|EventSource|import\s*\(|serviceWorker\s*\.)/.test(text)) errors.push(`${file}: 离线默认路线不依赖网络、动态模块或 Service Worker;使用随包场景数据`);
45
+ return errors;
46
+ }
47
+
48
+ async function inspect(root, profile, checkDigests) {
49
+ const errors = [];
50
+ let manifest, files;
51
+ try {
52
+ files = await inventory(root);
53
+ manifest = JSON.parse(await readFile(path.join(root, manifestName), "utf8"));
54
+ } catch (error) { return { errors: [error.message] }; }
55
+ if (manifest.schema_version !== 4 || !["html-css-js", "react-antd-prebuilt"].includes(manifest.component_basis) || manifest.runtime_build_required !== false) errors.push("原型必须使用 offline-html adapter schema v4 / html-css-js / runtime_build_required=false");
56
+ if (manifest.prototype_profile !== profile || manifest.profile_kind !== (profile === "H1" ? "visual-review" : "flow-review")) errors.push("adapter 档位与验证档位不一致");
57
+ if (manifest.entry !== "index.html" || !files[manifest.entry]) errors.push("缺少本地 index.html 入口");
58
+ for (const file of ["styles.css", "tokens.css", "app.js", "scenarios.js"]) if (!files[file]) errors.push(`缺少 ${file}`);
59
+ for (const file of Object.keys(files)) {
60
+ if (/(^|\/)(node_modules|package\.json|(?:pnpm|package)-lock\.(?:yaml|json)|yarn\.lock)(\/|$)/.test(file)) errors.push(`交付包不得依赖 ${file}`);
61
+ if (/\.(css|jsx?|html?)$/i.test(file)) {
62
+ const content = await readFile(path.join(root, file), "utf8");
63
+ // Compiled dependencies contain network API names; inspect authored code and require real offline browser evidence.
64
+ if (!(manifest.component_basis === "react-antd-prebuilt" && file === "app.js")) errors.push(...resourceErrors(file, content, files));
65
+ }
66
+ }
67
+ if (manifest.component_basis === "react-antd-prebuilt") {
68
+ const build = manifest.build_provenance;
69
+ if (profile !== "H2" || build?.format !== "iife" || build?.browser_runtime !== "react" || build?.toolchain_required_by_recipient !== false || !build?.reason?.trim()) errors.push("真实 AntD 必须是 H2 离线预构建并记录选择理由");
70
+ for (const field of ["source_digest", "lock_digest", "theme_digest"]) if (!/^sha256:[a-f0-9]{64}$/.test(build?.[field] ?? "")) errors.push(`缺少 AntD ${field}`);
71
+ if (build?.source_digest !== files["authoring-source.jsx"]) errors.push("AntD 源文件与构建来源摘要不一致");
72
+ for (const name of ["antd", "react", "react-dom", "esbuild"]) if (!/^\d+\.\d+\.\d+$/.test(build?.packages?.[name] ?? "")) errors.push(`AntD 作者工具需要精确版本 ${name}`);
73
+ if (!files["THIRD-PARTY-NOTICES.txt"] || !files["build-provenance.json"]) errors.push("缺少构建来源或第三方许可");
74
+ else { try { if (JSON.stringify(JSON.parse(await readFile(path.join(root, "build-provenance.json"), "utf8"))) !== JSON.stringify(build)) errors.push("构建来源与 manifest 不匹配"); } catch { errors.push("构建来源不是有效 JSON"); } }
75
+ }
76
+ if (files["styles.css"]) {
77
+ const styles = await readFile(path.join(root, "styles.css"), "utf8");
78
+ for (const token of ["--brand-font-family", "--brand-color-text", "--brand-color-bg-layout", "--brand-color-bg-container", "--yss-color-primary-control", "--yss-control-height"]) if (!styles.includes(token)) errors.push(`styles.css 未消费项目 Token ${token}`);
79
+ }
80
+ if (manifest.design_source?.path !== "DESIGN.md" || !/^sha256:[a-f0-9]{64}$/.test(manifest.design_source?.digest ?? "")) errors.push("缺少根 DESIGN.md 来源摘要");
81
+ if (manifest.token_source?.path !== "docs/design/tokens/variables.css" || manifest.token_source?.digest !== files["tokens.css"]) errors.push("tokens.css 与登记的 Token 来源摘要不一致");
82
+ if (checkDigests && JSON.stringify(manifest.files) !== JSON.stringify(files)) errors.push("原型资源摘要或清单已变化,审查后重新 seal-project");
83
+ return { errors, manifest, files };
84
+ }
85
+
86
+ export async function validateOfflineHtml(root, profile) {
87
+ const { errors } = await inspect(root, profile, true);
88
+ return { errors };
89
+ }
90
+
91
+ export async function sealOfflineHtml(root, profile) {
92
+ const result = await inspect(root, profile, false);
93
+ if (result.errors.length) throw new Error(result.errors.join("\n"));
94
+ const manifest = { ...result.manifest, files: result.files };
95
+ await writeFile(path.join(root, manifestName), `${JSON.stringify(manifest, null, 2)}\n`);
96
+ return manifest;
97
+ }
98
+
99
+ export async function prepareOfflineHtml({ projectRoot, root, feature, profile, pattern = "editor" }) {
100
+ if (!/^[a-z0-9][a-z0-9-]*$/.test(feature ?? "")) throw new TypeError("feature 必须是小写 kebab-case");
101
+ if (!["editor", "workbench"].includes(pattern)) throw new Error("pattern 必须为 editor/workbench");
102
+ const expected = path.resolve(projectRoot, "docs/.scratch", feature, "design/prototypes");
103
+ if (path.resolve(root) !== expected) throw new TypeError(`原型目录必须精确匹配 ${expected}`);
104
+ for (let current = path.resolve(root); current.startsWith(`${path.resolve(projectRoot)}${path.sep}`); current = path.dirname(current)) {
105
+ if (existsSync(current) && (await lstat(current)).isSymbolicLink()) throw new Error(`原型路径不允许符号链接: ${current}`);
106
+ }
107
+ // Refuse an occupied destination instead of replacing an existing or frozen prototype.
108
+ if (existsSync(root) && ((await lstat(root)).isSymbolicLink() || (await readdir(root)).length)) throw new Error("原型目录已存在内容;请在保留旧版本后选择新 feature 工作目录,不覆盖已有原型");
109
+ const design = await readFile(path.join(projectRoot, "DESIGN.md"));
110
+ const tokens = await readFile(path.join(projectRoot, "docs/design/tokens/variables.css"));
111
+ await mkdir(root, { recursive: true });
112
+ for (const file of ["index.html", "styles.css", "app.js", "scenarios.js"]) {
113
+ const folder = pattern === "workbench" && file !== "scenarios.js" ? new URL("../assets/native-workbench/", import.meta.url) : assetRoot;
114
+ const source = await readFile(new URL(file, folder), "utf8");
115
+ await writeFile(path.join(root, file), source.replaceAll("__FEATURE__", feature).replaceAll("__PROFILE__", profile));
116
+ }
117
+ await writeFile(path.join(root, "tokens.css"), tokens);
118
+ const manifest = { schema_version: 4, feature, pattern, prototype_profile: profile, profile_kind: profile === "H1" ? "visual-review" : "flow-review", component_basis: "html-css-js", runtime_build_required: false, entry: "index.html", design_source: { path: "DESIGN.md", digest: sha(design) }, token_source: { path: "docs/design/tokens/variables.css", digest: sha(tokens) }, files: {} };
119
+ await writeFile(path.join(root, manifestName), JSON.stringify(manifest));
120
+ return sealOfflineHtml(root, profile);
121
+ }