create-yss-spec 2.1.15 → 2.2.1

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 (618) hide show
  1. package/README.md +6 -2
  2. package/package.json +1 -1
  3. package/src/cli.js +276 -15
  4. package/template/.agents/rules/yss-ai-skills.md +59 -0
  5. package/template/.agents/skills/.yss-skills-manifest.json +28 -0
  6. package/template/.agents/skills/component-selection-imports/SKILL.md +64 -0
  7. package/template/.agents/skills/cross-repo-implementation-routing/SKILL.md +2 -2
  8. package/template/.agents/skills/file-export-download/SKILL.md +160 -0
  9. package/template/.agents/skills/file-export-download/agents/openai.yaml +4 -0
  10. package/template/.agents/skills/formily-foundation/SKILL.md +176 -0
  11. package/template/.agents/skills/formily-foundation/references/examples.md +486 -0
  12. package/template/.agents/skills/formily-linkage-effects/SKILL.md +167 -0
  13. package/template/.agents/skills/formily-mode-slot-detail/SKILL.md +137 -0
  14. package/template/.agents/skills/formily-step-flow/SKILL.md +194 -0
  15. package/template/.agents/skills/frontend-commit/SKILL.md +118 -0
  16. package/template/.agents/skills/frontend-commit/agents/openai.yaml +7 -0
  17. package/template/.agents/skills/frontend-commit/references/scope-and-examples.md +111 -0
  18. package/template/.agents/skills/implementation-repo-onboarding/SKILL.md +5 -5
  19. package/template/.agents/skills/java-backend-commit/SKILL.md +121 -0
  20. package/template/.agents/skills/java-backend-commit/agents/openai.yaml +7 -0
  21. package/template/.agents/skills/java-backend-commit/references/scope-and-examples.md +118 -0
  22. package/template/.agents/skills/llm-wiki/SKILL.md +1 -1
  23. package/template/.agents/skills/llm-wiki/references/discover.md +1 -0
  24. package/template/.agents/skills/page-form-module/SKILL.md +168 -0
  25. package/template/.agents/skills/page-list-module/SKILL.md +137 -0
  26. package/template/.agents/skills/page-skeleton/SKILL.md +76 -0
  27. package/template/.agents/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +34 -0
  28. package/template/.agents/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +75 -0
  29. package/template/.agents/skills/page-skeleton/examples/AdvancedFormPage/index.vue +107 -0
  30. package/template/.agents/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +256 -0
  31. package/template/.agents/skills/page-skeleton/examples/AdvancedFormPage/style.less +30 -0
  32. package/template/.agents/skills/page-skeleton/examples/StandardListPage/constant.ts +28 -0
  33. package/template/.agents/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +58 -0
  34. package/template/.agents/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +65 -0
  35. package/template/.agents/skills/page-skeleton/examples/StandardListPage/index.vue +91 -0
  36. package/template/.agents/skills/page-skeleton/examples/StandardListPage/style.less +49 -0
  37. package/template/.agents/skills/prototype-page-acceptance/SKILL.md +62 -0
  38. package/template/.agents/skills/theme-token-usage/SKILL.md +123 -0
  39. package/template/.agents/skills/theme-token-usage/agents/openai.yaml +4 -0
  40. package/template/.agents/skills/vue3-best-practices/SKILL.md +68 -0
  41. package/template/.agents/skills/yedit-table-usage/SKILL.md +227 -0
  42. package/template/.agents/skills/yss-api-integration/SKILL.md +12 -2
  43. package/template/.agents/skills/yss-components/SKILL.md +1 -1
  44. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  45. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +30 -3
  46. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +52 -0
  47. package/template/.agents/skills/yss-design-system/SKILL.md +1 -1
  48. package/template/.agents/skills/yss-formily/SKILL.md +233 -265
  49. package/template/.agents/skills/yss-frontend-scaffold-generator/SKILL.md +2 -2
  50. package/template/.agents/skills/yss-hook/SKILL.md +1 -1
  51. package/template/.agents/skills/yss-openapi-governance/SKILL.md +2 -2
  52. package/template/.agents/skills/yss-page-module-development/SKILL.md +12 -2
  53. package/template/.agents/skills/yss-page-module-development/references/component-map.md +34 -0
  54. package/template/.agents/skills/yss-page-module-development/references/hooks-map.md +11 -0
  55. package/template/.agents/skills/yss-page-module-development/references/utils-map.md +14 -0
  56. package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +1 -1
  57. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +86 -1
  58. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +2 -0
  59. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +1 -1
  60. package/template/.agents/skills/yss-router/SKILL.md +1 -1
  61. package/template/.agents/skills/yss-router/references/boundaries.md +1 -1
  62. package/template/.agents/skills/yss-router/references/router-contract.yaml +26 -2
  63. package/template/.agents/skills/yss-router/references/slice-implementation-contract.md +1 -1
  64. package/template/.agents/skills/yss-ui/SKILL.md +1 -1
  65. package/template/.agents/skills/yss-use-table-height/SKILL.md +9 -0
  66. package/template/.agents/skills/yss-use-tree-height/SKILL.md +9 -0
  67. package/template/.agents/skills/ytable-usage/SKILL.md +251 -0
  68. package/template/.agents/skills/ytree-usage/SKILL.md +132 -0
  69. package/template/.claude/skills/.yss-skills-manifest.json +29 -0
  70. package/template/.claude/skills/component-selection-imports/SKILL.md +64 -0
  71. package/template/.claude/skills/cross-repo-implementation-routing/SKILL.md +2 -2
  72. package/template/.claude/skills/file-export-download/SKILL.md +160 -0
  73. package/template/.claude/skills/file-export-download/agents/openai.yaml +4 -0
  74. package/template/.claude/skills/formily-foundation/SKILL.md +176 -0
  75. package/template/.claude/skills/formily-foundation/references/examples.md +486 -0
  76. package/template/.claude/skills/formily-linkage-effects/SKILL.md +167 -0
  77. package/template/.claude/skills/formily-mode-slot-detail/SKILL.md +137 -0
  78. package/template/.claude/skills/formily-step-flow/SKILL.md +194 -0
  79. package/template/.claude/skills/frontend-commit/SKILL.md +118 -0
  80. package/template/.claude/skills/frontend-commit/agents/openai.yaml +7 -0
  81. package/template/.claude/skills/frontend-commit/references/scope-and-examples.md +111 -0
  82. package/template/.claude/skills/implementation-repo-onboarding/SKILL.md +5 -5
  83. package/template/.claude/skills/java-backend-commit/SKILL.md +121 -0
  84. package/template/.claude/skills/java-backend-commit/agents/openai.yaml +7 -0
  85. package/template/.claude/skills/java-backend-commit/references/scope-and-examples.md +118 -0
  86. package/template/.claude/skills/llm-wiki/SKILL.md +1 -1
  87. package/template/.claude/skills/llm-wiki/references/discover.md +1 -0
  88. package/template/.claude/skills/page-form-module/SKILL.md +168 -0
  89. package/template/.claude/skills/page-list-module/SKILL.md +137 -0
  90. package/template/.claude/skills/page-skeleton/SKILL.md +76 -0
  91. package/template/.claude/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +34 -0
  92. package/template/.claude/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +75 -0
  93. package/template/.claude/skills/page-skeleton/examples/AdvancedFormPage/index.vue +107 -0
  94. package/template/.claude/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +256 -0
  95. package/template/.claude/skills/page-skeleton/examples/AdvancedFormPage/style.less +30 -0
  96. package/template/.claude/skills/page-skeleton/examples/StandardListPage/constant.ts +28 -0
  97. package/template/.claude/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +58 -0
  98. package/template/.claude/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +65 -0
  99. package/template/.claude/skills/page-skeleton/examples/StandardListPage/index.vue +91 -0
  100. package/template/.claude/skills/page-skeleton/examples/StandardListPage/style.less +49 -0
  101. package/template/.claude/skills/prototype-page-acceptance/SKILL.md +62 -0
  102. package/template/.claude/skills/theme-token-usage/SKILL.md +123 -0
  103. package/template/.claude/skills/theme-token-usage/agents/openai.yaml +4 -0
  104. package/template/.claude/skills/vue3-best-practices/SKILL.md +68 -0
  105. package/template/.claude/skills/yedit-table-usage/SKILL.md +227 -0
  106. package/template/.claude/skills/yss-api-integration/SKILL.md +12 -2
  107. package/template/.claude/skills/yss-components/SKILL.md +1 -1
  108. package/template/.claude/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  109. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +30 -3
  110. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +52 -0
  111. package/template/.claude/skills/yss-design-system/SKILL.md +1 -1
  112. package/template/.claude/skills/yss-formily/SKILL.md +233 -265
  113. package/template/.claude/skills/yss-frontend-scaffold-generator/SKILL.md +2 -2
  114. package/template/.claude/skills/yss-hook/SKILL.md +1 -1
  115. package/template/.claude/skills/yss-openapi-governance/SKILL.md +2 -2
  116. package/template/.claude/skills/yss-page-module-development/SKILL.md +12 -2
  117. package/template/.claude/skills/yss-page-module-development/references/component-map.md +34 -0
  118. package/template/.claude/skills/yss-page-module-development/references/hooks-map.md +11 -0
  119. package/template/.claude/skills/yss-page-module-development/references/utils-map.md +14 -0
  120. package/template/.claude/skills/yss-product-lifecycle/references/matt-yss-adapter.md +1 -1
  121. package/template/.claude/skills/yss-product-lifecycle/references/orchestration-contract.yaml +86 -1
  122. package/template/.claude/skills/yss-product-lifecycle/references/orchestration.md +2 -0
  123. package/template/.claude/skills/yss-product-lifecycle/references/state-model.md +1 -1
  124. package/template/.claude/skills/yss-router/SKILL.md +1 -1
  125. package/template/.claude/skills/yss-router/references/boundaries.md +1 -1
  126. package/template/.claude/skills/yss-router/references/router-contract.yaml +26 -2
  127. package/template/.claude/skills/yss-router/references/slice-implementation-contract.md +1 -1
  128. package/template/.claude/skills/yss-ui/SKILL.md +1 -1
  129. package/template/.claude/skills/yss-use-table-height/SKILL.md +9 -0
  130. package/template/.claude/skills/yss-use-tree-height/SKILL.md +9 -0
  131. package/template/.claude/skills/ytable-usage/SKILL.md +251 -0
  132. package/template/.claude/skills/ytree-usage/SKILL.md +132 -0
  133. package/template/.codex/skills/component-selection-imports/SKILL.md +64 -0
  134. package/template/.codex/skills/cross-repo-implementation-routing/SKILL.md +2 -2
  135. package/template/.codex/skills/file-export-download/SKILL.md +160 -0
  136. package/template/.codex/skills/file-export-download/agents/openai.yaml +4 -0
  137. package/template/.codex/skills/formily-foundation/SKILL.md +176 -0
  138. package/template/.codex/skills/formily-foundation/references/examples.md +486 -0
  139. package/template/.codex/skills/formily-linkage-effects/SKILL.md +167 -0
  140. package/template/.codex/skills/formily-mode-slot-detail/SKILL.md +137 -0
  141. package/template/.codex/skills/formily-step-flow/SKILL.md +194 -0
  142. package/template/.codex/skills/frontend-commit/SKILL.md +118 -0
  143. package/template/.codex/skills/frontend-commit/agents/openai.yaml +7 -0
  144. package/template/.codex/skills/frontend-commit/references/scope-and-examples.md +111 -0
  145. package/template/.codex/skills/implementation-repo-onboarding/SKILL.md +5 -5
  146. package/template/.codex/skills/java-backend-commit/SKILL.md +121 -0
  147. package/template/.codex/skills/java-backend-commit/agents/openai.yaml +7 -0
  148. package/template/.codex/skills/java-backend-commit/references/scope-and-examples.md +118 -0
  149. package/template/.codex/skills/llm-wiki/SKILL.md +1 -1
  150. package/template/.codex/skills/llm-wiki/references/discover.md +1 -0
  151. package/template/.codex/skills/page-form-module/SKILL.md +168 -0
  152. package/template/.codex/skills/page-list-module/SKILL.md +137 -0
  153. package/template/.codex/skills/page-skeleton/SKILL.md +76 -0
  154. package/template/.codex/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +34 -0
  155. package/template/.codex/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +75 -0
  156. package/template/.codex/skills/page-skeleton/examples/AdvancedFormPage/index.vue +107 -0
  157. package/template/.codex/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +256 -0
  158. package/template/.codex/skills/page-skeleton/examples/AdvancedFormPage/style.less +30 -0
  159. package/template/.codex/skills/page-skeleton/examples/StandardListPage/constant.ts +28 -0
  160. package/template/.codex/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +58 -0
  161. package/template/.codex/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +65 -0
  162. package/template/.codex/skills/page-skeleton/examples/StandardListPage/index.vue +91 -0
  163. package/template/.codex/skills/page-skeleton/examples/StandardListPage/style.less +49 -0
  164. package/template/.codex/skills/prototype-page-acceptance/SKILL.md +62 -0
  165. package/template/.codex/skills/theme-token-usage/SKILL.md +123 -0
  166. package/template/.codex/skills/theme-token-usage/agents/openai.yaml +4 -0
  167. package/template/.codex/skills/vue3-best-practices/SKILL.md +68 -0
  168. package/template/.codex/skills/yedit-table-usage/SKILL.md +227 -0
  169. package/template/.codex/skills/yss-api-integration/SKILL.md +12 -2
  170. package/template/.codex/skills/yss-components/SKILL.md +1 -1
  171. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  172. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +30 -3
  173. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +52 -0
  174. package/template/.codex/skills/yss-design-system/SKILL.md +1 -1
  175. package/template/.codex/skills/yss-formily/SKILL.md +233 -265
  176. package/template/.codex/skills/yss-frontend-scaffold-generator/SKILL.md +2 -2
  177. package/template/.codex/skills/yss-hook/SKILL.md +1 -1
  178. package/template/.codex/skills/yss-openapi-governance/SKILL.md +2 -2
  179. package/template/.codex/skills/yss-page-module-development/SKILL.md +12 -2
  180. package/template/.codex/skills/yss-page-module-development/references/component-map.md +34 -0
  181. package/template/.codex/skills/yss-page-module-development/references/hooks-map.md +11 -0
  182. package/template/.codex/skills/yss-page-module-development/references/utils-map.md +14 -0
  183. package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +1 -1
  184. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +86 -1
  185. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +2 -0
  186. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +1 -1
  187. package/template/.codex/skills/yss-router/SKILL.md +1 -1
  188. package/template/.codex/skills/yss-router/references/boundaries.md +1 -1
  189. package/template/.codex/skills/yss-router/references/router-contract.yaml +26 -2
  190. package/template/.codex/skills/yss-router/references/slice-implementation-contract.md +1 -1
  191. package/template/.codex/skills/yss-ui/SKILL.md +1 -1
  192. package/template/.codex/skills/yss-use-table-height/SKILL.md +9 -0
  193. package/template/.codex/skills/yss-use-tree-height/SKILL.md +9 -0
  194. package/template/.codex/skills/ytable-usage/SKILL.md +251 -0
  195. package/template/.codex/skills/ytree-usage/SKILL.md +132 -0
  196. package/template/.cursor/skills/.yss-skills-manifest.json +29 -0
  197. package/template/.cursor/skills/component-selection-imports/SKILL.md +64 -0
  198. package/template/.cursor/skills/cross-repo-implementation-routing/SKILL.md +2 -2
  199. package/template/.cursor/skills/file-export-download/SKILL.md +160 -0
  200. package/template/.cursor/skills/file-export-download/agents/openai.yaml +4 -0
  201. package/template/.cursor/skills/formily-foundation/SKILL.md +176 -0
  202. package/template/.cursor/skills/formily-foundation/references/examples.md +486 -0
  203. package/template/.cursor/skills/formily-linkage-effects/SKILL.md +167 -0
  204. package/template/.cursor/skills/formily-mode-slot-detail/SKILL.md +137 -0
  205. package/template/.cursor/skills/formily-step-flow/SKILL.md +194 -0
  206. package/template/.cursor/skills/frontend-commit/SKILL.md +118 -0
  207. package/template/.cursor/skills/frontend-commit/agents/openai.yaml +7 -0
  208. package/template/.cursor/skills/frontend-commit/references/scope-and-examples.md +111 -0
  209. package/template/.cursor/skills/implementation-repo-onboarding/SKILL.md +5 -5
  210. package/template/.cursor/skills/java-backend-commit/SKILL.md +121 -0
  211. package/template/.cursor/skills/java-backend-commit/agents/openai.yaml +7 -0
  212. package/template/.cursor/skills/java-backend-commit/references/scope-and-examples.md +118 -0
  213. package/template/.cursor/skills/llm-wiki/SKILL.md +1 -1
  214. package/template/.cursor/skills/llm-wiki/references/discover.md +1 -0
  215. package/template/.cursor/skills/page-form-module/SKILL.md +168 -0
  216. package/template/.cursor/skills/page-list-module/SKILL.md +137 -0
  217. package/template/.cursor/skills/page-skeleton/SKILL.md +76 -0
  218. package/template/.cursor/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +34 -0
  219. package/template/.cursor/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +75 -0
  220. package/template/.cursor/skills/page-skeleton/examples/AdvancedFormPage/index.vue +107 -0
  221. package/template/.cursor/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +256 -0
  222. package/template/.cursor/skills/page-skeleton/examples/AdvancedFormPage/style.less +30 -0
  223. package/template/.cursor/skills/page-skeleton/examples/StandardListPage/constant.ts +28 -0
  224. package/template/.cursor/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +58 -0
  225. package/template/.cursor/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +65 -0
  226. package/template/.cursor/skills/page-skeleton/examples/StandardListPage/index.vue +91 -0
  227. package/template/.cursor/skills/page-skeleton/examples/StandardListPage/style.less +49 -0
  228. package/template/.cursor/skills/prototype-page-acceptance/SKILL.md +62 -0
  229. package/template/.cursor/skills/theme-token-usage/SKILL.md +123 -0
  230. package/template/.cursor/skills/theme-token-usage/agents/openai.yaml +4 -0
  231. package/template/.cursor/skills/vue3-best-practices/SKILL.md +68 -0
  232. package/template/.cursor/skills/yedit-table-usage/SKILL.md +227 -0
  233. package/template/.cursor/skills/yss-api-integration/SKILL.md +12 -2
  234. package/template/.cursor/skills/yss-components/SKILL.md +1 -1
  235. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  236. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +30 -3
  237. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +52 -0
  238. package/template/.cursor/skills/yss-design-system/SKILL.md +1 -1
  239. package/template/.cursor/skills/yss-formily/SKILL.md +233 -265
  240. package/template/.cursor/skills/yss-frontend-scaffold-generator/SKILL.md +2 -2
  241. package/template/.cursor/skills/yss-hook/SKILL.md +1 -1
  242. package/template/.cursor/skills/yss-openapi-governance/SKILL.md +2 -2
  243. package/template/.cursor/skills/yss-page-module-development/SKILL.md +12 -2
  244. package/template/.cursor/skills/yss-page-module-development/references/component-map.md +34 -0
  245. package/template/.cursor/skills/yss-page-module-development/references/hooks-map.md +11 -0
  246. package/template/.cursor/skills/yss-page-module-development/references/utils-map.md +14 -0
  247. package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +1 -1
  248. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +86 -1
  249. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +2 -0
  250. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +1 -1
  251. package/template/.cursor/skills/yss-router/SKILL.md +1 -1
  252. package/template/.cursor/skills/yss-router/references/boundaries.md +1 -1
  253. package/template/.cursor/skills/yss-router/references/router-contract.yaml +26 -2
  254. package/template/.cursor/skills/yss-router/references/slice-implementation-contract.md +1 -1
  255. package/template/.cursor/skills/yss-ui/SKILL.md +1 -1
  256. package/template/.cursor/skills/yss-use-table-height/SKILL.md +9 -0
  257. package/template/.cursor/skills/yss-use-tree-height/SKILL.md +9 -0
  258. package/template/.cursor/skills/ytable-usage/SKILL.md +251 -0
  259. package/template/.cursor/skills/ytree-usage/SKILL.md +132 -0
  260. package/template/.cursorrules +32 -0
  261. package/template/.hermes/skills/component-selection-imports/SKILL.md +64 -0
  262. package/template/.hermes/skills/cross-repo-implementation-routing/SKILL.md +2 -2
  263. package/template/.hermes/skills/file-export-download/SKILL.md +160 -0
  264. package/template/.hermes/skills/file-export-download/agents/openai.yaml +4 -0
  265. package/template/.hermes/skills/formily-foundation/SKILL.md +176 -0
  266. package/template/.hermes/skills/formily-foundation/references/examples.md +486 -0
  267. package/template/.hermes/skills/formily-linkage-effects/SKILL.md +167 -0
  268. package/template/.hermes/skills/formily-mode-slot-detail/SKILL.md +137 -0
  269. package/template/.hermes/skills/formily-step-flow/SKILL.md +194 -0
  270. package/template/.hermes/skills/frontend-commit/SKILL.md +118 -0
  271. package/template/.hermes/skills/frontend-commit/agents/openai.yaml +7 -0
  272. package/template/.hermes/skills/frontend-commit/references/scope-and-examples.md +111 -0
  273. package/template/.hermes/skills/implementation-repo-onboarding/SKILL.md +5 -5
  274. package/template/.hermes/skills/java-backend-commit/SKILL.md +121 -0
  275. package/template/.hermes/skills/java-backend-commit/agents/openai.yaml +7 -0
  276. package/template/.hermes/skills/java-backend-commit/references/scope-and-examples.md +118 -0
  277. package/template/.hermes/skills/llm-wiki/SKILL.md +1 -1
  278. package/template/.hermes/skills/llm-wiki/references/discover.md +1 -0
  279. package/template/.hermes/skills/page-form-module/SKILL.md +168 -0
  280. package/template/.hermes/skills/page-list-module/SKILL.md +137 -0
  281. package/template/.hermes/skills/page-skeleton/SKILL.md +76 -0
  282. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +34 -0
  283. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +75 -0
  284. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/index.vue +107 -0
  285. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +256 -0
  286. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/style.less +30 -0
  287. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/constant.ts +28 -0
  288. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +58 -0
  289. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +65 -0
  290. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/index.vue +91 -0
  291. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/style.less +49 -0
  292. package/template/.hermes/skills/prototype-page-acceptance/SKILL.md +62 -0
  293. package/template/.hermes/skills/theme-token-usage/SKILL.md +123 -0
  294. package/template/.hermes/skills/theme-token-usage/agents/openai.yaml +4 -0
  295. package/template/.hermes/skills/vue3-best-practices/SKILL.md +68 -0
  296. package/template/.hermes/skills/yedit-table-usage/SKILL.md +227 -0
  297. package/template/.hermes/skills/yss-api-integration/SKILL.md +12 -2
  298. package/template/.hermes/skills/yss-components/SKILL.md +1 -1
  299. package/template/.hermes/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  300. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +30 -3
  301. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +52 -0
  302. package/template/.hermes/skills/yss-design-system/SKILL.md +1 -1
  303. package/template/.hermes/skills/yss-formily/SKILL.md +233 -265
  304. package/template/.hermes/skills/yss-frontend-scaffold-generator/SKILL.md +2 -2
  305. package/template/.hermes/skills/yss-hook/SKILL.md +1 -1
  306. package/template/.hermes/skills/yss-openapi-governance/SKILL.md +2 -2
  307. package/template/.hermes/skills/yss-page-module-development/SKILL.md +12 -2
  308. package/template/.hermes/skills/yss-page-module-development/references/component-map.md +34 -0
  309. package/template/.hermes/skills/yss-page-module-development/references/hooks-map.md +11 -0
  310. package/template/.hermes/skills/yss-page-module-development/references/utils-map.md +14 -0
  311. package/template/.hermes/skills/yss-product-lifecycle/references/matt-yss-adapter.md +1 -1
  312. package/template/.hermes/skills/yss-product-lifecycle/references/orchestration-contract.yaml +86 -1
  313. package/template/.hermes/skills/yss-product-lifecycle/references/orchestration.md +2 -0
  314. package/template/.hermes/skills/yss-product-lifecycle/references/state-model.md +1 -1
  315. package/template/.hermes/skills/yss-router/SKILL.md +1 -1
  316. package/template/.hermes/skills/yss-router/references/boundaries.md +1 -1
  317. package/template/.hermes/skills/yss-router/references/router-contract.yaml +26 -2
  318. package/template/.hermes/skills/yss-router/references/slice-implementation-contract.md +1 -1
  319. package/template/.hermes/skills/yss-ui/SKILL.md +1 -1
  320. package/template/.hermes/skills/yss-use-table-height/SKILL.md +9 -0
  321. package/template/.hermes/skills/yss-use-tree-height/SKILL.md +9 -0
  322. package/template/.hermes/skills/ytable-usage/SKILL.md +251 -0
  323. package/template/.hermes/skills/ytree-usage/SKILL.md +132 -0
  324. package/template/.pi/skills/component-selection-imports/SKILL.md +64 -0
  325. package/template/.pi/skills/cross-repo-implementation-routing/SKILL.md +2 -2
  326. package/template/.pi/skills/file-export-download/SKILL.md +160 -0
  327. package/template/.pi/skills/file-export-download/agents/openai.yaml +4 -0
  328. package/template/.pi/skills/formily-foundation/SKILL.md +176 -0
  329. package/template/.pi/skills/formily-foundation/references/examples.md +486 -0
  330. package/template/.pi/skills/formily-linkage-effects/SKILL.md +167 -0
  331. package/template/.pi/skills/formily-mode-slot-detail/SKILL.md +137 -0
  332. package/template/.pi/skills/formily-step-flow/SKILL.md +194 -0
  333. package/template/.pi/skills/frontend-commit/SKILL.md +118 -0
  334. package/template/.pi/skills/frontend-commit/agents/openai.yaml +7 -0
  335. package/template/.pi/skills/frontend-commit/references/scope-and-examples.md +111 -0
  336. package/template/.pi/skills/implementation-repo-onboarding/SKILL.md +5 -5
  337. package/template/.pi/skills/java-backend-commit/SKILL.md +121 -0
  338. package/template/.pi/skills/java-backend-commit/agents/openai.yaml +7 -0
  339. package/template/.pi/skills/java-backend-commit/references/scope-and-examples.md +118 -0
  340. package/template/.pi/skills/llm-wiki/SKILL.md +1 -1
  341. package/template/.pi/skills/llm-wiki/references/discover.md +1 -0
  342. package/template/.pi/skills/page-form-module/SKILL.md +168 -0
  343. package/template/.pi/skills/page-list-module/SKILL.md +137 -0
  344. package/template/.pi/skills/page-skeleton/SKILL.md +76 -0
  345. package/template/.pi/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +34 -0
  346. package/template/.pi/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +75 -0
  347. package/template/.pi/skills/page-skeleton/examples/AdvancedFormPage/index.vue +107 -0
  348. package/template/.pi/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +256 -0
  349. package/template/.pi/skills/page-skeleton/examples/AdvancedFormPage/style.less +30 -0
  350. package/template/.pi/skills/page-skeleton/examples/StandardListPage/constant.ts +28 -0
  351. package/template/.pi/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +58 -0
  352. package/template/.pi/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +65 -0
  353. package/template/.pi/skills/page-skeleton/examples/StandardListPage/index.vue +91 -0
  354. package/template/.pi/skills/page-skeleton/examples/StandardListPage/style.less +49 -0
  355. package/template/.pi/skills/prototype-page-acceptance/SKILL.md +62 -0
  356. package/template/.pi/skills/theme-token-usage/SKILL.md +123 -0
  357. package/template/.pi/skills/theme-token-usage/agents/openai.yaml +4 -0
  358. package/template/.pi/skills/vue3-best-practices/SKILL.md +68 -0
  359. package/template/.pi/skills/yedit-table-usage/SKILL.md +227 -0
  360. package/template/.pi/skills/yss-api-integration/SKILL.md +12 -2
  361. package/template/.pi/skills/yss-components/SKILL.md +1 -1
  362. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  363. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +30 -3
  364. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +52 -0
  365. package/template/.pi/skills/yss-design-system/SKILL.md +1 -1
  366. package/template/.pi/skills/yss-formily/SKILL.md +233 -265
  367. package/template/.pi/skills/yss-frontend-scaffold-generator/SKILL.md +2 -2
  368. package/template/.pi/skills/yss-hook/SKILL.md +1 -1
  369. package/template/.pi/skills/yss-openapi-governance/SKILL.md +2 -2
  370. package/template/.pi/skills/yss-page-module-development/SKILL.md +12 -2
  371. package/template/.pi/skills/yss-page-module-development/references/component-map.md +34 -0
  372. package/template/.pi/skills/yss-page-module-development/references/hooks-map.md +11 -0
  373. package/template/.pi/skills/yss-page-module-development/references/utils-map.md +14 -0
  374. package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +1 -1
  375. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +86 -1
  376. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +2 -0
  377. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +1 -1
  378. package/template/.pi/skills/yss-router/SKILL.md +1 -1
  379. package/template/.pi/skills/yss-router/references/boundaries.md +1 -1
  380. package/template/.pi/skills/yss-router/references/router-contract.yaml +26 -2
  381. package/template/.pi/skills/yss-router/references/slice-implementation-contract.md +1 -1
  382. package/template/.pi/skills/yss-ui/SKILL.md +1 -1
  383. package/template/.pi/skills/yss-use-table-height/SKILL.md +9 -0
  384. package/template/.pi/skills/yss-use-tree-height/SKILL.md +9 -0
  385. package/template/.pi/skills/ytable-usage/SKILL.md +251 -0
  386. package/template/.pi/skills/ytree-usage/SKILL.md +132 -0
  387. package/template/.qoder/skills/component-selection-imports/SKILL.md +64 -0
  388. package/template/.qoder/skills/cross-repo-implementation-routing/SKILL.md +2 -2
  389. package/template/.qoder/skills/file-export-download/SKILL.md +160 -0
  390. package/template/.qoder/skills/file-export-download/agents/openai.yaml +4 -0
  391. package/template/.qoder/skills/formily-foundation/SKILL.md +176 -0
  392. package/template/.qoder/skills/formily-foundation/references/examples.md +486 -0
  393. package/template/.qoder/skills/formily-linkage-effects/SKILL.md +167 -0
  394. package/template/.qoder/skills/formily-mode-slot-detail/SKILL.md +137 -0
  395. package/template/.qoder/skills/formily-step-flow/SKILL.md +194 -0
  396. package/template/.qoder/skills/frontend-commit/SKILL.md +118 -0
  397. package/template/.qoder/skills/frontend-commit/agents/openai.yaml +7 -0
  398. package/template/.qoder/skills/frontend-commit/references/scope-and-examples.md +111 -0
  399. package/template/.qoder/skills/implementation-repo-onboarding/SKILL.md +5 -5
  400. package/template/.qoder/skills/java-backend-commit/SKILL.md +121 -0
  401. package/template/.qoder/skills/java-backend-commit/agents/openai.yaml +7 -0
  402. package/template/.qoder/skills/java-backend-commit/references/scope-and-examples.md +118 -0
  403. package/template/.qoder/skills/llm-wiki/SKILL.md +1 -1
  404. package/template/.qoder/skills/llm-wiki/references/discover.md +1 -0
  405. package/template/.qoder/skills/page-form-module/SKILL.md +168 -0
  406. package/template/.qoder/skills/page-list-module/SKILL.md +137 -0
  407. package/template/.qoder/skills/page-skeleton/SKILL.md +76 -0
  408. package/template/.qoder/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +34 -0
  409. package/template/.qoder/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +75 -0
  410. package/template/.qoder/skills/page-skeleton/examples/AdvancedFormPage/index.vue +107 -0
  411. package/template/.qoder/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +256 -0
  412. package/template/.qoder/skills/page-skeleton/examples/AdvancedFormPage/style.less +30 -0
  413. package/template/.qoder/skills/page-skeleton/examples/StandardListPage/constant.ts +28 -0
  414. package/template/.qoder/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +58 -0
  415. package/template/.qoder/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +65 -0
  416. package/template/.qoder/skills/page-skeleton/examples/StandardListPage/index.vue +91 -0
  417. package/template/.qoder/skills/page-skeleton/examples/StandardListPage/style.less +49 -0
  418. package/template/.qoder/skills/prototype-page-acceptance/SKILL.md +62 -0
  419. package/template/.qoder/skills/theme-token-usage/SKILL.md +123 -0
  420. package/template/.qoder/skills/theme-token-usage/agents/openai.yaml +4 -0
  421. package/template/.qoder/skills/vue3-best-practices/SKILL.md +68 -0
  422. package/template/.qoder/skills/yedit-table-usage/SKILL.md +227 -0
  423. package/template/.qoder/skills/yss-api-integration/SKILL.md +12 -2
  424. package/template/.qoder/skills/yss-components/SKILL.md +1 -1
  425. package/template/.qoder/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  426. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +30 -3
  427. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +52 -0
  428. package/template/.qoder/skills/yss-design-system/SKILL.md +1 -1
  429. package/template/.qoder/skills/yss-formily/SKILL.md +233 -265
  430. package/template/.qoder/skills/yss-frontend-scaffold-generator/SKILL.md +2 -2
  431. package/template/.qoder/skills/yss-hook/SKILL.md +1 -1
  432. package/template/.qoder/skills/yss-openapi-governance/SKILL.md +2 -2
  433. package/template/.qoder/skills/yss-page-module-development/SKILL.md +12 -2
  434. package/template/.qoder/skills/yss-page-module-development/references/component-map.md +34 -0
  435. package/template/.qoder/skills/yss-page-module-development/references/hooks-map.md +11 -0
  436. package/template/.qoder/skills/yss-page-module-development/references/utils-map.md +14 -0
  437. package/template/.qoder/skills/yss-product-lifecycle/references/matt-yss-adapter.md +1 -1
  438. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration-contract.yaml +86 -1
  439. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration.md +2 -0
  440. package/template/.qoder/skills/yss-product-lifecycle/references/state-model.md +1 -1
  441. package/template/.qoder/skills/yss-router/SKILL.md +1 -1
  442. package/template/.qoder/skills/yss-router/references/boundaries.md +1 -1
  443. package/template/.qoder/skills/yss-router/references/router-contract.yaml +26 -2
  444. package/template/.qoder/skills/yss-router/references/slice-implementation-contract.md +1 -1
  445. package/template/.qoder/skills/yss-ui/SKILL.md +1 -1
  446. package/template/.qoder/skills/yss-use-table-height/SKILL.md +9 -0
  447. package/template/.qoder/skills/yss-use-tree-height/SKILL.md +9 -0
  448. package/template/.qoder/skills/ytable-usage/SKILL.md +251 -0
  449. package/template/.qoder/skills/ytree-usage/SKILL.md +132 -0
  450. package/template/.trae/skills/.yss-skills-manifest.json +29 -0
  451. package/template/.trae/skills/component-selection-imports/SKILL.md +64 -0
  452. package/template/.trae/skills/cross-repo-implementation-routing/SKILL.md +2 -2
  453. package/template/.trae/skills/file-export-download/SKILL.md +160 -0
  454. package/template/.trae/skills/file-export-download/agents/openai.yaml +4 -0
  455. package/template/.trae/skills/formily-foundation/SKILL.md +176 -0
  456. package/template/.trae/skills/formily-foundation/references/examples.md +486 -0
  457. package/template/.trae/skills/formily-linkage-effects/SKILL.md +167 -0
  458. package/template/.trae/skills/formily-mode-slot-detail/SKILL.md +137 -0
  459. package/template/.trae/skills/formily-step-flow/SKILL.md +194 -0
  460. package/template/.trae/skills/frontend-commit/SKILL.md +118 -0
  461. package/template/.trae/skills/frontend-commit/agents/openai.yaml +7 -0
  462. package/template/.trae/skills/frontend-commit/references/scope-and-examples.md +111 -0
  463. package/template/.trae/skills/implementation-repo-onboarding/SKILL.md +5 -5
  464. package/template/.trae/skills/java-backend-commit/SKILL.md +121 -0
  465. package/template/.trae/skills/java-backend-commit/agents/openai.yaml +7 -0
  466. package/template/.trae/skills/java-backend-commit/references/scope-and-examples.md +118 -0
  467. package/template/.trae/skills/llm-wiki/SKILL.md +1 -1
  468. package/template/.trae/skills/llm-wiki/references/discover.md +1 -0
  469. package/template/.trae/skills/page-form-module/SKILL.md +168 -0
  470. package/template/.trae/skills/page-list-module/SKILL.md +137 -0
  471. package/template/.trae/skills/page-skeleton/SKILL.md +76 -0
  472. package/template/.trae/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +34 -0
  473. package/template/.trae/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +75 -0
  474. package/template/.trae/skills/page-skeleton/examples/AdvancedFormPage/index.vue +107 -0
  475. package/template/.trae/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +256 -0
  476. package/template/.trae/skills/page-skeleton/examples/AdvancedFormPage/style.less +30 -0
  477. package/template/.trae/skills/page-skeleton/examples/StandardListPage/constant.ts +28 -0
  478. package/template/.trae/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +58 -0
  479. package/template/.trae/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +65 -0
  480. package/template/.trae/skills/page-skeleton/examples/StandardListPage/index.vue +91 -0
  481. package/template/.trae/skills/page-skeleton/examples/StandardListPage/style.less +49 -0
  482. package/template/.trae/skills/prototype-page-acceptance/SKILL.md +62 -0
  483. package/template/.trae/skills/theme-token-usage/SKILL.md +123 -0
  484. package/template/.trae/skills/theme-token-usage/agents/openai.yaml +4 -0
  485. package/template/.trae/skills/vue3-best-practices/SKILL.md +68 -0
  486. package/template/.trae/skills/yedit-table-usage/SKILL.md +227 -0
  487. package/template/.trae/skills/yss-api-integration/SKILL.md +12 -2
  488. package/template/.trae/skills/yss-components/SKILL.md +1 -1
  489. package/template/.trae/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  490. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +30 -3
  491. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +52 -0
  492. package/template/.trae/skills/yss-design-system/SKILL.md +1 -1
  493. package/template/.trae/skills/yss-formily/SKILL.md +233 -265
  494. package/template/.trae/skills/yss-frontend-scaffold-generator/SKILL.md +2 -2
  495. package/template/.trae/skills/yss-hook/SKILL.md +1 -1
  496. package/template/.trae/skills/yss-openapi-governance/SKILL.md +2 -2
  497. package/template/.trae/skills/yss-page-module-development/SKILL.md +12 -2
  498. package/template/.trae/skills/yss-page-module-development/references/component-map.md +34 -0
  499. package/template/.trae/skills/yss-page-module-development/references/hooks-map.md +11 -0
  500. package/template/.trae/skills/yss-page-module-development/references/utils-map.md +14 -0
  501. package/template/.trae/skills/yss-product-lifecycle/references/matt-yss-adapter.md +1 -1
  502. package/template/.trae/skills/yss-product-lifecycle/references/orchestration-contract.yaml +86 -1
  503. package/template/.trae/skills/yss-product-lifecycle/references/orchestration.md +2 -0
  504. package/template/.trae/skills/yss-product-lifecycle/references/state-model.md +1 -1
  505. package/template/.trae/skills/yss-router/SKILL.md +1 -1
  506. package/template/.trae/skills/yss-router/references/boundaries.md +1 -1
  507. package/template/.trae/skills/yss-router/references/router-contract.yaml +26 -2
  508. package/template/.trae/skills/yss-router/references/slice-implementation-contract.md +1 -1
  509. package/template/.trae/skills/yss-ui/SKILL.md +1 -1
  510. package/template/.trae/skills/yss-use-table-height/SKILL.md +9 -0
  511. package/template/.trae/skills/yss-use-tree-height/SKILL.md +9 -0
  512. package/template/.trae/skills/ytable-usage/SKILL.md +251 -0
  513. package/template/.trae/skills/ytree-usage/SKILL.md +132 -0
  514. package/template/AGENTS.md +5 -5
  515. package/template/CONTEXT.md +3 -2
  516. package/template/docs/agents/skill-migrations.md +16 -0
  517. package/template/docs/agents/skills-maintenance.md +1 -1
  518. package/template/docs/agents/yss-skill-registry.yaml +125 -25
  519. package/template/docs/process/implementation-repo-integration.md +24 -2
  520. package/template/docs/templates/cross-repo-slice-template.md +15 -0
  521. package/template/docs/templates/implementation-repo-registry-template.md +8 -3
  522. package/template/docs/templates/implementation-routing-template.md +3 -3
  523. package/template/docs/user-guide//344/272/247/345/223/201/347/224/237/345/221/275/345/221/250/346/234/237/345/267/245/344/275/234/346/265/201.md +2 -2
  524. package/template/docs/user-guide//344/272/247/345/223/201/347/240/224/345/217/221/345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/346/234/200/344/275/263/345/256/236/350/267/265.md +4 -4
  525. package/template/docs/user-guide//347/224/237/345/221/275/345/221/250/346/234/237/346/234/200/344/275/263/345/256/236/350/267/265.md +1 -1
  526. package/template/scripts/lib/git-submodule-fixtures.mjs +58 -0
  527. package/template/scripts/lib/repository-scope-policy.mjs +456 -0
  528. package/template/scripts/lib/scenario-checks.mjs +32 -1
  529. package/template/scripts/lib/skill-governance.mjs +50 -0
  530. package/template/scripts/lib/skill-registry.mjs +82 -5
  531. package/template/scripts/lib/skill-supply-chain.mjs +5 -1
  532. package/template/scripts/repository-scope-policy +16 -0
  533. package/template/scripts/verify-repository-scope-scenarios +239 -0
  534. package/template/scripts/verify-scaffold-generator-scenarios +54 -0
  535. package/template/scripts/verify-skill-governance +10 -0
  536. package/template/scripts/verify-template +4 -2
  537. package/template/skills-lock.json +289 -33
  538. package/template.manifest.json +6 -5
  539. package/template.snapshot.json +4 -4
  540. package/template/.agents/skills/high-fidelity-html-prototype/SKILL.md +0 -89
  541. package/template/.agents/skills/high-fidelity-html-prototype/agents/openai.yaml +0 -5
  542. package/template/.agents/skills/yss-formily/agents/openai.yaml +0 -5
  543. package/template/.agents/skills/yss-formily/references/examples.md +0 -65
  544. package/template/.claude/skills/high-fidelity-html-prototype/SKILL.md +0 -89
  545. package/template/.claude/skills/high-fidelity-html-prototype/agents/openai.yaml +0 -5
  546. package/template/.claude/skills/yss-formily/agents/openai.yaml +0 -5
  547. package/template/.claude/skills/yss-formily/references/examples.md +0 -65
  548. package/template/.codex/skills/high-fidelity-html-prototype/SKILL.md +0 -89
  549. package/template/.codex/skills/high-fidelity-html-prototype/agents/openai.yaml +0 -5
  550. package/template/.codex/skills/yss-formily/agents/openai.yaml +0 -5
  551. package/template/.codex/skills/yss-formily/references/examples.md +0 -65
  552. package/template/.cursor/environment.json +0 -5
  553. package/template/.cursor/skills/high-fidelity-html-prototype/SKILL.md +0 -89
  554. package/template/.cursor/skills/high-fidelity-html-prototype/agents/openai.yaml +0 -5
  555. package/template/.cursor/skills/yss-formily/agents/openai.yaml +0 -5
  556. package/template/.cursor/skills/yss-formily/references/examples.md +0 -65
  557. package/template/.github/workflows/template-node-tooling.yml +0 -61
  558. package/template/.hermes/skills/high-fidelity-html-prototype/SKILL.md +0 -89
  559. package/template/.hermes/skills/high-fidelity-html-prototype/agents/openai.yaml +0 -5
  560. package/template/.hermes/skills/yss-formily/agents/openai.yaml +0 -5
  561. package/template/.hermes/skills/yss-formily/references/examples.md +0 -65
  562. package/template/.pi/skills/high-fidelity-html-prototype/SKILL.md +0 -89
  563. package/template/.pi/skills/high-fidelity-html-prototype/agents/openai.yaml +0 -5
  564. package/template/.pi/skills/yss-formily/agents/openai.yaml +0 -5
  565. package/template/.pi/skills/yss-formily/references/examples.md +0 -65
  566. package/template/.qoder/skills/high-fidelity-html-prototype/SKILL.md +0 -89
  567. package/template/.qoder/skills/high-fidelity-html-prototype/agents/openai.yaml +0 -5
  568. package/template/.qoder/skills/yss-formily/agents/openai.yaml +0 -5
  569. package/template/.qoder/skills/yss-formily/references/examples.md +0 -65
  570. package/template/.trae/skills/high-fidelity-html-prototype/SKILL.md +0 -89
  571. package/template/.trae/skills/high-fidelity-html-prototype/agents/openai.yaml +0 -5
  572. package/template/.trae/skills/yss-formily/agents/openai.yaml +0 -5
  573. package/template/.trae/skills/yss-formily/references/examples.md +0 -65
  574. package/template/wiki/.wiki-manifest.json +0 -390
  575. package/template/wiki/raw/AGENTS.md +0 -122
  576. package/template/wiki/raw/CONTEXT.md +0 -80
  577. package/template/wiki/raw/README.md +0 -130
  578. package/template/wiki/raw/adr-0002-repository-mode.md +0 -3
  579. package/template/wiki/raw/create-yss-spec-repository-mode-contract.md +0 -95
  580. package/template/wiki/raw/harness-process-tailoring.md +0 -64
  581. package/template/wiki/raw/implementation-repo-integration.md +0 -62
  582. package/template/wiki/raw/issue-tracker.md +0 -135
  583. package/template/wiki/raw/lifecycle-registry.yaml +0 -369
  584. package/template/wiki/raw/maintenance-intensity.yaml +0 -25
  585. package/template/wiki/raw/skills-lock-names.md +0 -93
  586. package/template/wiki/raw/skills-maintenance.md +0 -90
  587. package/template/wiki/raw/spec-template.md +0 -102
  588. package/template/wiki/raw/triage-labels.md +0 -15
  589. package/template/wiki/raw/vertical-slice-ticket-template.md +0 -132
  590. package/template/wiki/raw/yss-project.yaml +0 -2
  591. package/template/wiki/raw/yss-skill-registry.yaml +0 -510
  592. package/template/wiki/wiki/Agent/345/205/245/345/217/243/350/247/204/345/210/231.md +0 -21
  593. package/template/wiki/wiki/CLAUDE.md +0 -28
  594. package/template/wiki/wiki/Fresh/351/252/214/350/257/201/344/270/216/347/213/254/347/253/213/345/256/241/346/237/245.md +0 -19
  595. package/template/wiki/wiki/LLM Wiki.md +0 -30
  596. package/template/wiki/wiki/Matt/346/212/200/350/203/275/344/275/223/347/263/273.md +0 -21
  597. package/template/wiki/wiki/OpenAPI/345/245/221/347/272/246.md +0 -20
  598. package/template/wiki/wiki/SpecDelta.md +0 -19
  599. package/template/wiki/wiki/Spec/345/237/272/347/272/277.md +0 -22
  600. package/template/wiki/wiki/Ticket/344/270/216/346/265/201/347/250/213/347/212/266/346/200/201.md +0 -21
  601. package/template/wiki/wiki/YSS/345/267/245/347/250/213/346/212/200/350/203/275/344/275/223/347/263/273.md +0 -23
  602. package/template/wiki/wiki/YSS/350/267/257/347/224/261/344/270/216/345/220/210/345/220/214/347/274/226/350/257/221.md +0 -20
  603. package/template/wiki/wiki/concept-table.md +0 -9
  604. package/template/wiki/wiki/index.md +0 -41
  605. package/template/wiki/wiki/log.md +0 -51
  606. package/template/wiki/wiki//344/272/247/345/223/201/347/240/224/345/217/221/347/224/237/345/221/275/345/221/250/346/234/237.md +0 -20
  607. package/template/wiki/wiki//344/272/247/345/223/201/350/256/276/350/256/241/345/275/261/345/223/215/344/270/216/345/216/237/345/236/213.md +0 -19
  608. package/template/wiki/wiki//344/273/223/345/272/223/350/272/253/344/273/275/344/270/216/350/267/257/347/224/261.md +0 -20
  609. package/template/wiki/wiki//345/210/207/347/211/207/345/256/236/347/216/260/345/220/210/345/220/214.md +0 -21
  610. package/template/wiki/wiki//345/236/202/347/233/264/345/210/207/347/211/207Ticket.md +0 -23
  611. package/template/wiki/wiki//345/244/215/347/233/230/344/270/216/346/235/203/345/250/201/350/265/204/344/272/247/344/277/256/350/256/242.md +0 -20
  612. package/template/wiki/wiki//345/256/236/347/216/260/344/273/223/345/272/223/344/270/216/350/267/250/344/273/223/345/272/223/345/245/221/347/272/246.md +0 -22
  613. package/template/wiki/wiki//345/275/261/345/223/215/351/235/242/345/210/206/350/257/212/344/270/216/346/265/201/347/250/213/350/243/201/345/211/252.md +0 -20
  614. package/template/wiki/wiki//346/212/200/350/203/275/346/212/225/345/275/261/344/270/216/351/224/201/345/256/232.md +0 -23
  615. package/template/wiki/wiki//346/235/241/344/273/266/345/274/272/345/210/266/351/227/250/347/246/201.md +0 -18
  616. package/template/wiki/wiki//346/250/241/346/235/277/345/217/221/345/270/203/351/227/250/347/246/201/344/270/216/351/252/214/350/257/201.md +0 -22
  617. package/template/wiki/wiki//346/250/241/346/235/277/346/200/273/350/247/210.md +0 -20
  618. package/template/wiki/wiki//346/250/241/346/235/277/347/273/264/346/212/244/346/265/201/347/250/213.md +0 -19
