create-yss-spec 3.4.6 → 3.4.7

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 (239) hide show
  1. package/package.json +1 -1
  2. package/template/.agents/skills/.strategic-design-skills-manifest.json +1 -1
  3. package/template/.agents/skills/.yss-skills-manifest.json +1 -8
  4. package/template/.agents/skills/formily-mode-slot-detail/SKILL.md +3 -4
  5. package/template/.agents/skills/yedit-table-usage/SKILL.md +2 -0
  6. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  7. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +1 -2
  8. package/template/.agents/skills/yss-design-system/SKILL.md +2 -2
  9. package/template/.agents/skills/yss-formily/SKILL.md +2 -2
  10. package/template/.agents/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
  11. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/README.md +1 -1
  12. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/package.json +2 -2
  13. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-lock.yaml +158 -0
  14. package/template/.agents/skills/yss-frontend-scaffold-generator/references/data-quality-v1.manifest.json +3 -3
  15. package/template/.agents/skills/yss-frontend-scaffold-generator/scripts/scaffold-generator.test.mjs +5 -0
  16. package/template/.agents/skills/yss-hook/SKILL.md +3 -2
  17. package/template/.agents/skills/yss-implementation-contract-compiler/references/boundaries.md +1 -1
  18. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  19. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +0 -7
  20. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -3
  21. package/template/.agents/skills/yss-skill-source-index-refresh/references/source-map-config.md +3 -2
  22. package/template/.agents/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +3 -2
  23. package/template/.agents/skills/yss-technical-design/SKILL.md +1 -1
  24. package/template/.agents/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  25. package/template/.agents/skills/yss-technical-design/tests/run-scenarios.mjs +1 -2
  26. package/template/.agents/skills/yss-ui/SKILL.md +9 -6
  27. package/template/.agents/skills/yss-ui/references/component-routing.md +11 -4
  28. package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +5 -1
  29. package/template/.agents/skills/yss-ui-business-page-generation/references/hooks-map.md +3 -2
  30. package/template/.agents/skills/ytable-usage/SKILL.md +14 -7
  31. package/template/.agents/skills/ytree-usage/SKILL.md +1 -0
  32. package/template/.codex/skills/formily-mode-slot-detail/SKILL.md +3 -4
  33. package/template/.codex/skills/yedit-table-usage/SKILL.md +2 -0
  34. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  35. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +1 -2
  36. package/template/.codex/skills/yss-design-system/SKILL.md +2 -2
  37. package/template/.codex/skills/yss-formily/SKILL.md +2 -2
  38. package/template/.codex/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
  39. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/README.md +1 -1
  40. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/package.json +2 -2
  41. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-lock.yaml +158 -0
  42. package/template/.codex/skills/yss-frontend-scaffold-generator/references/data-quality-v1.manifest.json +3 -3
  43. package/template/.codex/skills/yss-frontend-scaffold-generator/scripts/scaffold-generator.test.mjs +5 -0
  44. package/template/.codex/skills/yss-hook/SKILL.md +3 -2
  45. package/template/.codex/skills/yss-implementation-contract-compiler/references/boundaries.md +1 -1
  46. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  47. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +0 -7
  48. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -3
  49. package/template/.codex/skills/yss-skill-source-index-refresh/references/source-map-config.md +3 -2
  50. package/template/.codex/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +3 -2
  51. package/template/.codex/skills/yss-technical-design/SKILL.md +1 -1
  52. package/template/.codex/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  53. package/template/.codex/skills/yss-technical-design/tests/run-scenarios.mjs +1 -2
  54. package/template/.codex/skills/yss-ui/SKILL.md +9 -6
  55. package/template/.codex/skills/yss-ui/references/component-routing.md +11 -4
  56. package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +5 -1
  57. package/template/.codex/skills/yss-ui-business-page-generation/references/hooks-map.md +3 -2
  58. package/template/.codex/skills/ytable-usage/SKILL.md +14 -7
  59. package/template/.codex/skills/ytree-usage/SKILL.md +1 -0
  60. package/template/.cursor/skills/formily-mode-slot-detail/SKILL.md +3 -4
  61. package/template/.cursor/skills/yedit-table-usage/SKILL.md +2 -0
  62. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  63. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +1 -2
  64. package/template/.cursor/skills/yss-design-system/SKILL.md +2 -2
  65. package/template/.cursor/skills/yss-formily/SKILL.md +2 -2
  66. package/template/.cursor/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
  67. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/README.md +1 -1
  68. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/package.json +2 -2
  69. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-lock.yaml +158 -0
  70. package/template/.cursor/skills/yss-frontend-scaffold-generator/references/data-quality-v1.manifest.json +3 -3
  71. package/template/.cursor/skills/yss-frontend-scaffold-generator/scripts/scaffold-generator.test.mjs +5 -0
  72. package/template/.cursor/skills/yss-hook/SKILL.md +3 -2
  73. package/template/.cursor/skills/yss-implementation-contract-compiler/references/boundaries.md +1 -1
  74. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  75. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +0 -7
  76. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -3
  77. package/template/.cursor/skills/yss-skill-source-index-refresh/references/source-map-config.md +3 -2
  78. package/template/.cursor/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +3 -2
  79. package/template/.cursor/skills/yss-technical-design/SKILL.md +1 -1
  80. package/template/.cursor/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  81. package/template/.cursor/skills/yss-technical-design/tests/run-scenarios.mjs +1 -2
  82. package/template/.cursor/skills/yss-ui/SKILL.md +9 -6
  83. package/template/.cursor/skills/yss-ui/references/component-routing.md +11 -4
  84. package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +5 -1
  85. package/template/.cursor/skills/yss-ui-business-page-generation/references/hooks-map.md +3 -2
  86. package/template/.cursor/skills/ytable-usage/SKILL.md +14 -7
  87. package/template/.cursor/skills/ytree-usage/SKILL.md +1 -0
  88. package/template/.pi/skills/formily-mode-slot-detail/SKILL.md +3 -4
  89. package/template/.pi/skills/yedit-table-usage/SKILL.md +2 -0
  90. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  91. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +1 -2
  92. package/template/.pi/skills/yss-design-system/SKILL.md +2 -2
  93. package/template/.pi/skills/yss-formily/SKILL.md +2 -2
  94. package/template/.pi/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
  95. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/README.md +1 -1
  96. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/package.json +2 -2
  97. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-lock.yaml +158 -0
  98. package/template/.pi/skills/yss-frontend-scaffold-generator/references/data-quality-v1.manifest.json +3 -3
  99. package/template/.pi/skills/yss-frontend-scaffold-generator/scripts/scaffold-generator.test.mjs +5 -0
  100. package/template/.pi/skills/yss-hook/SKILL.md +3 -2
  101. package/template/.pi/skills/yss-implementation-contract-compiler/references/boundaries.md +1 -1
  102. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  103. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +0 -7
  104. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -3
  105. package/template/.pi/skills/yss-skill-source-index-refresh/references/source-map-config.md +3 -2
  106. package/template/.pi/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +3 -2
  107. package/template/.pi/skills/yss-technical-design/SKILL.md +1 -1
  108. package/template/.pi/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  109. package/template/.pi/skills/yss-technical-design/tests/run-scenarios.mjs +1 -2
  110. package/template/.pi/skills/yss-ui/SKILL.md +9 -6
  111. package/template/.pi/skills/yss-ui/references/component-routing.md +11 -4
  112. package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +5 -1
  113. package/template/.pi/skills/yss-ui-business-page-generation/references/hooks-map.md +3 -2
  114. package/template/.pi/skills/ytable-usage/SKILL.md +14 -7
  115. package/template/.pi/skills/ytree-usage/SKILL.md +1 -0
  116. package/template/docs/agents/digital-human-roles.yaml +2 -2
  117. package/template/docs/agents/skill-migrations.md +23 -10
  118. package/template/docs/agents/yss-skill-registry.yaml +3 -75
  119. package/template/scripts/lib/skill-registry.mjs +5 -1
  120. package/template/scripts/lib/skill-supply-chain.mjs +1 -1
  121. package/template/skills-lock.json +22 -149
  122. package/template/yss-public-skills.json +1 -5
  123. package/template.snapshot.json +4 -4
  124. package/template/.agents/skills/component-selection-imports/SKILL.md +0 -64
  125. package/template/.agents/skills/page-form-module/SKILL.md +0 -168
  126. package/template/.agents/skills/page-list-module/SKILL.md +0 -137
  127. package/template/.agents/skills/page-skeleton/SKILL.md +0 -76
  128. package/template/.agents/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +0 -34
  129. package/template/.agents/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -75
  130. package/template/.agents/skills/page-skeleton/examples/AdvancedFormPage/index.vue +0 -107
  131. package/template/.agents/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  132. package/template/.agents/skills/page-skeleton/examples/AdvancedFormPage/style.less +0 -30
  133. package/template/.agents/skills/page-skeleton/examples/StandardListPage/constant.ts +0 -28
  134. package/template/.agents/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -58
  135. package/template/.agents/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +0 -65
  136. package/template/.agents/skills/page-skeleton/examples/StandardListPage/index.vue +0 -91
  137. package/template/.agents/skills/page-skeleton/examples/StandardListPage/style.less +0 -49
  138. package/template/.agents/skills/vue3-best-practices/SKILL.md +0 -68
  139. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +0 -12
  140. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +0 -5
  141. package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +0 -12
  142. package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +0 -18
  143. package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +0 -9
  144. package/template/.agents/skills/yss-mvc-design/SKILL.md +0 -12
  145. package/template/.agents/skills/yss-mvc-design/agents/openai.yaml +0 -4
  146. package/template/.agents/skills/yss-mvc-design/references/mvc-design.schema.json +0 -315
  147. package/template/.agents/skills/yss-use-table-height/SKILL.md +0 -130
  148. package/template/.agents/skills/yss-use-table-height/agents/openai.yaml +0 -5
  149. package/template/.agents/skills/yss-use-table-height/references/frontend-docs.md +0 -9
  150. package/template/.agents/skills/yss-use-tree-height/SKILL.md +0 -98
  151. package/template/.agents/skills/yss-use-tree-height/agents/openai.yaml +0 -5
  152. package/template/.agents/skills/yss-use-tree-height/references/frontend-docs.md +0 -9
  153. package/template/.codex/skills/component-selection-imports/SKILL.md +0 -64
  154. package/template/.codex/skills/page-form-module/SKILL.md +0 -168
  155. package/template/.codex/skills/page-list-module/SKILL.md +0 -137
  156. package/template/.codex/skills/page-skeleton/SKILL.md +0 -76
  157. package/template/.codex/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +0 -34
  158. package/template/.codex/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -75
  159. package/template/.codex/skills/page-skeleton/examples/AdvancedFormPage/index.vue +0 -107
  160. package/template/.codex/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  161. package/template/.codex/skills/page-skeleton/examples/AdvancedFormPage/style.less +0 -30
  162. package/template/.codex/skills/page-skeleton/examples/StandardListPage/constant.ts +0 -28
  163. package/template/.codex/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -58
  164. package/template/.codex/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +0 -65
  165. package/template/.codex/skills/page-skeleton/examples/StandardListPage/index.vue +0 -91
  166. package/template/.codex/skills/page-skeleton/examples/StandardListPage/style.less +0 -49
  167. package/template/.codex/skills/vue3-best-practices/SKILL.md +0 -68
  168. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +0 -12
  169. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +0 -5
  170. package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +0 -12
  171. package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +0 -18
  172. package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +0 -9
  173. package/template/.codex/skills/yss-mvc-design/SKILL.md +0 -12
  174. package/template/.codex/skills/yss-mvc-design/agents/openai.yaml +0 -4
  175. package/template/.codex/skills/yss-mvc-design/references/mvc-design.schema.json +0 -315
  176. package/template/.codex/skills/yss-use-table-height/SKILL.md +0 -130
  177. package/template/.codex/skills/yss-use-table-height/agents/openai.yaml +0 -5
  178. package/template/.codex/skills/yss-use-table-height/references/frontend-docs.md +0 -9
  179. package/template/.codex/skills/yss-use-tree-height/SKILL.md +0 -98
  180. package/template/.codex/skills/yss-use-tree-height/agents/openai.yaml +0 -5
  181. package/template/.codex/skills/yss-use-tree-height/references/frontend-docs.md +0 -9
  182. package/template/.cursor/skills/component-selection-imports/SKILL.md +0 -64
  183. package/template/.cursor/skills/page-form-module/SKILL.md +0 -168
  184. package/template/.cursor/skills/page-list-module/SKILL.md +0 -137
  185. package/template/.cursor/skills/page-skeleton/SKILL.md +0 -76
  186. package/template/.cursor/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +0 -34
  187. package/template/.cursor/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -75
  188. package/template/.cursor/skills/page-skeleton/examples/AdvancedFormPage/index.vue +0 -107
  189. package/template/.cursor/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  190. package/template/.cursor/skills/page-skeleton/examples/AdvancedFormPage/style.less +0 -30
  191. package/template/.cursor/skills/page-skeleton/examples/StandardListPage/constant.ts +0 -28
  192. package/template/.cursor/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -58
  193. package/template/.cursor/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +0 -65
  194. package/template/.cursor/skills/page-skeleton/examples/StandardListPage/index.vue +0 -91
  195. package/template/.cursor/skills/page-skeleton/examples/StandardListPage/style.less +0 -49
  196. package/template/.cursor/skills/vue3-best-practices/SKILL.md +0 -68
  197. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +0 -12
  198. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +0 -5
  199. package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +0 -12
  200. package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +0 -18
  201. package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +0 -9
  202. package/template/.cursor/skills/yss-mvc-design/SKILL.md +0 -12
  203. package/template/.cursor/skills/yss-mvc-design/agents/openai.yaml +0 -4
  204. package/template/.cursor/skills/yss-mvc-design/references/mvc-design.schema.json +0 -315
  205. package/template/.cursor/skills/yss-use-table-height/SKILL.md +0 -130
  206. package/template/.cursor/skills/yss-use-table-height/agents/openai.yaml +0 -5
  207. package/template/.cursor/skills/yss-use-table-height/references/frontend-docs.md +0 -9
  208. package/template/.cursor/skills/yss-use-tree-height/SKILL.md +0 -98
  209. package/template/.cursor/skills/yss-use-tree-height/agents/openai.yaml +0 -5
  210. package/template/.cursor/skills/yss-use-tree-height/references/frontend-docs.md +0 -9
  211. package/template/.pi/skills/component-selection-imports/SKILL.md +0 -64
  212. package/template/.pi/skills/page-form-module/SKILL.md +0 -168
  213. package/template/.pi/skills/page-list-module/SKILL.md +0 -137
  214. package/template/.pi/skills/page-skeleton/SKILL.md +0 -76
  215. package/template/.pi/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +0 -34
  216. package/template/.pi/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -75
  217. package/template/.pi/skills/page-skeleton/examples/AdvancedFormPage/index.vue +0 -107
  218. package/template/.pi/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  219. package/template/.pi/skills/page-skeleton/examples/AdvancedFormPage/style.less +0 -30
  220. package/template/.pi/skills/page-skeleton/examples/StandardListPage/constant.ts +0 -28
  221. package/template/.pi/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -58
  222. package/template/.pi/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +0 -65
  223. package/template/.pi/skills/page-skeleton/examples/StandardListPage/index.vue +0 -91
  224. package/template/.pi/skills/page-skeleton/examples/StandardListPage/style.less +0 -49
  225. package/template/.pi/skills/vue3-best-practices/SKILL.md +0 -68
  226. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +0 -12
  227. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +0 -5
  228. package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +0 -12
  229. package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +0 -18
  230. package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +0 -9
  231. package/template/.pi/skills/yss-mvc-design/SKILL.md +0 -12
  232. package/template/.pi/skills/yss-mvc-design/agents/openai.yaml +0 -4
  233. package/template/.pi/skills/yss-mvc-design/references/mvc-design.schema.json +0 -315
  234. package/template/.pi/skills/yss-use-table-height/SKILL.md +0 -130
  235. package/template/.pi/skills/yss-use-table-height/agents/openai.yaml +0 -5
  236. package/template/.pi/skills/yss-use-table-height/references/frontend-docs.md +0 -9
  237. package/template/.pi/skills/yss-use-tree-height/SKILL.md +0 -98
  238. package/template/.pi/skills/yss-use-tree-height/agents/openai.yaml +0 -5
  239. package/template/.pi/skills/yss-use-tree-height/references/frontend-docs.md +0 -9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-yss-spec",
