create-yss-spec 3.4.6 → 3.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) 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/code-review/references/yss-review-standards.md +22 -0
  5. package/template/.agents/skills/formily-mode-slot-detail/SKILL.md +3 -4
  6. package/template/.agents/skills/lombok/SKILL.md +1 -1
  7. package/template/.agents/skills/mapstruct/SKILL.md +3 -1
  8. package/template/.agents/skills/yedit-table-usage/SKILL.md +2 -0
  9. package/template/.agents/skills/yss-application/references/application-layer-guide.md +7 -0
  10. package/template/.agents/skills/yss-backend-spec-review/SKILL.md +38 -0
  11. package/template/.agents/skills/yss-backend-spec-review/references/check-inputs.md +21 -0
  12. package/template/.agents/skills/yss-backend-spec-review/references/remediation-workflow.md +48 -0
  13. package/template/.agents/skills/yss-backend-spec-review/tests/routing.test.mjs +19 -0
  14. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +6 -4
  15. package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/java/architecture-rules-test.java.template +60 -23
  16. package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +6 -0
  17. package/template/.agents/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +1 -1
  18. package/template/.agents/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +4 -2
  19. package/template/.agents/skills/yss-ddd-scaffold-generator/references/engineering-baseline.md +7 -1
  20. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +6 -10
  21. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +12 -16
  22. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +36 -88
  23. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +4 -3
  24. package/template/.agents/skills/yss-design-system/SKILL.md +2 -2
  25. package/template/.agents/skills/yss-domain/references/domain-layer-guide.md +8 -1
  26. package/template/.agents/skills/yss-formily/SKILL.md +2 -2
  27. package/template/.agents/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
  28. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/README.md +1 -1
  29. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/package.json +2 -2
  30. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-lock.yaml +158 -0
  31. package/template/.agents/skills/yss-frontend-scaffold-generator/references/data-quality-v1.manifest.json +3 -3
  32. package/template/.agents/skills/yss-frontend-scaffold-generator/scripts/scaffold-generator.test.mjs +5 -0
  33. package/template/.agents/skills/yss-hook/SKILL.md +3 -2
  34. package/template/.agents/skills/yss-implementation-contract-compiler/references/boundaries.md +6 -1
  35. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  36. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/assets/templates/architecture-rules-test.java.template +66 -0
  37. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +4 -2
  38. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +0 -7
  39. package/template/.agents/skills/yss-mybatis/SKILL.md +4 -0
  40. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -3
  41. package/template/.agents/skills/yss-repository/references/profiles/target-domain-model.md +10 -2
  42. package/template/.agents/skills/yss-skill-source-index-refresh/references/source-map-config.md +3 -2
  43. package/template/.agents/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +3 -2
  44. package/template/.agents/skills/yss-technical-design/SKILL.md +1 -1
  45. package/template/.agents/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  46. package/template/.agents/skills/yss-technical-design/tests/run-scenarios.mjs +1 -2
  47. package/template/.agents/skills/yss-ui/SKILL.md +9 -6
  48. package/template/.agents/skills/yss-ui/references/component-routing.md +11 -4
  49. package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +5 -1
  50. package/template/.agents/skills/yss-ui-business-page-generation/references/hooks-map.md +3 -2
  51. package/template/.agents/skills/yss-web-controller/references/web-adapter-layer-guide.md +8 -0
  52. package/template/.agents/skills/ytable-usage/SKILL.md +14 -7
  53. package/template/.agents/skills/ytree-usage/SKILL.md +1 -0
  54. package/template/.codex/skills/code-review/references/yss-review-standards.md +22 -0
  55. package/template/.codex/skills/formily-mode-slot-detail/SKILL.md +3 -4
  56. package/template/.codex/skills/lombok/SKILL.md +1 -1
  57. package/template/.codex/skills/mapstruct/SKILL.md +3 -1
  58. package/template/.codex/skills/yedit-table-usage/SKILL.md +2 -0
  59. package/template/.codex/skills/yss-application/references/application-layer-guide.md +7 -0
  60. package/template/.codex/skills/yss-backend-spec-review/SKILL.md +38 -0
  61. package/template/.codex/skills/yss-backend-spec-review/references/check-inputs.md +21 -0
  62. package/template/.codex/skills/yss-backend-spec-review/references/remediation-workflow.md +48 -0
  63. package/template/.codex/skills/yss-backend-spec-review/tests/routing.test.mjs +19 -0
  64. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +6 -4
  65. package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/java/architecture-rules-test.java.template +60 -23
  66. package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +6 -0
  67. package/template/.codex/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +1 -1
  68. package/template/.codex/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +4 -2
  69. package/template/.codex/skills/yss-ddd-scaffold-generator/references/engineering-baseline.md +7 -1
  70. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +6 -10
  71. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +12 -16
  72. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +36 -88
  73. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +4 -3
  74. package/template/.codex/skills/yss-design-system/SKILL.md +2 -2
  75. package/template/.codex/skills/yss-domain/references/domain-layer-guide.md +8 -1
  76. package/template/.codex/skills/yss-formily/SKILL.md +2 -2
  77. package/template/.codex/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
  78. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/README.md +1 -1
  79. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/package.json +2 -2
  80. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-lock.yaml +158 -0
  81. package/template/.codex/skills/yss-frontend-scaffold-generator/references/data-quality-v1.manifest.json +3 -3
  82. package/template/.codex/skills/yss-frontend-scaffold-generator/scripts/scaffold-generator.test.mjs +5 -0
  83. package/template/.codex/skills/yss-hook/SKILL.md +3 -2
  84. package/template/.codex/skills/yss-implementation-contract-compiler/references/boundaries.md +6 -1
  85. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  86. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/assets/templates/architecture-rules-test.java.template +66 -0
  87. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +4 -2
  88. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +0 -7
  89. package/template/.codex/skills/yss-mybatis/SKILL.md +4 -0
  90. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -3
  91. package/template/.codex/skills/yss-repository/references/profiles/target-domain-model.md +10 -2
  92. package/template/.codex/skills/yss-skill-source-index-refresh/references/source-map-config.md +3 -2
  93. package/template/.codex/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +3 -2
  94. package/template/.codex/skills/yss-technical-design/SKILL.md +1 -1
  95. package/template/.codex/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  96. package/template/.codex/skills/yss-technical-design/tests/run-scenarios.mjs +1 -2
  97. package/template/.codex/skills/yss-ui/SKILL.md +9 -6
  98. package/template/.codex/skills/yss-ui/references/component-routing.md +11 -4
  99. package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +5 -1
  100. package/template/.codex/skills/yss-ui-business-page-generation/references/hooks-map.md +3 -2
  101. package/template/.codex/skills/yss-web-controller/references/web-adapter-layer-guide.md +8 -0
  102. package/template/.codex/skills/ytable-usage/SKILL.md +14 -7
  103. package/template/.codex/skills/ytree-usage/SKILL.md +1 -0
  104. package/template/.cursor/skills/code-review/references/yss-review-standards.md +22 -0
  105. package/template/.cursor/skills/formily-mode-slot-detail/SKILL.md +3 -4
  106. package/template/.cursor/skills/lombok/SKILL.md +1 -1
  107. package/template/.cursor/skills/mapstruct/SKILL.md +3 -1
  108. package/template/.cursor/skills/yedit-table-usage/SKILL.md +2 -0
  109. package/template/.cursor/skills/yss-application/references/application-layer-guide.md +7 -0
  110. package/template/.cursor/skills/yss-backend-spec-review/SKILL.md +38 -0
  111. package/template/.cursor/skills/yss-backend-spec-review/references/check-inputs.md +21 -0
  112. package/template/.cursor/skills/yss-backend-spec-review/references/remediation-workflow.md +48 -0
  113. package/template/.cursor/skills/yss-backend-spec-review/tests/routing.test.mjs +19 -0
  114. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +6 -4
  115. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/java/architecture-rules-test.java.template +60 -23
  116. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +6 -0
  117. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +1 -1
  118. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +4 -2
  119. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/engineering-baseline.md +7 -1
  120. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +6 -10
  121. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +12 -16
  122. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +36 -88
  123. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +4 -3
  124. package/template/.cursor/skills/yss-design-system/SKILL.md +2 -2
  125. package/template/.cursor/skills/yss-domain/references/domain-layer-guide.md +8 -1
  126. package/template/.cursor/skills/yss-formily/SKILL.md +2 -2
  127. package/template/.cursor/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
  128. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/README.md +1 -1
  129. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/package.json +2 -2
  130. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-lock.yaml +158 -0
  131. package/template/.cursor/skills/yss-frontend-scaffold-generator/references/data-quality-v1.manifest.json +3 -3
  132. package/template/.cursor/skills/yss-frontend-scaffold-generator/scripts/scaffold-generator.test.mjs +5 -0
  133. package/template/.cursor/skills/yss-hook/SKILL.md +3 -2
  134. package/template/.cursor/skills/yss-implementation-contract-compiler/references/boundaries.md +6 -1
  135. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  136. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/assets/templates/architecture-rules-test.java.template +66 -0
  137. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +4 -2
  138. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +0 -7
  139. package/template/.cursor/skills/yss-mybatis/SKILL.md +4 -0
  140. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -3
  141. package/template/.cursor/skills/yss-repository/references/profiles/target-domain-model.md +10 -2
  142. package/template/.cursor/skills/yss-skill-source-index-refresh/references/source-map-config.md +3 -2
  143. package/template/.cursor/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +3 -2
  144. package/template/.cursor/skills/yss-technical-design/SKILL.md +1 -1
  145. package/template/.cursor/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  146. package/template/.cursor/skills/yss-technical-design/tests/run-scenarios.mjs +1 -2
  147. package/template/.cursor/skills/yss-ui/SKILL.md +9 -6
  148. package/template/.cursor/skills/yss-ui/references/component-routing.md +11 -4
  149. package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +5 -1
  150. package/template/.cursor/skills/yss-ui-business-page-generation/references/hooks-map.md +3 -2
  151. package/template/.cursor/skills/yss-web-controller/references/web-adapter-layer-guide.md +8 -0
  152. package/template/.cursor/skills/ytable-usage/SKILL.md +14 -7
  153. package/template/.cursor/skills/ytree-usage/SKILL.md +1 -0
  154. package/template/.pi/skills/code-review/references/yss-review-standards.md +22 -0
  155. package/template/.pi/skills/formily-mode-slot-detail/SKILL.md +3 -4
  156. package/template/.pi/skills/lombok/SKILL.md +1 -1
  157. package/template/.pi/skills/mapstruct/SKILL.md +3 -1
  158. package/template/.pi/skills/yedit-table-usage/SKILL.md +2 -0
  159. package/template/.pi/skills/yss-application/references/application-layer-guide.md +7 -0
  160. package/template/.pi/skills/yss-backend-spec-review/SKILL.md +38 -0
  161. package/template/.pi/skills/yss-backend-spec-review/references/check-inputs.md +21 -0
  162. package/template/.pi/skills/yss-backend-spec-review/references/remediation-workflow.md +48 -0
  163. package/template/.pi/skills/yss-backend-spec-review/tests/routing.test.mjs +19 -0
  164. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +6 -4
  165. package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/java/architecture-rules-test.java.template +60 -23
  166. package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +6 -0
  167. package/template/.pi/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +1 -1
  168. package/template/.pi/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +4 -2
  169. package/template/.pi/skills/yss-ddd-scaffold-generator/references/engineering-baseline.md +7 -1
  170. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +6 -10
  171. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +12 -16
  172. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +36 -88
  173. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +4 -3
  174. package/template/.pi/skills/yss-design-system/SKILL.md +2 -2
  175. package/template/.pi/skills/yss-domain/references/domain-layer-guide.md +8 -1
  176. package/template/.pi/skills/yss-formily/SKILL.md +2 -2
  177. package/template/.pi/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
  178. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/README.md +1 -1
  179. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/package.json +2 -2
  180. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-lock.yaml +158 -0
  181. package/template/.pi/skills/yss-frontend-scaffold-generator/references/data-quality-v1.manifest.json +3 -3
  182. package/template/.pi/skills/yss-frontend-scaffold-generator/scripts/scaffold-generator.test.mjs +5 -0
  183. package/template/.pi/skills/yss-hook/SKILL.md +3 -2
  184. package/template/.pi/skills/yss-implementation-contract-compiler/references/boundaries.md +6 -1
  185. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  186. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/assets/templates/architecture-rules-test.java.template +66 -0
  187. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +4 -2
  188. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +0 -7
  189. package/template/.pi/skills/yss-mybatis/SKILL.md +4 -0
  190. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -3
  191. package/template/.pi/skills/yss-repository/references/profiles/target-domain-model.md +10 -2
  192. package/template/.pi/skills/yss-skill-source-index-refresh/references/source-map-config.md +3 -2
  193. package/template/.pi/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +3 -2
  194. package/template/.pi/skills/yss-technical-design/SKILL.md +1 -1
  195. package/template/.pi/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  196. package/template/.pi/skills/yss-technical-design/tests/run-scenarios.mjs +1 -2
  197. package/template/.pi/skills/yss-ui/SKILL.md +9 -6
  198. package/template/.pi/skills/yss-ui/references/component-routing.md +11 -4
  199. package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +5 -1
  200. package/template/.pi/skills/yss-ui-business-page-generation/references/hooks-map.md +3 -2
  201. package/template/.pi/skills/yss-web-controller/references/web-adapter-layer-guide.md +8 -0
  202. package/template/.pi/skills/ytable-usage/SKILL.md +14 -7
  203. package/template/.pi/skills/ytree-usage/SKILL.md +1 -0
  204. package/template/docs/agents/digital-human-roles.yaml +2 -2
  205. package/template/docs/agents/skill-migrations.md +23 -10
  206. package/template/docs/agents/yss-skill-registry.yaml +14 -73
  207. package/template/docs/engineering/backend-platforms.md +14 -0
  208. package/template/docs/process/schemas/digital-human-task-package.schema.json +657 -100
  209. package/template/docs/process/schemas/slice-implementation-contract-v3.schema.json +41 -0
  210. package/template/scripts/lib/backend-platform-provenance.mjs +1 -1
  211. package/template/scripts/lib/backend-platform-verification.mjs +2 -2
  212. package/template/scripts/lib/backend-platform.mjs +62 -0
  213. package/template/scripts/lib/backend-review.mjs +102 -0
  214. package/template/scripts/lib/first-slice-artifacts.mjs +47 -0
  215. package/template/scripts/lib/first-slice-tests.mjs +24 -0
  216. package/template/scripts/lib/lifecycle-transition.mjs +6 -0
  217. package/template/scripts/lib/maintenance-candidate.mjs +160 -0
  218. package/template/scripts/lib/skill-registry.mjs +5 -1
  219. package/template/scripts/lib/skill-supply-chain.mjs +1 -1
  220. package/template/scripts/lib/slice-execution-preflight.mjs +43 -0
  221. package/template/scripts/slice-contract +7 -3
  222. package/template/scripts/verify-backend-platform-matrix +8 -2
  223. package/template/skills-lock.json +42 -157
  224. package/template/yss-public-skills.json +5 -7
  225. package/template.manifest.json +0 -1
  226. package/template.snapshot.json +5 -5
  227. package/template/.agents/skills/component-selection-imports/SKILL.md +0 -64
  228. package/template/.agents/skills/page-form-module/SKILL.md +0 -168
  229. package/template/.agents/skills/page-list-module/SKILL.md +0 -137
  230. package/template/.agents/skills/page-skeleton/SKILL.md +0 -76
  231. package/template/.agents/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +0 -34
  232. package/template/.agents/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -75
  233. package/template/.agents/skills/page-skeleton/examples/AdvancedFormPage/index.vue +0 -107
  234. package/template/.agents/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  235. package/template/.agents/skills/page-skeleton/examples/AdvancedFormPage/style.less +0 -30
  236. package/template/.agents/skills/page-skeleton/examples/StandardListPage/constant.ts +0 -28
  237. package/template/.agents/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -58
  238. package/template/.agents/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +0 -65
  239. package/template/.agents/skills/page-skeleton/examples/StandardListPage/index.vue +0 -91
  240. package/template/.agents/skills/page-skeleton/examples/StandardListPage/style.less +0 -49
  241. package/template/.agents/skills/vue3-best-practices/SKILL.md +0 -68
  242. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +0 -12
  243. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +0 -5
  244. package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +0 -12
  245. package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +0 -18
  246. package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +0 -9
  247. package/template/.agents/skills/yss-mvc-design/SKILL.md +0 -12
  248. package/template/.agents/skills/yss-mvc-design/agents/openai.yaml +0 -4
  249. package/template/.agents/skills/yss-mvc-design/references/mvc-design.schema.json +0 -315
  250. package/template/.agents/skills/yss-use-table-height/SKILL.md +0 -130
  251. package/template/.agents/skills/yss-use-table-height/agents/openai.yaml +0 -5
  252. package/template/.agents/skills/yss-use-table-height/references/frontend-docs.md +0 -9
  253. package/template/.agents/skills/yss-use-tree-height/SKILL.md +0 -98
  254. package/template/.agents/skills/yss-use-tree-height/agents/openai.yaml +0 -5
  255. package/template/.agents/skills/yss-use-tree-height/references/frontend-docs.md +0 -9
  256. package/template/.codex/skills/component-selection-imports/SKILL.md +0 -64
  257. package/template/.codex/skills/page-form-module/SKILL.md +0 -168
  258. package/template/.codex/skills/page-list-module/SKILL.md +0 -137
  259. package/template/.codex/skills/page-skeleton/SKILL.md +0 -76
  260. package/template/.codex/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +0 -34
  261. package/template/.codex/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -75
  262. package/template/.codex/skills/page-skeleton/examples/AdvancedFormPage/index.vue +0 -107
  263. package/template/.codex/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  264. package/template/.codex/skills/page-skeleton/examples/AdvancedFormPage/style.less +0 -30
  265. package/template/.codex/skills/page-skeleton/examples/StandardListPage/constant.ts +0 -28
  266. package/template/.codex/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -58
  267. package/template/.codex/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +0 -65
  268. package/template/.codex/skills/page-skeleton/examples/StandardListPage/index.vue +0 -91
  269. package/template/.codex/skills/page-skeleton/examples/StandardListPage/style.less +0 -49
  270. package/template/.codex/skills/vue3-best-practices/SKILL.md +0 -68
  271. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +0 -12
  272. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +0 -5
  273. package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +0 -12
  274. package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +0 -18
  275. package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +0 -9
  276. package/template/.codex/skills/yss-mvc-design/SKILL.md +0 -12
  277. package/template/.codex/skills/yss-mvc-design/agents/openai.yaml +0 -4
  278. package/template/.codex/skills/yss-mvc-design/references/mvc-design.schema.json +0 -315
  279. package/template/.codex/skills/yss-use-table-height/SKILL.md +0 -130
  280. package/template/.codex/skills/yss-use-table-height/agents/openai.yaml +0 -5
  281. package/template/.codex/skills/yss-use-table-height/references/frontend-docs.md +0 -9
  282. package/template/.codex/skills/yss-use-tree-height/SKILL.md +0 -98
  283. package/template/.codex/skills/yss-use-tree-height/agents/openai.yaml +0 -5
  284. package/template/.codex/skills/yss-use-tree-height/references/frontend-docs.md +0 -9
  285. package/template/.cursor/skills/component-selection-imports/SKILL.md +0 -64
  286. package/template/.cursor/skills/page-form-module/SKILL.md +0 -168
  287. package/template/.cursor/skills/page-list-module/SKILL.md +0 -137
  288. package/template/.cursor/skills/page-skeleton/SKILL.md +0 -76
  289. package/template/.cursor/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +0 -34
  290. package/template/.cursor/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -75
  291. package/template/.cursor/skills/page-skeleton/examples/AdvancedFormPage/index.vue +0 -107
  292. package/template/.cursor/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  293. package/template/.cursor/skills/page-skeleton/examples/AdvancedFormPage/style.less +0 -30
  294. package/template/.cursor/skills/page-skeleton/examples/StandardListPage/constant.ts +0 -28
  295. package/template/.cursor/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -58
  296. package/template/.cursor/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +0 -65
  297. package/template/.cursor/skills/page-skeleton/examples/StandardListPage/index.vue +0 -91
  298. package/template/.cursor/skills/page-skeleton/examples/StandardListPage/style.less +0 -49
  299. package/template/.cursor/skills/vue3-best-practices/SKILL.md +0 -68
  300. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +0 -12
  301. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +0 -5
  302. package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +0 -12
  303. package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +0 -18
  304. package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +0 -9
  305. package/template/.cursor/skills/yss-mvc-design/SKILL.md +0 -12
  306. package/template/.cursor/skills/yss-mvc-design/agents/openai.yaml +0 -4
  307. package/template/.cursor/skills/yss-mvc-design/references/mvc-design.schema.json +0 -315
  308. package/template/.cursor/skills/yss-use-table-height/SKILL.md +0 -130
  309. package/template/.cursor/skills/yss-use-table-height/agents/openai.yaml +0 -5
  310. package/template/.cursor/skills/yss-use-table-height/references/frontend-docs.md +0 -9
  311. package/template/.cursor/skills/yss-use-tree-height/SKILL.md +0 -98
  312. package/template/.cursor/skills/yss-use-tree-height/agents/openai.yaml +0 -5
  313. package/template/.cursor/skills/yss-use-tree-height/references/frontend-docs.md +0 -9
  314. package/template/.pi/skills/component-selection-imports/SKILL.md +0 -64
  315. package/template/.pi/skills/page-form-module/SKILL.md +0 -168
  316. package/template/.pi/skills/page-list-module/SKILL.md +0 -137
  317. package/template/.pi/skills/page-skeleton/SKILL.md +0 -76
  318. package/template/.pi/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +0 -34
  319. package/template/.pi/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -75
  320. package/template/.pi/skills/page-skeleton/examples/AdvancedFormPage/index.vue +0 -107
  321. package/template/.pi/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  322. package/template/.pi/skills/page-skeleton/examples/AdvancedFormPage/style.less +0 -30
  323. package/template/.pi/skills/page-skeleton/examples/StandardListPage/constant.ts +0 -28
  324. package/template/.pi/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -58
  325. package/template/.pi/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +0 -65
  326. package/template/.pi/skills/page-skeleton/examples/StandardListPage/index.vue +0 -91
  327. package/template/.pi/skills/page-skeleton/examples/StandardListPage/style.less +0 -49
  328. package/template/.pi/skills/vue3-best-practices/SKILL.md +0 -68
  329. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +0 -12
  330. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +0 -5
  331. package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +0 -12
  332. package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +0 -18
  333. package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +0 -9
  334. package/template/.pi/skills/yss-mvc-design/SKILL.md +0 -12
  335. package/template/.pi/skills/yss-mvc-design/agents/openai.yaml +0 -4
  336. package/template/.pi/skills/yss-mvc-design/references/mvc-design.schema.json +0 -315
  337. package/template/.pi/skills/yss-use-table-height/SKILL.md +0 -130
  338. package/template/.pi/skills/yss-use-table-height/agents/openai.yaml +0 -5
  339. package/template/.pi/skills/yss-use-table-height/references/frontend-docs.md +0 -9
  340. package/template/.pi/skills/yss-use-tree-height/SKILL.md +0 -98
  341. package/template/.pi/skills/yss-use-tree-height/agents/openai.yaml +0 -5
  342. package/template/.pi/skills/yss-use-tree-height/references/frontend-docs.md +0 -9