@@ -0,0 +1,132 @@
1
+ ---
2
+ name: ytree-usage
3
+ description: 指导 YSS UI 左树右表、组织树、分类树、目录树和节点管理页使用 @yss-ui/components 的 YTree,覆盖 fieldNames 字段映射、搜索过滤、受控选中、节点动作、删除确认、虚拟滚动和自适应高度;当生成或修改树形筛选、左树右表、树搜索或树节点操作时使用。
4
+ ---
5
+
6
+ # YTree 使用
7
+
8
+ ## 触发条件
9
+
10
+ - 生成或修改左树右表、组织树、分类树、目录树、树搜索或树节点操作。
11
+ - 需要配置 `fieldNames`、受控选中、`YTreeActionItem` 或树区域自适应高度。
12
+
13
+ ## 不适用场景
14
+
15
+ - 树数据只用于表单 TreeSelect 字段:使用 `YFormily` 或对应表单规范。
16
+ - 页面只有普通列表而没有层级筛选:使用 `../ytable-usage/SKILL.md`。
17
+
18
+ ## 实施流程
19
+
20
+ 1. 当前会话可用 yss-ui MCP 时,先用 `get_component_docs` 查询 `YTree` 的 Props、Slots、Events 和 `YTreeActionItem`;需要搜索、节点动作、受控选中或左树右表时,再用 `get_demo` 获取对应官方 Demo。
21
+ 2. MCP 工具不可用、调用失败或用 `search_docs/list_components` 校正后仍无结果时,才读取最新 `llms-full.txt`;若文档与当前项目依赖版本不一致,用当前源码和导出核验。
22
+ 3. 确定树数据的 title/key/children 字段、受控状态和选中后的业务联动。
23
+ 4. 按容器布局配置 `useTreeHeight`,再添加搜索和节点动作。
24
+ 5. 若包含删除,单独完成气泡确认链路;不把 `danger` 颜色当成二次确认。
25
+
26
+ ## 硬约束(禁止/必须)
27
+
28
+ - 从 `@yss-ui/components` 导入 `YTree`、`YTreeActionItem` 等真实导出;高度使用 `@yss-ui/hooks` 的 `useTreeHeight`。
29
+ - 数据字段不一致时配置 `fieldNames`,不为了改名重复递归复制树数据。
30
+ - 搜索使用 `filterable + v-model:searchValue`;受控选中使用 `v-model:selectedKeys`。
31
+ - 普通节点菜单使用 `showActions + getNodeActions`,并监听 `@action`。`YTreeActionItem` 只支持 `key/label/icon/disabled/danger`,禁止臆造 `isConfirm/click` 等字段。
32
+ - `danger: true` 只改变危险项视觉,不会弹出确认框。删除必须放在节点附近的 `#node-suffix` 或当前选中节点操作区,用 Ant Design Vue `Popconfirm` 的 `@confirm` 调用接口;不使用居中 `Modal.confirm`。
33
+ - 树区域需要滚动时绑定 `:height="treeHeight"`,不默认添加 `:virtual="true"`。只有展开后可见扁平节点数 `* itemHeight > height` 时才会实际裁剪 DOM。
34
+ - 使用 YTree 内置搜索时,高度 Hook 通过 `extraOffset: YTREE_SEARCH_HEIGHT` 扣除 48px;不再叠加无依据的魔法数。
35
+ - 左树右表优先组合 `YSplitPane + YCard + YTree + YTable`;切换节点时同步查询条件并把右表分页重置为第 1 页。
36
+ - 节点删除 API 的错误由 `mutator.ts` 统一提示并 reject;不在 `else/catch` 重复 `message.error`。
37
+
38
+ ## 标准代码骨架
39
+
40
+ ```vue
41
+ <script setup lang="ts">
42
+ import { ref } from 'vue';
43
+ import { YTree, type YTreeActionItem } from '@yss-ui/components';
44
+ import { useTreeHeight, YTREE_SEARCH_HEIGHT } from '@yss-ui/hooks';
45
+
46
+ /** 树节点数据。 */
47
+ interface TreeNode {
48
+ id: string;
49
+ name: string;
50
+ children?: TreeNode[];
51
+ }
52
+
53
+ const emit = defineEmits<{
54
+ create: [node: TreeNode];
55
+ edit: [node: TreeNode];
56
+ }>();
57
+ const treeAreaRef = ref<HTMLDivElement>();
58
+ const treeData = ref<TreeNode[]>([]);
59
+ const searchValue = ref('');
60
+ const selectedKeys = ref<Array<string | number>>([]);
61
+ const { treeHeight } = useTreeHeight(treeAreaRef, {
62
+ extraOffset: YTREE_SEARCH_HEIGHT,
63
+ });
64
+
65
+ /** 生成当前节点的非危险操作。 */
66
+ const getNodeActions = (): YTreeActionItem[] => [
67
+ { key: 'add', label: '新增子节点' },
68
+ { key: 'edit', label: '编辑' },
69
+ ];
70
+
71
+ /** 处理 YTree 动作事件。 */
72
+ const handleTreeAction = ({ key, node }: { key: string; node: TreeNode }) => {
73
+ if (key === 'add') emit('create', node);
74
+ if (key === 'edit') emit('edit', node);
75
+ };
76
+ </script>
77
+
78
+ <template>
79
+ <div ref="treeAreaRef" class="tree-area">
80
+ <YTree
81
+ :height="treeHeight"
82
+ :tree-data="treeData"
83
+ :field-names="{ title: 'name', key: 'id', children: 'children' }"
84
+ filterable
85
+ show-actions
86
+ v-model:searchValue="searchValue"
87
+ v-model:selectedKeys="selectedKeys"
88
+ :get-node-actions="getNodeActions"
89
+ @action="handleTreeAction"
90
+ />
91
+ </div>
92
+ </template>
93
+
94
+ <style scoped lang="less">
95
+ @import './style.less';
96
+ </style>
97
+ ```
98
+
99
+ ```less
100
+ /* style.less */
101
+ .tree-area {
102
+ flex: 1;
103
+ min-height: 0;
104
+ overflow: hidden;
105
+ }
106
+ ```
107
+
108
+ ## 删除确认边界
109
+
110
+ ```vue
111
+ <template #node-suffix="{ node }">
112
+ <Popconfirm title="确认删除该节点吗?" ok-text="确定" cancel-text="取消" @confirm="handleDelete(node)">
113
+ <YButton type="link" @click.stop>删除</YButton>
114
+ </Popconfirm>
115
+ </template>
116
+ ```
117
+
118
+ `Popconfirm` 从 `ant-design-vue` 导入,`YButton` 从 `@yss-ui/components` 导入。如果每个节点都展示删除会过密,把同样的 `Popconfirm` 放到选中节点的页面工具栏。
119
+
120
+ ## 交付检查清单
121
+
122
+ - [ ] `fieldNames`、`searchValue`、`selectedKeys`、`action` 与真实 API 一致。
123
+ - [ ] 节点动作项未出现虚构字段,删除不会点菜单后立即执行。
124
+ - [ ] 高度偏移与内置搜索实际开关一致,没有多扣魔法数。
125
+ - [ ] 左树选中后,右表查询条件和分页重置闭环清晰。
126
+
127
+ ## 失败兜底策略
128
+
129
+ - 节点字段不统一时先修正 `fieldNames`,不复制整棵树换键。
130
+ - 点击删除立即调用 API 时,移出节点动作菜单,改为节点附近或页面操作区 `Popconfirm`。
131
+ - 传入 `height` 但节点未裁剪时,先核对展开后可见节点数、`itemHeight` 和阈值,不盲目强制 `virtual=true`。
132
+ - 节点 API 失败后让 mutator reject 中断右表刷新等后续流程,不重复错误提示。
@@ -0,0 +1,32 @@
1
+ # --- YSS AI SKILLS START ---
2
+ # The following skills are available in this project.
3
+ # AI Assistant: When a user request matches a skill, you MUST read the corresponding SKILL.md file.
4
+
5
+ - yss-ui-business-page-generation: .agents/skills/yss-ui-business-page-generation/SKILL.md
6
+ - theme-token-usage: .agents/skills/theme-token-usage/SKILL.md
7
+ - component-selection-imports: .agents/skills/component-selection-imports/SKILL.md
8
+ - page-module-development: .agents/skills/page-module-development/SKILL.md
9
+ - page-skeleton: .agents/skills/page-skeleton/SKILL.md
10
+ - page-list-module: .agents/skills/page-list-module/SKILL.md
11
+ - page-form-module: .agents/skills/page-form-module/SKILL.md
12
+ - ytable-usage: .agents/skills/ytable-usage/SKILL.md
13
+ - yedit-table-usage: .agents/skills/yedit-table-usage/SKILL.md
14
+ - ytree-usage: .agents/skills/ytree-usage/SKILL.md
15
+ - prototype-page-acceptance: .agents/skills/prototype-page-acceptance/SKILL.md
16
+ - api-integration: .agents/skills/api-integration/SKILL.md
17
+ - file-export-download: .agents/skills/file-export-download/SKILL.md
18
+ - vue3-best-practices: .agents/skills/vue3-best-practices/SKILL.md
19
+ - frontend-commit: .agents/skills/frontend-commit/SKILL.md
20
+ - java-backend-commit: .agents/skills/java-backend-commit/SKILL.md
21
+ - use-table-height: .agents/skills/use-table-height/SKILL.md
22
+ - use-tree-height: .agents/skills/use-tree-height/SKILL.md
23
+ - yss-formily: .agents/skills/yss-formily/SKILL.md
24
+ - formily-foundation: .agents/skills/formily-foundation/SKILL.md
25
+ - formily-linkage-effects: .agents/skills/formily-linkage-effects/SKILL.md
26
+ - formily-mode-slot-detail: .agents/skills/formily-mode-slot-detail/SKILL.md
27
+ - formily-step-flow: .agents/skills/formily-step-flow/SKILL.md
28
+
29
+ # General Instruction:
30
+ # Before starting any complex task, check if it falls under one of the skills above.
31
+ # If so, read the SKILL.md file to understand the standards and best practices.
32
+ # --- YSS AI SKILLS END ---
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: component-selection-imports
3
+ description: 指导 YSS UI 业务页面、CRUD、列表页、表单页和组件评审在编码前判定组件、Hook 与工具函数的真实导出来源;当需要在 @yss-ui/components、@yss-ui/hooks、@yss-ui/utils 与 ant-design-vue 之间选择,或需要排查虚构 Y 前缀组件、错误导入、Formily UI 边界时使用。
4
+ ---
5
+
6
+ # 组件选择与导入
7
+
8
+ ## 触发条件
9
+
10
+ - 生成 YSS UI 业务页面前需要判定组件、Hook 或工具函数来源。
11
+ - 出现错误 Y 前缀、导入冲突、Formily UI 跨层或者组件是否已封装不明确。
12
+
13
+ ## 不适用场景
14
+
15
+ - 只修改与 UI 导入无关的纯数据逻辑。
16
+ - 组件库内部组件开发;该场景应按组件开发规范处理内部依赖。
17
+
18
+ ## 判定流程
19
+
20
+ 1. 当前会话可用 yss-ui MCP 时,先用 `list_components` 确认组件、Hook 或 Utils 是否真实存在,再用 `get_component_docs` 确认名称、导出包、Props、Events 和 Slots,不只看 demo 标签名。
21
+ 2. `get_component_docs` 未命中时,先用 `search_docs` 和 `list_components` 校正别名与归属,不得立即判定为未封装。
22
+ 3. MCP 工具不可用、调用失败或校正后仍无结果时,读取当前上下文中的最新 `llms-full.txt`;上下文没有时读取 `http://192.168.164.27:3200/llms-full.txt`。
23
+ 4. 必要时读取 `../yss-page-module-development/references/component-map.md`、`hooks-map.md`、`utils-map.md` 快速缩小范围;文档与当前项目依赖版本不一致时,最终以当前源码和可编译导出为准。
24
+ 5. 已导出的 YSS 能力优先从 `@yss-ui/components`、`@yss-ui/hooks`、`@yss-ui/utils` 导入;确认未封装后才从 `ant-design-vue` 导入原组件。
25
+ 6. 若文档与导出源码不一致,记录差异并按当前仓库可编译的导出处理,不猜测 API。
26
+
27
+ ## 硬约束(禁止/必须)
28
+
29
+ - 业务层已封装组件必须从 `@yss-ui/components` 导入;可编辑表格必须优先使用 `YEditTable`,业务主表格必须优先使用 `YTable`。
30
+ - 当前公共导出包含 `YButton`、`YCard`、`YTable`、`YEditTable`、`YTree`、`YSplitPane`、`YFormily` 等;未导出 `YModal`、`YDrawer`、`YInput`、`YPopconfirm`,禁止臆造这些名称。
31
+ - 当前未封装的 `Modal`、`Drawer`、`Popconfirm`、`Input` 等从 `ant-design-vue` 导入。删除操作使用按钮附近的 `Popconfirm`,不默认使用居中 `Modal.confirm`。
32
+ - 业务层禁止导入 `@formily/antdv` 或 `@formily/antd*` UI 组件;使用 `YFormily` 提供的 Schema 与组件边界。
33
+ - 禁止因文档暂时不可达就把猜测的 `Y*` 组件改成 Ant Design Vue “先落地”。只能复用当前仓库已证明可用的导入,或明确报告待确认项。
34
+ - 接口错误提示由 `mutator.ts` 的响应拦截器统一处理。API Hook 不得在 `success === false` 分支或 `catch` 内重复调用 `message.error`;`message` 只用于非 API 错误的本地交互反馈或成功提示。
35
+
36
+ ## 标准代码骨架
37
+
38
+ ```typescript
39
+ import {
40
+ YButton,
41
+ YCard,
42
+ YEditTable,
43
+ YTable,
44
+ YTree,
45
+ YFormily,
46
+ type YEditTableColumn,
47
+ type YTableColumn,
48
+ } from '@yss-ui/components';
49
+ import { useLoading, useTableHeight, useTreeHeight } from '@yss-ui/hooks';
50
+ import { copyToClipboard, formatDate } from '@yss-ui/utils';
51
+ import { Drawer, Input, Modal, Popconfirm } from 'ant-design-vue';
52
+ ```
53
+
54
+ ## 交付检查清单
55
+
56
+ - [ ] 每个关键导入都能在最新文档或包的 `src/index.ts` 中追溯。
57
+ - [ ] 未导出的 Y 前缀组件没有出现在业务代码中。
58
+ - [ ] 删除、表格、编辑表格和 Formily 导入边界符合项目约束。
59
+ - [ ] API Hook 中没有重复 `message.error`,异常仍由 `Promise.reject` 中断后续流程。
60
+
61
+ ## 失败兜底策略
62
+
63
+ - MCP 与 `llms-full.txt` 都不可用时,用 CodeGraph/源码 `src/index.ts` 和当前项目已编译的相近页面交叉确认,不猜测导出。
64
+ - 文档与源码不一致时,优先保证当前仓库可编译,并在交付中明确标注文档差异。
@@ -19,8 +19,8 @@ description: Use when a Harness change or vertical slice may require work across
19
19
  1. 读取 `docs/process/implementation-repo-integration.md` 和当前 change 资产。
