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,29 @@
1
+ {
2
+ "source": "/Users/zhudaoming/Projects/yss-spec-project-template/.agents/skills",
3
+ "mode": "link",
4
+ "skills": [
5
+ "yss-ui-business-page-generation",
6
+ "theme-token-usage",
7
+ "component-selection-imports",
8
+ "page-module-development",
9
+ "page-skeleton",
10
+ "page-list-module",
11
+ "page-form-module",
12
+ "ytable-usage",
13
+ "yedit-table-usage",
14
+ "ytree-usage",
15
+ "prototype-page-acceptance",
16
+ "api-integration",
17
+ "file-export-download",
18
+ "vue3-best-practices",
19
+ "frontend-commit",
20
+ "java-backend-commit",
21
+ "use-table-height",
22
+ "use-tree-height",
23
+ "yss-formily",
24
+ "formily-foundation",
25
+ "formily-linkage-effects",
26
+ "formily-mode-slot-detail",
27
+ "formily-step-flow"
28
+ ]
29
+ }
@@ -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`