@@ -1,256 +0,0 @@
1
- /**
2
- * 规则配置表单Schema
3
- * 包含:Grid布局、表单分组、字段联动 (Reactions)、Slot插槽
4
- */
5
- import type { FormOptions } from '../constant';
6
-
7
- /**
8
- * 规则配置Schema
9
- * @param formOptions 表单选项数据
10
- */
11
- export const ruleConfigSchema = (formOptions: FormOptions): Record<string, any> => ({
12
- type: 'object',
13
- properties: {
14
- layout: {
15
- type: 'void',
16
- 'x-component': 'FormLayout',
17
- 'x-component-props': {
18
- layout: 'horizontal',
19
- labelWidth: 110, // ← 根据最长 label 确定(一般 5 个字约 100px,这里稍大)
20
- labelAlign: 'right', // ← 必须右对齐
21
- },
22
- properties: {
23
- grid: {
24
- type: 'void',
25
- 'x-component': 'FormGrid',
26
- 'x-component-props': {
27
- maxColumns: 3,
28
- minColumns: 1,
29
- columnGap: 16,
30
- rowGap: 0,
31
- },
32
- properties: {
33
- // -------------------------------------------------------------
34
- // 分组1:规则配置
35
- // -------------------------------------------------------------
36
- ruleConfigHeader: {
37
- type: 'void',
38
- title: '规则配置',
39
- 'x-decorator': 'FormItem',
40
- 'x-decorator-props': {
41
- feedbackLayout: 'none',
42
- colon: false,
43
- gridSpan: 3,
44
- labelWidth: 0,
45
- wrapperCol: { span: 24 },
46
- },
47
- 'x-component': 'GroupHeader', // 自定义组件 or 标题组件
48
- },
49
- intensity: {
50
- type: 'string',
51
- title: '规则强度',
52
- required: true,
53
- 'x-decorator': 'FormItem',
54
- 'x-component': 'Radio.Group',
55
- enum: formOptions.intensity,
56
- },
57
- // 开关字段,控制其他字段显示
58
- errorStorage: {
59
- type: 'boolean',
60
- title: '异常存储',
61
- required: true,
62
- 'x-decorator': 'FormItem',
63
- 'x-component': 'Switch',
64
- 'x-component-props': {
65
- checkedChildren: '开',
66
- unCheckedChildren: '关',
67
- },
68
- },
69
- // 受控字段:异常限制 (当 errorStorage=true 时显示)
70
- errorStorageLimit: {
71
- type: 'number',
72
- title: '异常限制',
73
- 'x-decorator': 'FormItem',
74
- 'x-component': 'NumberPicker',
75
- 'x-component-props': {
76
- placeholder: '请输入异常限制',
77
- style: { width: '100%' },
78
- },
79
- 'x-reactions': {
80
- dependencies: ['errorStorage'],
81
- fulfill: {
82
- state: {
83
- visible: '{{$deps[0]}}',
84
- },
85
- },
86
- },
87
- },
88
-
89
- // -------------------------------------------------------------
90
- // 分组2:异常数据存储
91
- // 这里的 GroupHeader 本身也受 errorStorage 控制显示
92
- // -------------------------------------------------------------
93
- exceptionDataHeader: {
94
- type: 'void',
95
- title: '异常数据存储',
96
- 'x-decorator': 'FormItem',
97
- 'x-decorator-props': {
98
- feedbackLayout: 'none',
99
- colon: false,
100
- gridSpan: 3,
101
- labelWidth: 0,
102
- wrapperCol: { span: 24 },
103
- },
104
- 'x-component': 'GroupHeader',
105
- 'x-reactions': {
106
- dependencies: ['errorStorage'],
107
- fulfill: {
108
- state: {
109
- visible: '{{$deps[0]}}',
110
- },
111
- },
112
- },
113
- },
114
- errorStorageType: {
115
- type: 'string',
116
- title: '存储方式',
117
- required: true,
118
- 'x-decorator': 'FormItem',
119
- 'x-component': 'Select',
120
- 'x-component-props': {
121
- placeholder: '请选择存储方式',
122
- },
123
- enum: formOptions.errorStorageType,
124
- 'x-reactions': {
125
- dependencies: ['errorStorage'],
126
- fulfill: {
127
- state: {
128
- visible: '{{$deps[0]}}',
129
- },
130
- },
131
- },
132
- },
133
- errorStorageName: {
134
- type: 'string',
135
- title: '存储名称',
136
- required: true,
137
- 'x-decorator': 'FormItem',
138
- 'x-decorator-props': {
139
- gridSpan: 1,
140
- },
141
- 'x-component': 'Input',
142
- 'x-component-props': {
143
- placeholder: '请选择异常数据存储名称',
144
- },
145
- 'x-reactions': {
146
- dependencies: ['errorStorage'],
147
- fulfill: {
148
- state: {
149
- visible: '{{$deps[0]}}',
150
- },
151
- },
152
- },
153
- },
154
- errorStoragePath: {
155
- type: 'string',
156
- title: '存储地址',
157
- 'x-decorator': 'FormItem',
158
- 'x-decorator-props': {
159
- gridSpan: 1,
160
- },
161
- 'x-component': 'Input',
162
- 'x-component-props': {
163
- placeholder: '请输入异常数据存储地址',
164
- },
165
- // 也可以配置 reactions
166
- },
167
-
168
- // -------------------------------------------------------------
169
- // 分组3:校验规则 (使用 Slot 自定义渲染)
170
- // -------------------------------------------------------------
171
- filterHeader: {
172
- type: 'void',
173
- title: '校验规则',
174
- 'x-decorator': 'FormItem',
175
- 'x-decorator-props': {
176
- feedbackLayout: 'none',
177
- colon: false,
178
- gridSpan: 3,
179
- labelWidth: 0,
180
- wrapperCol: { span: 24 },
181
- },
182
- 'x-component': 'GroupHeader',
183
- },
184
- // Slot:校验范围构建器
185
- conditionFilter: {
186
- type: 'object',
187
- title: '校验范围',
188
- 'x-decorator': 'FormItem',
189
- 'x-decorator-props': {
190
- gridSpan: 3, // 占满一行
191
- },
192
- 'x-component': 'Slot', // 关键:使用 Slot 组件
193
- 'x-component-props': {
194
- name: 'conditionFilter', // 对应 <template #conditionFilter>
195
- },
196
- },
197
- // Slot:条件结构预览
198
- filterPreview: {
199
- type: 'string',
200
- title: '预览',
201
- 'x-decorator': 'FormItem',
202
- 'x-decorator-props': {
203
- gridSpan: 3,
204
- },
205
- 'x-component': 'Slot',
206
- 'x-component-props': {
207
- name: 'filterPreview',
208
- },
209
- },
210
-
211
- // -------------------------------------------------------------
212
- // 分组4:校验设置
213
- // -------------------------------------------------------------
214
- checkHeader: {
215
- type: 'void',
216
- title: '校验设置',
217
- 'x-decorator': 'FormItem',
218
- 'x-decorator-props': {
219
- feedbackLayout: 'none',
220
- colon: false,
221
- gridSpan: 3,
222
- labelWidth: 0,
223
- wrapperCol: { span: 24 },
224
- },
225
- 'x-component': 'GroupHeader',
226
- },
227
- checkCondition: {
228
- type: 'object',
229
- title: '校验配置',
230
- 'x-decorator': 'FormItem',
231
- 'x-decorator-props': {
232
- gridSpan: 3,
233
- },
234
- 'x-component': 'Slot',
235
- 'x-component-props': {
236
- name: 'checkCondition',
237
- },
238
- },
239
- checkPreview: {
240
- type: 'string',
241
- title: '预览',
242
- 'x-decorator': 'FormItem',
243
- 'x-decorator-props': {
244
- gridSpan: 3,
245
- },
246
- 'x-component': 'Slot',
247
- 'x-component-props': {
248
- name: 'checkPreview',
249
- },
250
- },
251
- },
252
- },
253
- },
254
- },
255
- },
256
- });
@@ -1,30 +0,0 @@
1
- .rule-config-page {
2
- width: 100%;
3
- height: 100%;
4
-
5
- &__content {
6
- height: 100%;
7
- overflow: auto;
8
- }
9
-
10
- &__preview {
11
- display: flex;
12
- align-items: flex-start;
13
- gap: 12px;
14
-
15
- pre {
16
- flex: 1;
17
- min-height: 72px;
18
- max-height: 220px;
19
- margin: 0;
20
- padding: 12px;
21
- overflow: auto;
22
- color: var(--text-color, rgb(0 0 0 / 88%));
23
- background: var(--bg-color, #f0f2f5);
24
- border: 1px solid var(--border-color-split, #f0f0f0);
25
- border-radius: 6px;
26
- white-space: pre-wrap;
27
- word-break: break-word;
28
- }
29
- }
30
- }
@@ -1,28 +0,0 @@
1
- import type { YTableColumn } from '@yss-ui/components';
2
- import type { QualityBusinessRuleVO } from '@/api/generated/quality/schemas';
3
-
4
- /** 质量规则列表行数据。 */
5
- export type QualityRuleItem = QualityBusinessRuleVO;
6
-
7
- /** 质量规则查询表单。 */
8
- export interface SearchFormData {
9
- ruleName: string;
10
- }
11
-
12
- /** 状态文案映射。 */
13
- export const STATUS_LABELS: Record<number, string> = {
14
- 0: '禁用',
15
- 1: '启用',
16
- };
17
-
18
- /** 质量规则表格列。 */
19
- export const TABLE_COLUMNS: YTableColumn[] = [
20
- { field: 'ruleName', title: '质量规则名称', minWidth: 180, slots: { default: 'ruleName' } },
21
- { field: 'ruleCode', title: '规则编码', minWidth: 160 },
22
- {
23
- field: 'status',
24
- title: '状态',
25
- width: 100,
26
- formatter: ({ cellValue }: { cellValue?: number }) => STATUS_LABELS[cellValue ?? -1] ?? '-',
27
- },
28
- ];
@@ -1,58 +0,0 @@
1
- import { reactive, ref } from 'vue';
2
- import { getApiApi } from '@/api/generated/quality';
3
- import type { QualityRulePage } from '@/api/generated/quality/schemas';
4
- import type { QualityRuleItem, SearchFormData } from '../constant';
5
-
6
- const { pageQualityRule } = getApiApi();
7
-
8
- /** 管理质量规则列表、查询和远程分页。 */
9
- export const useQualityRuleList = () => {
10
- const tableData = ref<QualityRuleItem[]>([]);
11
- const loading = ref(false);
12
- const pagination = reactive({ current: 1, pageSize: 20, total: 0, remote: true });
13
- const searchForm = reactive<SearchFormData>({ ruleName: '' });
14
-
15
- /** 组装 Orval 查询 DTO。 */
16
- const getQueryParams = (): QualityRulePage => ({
17
- pageIndex: pagination.current,
18
- pageSize: pagination.pageSize,
19
- ruleName: searchForm.ruleName || undefined,
20
- });
21
-
22
- /** 加载列表;错误提示由 mutator 统一处理。 */
23
- const fetchList = async (): Promise<void> => {
24
- loading.value = true;
25
- try {
26
- const res = await pageQualityRule(getQueryParams());
27
- tableData.value = res.data ?? [];
28
- pagination.total = res.totalCount ?? 0;
29
- } catch {
30
- tableData.value = [];
31
- pagination.total = 0;
32
- } finally {
33
- loading.value = false;
34
- }
35
- };
36
-
37
- /** 处理分页变化。 */
38
- const handlePageChange = ({ current, pageSize }: { current: number; pageSize: number }): void => {
39
- pagination.current = current;
40
- pagination.pageSize = pageSize;
41
- void fetchList();
42
- };
43
-
44
- /** 从第一页执行查询。 */
45
- const handleSearch = (): void => {
46
- pagination.current = 1;
47
- void fetchList();
48
- };
49
-
50
- /** 重置查询条件并刷新。 */
51
- const handleReset = (): void => {
52
- searchForm.ruleName = '';
53
- pagination.current = 1;
54
- void fetchList();
55
- };
56
-
57
- return { tableData, loading, pagination, searchForm, fetchList, handlePageChange, handleSearch, handleReset };
58
- };
@@ -1,65 +0,0 @@
1
- import { computed } from 'vue';
2
- import { message } from 'ant-design-vue';
3
- import type { YTableActionConfig } from '@yss-ui/components';
4
- import { getApiApi } from '@/api/generated/quality';
5
- import type { QualityRuleItem } from '../constant';
6
-
7
- const { deleteQualityRule } = getApiApi();
8
-
9
- /** 行操作与页面容器的通信回调。 */
10
- export interface RuleActionCallbacks {
11
- refreshList: () => Promise<void>;
12
- onCreate: () => void;
13
- onEdit: (row: QualityRuleItem) => void;
14
- onView: (row: QualityRuleItem) => void;
15
- }
16
-
17
- /** YTable 气泡确认助手。 */
18
- interface ActionHelpers {
19
- close: () => void;
20
- hideLoading: () => void;
21
- }
22
-
23
- /** 管理质量规则行操作和 YTable 操作列配置。 */
24
- export const useRuleActions = (callbacks: RuleActionCallbacks) => {
25
- /** 删除规则并刷新列表。 */
26
- const handleDelete = async (row: QualityRuleItem): Promise<void> => {
27
- if (!row.id) return;
28
-
29
- try {
30
- await deleteQualityRule(row.id);
31
- message.success('删除成功');
32
- await callbacks.refreshList();
33
- } catch {
34
- // mutator 已展示错误,此处不重复 message.error。
35
- }
36
- };
37
-
38
- /** 标准操作列:查看/编辑立即执行,删除使用气泡确认。 */
39
- const actionConfig = computed<YTableActionConfig>(() => ({
40
- title: '操作',
41
- width: 180,
42
- fixed: 'right',
43
- buttons: [
44
- { label: '查看', value: 'view', click: ({ row }) => callbacks.onView(row) },
45
- { label: '编辑', value: 'edit', click: ({ row }) => callbacks.onEdit(row) },
46
- {
47
- label: '删除',
48
- value: 'delete',
49
- type: 'link',
50
- isConfirm: true,
51
- confirmProps: { title: '确认删除此规则吗?删除后无法恢复', needLoading: true },
52
- click: async ({ row }, _button, helpers: ActionHelpers) => {
53
- try {
54
- await handleDelete(row);
55
- } finally {
56
- helpers.hideLoading();
57
- helpers.close();
58
- }
59
- },
60
- },
61
- ],
62
- }));
63
-
64
- return { actionConfig, handleCreate: callbacks.onCreate };
65
- };
@@ -1,91 +0,0 @@
1
- <script setup lang="ts">
2
- import { onMounted, ref } from 'vue';
3
- import { Input as AInput } from 'ant-design-vue';
4
- import { YButton, YCard, YTable } from '@yss-ui/components';
5
- import { useTableHeight } from '@yss-ui/hooks';
6
- import { TABLE_COLUMNS, type QualityRuleItem } from './constant';
7
- import { useQualityRuleList } from './hooks/useQualityRuleList';
8
- import { useRuleActions } from './hooks/useRuleActions';
9
-
10
- defineOptions({ name: 'StandardListPage' });
11
-
12
- const emit = defineEmits<{
13
- create: [];
14
- edit: [row: QualityRuleItem];
15
- view: [row: QualityRuleItem];
16
- }>();
17
-
18
- const tableAreaRef = ref<HTMLDivElement>();
19
- const { tableHeight, isReady } = useTableHeight(tableAreaRef, {
20
- withPagination: true,
21
- withToolbar: true,
22
- });
23
- const { tableData, loading, pagination, searchForm, fetchList, handlePageChange, handleSearch, handleReset } =
24
- useQualityRuleList();
25
- const { actionConfig, handleCreate } = useRuleActions({
26
- refreshList: fetchList,
27
- onCreate: () => emit('create'),
28
- onEdit: row => emit('edit', row),
29
- onView: row => emit('view', row),
30
- });
31
-
32
- /** 查看规则详情。 */
33
- const handleRuleNameClick = (row: QualityRuleItem): void => {
34
- emit('view', row);
35
- };
36
-
37
- onMounted(() => {
38
- void fetchList();
39
- });
40
- </script>
41
-
42
- <template>
43
- <div class="quality-rule-page">
44
- <YCard class="quality-rule-page__search-card">
45
- <div class="quality-rule-page__search-content">
46
- <AInput
47
- v-model:value="searchForm.ruleName"
48
- class="quality-rule-page__keyword"
49
- placeholder="请输入规则名称"
50
- allow-clear
51
- @press-enter="handleSearch"
52
- />
53
- <div class="quality-rule-page__search-actions">
54
- <YButton @click="handleReset">重置</YButton>
55
- <YButton type="primary" :loading="loading" @click="handleSearch">查询</YButton>
56
- </div>
57
- </div>
58
- </YCard>
59
-
60
- <YCard class="quality-rule-page__table-card">
61
- <div ref="tableAreaRef" class="quality-rule-page__table-area">
62
- <YTable
63
- v-if="isReady"
64
- :data="tableData"
65
- :columns="TABLE_COLUMNS"
66
- :loading="loading"
67
- :height="tableHeight"
68
- :action-config="actionConfig"
69
- :toolbar-config="{ custom: true }"
70
- pageable
71
- v-model:pagination="pagination"
72
- @page-change="handlePageChange"
73
- >
74
- <template #toolbar-right>
75
- <YButton @click="fetchList">刷新</YButton>
76
- <YButton type="primary" @click="handleCreate">新增质量规则</YButton>
77
- </template>
78
- <template #ruleName="{ row }">
79
- <button class="quality-rule-page__rule-link" type="button" @click="handleRuleNameClick(row)">
80
- {{ row.ruleName ?? '-' }}
81
- </button>
82
- </template>
83
- </YTable>
84
- </div>
85
- </YCard>
86
- </div>
87
- </template>
88
-
89
- <style scoped lang="less">
90
- @import url('./style.less');
91
- </style>
@@ -1,49 +0,0 @@
1
- .quality-rule-page {
2
- display: flex;
3
- flex-direction: column;
4
- width: 100%;
5
- height: 100%;
6
- min-height: 0;
7
- gap: 12px;
8
-
9
- &__search-content {
10
- display: flex;
11
- flex-direction: column;
12
- gap: 12px;
13
- }
14
-
15
- &__keyword {
16
- width: min(100%, 360px);
17
- }
18
-
19
- &__search-actions {
20
- display: flex;
21
- justify-content: flex-end;
22
- gap: 8px;
23
- }
24
-
25
- &__table-card,
26
- &__table-area {
27
- flex: 1;
28
- min-height: 0;
29
- }
30
-
31
- &__rule-link {
32
- padding: 0;
33
- color: var(--primary-color, #3371ff);
34
- background: transparent;
35
- border: 0;
36
- cursor: pointer;
37
-
38
- &:hover,
39
- &:focus-visible {
40
- color: var(--primary-color-hover, #4096ff);
41
- text-decoration: underline;
42
- }
43
-
44
- &:focus-visible {
45
- outline: 2px solid color-mix(in srgb, var(--primary-color, #3371ff) 35%, transparent);
46
- outline-offset: 2px;
47
- }
48
- }
49
- }
@@ -1,68 +0,0 @@
1
- ---
2
- name: vue3-best-practices
3
- description: 在 Vue3 业务页面、组件和 composable 中规范响应式状态、组件通信、异步竞态与大数精度;实现或重构 Vue3 逻辑时使用。
4
- ---
5
-
6
- # Vue3 Best Practices Skill
7
-
8
- ## 触发条件
9
-
10
- - 业务页面出现响应式、组件通信、状态管理相关问题。
11
- - 需要重构复杂组件逻辑到更稳的 Composition API 模式。
12
- - 需要防止 `v-model`、`watch`、`reactive/ref` 常见误用。
13
-
14
- ## 不适用场景
15
-
16
- - 纯样式调整,无状态逻辑修改。
17
- - 仅写提交信息,不涉及代码实现。
18
- - 仅做接口层封装,不涉及 Vue 组件行为。
19
-
20
- ## 硬约束(禁止/必须)
21
-
22
- - 禁止直接修改 `props`,必须使用 `emit('update:xxx')`。
23
- - 禁止在模板层写复杂业务逻辑,必须下沉到 `computed` 或 hook。
24
- - 必须避免深层 watch 滥用,优先明确依赖源。
25
- - 必须对异步请求做取消或竞态保护,避免旧请求覆盖新状态。
26
- - 必须在复杂页面中拆 composable,禁止单文件耦合所有逻辑。
27
- - 导出函数、composable、接口、类型与常量必须使用中文 JSDoc。
28
- - 接口默认错误由 mutator 统一提示并 reject;业务逻辑只做状态恢复或错误转换,禁止在 `catch` 重复 `message.error`,除非请求显式设置了 `skipErrorHandler`。
29
- - 在 hook/computed/watch 等业务逻辑里使用接口返回的 number 字段(id、主键、金额、数量等)时,禁止用 `Number()`/`parseInt`/`parseFloat`/`+x`/`*1`/`~~` 做任何数字转换,一律按字符串透传与比较;确需高精度数值计算时用 `decimal.js`/`big.js` 以字符串入参。底层 json-bigint 已存为字符串保精度,详见 `../yss-api-integration/SKILL.md`「大数字与精度」。
30
-
31
- ## 标准代码骨架
32
-
33
- ```typescript
34
- const props = defineProps<{ modelValue: string }>();
35
- const emit = defineEmits<{ 'update:modelValue': [value: string] }>();
36
-
37
- const localValue = computed({
38
- get: () => props.modelValue,
39
- set: value => emit('update:modelValue', value),
40
- });
41
-
42
- const loading = ref(false);
43
-
44
- /** 请求数据并维护加载状态。 */
45
- const fetchData = async () => {
46
- loading.value = true;
47
- try {
48
- await api();
49
- } finally {
50
- loading.value = false;
51
- }
52
- };
53
- ```
54
-
55
- ## 交付检查清单
56
-
57
- - [ ] `props` 单向数据流未被破坏。
58
- - [ ] `v-model` 实现使用标准 `update:*` 事件。
59
- - [ ] 异步逻辑具备 loading 与异常处理。
60
- - [ ] 复杂逻辑已拆分到 composable。
61
- - [ ] 接口返回的 number 字段在逻辑中保持字符串透传,未被 `Number()`/`parseInt`/`+x` 等转换。
62
- - [ ] 模板表达式简洁,便于维护和测试。
63
-
64
- ## 失败兜底策略
65
-
66
- - 响应式异常时,先定位是 `ref`/`reactive` 选型问题还是解构丢响应。
67
- - 双向绑定异常时,先检查 `emit` 事件名和参数签名。
68
- - 组件过重时,先抽离状态 hook,再处理视觉拆分。
@@ -1,12 +0,0 @@
1
- ---
2
- name: yss-backend-scaffold-parent
3
- description: 迁移历史 DDD scaffold parent 引用到 yss-ddd-scaffold-generator 的内部工程基线。
4
- ---
5
-
6
- # YSS Backend Scaffold Parent(Deprecated)
7
-
8
- 本入口处于 `migration-only`,不再作为独立 Skill、capability、Recipe 或 typed dependency。DDD 工程基线由 `yss-ddd-scaffold-generator/references/engineering-baseline.md` 持有,并由生成器和首切片验证器绑定摘要。
9
-
10
- 发现旧合同、任务包或 Manifest 仍把 `yss-backend-scaffold-parent` 当作 Skill 时返回 `skill-deprecated`,将合同标记为 `stale` 后重新编译。不得静默替换、继承旧批准或自动设置 `ready-for-agent`。
11
-
12
- 历史 Manifest 中的 `readiness.contracts.scaffold_parent` 只允许验证器只读恢复;新 Manifest 写入 `readiness.contracts.engineering_baseline`。引用归零后删除本迁移壳,不建立 alias。
@@ -1,5 +0,0 @@
1
- version: 1
2
- interface:
3
- display_name: "YSS Scaffold Parent Migration"
4
- short_description: "迁移已退役的 DDD 父基线入口"
5
- default_prompt: "Return skill-deprecated and migrate the historical $yss-backend-scaffold-parent reference to the internal yss-ddd-scaffold-generator engineering baseline without inheriting approval."
@@ -1,12 +0,0 @@
1
- ---
2
- name: yss-mvc-data-analysis-project-initializer
3
- description: 迁移历史数据分析初始化合同到 yss-layered-mvc-scaffold-generator 的 mvc-data-analysis-v1 Profile。
4
- ---
5
-
6
- # 数据分析 MVC 项目初始化(Deprecated)
7
-
8
- 本入口处于 `migration-only`。`mvc-data-analysis-v1` 已由 `yss-layered-mvc-scaffold-generator` 原生持有;本入口不得进入新的 Project Scaffold Contract、Recipe、typed dependency 或任务包。
9
-
10
- 发现旧合同或调用方引用本 ID 时返回 `skill-deprecated`,将合同标记为 `stale`,改由编译器生成绑定 `generator_skill=yss-layered-mvc-scaffold-generator` 与 `architecture_profile=mvc-data-analysis-v1` 的新合同。不得静默替换、继承批准或自动设置 `ready-for-agent`。
11
-
12
- `scripts/run_scaffold_verification.mjs` 仅为历史已生成项目保留只读恢复验证;它不允许新生成。迁移关系由 `docs/agents/skill-migrations.md` 记录;引用归零后删除本目录,不建立 alias。