20
20
  2. 判断影响面:Harness-only、backend-only、frontend-only、backend+frontend、contract-only、release-only。
21
21
  3. 确认每个受影响实现仓库已有登记记录;缺失则阻断并要求 onboarding。
22
- 4. 核对项目根路径:Harness 内项目必须是 `apps/backend/<project>/` 或 `apps/frontend/<project>/`;`apps/backend/`、`apps/frontend/` 只能作为容器,`app/backend/`、`app/frontend/` 及其子路径必须阻断。外部仓库记录各自的真实项目根。
23
- 5. 输出最小任务分配:Harness 文档 / OpenAPI / 后端 MR / 前端 MR / 验证 / 发布。
22
+ 4. 核对项目根路径:Harness 内 `harness-apps` 与 `git-submodule` 项目必须是 `apps/backend/<project>/` 或 `apps/frontend/<project>/`;`apps/backend/`、`apps/frontend/` 只能作为容器,`app/backend/`、`app/frontend/` 及其子路径必须阻断。`git-submodule` 另核 gitlink、`.gitmodules` 和独立 `git_url`。外部 `external-repository` 记录各自的真实项目根。
23
+ 5. 输出最小任务分配:Harness 文档 / OpenAPI / 后端 MR / 前端 MR / 验证 / 发布。`git-submodule` 必须追加 `superproject-gitlink-update`。
24
24
  6. 按 `docs/templates/cross-repo-slice-template.md` 生成切片记录草案。