3
- "version": "3.4.6",
3
+ "version": "3.4.7",
4
4
  "description": "Initialize a YSS spec project template repository",
5
5
  "main": "src/api/index.js",
6
6
  "repository": {
@@ -3,7 +3,7 @@
3
3
  "source": "iloveZzz/yss-harness-design-agent",
4
4
  "source_type": "git-submodule",
5
5
  "source_root": ".agents/skills",
6
- "source_revision": "e2a4e726c7a34ddbf2658749b3ceb4c913f4530e",
6
+ "source_revision": "4891d8cc15a453df4bf057874c6127419c6c77d8",
7
7
  "adaptation_ref": "docs/agents/strategic-design-skills-integration.md",
8
8
  "skills": [
9
9
  {
@@ -5,7 +5,7 @@
5
5
  "source_root": "packages/skills",
6
6
  "source_category": "app",
7
7
  "excluded_categories": ["library"],
8
- "excluded_skills": ["java-backend-commit", "page-module-development", "prototype-page-acceptance"],
8
+ "excluded_skills": ["component-selection-imports", "java-backend-commit", "page-form-module", "page-list-module", "page-module-development", "page-skeleton", "prototype-page-acceptance", "use-table-height", "use-tree-height", "vue3-best-practices"],
9
9
  "source_revision": "c4d958f18cc947cb91cbe1bd48783fa4601cc18f",
10
10
  "adaptation_ref": "docs/agents/yss-ui-skills-integration.md",
11
11
  "package": {
@@ -14,20 +14,13 @@
14
14
  },
15
15
  "skills": [
16
16
  { "upstream": "api-integration", "canonical": "yss-api-integration", "upstream_hash": "53d265c846f767c5dee9c92f2dc0caced341efd8888631f4b37a46eb486fbbeb" },
17
- { "upstream": "component-selection-imports", "canonical": "component-selection-imports", "upstream_hash": "f89c536a23823b540749bab77248c1a09b3e2f43a1bc23e1a59c886a2be5ff94" },
18
17
  { "upstream": "file-export-download", "canonical": "file-export-download", "upstream_hash": "3c281969780e6e6ea6e38818211d84b61655bcc242536785b0375de30d05a458" },
19
18
  { "upstream": "formily-foundation", "canonical": "formily-foundation", "upstream_hash": "7736711494f368750d930e96f918bc8ae2d8a0c6b7fd404be165d03441546d9d" },
20
19
  { "upstream": "formily-linkage-effects", "canonical": "formily-linkage-effects", "upstream_hash": "2b30d5755b672affdfbe1a21742be2ae4423361ca82d28fc5c1b7b55ef256b6e" },
21
20
  { "upstream": "formily-mode-slot-detail", "canonical": "formily-mode-slot-detail", "upstream_hash": "857d4416264c7aadffc19560a6b04eeb4df72a3b1b9110f30d97b2e15de8ce2b" },
22
21
  { "upstream": "formily-step-flow", "canonical": "formily-step-flow", "upstream_hash": "600a0a9a72f3bcb30db83d274b8d1082c036adf10c197dff616f76bec1a33d80" },
23
22
  { "upstream": "frontend-commit", "canonical": "frontend-commit", "upstream_hash": "ffc1c7813607705c7c1158f4c5d3111aca79e73f1843e33bbc95eda9b5c726de" },
24
- { "upstream": "page-form-module", "canonical": "page-form-module", "upstream_hash": "4df686c7267c6be00680ea1faa908e0cf02e59bfe01c8111bbcaa80dea63c9b8" },
25
- { "upstream": "page-list-module", "canonical": "page-list-module", "upstream_hash": "303d8fc2161465ec3e81692c7b750ed814307ccf65f4fb51e0de69fe7af38d4f" },
26
- { "upstream": "page-skeleton", "canonical": "page-skeleton", "upstream_hash": "d82c44770054d9bb0bc17849c25675e5672f01144614b3ffb846ec575ac19dec" },
27
23
  { "upstream": "theme-token-usage", "canonical": "theme-token-usage", "upstream_hash": "b38acb4caf5012c9134df16a312b6be31b2b5d3fd6b976cfccee8d845f27c0ef" },
28
- { "upstream": "use-table-height", "canonical": "yss-use-table-height", "upstream_hash": "8a5baa8ca6a8dd2b2ed123391838b1a13e3f5cab8196225ed3429ca5b513d43f" },
29
- { "upstream": "use-tree-height", "canonical": "yss-use-tree-height", "upstream_hash": "2a9265cc997c2c20b6cfebbdc19b66b04450278fca5d5db252a5d855b2d95bed" },
30
- { "upstream": "vue3-best-practices", "canonical": "vue3-best-practices", "upstream_hash": "924b3b4a6f603aa852e561b975c3e9652b9aad5e237411559c1d24f1f3ef7623" },
31
24
  { "upstream": "yedit-table-usage", "canonical": "yedit-table-usage", "upstream_hash": "a2fa606b85783fc140dd1775f02d7cddde02d8f4fc2dc3c2a017cc2f9fe998b1" },
32
25
  { "upstream": "yss-formily", "canonical": "yss-formily", "upstream_hash": "f30e312a632c592c9050d00c35c22f2dc032658e6d9fdd6e2b5dc4ac0ea970c8" },
33
26
  { "upstream": "yss-ui-business-page-generation", "canonical": "yss-ui-business-page-generation", "upstream_hash": "97ef56c4b60c0281039996ac582ab01987b4d2bbb89989662594a6ce8a77c95f" },
@@ -29,7 +29,7 @@ description: 指导 YFormily 新增、编辑、查看三态与插槽渲染;当
29
29
  - 描述列表配置使用 `:detail-options`。默认 `responsive=true`,此时 `columns` 被忽略;响应式列数使用 `maxColumns`、`minColumns`、`minWidth`,固定列数才组合 `responsive: false` 与 `columns`。
30
30
  - 查看态插槽命名固定为 `#detail-<path>`,字段路径中的 `.` 替换为 `-`;作用域为 `{ value, item, values }`。
31
31
  - 编辑态插槽使用 `x-component: 'Slot'` 与 `x-component-props.name`;`value/onChange` 默认提供,仅在需要 `field` 或整表数据时配置 `params`。
32
- - 运行时切换 mode 时加 `:key="mode"`,确保当前实现重新创建 form/schema 上下文并避免状态残留。
32
+ - 运行时切换 mode 默认由响应式 `:mode` 与已准备好的 model 驱动,不加动态 `:key` 强制重挂载。只有目标工程当前源码或可复现测试证明 mode 热切换无法正确重建上下文时,才记录证据后局部使用 key;Modal/Drawer 闭环优先通过 `destroy-on-close + v-if="open"` 隔离实例。
33
33
  - 查看态不会发送 `update:modelValue`;回填优先在渲染前准备好 `v-model`/`initial-values`,或通过已公开的 `setValues` 更新。
34
34
  - 只使用公开实例方法:`getValues`、`setValues`、`submit`、`setFieldState`、`toggle/expand/collapse`;禁止编造 `validate/reset/clearValidate`。
35
35
  - 加载详情的 Orval API 错误已由 `mutator.ts` 统一 `message.error` 并 reject,业务 `else`/`catch` 禁止重复提示。
@@ -97,7 +97,6 @@ const schema: ISchema = {
97
97
 
98
98
  <template>
99
99
  <YFormily
100
- :key="mode"
101
100
  :schema="schema"
102
101
  :initial-values="initialValues"
103
102
  :mode="mode"
@@ -120,7 +119,7 @@ const schema: ISchema = {
120
119
 
121
120
  ## 交付检查清单
122
121
 
123
- - [ ] mode 语义和默认值正确,运行时切换配置了 `:key="mode"`。
122
+ - [ ] mode 语义和默认值正确,回填在打开前完成;未无条件使用动态 `:key` 强制重挂载。
124
123
  - [ ] 未生成 `detail-as`、旧式详情开关或虚构实例方法。
125
124
  - [ ] `detail-options` 已区分响应式 `maxColumns` 与固定列 `columns`。
126
125
  - [ ] 查看态插槽路径映射正确,作用域只使用 `{ value, item, values }`。
@@ -133,5 +132,5 @@ const schema: ISchema = {
133
132
 
134
133
  - 查看态插槽不生效时,先按详情收集后的数据路径核对 `detail-<path>`,不要把 `FormLayout/FormGrid` 容器名拼入路径。
135
134
  - 编辑态插槽不生效时,核对 `x-component-props.name` 与模板名;需要整表值时再加入 `params: ['$values']`。
136
- - 模式切换错乱时先确认 `:key="mode"`,再检查回填数据是否在新实例挂载前准备好。
135
+ - 模式切换错乱时先检查回填数据是否在打开或模式切换前准备好,再核验当前版本对响应式 mode 的行为;只有可复现证据表明必须重建时才使用 key。
137
136
  - API 调用 reject 时只恢复 loading 或保留原数据,不重复弹出错误提示。
@@ -36,6 +36,7 @@ description: "配置或修复 YSS UI YEditTable 的行内编辑、候选联动
36
36
  - 删除使用 `type: 'action' + actionConfig.buttons[].isConfirm`;不默认使用 `Modal.confirm`。
37
37
  - `validate()` 真实返回 `Promise<{ valid: boolean; errorMsg: Map<string, string> }>`。组件 ref 未就绪时不得误判为校验成功。
38
38
  - 弹窗/抽屉内使用添加按钮时,高度 Hook 配置 `withAddButton: true`;如果同时分页或开启工具栏,一并开启对应偏移。
39
+ - 自适应高度使用 `useTableHeight(tableAreaRef, options)` 并绑定 `:height="tableHeight"`;直接父容器必须可计算且设置 `min-height: 0`。若表格内容会反向撑开观察容器,改用稳定 `boundaryRef`;弹层展开后高度仍不准时才调用 `nextTick(recalculateHeight)`。
39
40
  - API 失败由 `mutator.ts` 统一提示并 reject。Hook 中不写 `success === false` 分支,不在 `else/catch` 重复 `message.error`;清理状态放在 `finally`。
40
41
 
41
42
  ## 标准代码骨架
@@ -218,6 +219,7 @@ const textFilterColumn: YEditTableColumn = {
218
219
  - [ ] 查看态同时禁用编辑、隐藏添加按钮和移除操作列。
219
220
  - [ ] `validate()` 按 `{ valid, errorMsg }` 处理,组件 ref 未就绪时不提交。
220
221
  - [ ] API Hook 没有重复 `message.error`,前端临时 key 不传给后端。
222
+ - [ ] `withAddButton/withPagination/withToolbar` 与实际开关一致,观察容器稳定且没有双滚动条。
221
223
 
222
224
  ## 失败兜底策略
223
225
 
@@ -122,7 +122,7 @@ node scripts/run_first_slice_verification.mjs \
122
122
  - 受控验证器:`scripts/run_scaffold_verification.mjs`
123
123
  - 首切片验证器:`scripts/run_first_slice_verification.mjs`
124
124
  - 模板目录:`assets/templates/`
125
- - Parent 工程约束使用内部 `references/engineering-baseline.md`;生成后的分层实现路由见 `references/layer-skill-routing.md`。历史 `yss-backend-scaffold-parent` 仅保留迁移提示,不进入新合同。
125
+ - Parent 工程约束使用内部 `references/engineering-baseline.md`;生成后的分层实现路由见 `references/layer-skill-routing.md`。旧工程基线合同必须迁移为 `readiness.contracts.engineering_baseline` 后重新验证。
126
126
 
127
127
  ## 阶段 7 合同
128
128
 
@@ -101,8 +101,7 @@ async function downstreamDrift(manifest, requiredSkills = REQUIRED_SKILLS) {
101
101
  };
102
102
  if (manifest.architecture_family === "layered-mvc") {
103
103
  contractFiles.architecture_profiles = path.join(REPOSITORY_ROOT, "docs/agents/backend-architecture-profiles.md");
104
- } else if (contracts.engineering_baseline) contractFiles.engineering_baseline = path.join(REPOSITORY_ROOT, ".agents", "skills", "yss-ddd-scaffold-generator", "references", "engineering-baseline.md");
105
- else contractFiles.scaffold_parent = path.join(REPOSITORY_ROOT, ".agents", "skills", "yss-ddd-scaffold-generator", "references", "yss-backend-scaffold-parent", "SKILL.md");
104
+ } else contractFiles.engineering_baseline = path.join(REPOSITORY_ROOT, ".agents", "skills", "yss-ddd-scaffold-generator", "references", "engineering-baseline.md");
106
105
  for (const [name, target] of Object.entries(contractFiles)) {
107
106
  const expected = contracts[name];
108
107
  if (typeof expected !== "string" || !/^[a-f0-9]{64}$/.test(expected)) {
@@ -26,7 +26,7 @@ description: Use when YSS 产品设计系统与 Ant Design 企业级 UI 风格
26
26
  2. 读取已有资产:先读根 `DESIGN.md`,再读 `docs/design/design.md` 和 Token 派生快照,最后按任务读取相关 Spec、交互说明、状态矩阵、OpenAPI Draft、现有页面代码。
27
27
  3. 按设计系统基线约束输出或修改产物:颜色、排版、间距、圆角、动效、组件、状态、响应式。
28
28
  4. 若是产品设计阶段,先使用 `yss-prototype-stage`;规范直出由 YSS HTML adapter 执行;存在已选视觉稿时条件使用 `product-design:index`,其他 Agent 交付等价证据。
29
- 5. 若是前端实现阶段,配合 `yss-ui`、`yss-ui-business-page-generation`、`component-selection-imports`、`yss-formily` 及实际命中的组件专项,但本技能负责风格与体验一致性门禁。
29
+ 5. 若是前端实现阶段,配合 `yss-ui`、`yss-ui-business-page-generation`、`yss-formily` 及实际命中的组件专项,但本技能负责风格与体验一致性门禁。
30
30
  6. 若发现视觉 Token 或组件变体不足,先更新根 `DESIGN.md` 并重新生成投影;只有治理、流程或验收说明不足时才更新 `docs/design/design.md`。
31
31
 
32
32
  ## 核心基线
@@ -89,7 +89,7 @@ description: Use when YSS 产品设计系统与 Ant Design 企业级 UI 风格
89
89
  | 低保真线框或流程图 | 语义草图或 HTML;设计工具按需使用 |
90
90
  | 前端页面实现 | `yss-ui` / `yss-ui-business-page-generation` |
91
91
  | 表单 schema | `yss-formily` |
92
- | YTable / YTree / 高度自适应 | `ytable-usage` / `ytree-usage` / `yss-use-table-height` / `yss-use-tree-height` |
92
+ | YTable / YEditTable / YTree / 高度自适应 | `ytable-usage` / `yedit-table-usage` / `ytree-usage` |
93
93
  | 原型交接前的六轴 QA | 规范直出由 YSS adapter 按 design-contract 验收;独立视觉稿才条件使用 design-qa 比对,项目 Token 优先 |
94
94
  | 原型渲染适配 | `yss-prototype-stage/references/product-design-adapter.md`;H1/H2 统一 HTML 交付、分别验证视觉与可操作流程;不得调用 `yss-ui` |
95
95
  | API 契约 / 接入 | `yss-openapi-governance` / `yss-api-integration` |
@@ -18,10 +18,10 @@ description: 路由 YSS UI 业务页面中的 YFormily 场景;当查询、编
18
18
  | 字段显隐、值联动、异步 effects、跨字段副作用 | `formily-linkage-effects` |
19
19
  | 新增、编辑、查看模式,详情插槽或 disabled 规则 | `formily-mode-slot-detail` |
20
20
  | 分步录入、跨步骤校验、步骤状态 | `formily-step-flow` |
21
- | Modal / Drawer 的打开、回填、保存、关闭和回退 | `page-form-module` |
21
+ | Modal / Drawer 的打开、回填、保存、关闭和回退 | `yss-ui-business-page-generation` 负责页面容器编排,并加载 `formily-foundation` 与实际命中的模式/联动专项 |
22
22
  | 从自然语言、截图或 Figma 生成 schema | `yss-formily-schema-generator` |
23
23
 
24
- 一个任务可以同时加载多个专项 Skill。`page-form-module` 只在页面容器生命周期命中时加载,不作为本技能的固定依赖。
24
+ 一个任务可以同时加载多个专项 Skill。页面容器生命周期不是本技能的固定依赖;仅当任务是完整业务页面或弹层闭环时加载 `yss-ui-business-page-generation`。
25
25
 
26
26
  ## 边界
27
27
 
@@ -71,7 +71,7 @@ packages/package.json
71
71
  - 不携带 Data Quality 业务页面、默认管理员、生产接口、私网 Postman 同步、部署凭证或残缺 JSP 命令;当前支持 Qiankun 与 standalone,JSP 不在可用基线内。
72
72
  - 不得把 `apps/frontend/` 容器根登记为项目根;Harness 内每个前端项目必须有独立的 `apps/frontend/<project>/` 路径。
73
73
  - 不把模板示例页面当作业务功能交付。
74
- - 生成后仍需使用 `yss-ui-business-page-generation`、`component-selection-imports`、`yss-api-integration` 以及实际命中的表格、树、Formily 等专项 skill 实现业务页面。
74
+ - 生成后仍需使用 `yss-ui`、`yss-ui-business-page-generation`、`yss-api-integration` 以及实际命中的表格、树、Formily 等专项 skill 实现业务页面。
75
75
 
76
76
  ## Output
77
77
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Data Quality v1 通用骨架:Vue 3 / Ant Design Vue 4 / YSS UI,默认浅色、14px 正文、32px 控件。`packages/` 是应用根。YSS 按需注册,新增页面再按实现合同引入表格或表单组件。骨架不含业务页面、用户权限、生产 API 地址或部署凭证。
4
4
 
5
- 使用 Node >=22.12、pnpm 10.15、TypeScript5.9.3;在用户级 npm 配置中设置企业 @yss-ui registry 和认证,然后运行 `pnpm install --frozen-lockfile`。检查使用 `pnpm lint:check`、`pnpm type-check`、`pnpm build` 和 `pnpm build:standalone`。
5
+ 使用 Node >=22.12、pnpm 12.4.2、TypeScript5.9.3;在用户级 npm 配置中设置企业 @yss-ui registry 和认证,然后运行 `pnpm install --frozen-lockfile`。检查使用 `pnpm lint:check`、`pnpm type-check`、`pnpm build` 和 `pnpm build:standalone`。
6
6
 
7
7
  `pnpm dev` 独立预览;Qiankun 注册名为 `__MICROAPP_NAME__`、默认激活路由 `__BASE_ROUTE__`,门户传入 `container` / `routerBase` / `bridgeVersion: 1` / `themeConfig.mode`。资源部署路径由 `VITE_PUBLIC_BASE` 明确设置,不能从路由猜测。复制 `packages/.env.example` 到 `.env.local` 配置本地代理。
8
8
 
@@ -2,10 +2,10 @@
2
2
  "name": "__APP_NAME__",
3
3
  "private": true,
4
4
  "type": "module",
5
- "packageManager": "pnpm@10.15.0",
5
+ "packageManager": "pnpm@12.4.2",
6
6
  "engines": {
7
7
  "node": ">=22.12.0",
8
- "pnpm": ">=10.15.0 <11"
8
+ "pnpm": ">=12.4.2 <13"
9
9
  },
10
10
  "scripts": {
11
11
  "dev": "pnpm -C packages dev",
@@ -1,3 +1,161 @@
1
+ ---
2
+ lockfileVersion: '9.0'
3
+
4
+ importers:
5
+
6
+ .:
7
+ configDependencies: {}
8
+ packageManagerDependencies:
9
+ pnpm:
10
+ specifier: 12.4.2
11
+ version: 12.4.2
12
+
13
+ packages:
14
+
15
+ '@pnpm/exe.android-arm64@12.4.2':
16
+ resolution: {integrity: sha512-E255MbcQ0V1577M2BV0ajWuP7KmTPYA0jqZnk3rK6Lq3kTvZWulMMb7iqRmnLsQbyWTkMEB2CfyM70loVDA8xg==}
17
+ cpu: [arm64]
18
+ os: [android]
19
+
20
+ '@pnpm/exe.android-x64@12.4.2':
21
+ resolution: {integrity: sha512-J1pSeCUwuKxMG70ZzpWn8JzElxiEa8NN/3N0SlZRtU2xbztChaJCKF3HaBNIj9yPfeofWzJo/lwNvDDjraQuZw==}
22
+ cpu: [x64]
23
+ os: [android]
24
+
25
+ '@pnpm/exe.darwin-arm64@12.4.2':
26
+ resolution: {integrity: sha512-A0WDo8iErfZBXgrLseQxw8i8Y9ctUpOEl/Uu+cubnTzpD8tT9ykIB548L8YTM2WD4OS+ZOHSxy8aGZcvKq8PaQ==}
27
+ cpu: [arm64]
28
+ os: [darwin]
29
+
30
+ '@pnpm/exe.darwin-x64@12.4.2':
31
+ resolution: {integrity: sha512-MSgJdovBWHcb5DEOvfPH9yNi/T5O1Xa4ess+E1ESGo/5yuty7S4JoiIjami+fsNXfnoQMlwsMUqYU4zAvBcNCw==}
32
+ cpu: [x64]
33
+ os: [darwin]
34
+
35
+ '@pnpm/exe.freebsd-x64@12.4.2':
36
+ resolution: {integrity: sha512-h2YumlQSNvgbRPv+RXwABohX65f9bOBZn+jMIt7bFDISZPCzQ+Nvpt6Awbp4ip5PwQgYxbu5iREJ1fHE39Fm8A==}
37
+ cpu: [x64]
38
+ os: [freebsd]
39
+
40
+ '@pnpm/exe.linux-arm64-musl@12.4.2':
41
+ resolution: {integrity: sha512-LwSEtSEDTv6S51YLs3YvSkPyun/QmfMic1UGICUkPWFu6ByP43RdMlkKvmVkfGhAYCpnxO057vrmyJqtfZrPCA==}
42
+ cpu: [arm64]
43
+ os: [linux]
44
+ libc: [musl]
45
+
46
+ '@pnpm/exe.linux-arm64@12.4.2':
47
+ resolution: {integrity: sha512-2dSiDXyhx+RTHsewxex8f/jVjqQXWJ2oow4kCVHEWdZKeBpgMxvZ6fHkTAUBJXgqhbKIDHvuNlZBP7gJfUWL5A==}
48
+ cpu: [arm64]
49
+ os: [linux]
50
+ libc: [glibc]
51
+
52
+ '@pnpm/exe.linux-ppc64@12.4.2':
53
+ resolution: {integrity: sha512-8Itc+jQk+MTz04LS9D1RcH+VctAWmzM4l1cJQ+Sx7pAJNo7EKHdRMbC0Tok1jyQ7eEHNJZD5EleYneZqWfZM+g==}
54
+ cpu: [ppc64]
55
+ os: [linux]
56
+ libc: [glibc]
57
+
58
+ '@pnpm/exe.linux-riscv64@12.4.2':
59
+ resolution: {integrity: sha512-hleOeqhTVpH+z9RVMGnxvU4ZnrkBUClWjCbHD9u6kwyqhGSpevoU1wTGish+CBRhmIgMAy9pAfFpqhbAKOKNfw==}
60
+ cpu: [riscv64]
61
+ os: [linux]
62
+ libc: [glibc]
63
+
64
+ '@pnpm/exe.linux-s390x@12.4.2':
65
+ resolution: {integrity: sha512-LAsQRRdP9aToENR6dtcIJ9l+e1zMYOX0tQcLGpRyLPVBQcYRLlvAPcmDshsiIHQjp05SDa9FI0czX1ZQ1a7a/A==}
66
+ cpu: [s390x]
67
+ os: [linux]
68
+ libc: [glibc]
69
+
70
+ '@pnpm/exe.linux-x64-musl@12.4.2':
71
+ resolution: {integrity: sha512-kzfzH2/0BWdTABK14Yj5a1xsdkTEQUp2eXEPNakaD9jKL025lq3hyaKHIz/gIZaPDMe/1bFFK/En4ztFlbBJxw==}
72
+ cpu: [x64]
73
+ os: [linux]
74
+ libc: [musl]
75
+
76
+ '@pnpm/exe.linux-x64@12.4.2':
77
+ resolution: {integrity: sha512-/pbt0UVTa8NMDhzOWLQRfZ6G9ROKXlJPZtx845BqyWfc7hCrWXhTLBd70yO2y8+E+IWN3oHM1s/JsIQNGk1yvg==}
78
+ cpu: [x64]
79
+ os: [linux]
80
+ libc: [glibc]
81
+
82
+ '@pnpm/exe.win32-arm64@12.4.2':
83
+ resolution: {integrity: sha512-PsW19e4dAUNpZ0cS9flaxFuAmpt2dKlH/Vvi8TZ4qyJjjQzue/CEsWm+6wKVP4CJ7IT8RdL4qh+soOPWIgF2Zw==}
84
+ cpu: [arm64]
85
+ os: [win32]
86
+
87
+ '@pnpm/exe.win32-x64@12.4.2':
88
+ resolution: {integrity: sha512-+xGoeE0g55ztWvl8i5QqdmNfW3nIrTVcoQrNshEOwxthm9Ag48oXton3uxOA3/SANyz5AXexEjj2KO20NnOrEw==}
89
+ cpu: [x64]
90
+ os: [win32]
91
+
92
+ pnpm@12.4.2:
93
+ resolution: {integrity: sha512-CK3GYTGAJ1x8ntraOdzwjJxhrU5+rzMKTzRh8QKw+QdCNFTRF/mOctR/7wYWBwZE17/8lzpqV/UJCm18NosHyQ==}
94
+ engines: {node: '>=18.*'}
95
+ hasBin: true
96
+
97
+ snapshots:
98
+
99
+ '@pnpm/exe.android-arm64@12.4.2':
100
+ optional: true
101
+
102
+ '@pnpm/exe.android-x64@12.4.2':
103
+ optional: true
104
+
105
+ '@pnpm/exe.darwin-arm64@12.4.2':
106
+ optional: true
107
+
108
+ '@pnpm/exe.darwin-x64@12.4.2':
109
+ optional: true
110
+
111
+ '@pnpm/exe.freebsd-x64@12.4.2':
112
+ optional: true
113
+
114
+ '@pnpm/exe.linux-arm64-musl@12.4.2':
115
+ optional: true
116
+
117
+ '@pnpm/exe.linux-arm64@12.4.2':
118
+ optional: true
119
+
120
+ '@pnpm/exe.linux-ppc64@12.4.2':
121
+ optional: true
122
+
123
+ '@pnpm/exe.linux-riscv64@12.4.2':
124
+ optional: true
125
+
126
+ '@pnpm/exe.linux-s390x@12.4.2':
127
+ optional: true
128
+
129
+ '@pnpm/exe.linux-x64-musl@12.4.2':
130
+ optional: true
131
+
132
+ '@pnpm/exe.linux-x64@12.4.2':
133
+ optional: true
134
+
135
+ '@pnpm/exe.win32-arm64@12.4.2':
136
+ optional: true
137
+
138
+ '@pnpm/exe.win32-x64@12.4.2':
139
+ optional: true
140
+
141
+ pnpm@12.4.2:
142
+ optionalDependencies:
143
+ '@pnpm/exe.android-arm64': 12.4.2
144
+ '@pnpm/exe.android-x64': 12.4.2
145
+ '@pnpm/exe.darwin-arm64': 12.4.2
146
+ '@pnpm/exe.darwin-x64': 12.4.2
147
+ '@pnpm/exe.freebsd-x64': 12.4.2
148
+ '@pnpm/exe.linux-arm64': 12.4.2
149
+ '@pnpm/exe.linux-arm64-musl': 12.4.2
150
+ '@pnpm/exe.linux-ppc64': 12.4.2
151
+ '@pnpm/exe.linux-riscv64': 12.4.2
152
+ '@pnpm/exe.linux-s390x': 12.4.2
153
+ '@pnpm/exe.linux-x64': 12.4.2
154
+ '@pnpm/exe.linux-x64-musl': 12.4.2
155
+ '@pnpm/exe.win32-arm64': 12.4.2
156
+ '@pnpm/exe.win32-x64': 12.4.2
157
+
158
+ ---
1
159
  lockfileVersion: '9.0'
2
160
 
3
161
  settings:
@@ -17,10 +17,10 @@
17
17
  ".gitignore": "sha256:fb8288522033f645a728dfb53cef24a11824bdbec858b93279d4809924b4539d",
18
18
  ".npmrc.example": "sha256:cee4433295152854b58babea9072215a2d84b8de086d218b15ffb7e84f1fe9e1",
19
19
  "DESIGN.md": "sha256:e84a6c175840efe9663a2d0aba37f5635c053f47452bb146d1025d65665b1bec",
20
- "README.md": "sha256:6d8ed1aed45267f3c581733a7d12b0b891dc94c800d1416a0b172355031b4b96",
20
+ "README.md": "sha256:745bd31b3397876fc239bde12378bc265a1a8d1626159f188de76873951d471a",
21
21
  "micro-config.json": "sha256:8266b0eb806696d6bb2023a0d1e72113cdffc355bb0fafd8b2095d727f827711",
22
22
  "orval.config.ts": "sha256:d918458e4ee972ae94740899dd15701530bdc31fd758240fc00e96aba3ba9b3a",
23
- "package.json": "sha256:29cd516ba688ae3a3625b4f3a3921c47825134cff27622732ef942c4129c7222",
23
+ "package.json": "sha256:51a73185fac255062e4f3eaa415017f9c9886d5e3aac4ff483694c49ae810ba7",
24
24
  "packages/.env.development": "sha256:e698b56d83ad282c221e2c8067bc4e3e90789c610fd31da2489bd3ac2d8efc5f",
25
25
  "packages/.env.example": "sha256:b8cf60af269af3f4dc3c167df88045af949683b302bd9b77e50fb77fa1adf81f",
26
26
  "packages/.env.production": "sha256:b0a96ab02559a99fc95c37b967f604675686c8de336731a1721d54f43b047249",
@@ -43,7 +43,7 @@
43
43
  "packages/src/views/Welcome.vue": "sha256:0498edee6e25b45644a2d12c6fded1e3c0fda830c9196d4fc5389b94fb1a0e0d",
44
44
  "packages/tsconfig.json": "sha256:40e27bb07cd4ae8c0c636b5d9581fe378d00e21acb28423cc2a08bfa1a67c11f",
45
45
  "packages/vite.config.ts": "sha256:d3c1775bdca54e1b0f2b267a7dae992cc61836891588e93e02caa49184cb2ab2",
46
- "pnpm-lock.yaml": "sha256:dd05bbc9c948cb47de017fa215806d04f0f9f143d3c953b43076a62e5fd85d9b",
46
+ "pnpm-lock.yaml": "sha256:ddab6b19cb74c769ba1cd3854d3eb0649843e8136811b7cbf2800c3084f73949",
47
47
  "pnpm-workspace.yaml": "sha256:d5cdbd2e0a167297976d11695d1593a4e71694ed462120569e20e98fd9c63fbe"
48
48
  }
49
49
  }
@@ -66,6 +66,11 @@ const saveBundle = () => writeFileSync(contractFile, JSON.stringify(bundle));
66
66
  saveBundle();
67
67
  const bundled = generate({ contractFile, outputDir: bundle.target_output_dir });
68
68
  assert.equal(bundled.template.checkout, undefined);
69
+ const bundledPackage = JSON.parse(readFileSync(path.join(bundle.target_output_dir, 'package.json')));
70
+ assert.equal(bundledPackage.packageManager, 'pnpm@12.4.2');
71
+ assert.equal(bundledPackage.engines.node, '>=22.12.0');
72
+ assert.equal(bundledPackage.engines.pnpm, '>=12.4.2 <13');
73
+ assert.match(readFileSync(path.join(bundle.target_output_dir, 'README.md'), 'utf8'), /pnpm 12\.4\.2/);
69
74
  assert.equal(JSON.parse(readFileSync(path.join(bundle.target_output_dir, 'packages/package.json'))).dependencies['ant-design-vue'], '4.2.6');
70
75
  assert.equal(JSON.parse(readFileSync(path.join(bundle.target_output_dir, 'packages/src/config/theme.json'))).algorithm, 'default');
71
76
  for (const forbidden of ['.npmrc', 'node_modules', '.git', 'packages/src/views/datasource/index.vue', 'scripts/sync-openapi.js']) assert.equal(existsSync(path.join(bundle.target_output_dir, forbidden)), false, forbidden);
@@ -13,7 +13,7 @@ description: Use when YSS Vue 页面涉及 vue-hooks-plus/useRequest、分页、
13
13
  - Vue Hooks Plus `useRequest`: `https://inhiblabcore.github.io/vue-hooks-plus/zh/hooks/useRequest/quick-start`
14
14
  - Local reference index: `references/frontend-docs.md`
15
15
 
16
- 本技能负责请求执行、分页/筛选参数、选择状态、响应映射和页面级调度。接口导入与 Orval mutator 使用 `yss-api-integration`;页面布局和组件选型从 `yss-ui` 路由到 `page-skeleton`、`component-selection-imports` 及具体组件 Skill;高度计算分别使用 `yss-use-table-height` 或 `yss-use-tree-height`。
16
+ 本技能负责请求执行、分页/筛选参数、选择状态、响应映射、异步竞态和页面级调度。接口导入与 Orval mutator 使用 `yss-api-integration`;页面布局和组件选型从 `yss-ui` 路由到 `yss-ui-business-page-generation` 及具体组件 Skill;表格和树高度分别服从 `ytable-usage`、`yedit-table-usage`、`ytree-usage`。
17
17
 
18
18
  官方 `@yss-ui/hooks` 当前公开 `useFullscreen`、`useTreeHeight`、`useTableHeight`、`useLoading`、`usePollingTask` 与 `useUrlState`。`useRequest`、防抖、缓存或重试不属于这套公开 YSS Hooks 契约。仅当项目已批准 `vue-hooks-plus` 及其具体版本时,才可使用第 3 节的 `useRequest`;不得把它命名或包装成 YSS 官方 API。
19
19
 
@@ -34,6 +34,7 @@ description: Use when YSS Vue 页面涉及 vue-hooks-plus/useRequest、分页、
34
34
  - 将请求执行、参数合并、响应映射与数据竞争处理放在 `hooks/useXxx.ts`;页面只保留布局、事件绑定和渲染。
35
35
  - 以业务域划分 Hook,而不是为每个微小工具函数各建一个 Hook。
36
36
  - 每个对外动作都必须有明确的 loading、成功、失败和数据陈旧策略;不要把这些分支留给模板或页面组件。
37
+ - 组件内不直接修改 `props`;双向绑定使用 `emit('update:xxx')`。模板不承载复杂业务表达式,优先下沉 `computed` 或业务 Hook;避免无边界的深层 `watch`,只观察明确依赖源。
37
38
 
38
39
  ## 2. 列表 / 分页 Hook
39
40
 
@@ -185,7 +186,7 @@ const polling = usePollingTask(async ({ isCurrent, signal }) => {
185
186
 
186
187
  - `useUrlState()`:返回扁平字符串 `state`、`setState`、`clearKeys`、`clearState`。`setState` 合并状态,`undefined`、`null`、空字符串删除键。默认 `mode: 'replace'`、`strategy: 'history'`;需要路由守卫或导航语义时用 `strategy: 'router'`。
187
188
  - `useFullscreen(target, options?)`:返回 `isFullscreen`、`enterFullscreen`、`exitFullscreen`、`toggleFullscreen`、`isEnabled`。浏览器真全屏需要用户手势;`pageFullscreen` 是 CSS 模拟全屏,可配置 `className`、`zIndex`,并可用 `escTip` 控制提示。
188
- - `useTreeHeight` 与 `useTableHeight` 通过 `ResizeObserver` 计算可用高度。树的 `extraOffset` 仅用于 YTree 内置 `filterable` 搜索区;表格可配置 `boundaryRef` 避免尺寸反馈循环,并可扣除分页、工具栏或新增按钮高度。具体布局约束交由 `yss-use-tree-height` / `yss-use-table-height`。
189
+ - `useTreeHeight` 与 `useTableHeight` 通过 `ResizeObserver` 计算可用高度。树的 `extraOffset` 仅用于 YTree 内置 `filterable` 搜索区;表格可配置 `boundaryRef` 避免尺寸反馈循环,并可扣除分页、工具栏或新增按钮高度。具体布局约束交由 `ytree-usage` / `ytable-usage` / `yedit-table-usage`。
189
190
 
190
191
  ## 8. 返回契约与自检
191
192
 
@@ -150,7 +150,7 @@
150
150
  | `yss-validation` | `yss-exception` | `component-dependency` | — |
151
151
  | `yss-security-algorithm` | `yss-exception` | `component-dependency` | — |
152
152
  | `yss-exception` | `yss-dto` | `context-required` | — |
153
- | `yss-ui-business-page-generation` | `component-selection-imports` | `context-conditional` | `components` |
153
+ | `yss-ui-business-page-generation` | `yss-ui` | `context-required` | — |
154
154
  | `yss-ui-business-page-generation` | `yss-hook` | `context-conditional` | `hooks` |
155
155
  | `yss-ui-business-page-generation` | `yss-formily` | `context-conditional` | `form` |
156
156
  | `yss-ui-business-page-generation` | `yss-api-integration` | `context-conditional` | `api` |
@@ -70,7 +70,7 @@ node scripts/generate_and_verify_scaffold.mjs \
70
70
  ## 硬约束
71
71
 
72
72
  - 新生成只接受包含 API Contract Decision 的统一 schema v4;缺 API 字段的预发布 v4 不得静默接受。验证器可只读检查历史 Manifest v3,恢复必须另行完成所有权审计、技术/数据/API 设计补齐与当前批准。历史 v2/v3 均不用于新生成。
73
- - `architecture_family` 必须为 `layered-mvc`,`generator_skill` 必须为本 skill。历史 `yss-mvc-data-analysis-project-initializer` 合同必须返回 `skill-deprecated`、标记 `stale` 并重编译,不自动替换或继承批准。
73
+ - `architecture_family` 必须为 `layered-mvc`,`generator_skill` 必须为本 skill。旧数据分析初始化合同必须标记 `stale` 并按 `mvc-data-analysis-v1` Profile 重编译,不自动替换或继承批准。
74
74
  - 目标存在、`--force`、旧项目迁移、模板升级均为 `unsupported`。
75
75
  - Harness 内只允许以 `apps/backend/` 为输出父容器;外部实现仓库使用已登记真实路径。
76
76
  - 不生成业务示例。健康检查、上下文加载测试和架构测试只能验证机械工程能力,不定义用户可见 API。
@@ -93,13 +93,6 @@ test("数据分析初始化生成 H2 六模块和独立治理信封", async (t)
93
93
  assert.doesNotMatch(core, /demo-service-client|spring-web|ojdbc|mysql-connector/);
94
94
  });
95
95
 
96
- test("历史数据分析初始化入口只返回稳定退役错误", () => {
97
- const initializer = path.resolve(path.dirname(script), "../../yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs");
98
- const result = spawnSync(process.execPath, [initializer], { encoding: "utf8" });
99
- assert.notEqual(result.status, 0);
100
- assert.match(result.stderr, /^skill-deprecated:/);
101
- });
102
-
103
96
  test("数据分析 Profile 缺少 CONTEXT handoff 或独立 Git 合同时零写入阻断", async (t) => {
104
97
  const profile = { capabilities: [], modules: ["server", "core", "client", "repository", "adapter", "feign-client"] };
105
98
  const missingContext = await fixture(t, { architectureProfile: "mvc-data-analysis-v1", profile });
@@ -299,7 +299,7 @@ skill_source_contract:
299
299
  lock_version: 3
300
300
  source_revisions_required: [mattpocock/skills, iloveZzz/yss-ui]
301
301
  adaptation_ref_required_when_effective_diff: true
302
- retired_shared_skills: [yss-antd-design, yss-antdv-next-design, ask-matt, batch-grill-me, dispatching-parallel-agents, loop-me, migrate-to-shoehorn, product-design-prototype, prototype-page-acceptance, scaffold-exercises, setup-pre-commit, setup-ts-deep-modules, teach, writing-beats, writing-fragments, writing-shape, yss-components, yss-dictionary, yss-jdbc, yss-log, yss-microapp-commit, yss-mvc-scaffold-generator, yss-page-module-development, yss-taskflow, yss-backend-scaffold-application, yss-backend-scaffold-domain, yss-backend-scaffold-infrastructure, yss-backend-scaffold-web, yss-backend-scaffold-adapter, yss-application-layer-reference, yss-domain-layer-reference, yss-infrastructure-layer-reference, yss-web-layer-reference]
302
+ retired_shared_skills: [yss-antd-design, yss-antdv-next-design, ask-matt, batch-grill-me, dispatching-parallel-agents, loop-me, migrate-to-shoehorn, product-design-prototype, prototype-page-acceptance, scaffold-exercises, setup-pre-commit, setup-ts-deep-modules, teach, writing-beats, writing-fragments, writing-shape, yss-components, yss-dictionary, yss-jdbc, yss-log, yss-microapp-commit, yss-mvc-scaffold-generator, yss-mvc-design, yss-mvc-data-analysis-project-initializer, yss-backend-scaffold-parent, yss-page-module-development, yss-taskflow, yss-backend-scaffold-application, yss-backend-scaffold-domain, yss-backend-scaffold-infrastructure, yss-backend-scaffold-web, yss-backend-scaffold-adapter, yss-application-layer-reference, yss-domain-layer-reference, yss-infrastructure-layer-reference, yss-web-layer-reference]
303
303
 
304
304
  # 生命周期默认走原生工作单元;Matt user-invoked skill 仅保留为兼容入口。
305
305
  lifecycle_native_entries:
@@ -462,7 +462,6 @@ work_unit_routes:
462
462
  formily_impact: [yss-formily]
463
463
  table_impact: [ytable-usage, yedit-table-usage]
464
464
  tree_impact: [ytree-usage]
465
- height_impact: [yss-use-table-height, yss-use-tree-height]
466
465
  export_impact: [file-export-download]
467
466
  theme_impact: [theme-token-usage]
468
467
  not_applicable_reasons:
@@ -470,7 +469,6 @@ work_unit_routes:
470
469
  formily_impact: no_formily_impact
471
470
  table_impact: no_table_impact
472
471
  tree_impact: no_tree_impact
473
- height_impact: no_height_impact
474
472
  export_impact: no_export_impact
475
473
  theme_impact: no_theme_impact
476
474
  applies_when: ready_for_agent
@@ -31,5 +31,6 @@ Frontend docs are written to these skills:
31
31
  | --- | --- |
32
32
  | `yss-ui` | components, hooks, skills docs |
33
33
  | `yss-hook` | hooks docs |
34
- | `yss-use-table-height` | hooks docs |
35
- | `yss-use-tree-height` | hooks docs |
34
+ | `ytable-usage` | hooks docs |
35
+ | `yedit-table-usage` | hooks docs |
36
+ | `ytree-usage` | hooks docs |
@@ -58,8 +58,9 @@ const FRONTEND = {
58
58
  "yss-ui": ["components", "hooks", "skills"],
59
59
  "yss-hook": ["hooks"],
60
60
  "yss-ui-business-page-generation": ["components", "hooks", "skills"],
61
- "yss-use-table-height": ["hooks"],
62
- "yss-use-tree-height": ["hooks"],
61
+ "ytable-usage": ["hooks"],
62
+ "yedit-table-usage": ["hooks"],
63
+ "ytree-usage": ["hooks"],
63
64
  };
64
65
 
65
66
  const URLS = {
@@ -30,7 +30,7 @@ description: 在 YSS 技术分析中统一承接需求与战略输入,按已
30
30
 
31
31
  新产物使用 schema v2 Technical Design Contract:共同头记录架构来源、输入版本与摘要、规则/场景承接、评审证据和状态,`design` 保存架构专属内容。合同格式与兼容规则见 `references/technical-design-contract.md`,Schema 见 `references/technical-design.schema.json`。
32
32
 
33
- MVC `design` 分支由 `references/mvc-design.schema.json` 约束。无状态流转或外部集成时记录有依据的不适用;业务规则和关键场景必须关联具体用例与成功/失败测试 seam。MVC 与 DDD 使用同一承接和审查要求,不能因采用分层 MVC 省略规则、一致性或测试设计。历史 `yss-mvc-design` 入口仅保留迁移提示,不再拥有该能力或被新合同调用。
33
+ MVC `design` 分支由 `references/mvc-design.schema.json` 约束。无状态流转或外部集成时记录有依据的不适用;业务规则和关键场景必须关联具体用例与成功/失败测试 seam。MVC 与 DDD 使用同一承接和审查要求,不能因采用分层 MVC 省略规则、一致性或测试设计。旧 MVC 设计合同必须迁移到本入口并重新编译、批准。
34
34
 
35
35
  运行 `node .agents/skills/yss-technical-design/scripts/validate-technical-design.mjs <合同> --root <项目根>`。整体存在延期或冲突即阻断整体;相关切片可带 `--slice <切片ID>` 按依赖核验,仍须合同已批准。校验成功只返回审查输入,不批准、不设置 `ready-for-agent`。
36
36
 
@@ -1,6 +1,6 @@
1
1
  # Technical Design Contract v2
2
2
 
3
- 共同合同字段由 `technical-design-common.schema.json` 定义,完整 `technical-design.schema.json` 通过 `scripts/generate-schema.mjs` 合并专项 Schema 派生,使用 `--check` 检查同步,`design` 按 `architecture.family` 校验:`domain-driven` 沿用 DDD v1 内容结构,`layered-mvc` 使用本 skill 的 `references/mvc-design.schema.json`。DDD 内层的 schema/version/status 是分支内容版本,status 必须与共同头一致;战略交接绑定只写共同头,避免双重维护。历史 `yss-mvc-design/references/mvc-design.schema.json` 只用于退役期等价核验,不是新合同依赖。
3
+ 共同合同字段由 `technical-design-common.schema.json` 定义,完整 `technical-design.schema.json` 通过 `scripts/generate-schema.mjs` 合并专项 Schema 派生,使用 `--check` 检查同步,`design` 按 `architecture.family` 校验:`domain-driven` 沿用 DDD v1 内容结构,`layered-mvc` 使用本 skill 的 `references/mvc-design.schema.json`。DDD 内层的 schema/version/status 是分支内容版本,status 必须与共同头一致;战略交接绑定只写共同头,避免双重维护。
4
4
 
5
5
  ## 共同头
6
6
 
@@ -15,8 +15,7 @@ const root = mkdtempSync(path.join(tmpdir(), 'yss-technical-design-'));
15
15
  let checks = 0;
16
16
  try {
17
17
  const activeMvcSchema = JSON.parse(readFileSync(fileURLToPath(new URL('../references/mvc-design.schema.json', import.meta.url)), 'utf8'));
18
- const deprecatedMvcSchema = JSON.parse(readFileSync(fileURLToPath(new URL('../../yss-mvc-design/references/mvc-design.schema.json', import.meta.url)), 'utf8'));
19
- assert.deepEqual(activeMvcSchema, deprecatedMvcSchema); checks++;
18
+ assert.equal(activeMvcSchema.title, 'YSS MVC 技术设计内容'); checks++;
20
19
  const mvc = mvcFixture(root);
21
20
  const validate = data => validateTechnicalDesign(data, { root });
22
21
  assert.equal((await validate(mvc)).architecture_family, 'layered-mvc'); checks++;
@@ -5,7 +5,7 @@ description: "选择和核验 YSS Vue 生产页面组件及 Ant Design Vue 兼
5
5
 
6
6
  # YSS UI 统一路由与交付门禁
7
7
 
8
- 本技能是 YSS Vue 生产页面的统一入口。它负责组件路由、版本预检、跨组件约束和交付证据;具体组件、请求、表单和高度实现交给最小专项 skill,避免重复维护 API 细节。
8
+ 本技能是 YSS Vue 生产页面的统一入口。它负责组件与导入来源路由、版本预检、跨组件约束和交付证据;具体页面、组件、请求和表单实现交给最小专项 skill,避免重复维护 API 细节。
9
9
 
10
10
  ## 1. 权威事实顺序
11
11
 
@@ -51,16 +51,19 @@ pnpm why vue @yss-ui/components @yss-ui/hooks ant-design-vue vxe-table
51
51
  - `YFormily` 是新代码 canonical name;`YssFormily` 仅作为已确认导出的历史兼容 alias。
52
52
  - `YSplitPane`、`YButton`、`YCard` 等已有封装优先使用 YSS。
53
53
 
54
+ 导入来源必须可追溯:优先使用当前会话的 yss-ui MCP 查询真实组件、Hook、Utils 与导出包;不可用时再读取与安装版本匹配的本地文档、`llms-full.txt`、源码 `src/index.ts` 和已编译用法。已导出的能力分别从 `@yss-ui/components`、`@yss-ui/hooks`、`@yss-ui/utils` 导入;确认未封装的 `Modal`、`Drawer`、`Popconfirm`、`Input` 等才从 `ant-design-vue` 导入。禁止臆造 `YModal`、`YDrawer`、`YInput`、`YPopconfirm` 或直接导入 `@formily/antdv` 业务 UI。
55
+
54
56
  ## 4. 最小专项 skill 路由
55
57
 
56
58
  | 任务 | 必须路由 |
57
59
  |---|---|
58
60
  | 新建或改造完整业务页面 | `yss-ui-business-page-generation` |
59
- | 页面布局与无独立 Skill 的专项组件 | `page-skeleton`、`component-selection-imports`、`references/specialized-components.md` |
61
+ | 页面布局与无独立 Skill 的专项组件 | `yss-ui-business-page-generation`、`references/component-routing.md`、`references/specialized-components.md` |
60
62
  | 请求、分页、参数、树数据映射 | `yss-hook` |
61
63
  | Formily schema、联动、校验、详情态 | `yss-formily` |
62
- | 表格高度 | `yss-use-table-height` |
63
- | 树高度 | `yss-use-tree-height` |
64
+ | YTable 与表格高度 | `ytable-usage` |
65
+ | YEditTable 与表格高度 | `yedit-table-usage` |
66
+ | YTree 与树高度 | `ytree-usage` |
64
67
  | Orval、API、useRequest 接入 | `yss-api-integration` |
65
68
  | 视觉、token、响应式体验 | `yss-design-system` |
66
69
 
@@ -133,7 +136,7 @@ verification: pnpm type-check
133
136
  3. 搭页面目录和布局。
134
137
  4. 接 `YFormily`、`YTable`、`YTree` 等 YSS 主体组件。
135
138
  5. 下沉请求、分页和映射到 `yss-hook`。
136
- 6. 接高度、主题、locale、浮层和无障碍约束。
139
+ 6. 按组件专项接高度,再接主题、locale、浮层和无障碍约束。
137
140
  7. 联调冻结 API、Mock、路由和权限。
138
141
  8. 按 `references/verification.md` 完成分层验证。
139
142
 
@@ -142,7 +145,7 @@ verification: pnpm type-check
142
145
  - [ ] 已记录 Vue、YSS UI、AntDV、VXE 实际版本。
143
146
  - [ ] 组件选型符合 `component-routing.md`,回退有证据。
144
147
  - [ ] 新代码使用 `YFormily` 和真实存在的 `yss-hook`。
145
- - [ ] YTable/YTree/Formily/高度 Hook 遵循专项 skill。
148
+ - [ ] YTable/YEditTable/YTree/Formily 及其高度 Hook 遵循对应组件专项 skill。
146
149
  - [ ] 主题、locale、浮层容器和微应用隔离已检查。
147
150
  - [ ] loading/empty/error/no-access/selected 状态按影响面覆盖。
148
151
  - [ ] 键盘、焦点、标签和颜色对比度已检查。