25
25
  7. 给出 fresh verification 命令和阶段 checkpoint 回写字段。
26
26
 
@@ -0,0 +1,160 @@
1
+ ---
2
+ name: file-export-download
3
+ description: 指导 Vue3 YSS UI 微应用实现文件导出、报表下载、模板下载和附件下载,覆盖 OpenAPI binary 响应、Orval 生成方法检查、responseType blob 兜底、Blob 响应类型、Content-Disposition 文件名、handleBlobResponse、loading 与错误处理;当需求出现导出、下载、Excel、CSV、PDF、ZIP、Blob 或文件流时使用。
4
+ ---
5
+
6
+ # YSS 文件导出下载 Skill
7
+
8
+ ## 触发条件
9
+
10
+ - 页面需要导出 Excel、CSV、PDF、ZIP、报表、密钥文件或其他二进制文件。
11
+ - 页面需要下载导入模板、附件或后端动态生成的文件。
12
+ - Orval 生成接口的返回值是 `Blob`,或业务调用需要配置 `responseType: 'blob'`。
13
+ - 代码正在手写 `URL.createObjectURL`、解析 `Content-Disposition`、拼接文件名或调用 `downloadFileStream`。
14
+
15
+ ## 不适用场景
16
+
17
+ - 仅上传文件,不包含模板下载或导出流程。
18
+ - 下载公开静态 URL 且无需鉴权、请求参数和响应头文件名时,使用 `downloadFileFromUrl(url, fileName?)`。
19
+ - 浏览器只需要预览远程 PDF/图片,不触发文件保存。
20
+
21
+ ## 必读依据
22
+
23
+ - 通用接口规则:`../yss-api-integration/SKILL.md`。
24
+ - 当前项目:`openapi/openapi.json`、Orval 配置、生成后的 API 方法和 `packages/src/api/mutator.ts`。
25
+ - YSS Utils 文件下载能力:按下方检索顺序核对 `handleBlobResponse` 和 `downloadBlob`。
26
+
27
+ ## 文档检索
28
+
29
+ 1. MCP 可用时,先用 `search_docs` 查询 `handleBlobResponse 文件下载 Content-Disposition`,并读取命中的 `downloadBlob(/utils/download)` 文档。该能力属于工具函数,不强制调用面向组件别名的 `get_component_docs`。
30
+ 2. 搜索无结果时,调整关键词再次调用 `search_docs`;仅在 MCP 不可用、调用失败或仍无结果时,回退读取最新 `llms-full.txt` 的文件下载章节。文档版本与当前依赖不一致时,再核对 `packages/utils` 源码、CodeGraph 和真实导出。
31
+
32
+ ## 决策流程
33
+
34
+ 1. 在 OpenAPI 中定位导出接口,优先把成功响应声明为二进制媒体类型和 `format: binary`。
35
+ 2. 重新生成 API 后检查生成方法,而不是凭接口名称判断:
36
+ - 已包含 `responseType: 'blob'`:业务调用不必重复传第二参数。
37
+ - 未包含 `responseType: 'blob'`:业务调用必须传第二参数 `{ responseType: 'blob' }`。
38
+ 3. 检查 mutator 和全局错误处理器:Blob 成功响应必须保留 `{ data, headers }`;HTTP 4xx/5xx 的 Blob JSON 错误应由全局错误处理器解析并 reject。
39
+ 4. 在业务 hook 中设置 loading、防重复点击,调用生成 API,再执行 `handleBlobResponse(res.data, res.headers)`。
40
+ 5. 验证文件名、文件内容、错误响应和连续点击,不只验证浏览器出现了下载任务。
41
+
42
+ > OpenAPI 标准通过响应 `content` 和 `format: binary` 表达二进制,不直接使用 Axios 的 `responseType` 字段。最终以 Orval 生成方法是否含 `responseType: 'blob'` 为判断依据。
43
+
44
+ ## 硬约束(禁止/必须)
45
+
46
+ - 必须优先导入 `import { handleBlobResponse } from '@yss-ui/utils';` 处理接口文件流。
47
+ - 必须调用 `handleBlobResponse(res.data, res.headers)`;它会自动兼容响应头大小写,并解析 RFC 5987 `filename*` 与普通 `filename`。
48
+ - 第三个 `hasUtf8Encoding` 参数已弃用,禁止继续传递。
49
+ - 生成方法缺少 Blob 配置时,必须在第二参数顶层传 `{ responseType: 'blob' }`;禁止放进 `headers`、请求 body 或查询参数。
50
+ - 生成方法已包含 Blob 配置时,禁止为“保险”重复传相同配置;先保持 OpenAPI 契约和生成产物正确。
51
+ - 禁止修改 Orval 生成文件补写 `responseType`,因为重新生成会覆盖;应修正 OpenAPI,或在业务调用第二参数临时兜底。
52
+ - 禁止依赖 URL 中包含 `download/export` 的请求拦截器猜测响应类型;接口可能不按该名称命名。
53
+ - 禁止在业务层重复实现 `getFileNameFromContentDisposition`、`downloadFileStream`、`URL.createObjectURL` 和 `<a download>` 流程。
54
+ - 必须保留响应头;只取 `res.data` 会丢失服务端文件名。
55
+ - Blob 接口失败时遵循全局 mutator 错误处理,禁止在 catch 中重复 `message.error`;成功下载后可提示 `message.success`。
56
+ - 当前模板 mutator 只能识别“已解析 JSON 对象”的 `success === false`,不会自动检测 HTTP 200 Blob 内的业务错误;发现该契约时必须先修正后端状态码或 mutator,禁止把解析逻辑复制到每个 Hook。
57
+ - 必须用独立 loading 状态防止重复导出,并在 `finally` 中恢复。
58
+ - 不得默认传 `skipBusinessError` 或 `skipErrorHandler`;只有明确需要业务自定义错误体验时才使用。
59
+
60
+ ## OpenAPI 标准代码骨架
61
+
62
+ ```json
63
+ {
64
+ "responses": {
65
+ "200": {
66
+ "description": "导出成功",
67
+ "headers": {
68
+ "Content-Disposition": {
69
+ "schema": { "type": "string" }
70
+ }
71
+ },
72
+ "content": {
73
+ "application/octet-stream": {
74
+ "schema": {
75
+ "type": "string",
76
+ "format": "binary"
77
+ }
78
+ }
79
+ }
80
+ }
81
+ }
82
+ }
83
+ ```
84
+
85
+ 根据文件类型可将媒体类型换成 `text/csv`、`application/pdf` 或 Excel 对应类型。跨域请求若读取不到文件名,后端还必须暴露 `Content-Disposition` 响应头。
86
+
87
+ ## 标准代码骨架
88
+
89
+ ### 生成方法已包含 responseType
90
+
91
+ ```typescript
92
+ import { ref } from 'vue';
93
+ import { handleBlobResponse } from '@yss-ui/utils';
94
+ import { downloadAccessSecret } from '@/api/generated/quality';
95
+
96
+ /** 微应用 mutator 返回的文件下载响应。 */
97
+ type BlobDownloadResponse = {
98
+ data: Blob;
99
+ headers: Record<string, string>;
100
+ };
101
+
102
+ /** 文件下载进行中状态。 */
103
+ const downloading = ref(false);
104
+
105
+ /** 下载密钥文件。 */
106
+ const downloadFile = async (key: string): Promise<void> => {
107
+ if (downloading.value) return;
108
+
109
+ downloading.value = true;
110
+ try {
111
+ const res = (await downloadAccessSecret(key)) as unknown as BlobDownloadResponse;
112
+ handleBlobResponse(res.data, res.headers);
113
+ } catch {
114
+ // mutator 已展示错误;此处只阻止 reject 继续向 UI 事件传播。
115
+ } finally {
116
+ downloading.value = false;
117
+ }
118
+ };
119
+ ```
120
+
121
+ ### 生成方法缺少 responseType
122
+
123
+ 只改调用行,其他流程保持一致:
124
+
125
+ ```typescript
126
+ const res = (await downloadAccessSecret(key, {
127
+ responseType: 'blob',
128
+ })) as unknown as BlobDownloadResponse;
129
+ ```
130
+
131
+ 若 mutator 与 Orval 返回类型已经准确声明为 `{ data: Blob; headers: ... }`,直接使用生成类型,删除不必要的类型断言。
132
+
133
+ ## 响应约定
134
+
135
+ - 后端成功响应应返回真实文件流,并设置 `Content-Disposition: attachment; filename*=UTF-8''...`。
136
+ - mutator 对 Blob 成功响应返回 `{ data, headers }`,以便 `handleBlobResponse` 获取文件名。
137
+ - HTTP 错误的 Blob JSON 由全局错误处理器解析并 reject,业务 Hook 不重复解析或提示。
138
+ - HTTP 200 且 body 是 Blob 包装的业务错误时,当前模板不会自动 reject;必须修复契约或统一拦截器后再交付。
139
+ - `handleBlobResponse` 找不到文件名时会使用 `download`;应优先补齐后端响应头,而不是在每个页面手写解析逻辑。
140
+
141
+ ## 交付检查清单
142
+
143
+ - [ ] 已检查 OpenAPI 二进制响应声明和 Orval 生成方法。
144
+ - [ ] 仅在生成方法缺少配置时,第二参数传入了 `{ responseType: 'blob' }`。
145
+ - [ ] 已从 `@yss-ui/utils` 导入并调用 `handleBlobResponse(res.data, res.headers)`。
146
+ - [ ] 未修改 Orval 生成文件,未重复实现文件名解析或浏览器下载逻辑。
147
+ - [ ] Blob 成功响应保留了 `data` 与 `headers`,类型断言只位于 API 边界。
148
+ - [ ] 已处理 loading、防重复点击和 `finally` 恢复。
149
+ - [ ] 未在 catch 中重复业务错误 Toast。
150
+ - [ ] 中文文件名、普通文件名和缺失文件名场景均已验证。
151
+ - [ ] HTTP 错误的 Blob JSON 会 reject;如存在 HTTP 200 Blob 业务错误契约,已修正后端状态码或 mutator。
152
+ - [ ] 下载文件可以正常打开,格式和内容与接口预期一致。
153
+
154
+ ## 失败兜底策略
155
+
156
+ - 生成方法不支持第二参数时,先确认 Orval `options: true`;修正配置并重新生成,禁止手改生成文件。
157
+ - `res.headers` 为空时,检查 mutator 是否错误地只返回 `data`,以及后端/CORS 是否暴露 `Content-Disposition`。
158
+ - 下载到 JSON 错误文件时,先确认 HTTP 状态码:非 2xx 检查全局错误处理器,HTTP 200 检查后端契约并在 mutator 统一补齐;禁止把解析逻辑复制到每个业务 Hook。
159
+ - 文件名始终为 `download` 时,优先修复后端 `Content-Disposition`;无法改后端时再评估统一扩展 YSS 下载工具。
160
+ - 超大文件导致内存压力时,改用后端临时 URL、分片或流式下载方案,不强行把全部内容载入 Blob。
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "YSS 文件导出下载"
3
+ short_description: "规范 Orval Blob 导出、responseType 配置与文件下载处理"
4
+ default_prompt: "使用 $file-export-download 实现类型安全的文件导出下载,并正确处理 Blob、响应头和文件名。"
@@ -0,0 +1,176 @@
1
+ ---
2
+ name: formily-foundation
3
+ description: 指导 YFormily 基础表单开发;当创建或修复普通单页表单、字段校验、提交链路、查询表单布局、scope 表达式或导入边界时使用。
4
+ ---
5
+
6
+ # Formily Foundation Skill
7
+
8
+ ## 触发条件
9
+
10
+ - 创建或改造 `YFormily` 基础表单(字段、校验、提交)。
11
+ - 修复表单导入路径、schema 层级、提交不触发等问题。
12
+ - 实现普通单页表单,不含复杂联动或详情插槽。
13
+
14
+ ## 不适用场景
15
+
16
+ - 复杂联动、副作用、跨字段逻辑:使用 `../formily-linkage-effects/SKILL.md`。
17
+ - 查看态 detail 插槽和 mode 切换:使用 `../formily-mode-slot-detail/SKILL.md`。
18
+ - 分步表单:使用 `../formily-step-flow/SKILL.md`。
19
+
20
+ ## 文档检索
21
+
22
+ 1. 当前会话可用 yss-ui MCP 时,先用 `get_component_docs` 查询 `YFormily` 的基础 Props、Methods 与 Schema 边界;实现字段布局、提交或校验失败时,再用 `get_demo` 获取 `formily/basic`、`formily/grid`、`formily/submit-failed` 等官方 Demo。
23
+ 2. MCP 查询未命中时先用 `search_docs/list_components` 校正名称;MCP 不可用、调用失败或校正后仍无结果时,才读取最新 `llms-full.txt`。若文档与当前项目依赖版本不一致,用当前源码和导出核验。
24
+
25
+ ## 硬约束(禁止/必须)
26
+
27
+ - 业务生成代码统一从 `@yss-ui/components` 导入 `YFormily` 与 `ISchema`;`YssFormily` 仅作为历史兼容别名说明。
28
+ - 禁止业务层导入 `@formily/antdv`、`@formily/antd*` UI 组件。
29
+ - 必须使用三层结构:`FormLayout -> FormGrid -> 字段`,禁止字段直接挂在根节点或单独以 `FormGrid` 作为顶层布局。
30
+ - `Submit` 必须传 `onSubmit`,否则不触发表单提交。
31
+ - 标准业务列表/CRUD 查询区默认让 `YFormily` 只渲染字段;查询/重置按钮用外部 `YButton` 放在 `.xxx__search-actions`,由 hook 的 `handleSearch/handleReset` 控制分页重置和请求。
32
+ - `AutoButtonGroup -> Submit/Reset` 仅用于纯 Formily 表单提交,不作为业务列表查询区默认方案。
33
+ - 查询区禁止横向放“表单 + 按钮”后用大 `gap`、`align-items: flex-start` 或 `padding-top` 硬调位置;字段换行时按钮必须在搜索卡片右下角。
34
+ - 横向表单必须显式设置 `FormLayout` 的 `labelWidth` 和 `labelAlign: 'right'`,抽屉/弹窗场景尤其不能让 label 宽度自适应。
35
+ - `FormGrid` 默认保持响应式:`minColumns: 1`,通过 `maxColumns` 和 `minWidth` 控制宽屏列数;不要写 `minColumns: maxColumns` 固定列数,除非用户明确要求不响应式。
36
+ - 查询表单常用 `labelWidth: 100~120`、`FormGrid { maxColumns: 3 或 4, minColumns: 1, minWidth: 260~360 }`,按钮行在表单外部右下角;抽屉/弹窗编辑表单常用 `labelWidth: 140`、`FormGrid { maxColumns: 2, minColumns: 1, minWidth: 320~360 }`。
37
+ - 备注、说明等长字段必须用 `x-decorator-props.gridSpan` 占满整行,例如两列布局用 `gridSpan: 2`。
38
+ - 下拉选择器(`Select`, `TreeSelect`, `Radio.Group` 等)异步数据源必须通过 `enum` 或 `x-reactions` / `field.dataSource` 注入,严禁写入 `x-component-props.options`(会导致 Formily 首次挂载空数组且后续不更新,产生首次打开弹窗显示“暂无数据”的 Bug)。
39
+ - 事件表达式必须字符串化(`'{{ ... }}'`),并按组件语义使用事件名。
40
+ - 只使用源码已公开的 Props 和实例方法;当前没有 `show-button-group`、`detail-as`、`validate`、`reset`、`clearValidate` 等 YFormily API。
41
+ - Orval API 的网络错误及 `success === false` 业务错误已由 `mutator.ts` 统一 `message.error` 并 reject;提交 hook 禁止在 `else` 或 `catch` 中重复提示。
42
+ - 客户端校验提示使用 `onFormSubmitValidateFailed`;禁止在 `onFormSubmitFailed` 或 `Submit.onSubmitFailed` 中调用 `message.error`,它们也会捕获 `onSubmit` 内的 API reject。
43
+ - **Formily 表单校验规则(x-validator)防坑规范**:
44
+ - 必填文本字段必须声明 `whitespace: true`,即 `{ required: true, whitespace: true, message: '请输入xxx' }`,防止输入纯空格绕过前端校验。
45
+ - 自定义长度、格式和跨字段校验不得重复承担必填职责;函数式校验必须在空值时返回通过(如 `validator: (val) => { const str = (val || '').trim(); if (!str) return true; return validateContentLength(val) || true; }`),空值统一交由 `required` 报错,非空时才校验具体规则。
46
+ - 当前 YFormily 的 FormItem 适配层会在运行时归一化反馈:空值优先显示必填提示,非空值移除残留必填提示,多条相关消息只拼接一次。该兜底不替代正确的 Schema 校验职责拆分。
47
+ - 分步需求默认走 `formily-step-flow`,不在本 skill 内给 `FormStep` 方案。
48
+
49
+ ## 标准代码骨架
50
+
51
+ ```vue
52
+ <script setup lang="ts">
53
+ import { YFormily, type ISchema } from '@yss-ui/components';
54
+
55
+ /** 表单保存回调 Props。 */
56
+ interface SaveFormProps {
57
+ onSave: (values: Record<string, any>) => Promise<void>;
58
+ }
59
+
60
+ /** 表单保存回调。 */
61
+ const props = defineProps<SaveFormProps>();
62
+
63
+ /** 校验通过后提交表单数据。 */
64
+ const onSubmit = (values: Record<string, any>) => {
65
+ return props.onSave(values);
66
+ };
67
+
68
+ /** 基础表单 Schema。 */
69
+ const schema: ISchema = {
70
+ type: 'object',
71
+ properties: {
72
+ layout: {
73
+ type: 'void',
74
+ 'x-component': 'FormLayout',
75
+ 'x-component-props': { layout: 'horizontal', labelWidth: 120, labelAlign: 'right' },
76
+ properties: {
77
+ grid: {
78
+ type: 'void',
79
+ 'x-component': 'FormGrid',
80
+ 'x-component-props': { maxColumns: 3, minColumns: 1, minWidth: 260 },
81
+ properties: {
82
+ name: { type: 'string', title: '名称', 'x-decorator': 'FormItem', 'x-component': 'Input', required: true },
83
+ submit: {
84
+ type: 'void',
85
+ 'x-component': 'Submit',
86
+ 'x-content': '提交',
87
+ 'x-component-props': { onSubmit: '{{ onSubmit }}' },
88
+ },
89
+ },
90
+ },
91
+ },
92
+ },
93
+ },
94
+ };
95
+ </script>
96
+
97
+ <template>
98
+ <YFormily :schema="schema" :scope="{ onSubmit }" />
99
+ </template>
100
+ ```
101
+
102
+ ## 业务查询区布局
103
+
104
+ ```vue
105
+ <template>
106
+ <YCard class="demo-page__search-card" :padding="16">
107
+ <div class="demo-page__search-content">
108
+ <div class="demo-page__search-form">
109
+ <YFormily v-model="queryModel" :schema="searchSchema" />
110
+ </div>
111
+ <div class="demo-page__search-actions">
112
+ <YButton type="primary" @click="handleSearch">查询</YButton>
113
+ <YButton @click="handleReset">重置</YButton>
114
+ </div>
115
+ </div>
116
+ </YCard>
117
+ </template>
118
+ ```
119
+
120
+ ```less
121
+ .demo-page {
122
+ &__search-content {
123
+ display: flex;
124
+ flex-direction: column;
125
+ align-items: stretch;
126
+ gap: 16px;
127
+ }
128
+
129
+ &__search-form {
130
+ width: 100%;
131
+ min-width: 0;
132
+
133
+ :deep(.ant-formily-form-item) {
134
+ margin-bottom: 0;
135
+ }
136
+
137
+ :deep(.ant-formily-form-grid) {
138
+ width: 100%;
139
+ }
140
+ }
141
+
142
+ &__search-actions {
143
+ display: flex;
144
+ width: 100%;
145
+ flex: 0 0 auto;
146
+ align-items: center;
147
+ justify-content: flex-end;
148
+ gap: 12px;
149
+ }
150
+ }
151
+ ```
152
+
153
+ ## 交付检查清单
154
+
155
+ - [ ] 导入来源和组件边界正确。
156
+ - [ ] schema 三层结构完整。
157
+ - [ ] 横向表单有固定 `labelWidth` 且 label 右对齐。
158
+ - [ ] `FormGrid` 使用响应式列配置,未把 `minColumns` 固定成宽屏列数。
159
+ - [ ] `Submit` 提交链路可用,校验可触发。
160
+ - [ ] 只使用公开 Props/实例方法,未出现 `show-button-group`、`detail-as` 等旧式或虚构 API。
161
+ - [ ] 业务列表查询/重置按钮在外部 `.xxx__search-actions`,按钮行独占下一行并右对齐;缩窄后不会贴在第一行字段旁。
162
+ - [ ] label 宽度和右对齐已显式配置。
163
+ - [ ] 包含可运行 `initial-values` 或 `v-model` 示例。
164
+ - [ ] 未出现 `@formily/antdv` 业务层导入。
165
+ - [ ] API 失败仅由 `mutator.ts` 统一提示,业务 `else`/`catch` 未重复 `message.error`。
166
+
167
+ ## 失败兜底策略
168
+
169
+ - 若提交不触发:先检查 `Submit.x-component-props.onSubmit`。
170
+ - 若字段不显示:先核对 `FormLayout/FormGrid/properties` 层级。
171
+ - 若 API 调用 reject:只恢复 loading 或回滚局部状态,不重复弹出错误提示。
172
+ - 若需求升级为联动/模式/分步:立即切换对应 skill,不在本 skill 内硬扩展。
173
+
174
+ ## 参考
175
+
176
+ - 完整示例:`./references/examples.md`