create-yss-spec 3.3.8 → 3.4.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 (628) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/template/.agents/skills/.strategic-design-skills-manifest.json +3 -13
  4. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +3 -3
  5. package/template/.agents/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +1 -1
  6. package/template/.agents/skills/yss-ddd-scaffold-generator/references/layer-skill-routing.md +18 -0
  7. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
  8. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +13 -4
  9. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +9 -8
  10. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -1
  11. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +6 -4
  12. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +108 -12
  13. package/template/.agents/skills/yss-design-system/SKILL.md +19 -19
  14. package/template/.agents/skills/yss-design-system/references/data-quality-theme.md +13 -0
  15. package/template/.agents/skills/yss-design-system/references/design-qa-theme.md +3 -1
  16. package/template/.agents/skills/yss-design-system/references/design-system.md +7 -9
  17. package/template/.agents/skills/yss-formily/SKILL.md +21 -258
  18. package/template/.agents/skills/yss-frontend-scaffold-generator/SKILL.md +17 -13
  19. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/.eslintrc.cjs +1 -0
  20. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/.npmrc.example +2 -0
  21. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/DESIGN.md +264 -0
  22. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/README.md +13 -0
  23. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/__yss_dotfile__.gitignore +6 -0
  24. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/micro-config.json +5 -0
  25. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/orval.config.ts +2 -0
  26. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/package.json +30 -0
  27. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.development +1 -0
  28. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.example +5 -0
  29. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.production +1 -0
  30. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.production.standalone +1 -0
  31. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/index.html +2 -0
  32. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/package.json +34 -0
  33. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/public/favicon.svg +1 -0
  34. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/App.vue +15 -0
  35. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/api/mutator.ts +7 -0
  36. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/components/ThemeScope.vue +11 -0
  37. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/config/theme.json +41 -0
  38. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/env.d.ts +1 -0
  39. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/main.ts +40 -0
  40. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/router/index.ts +8 -0
  41. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/store/theme.ts +37 -0
  42. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/styles/index.less +6 -0
  43. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/types/microAppBridge.ts +28 -0
  44. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/utils/microAppRouterBridge.ts +266 -0
  45. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/views/NotFound.vue +1 -0
  46. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/views/Welcome.vue +1 -0
  47. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/tsconfig.json +23 -0
  48. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/vite.config.ts +16 -0
  49. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-lock.yaml +9026 -0
  50. package/template/.agents/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-workspace.yaml +7 -0
  51. package/template/.agents/skills/yss-frontend-scaffold-generator/references/data-quality-baseline.md +17 -0
  52. package/template/.agents/skills/yss-frontend-scaffold-generator/references/data-quality-v1.manifest.json +49 -0
  53. package/template/.agents/skills/yss-frontend-scaffold-generator/scripts/generate_scaffold.mjs +41 -13
  54. package/template/.agents/skills/yss-frontend-scaffold-generator/scripts/refresh_baseline.mjs +29 -0
  55. package/template/.agents/skills/yss-frontend-scaffold-generator/scripts/run_scaffold_verification.mjs +5 -1
  56. package/template/.agents/skills/yss-frontend-scaffold-generator/scripts/scaffold-generator.test.mjs +32 -0
  57. package/template/.agents/skills/yss-hook/SKILL.md +1 -1
  58. package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +1 -1
  59. package/template/.agents/skills/yss-implementation-contract-compiler/references/boundaries.md +5 -3
  60. package/template/.agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +13 -5
  61. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/SKILL.md +2 -2
  62. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +1 -1
  63. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +12 -8
  64. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  65. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +97 -9
  66. package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +2 -2
  67. package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +1 -1
  68. package/template/.agents/skills/yss-openapi-governance/SKILL.md +2 -0
  69. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +43 -15
  70. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  71. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +1 -1
  72. package/template/.agents/skills/yss-prototype-stage/SKILL.md +12 -8
  73. package/template/.agents/skills/yss-prototype-stage/assets/antd-authoring/package.json +16 -0
  74. package/template/.agents/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +1678 -0
  75. package/template/.agents/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +23 -0
  76. package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/app.js +20 -0
  77. package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/index.html +11 -0
  78. package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/styles.css +28 -0
  79. package/template/.agents/skills/yss-prototype-stage/assets/offline-html/app.js +50 -0
  80. package/template/.agents/skills/yss-prototype-stage/assets/offline-html/index.html +38 -0
  81. package/template/.agents/skills/yss-prototype-stage/assets/offline-html/scenarios.js +7 -0
  82. package/template/.agents/skills/yss-prototype-stage/assets/offline-html/styles.css +20 -0
  83. package/template/.agents/skills/yss-prototype-stage/references/antd-component-catalog.json +736 -0
  84. package/template/.agents/skills/yss-prototype-stage/references/antd-integration.md +61 -0
  85. package/template/.agents/skills/yss-prototype-stage/references/html-prototype-practices.md +14 -0
  86. package/template/.agents/skills/yss-prototype-stage/references/product-design-adapter.md +28 -51
  87. package/template/.agents/skills/yss-prototype-stage/references/prototype-profile-routing.md +15 -4
  88. package/template/.agents/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +71 -0
  89. package/template/.agents/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +26 -0
  90. package/template/.agents/skills/yss-prototype-stage/scripts/offline-html.mjs +121 -0
  91. package/template/.agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs +52 -143
  92. package/template/.agents/skills/yss-prototype-stage/tests/antd-reference.test.mjs +24 -0
  93. package/template/.agents/skills/yss-prototype-stage/tests/browser-smoke.mjs +77 -0
  94. package/template/.agents/skills/yss-prototype-stage/tests/run-scenarios.mjs +73 -26
  95. package/template/.agents/skills/yss-prototype-stage/tests/workbench-smoke.mjs +57 -0
  96. package/template/.agents/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
  97. package/template/.agents/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +0 -1
  98. package/template/.agents/skills/yss-tactical-design/SKILL.md +1 -1
  99. package/template/.agents/skills/yss-ui/SKILL.md +3 -2
  100. package/template/.agents/skills/yss-ui/references/component-routing.md +11 -10
  101. package/template/.agents/skills/yss-ui/references/specialized-components.md +52 -0
  102. package/template/.agents/skills/yss-web-controller/scripts/generate_controller.mjs +4 -3
  103. package/template/.agents/skills/yss-web-controller/scripts/generate_controller.test.mjs +1 -1
  104. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +3 -3
  105. package/template/.codex/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +1 -1
  106. package/template/.codex/skills/yss-ddd-scaffold-generator/references/layer-skill-routing.md +18 -0
  107. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
  108. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +13 -4
  109. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +9 -8
  110. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -1
  111. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +6 -4
  112. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +108 -12
  113. package/template/.codex/skills/yss-design-system/SKILL.md +19 -19
  114. package/template/.codex/skills/yss-design-system/references/data-quality-theme.md +13 -0
  115. package/template/.codex/skills/yss-design-system/references/design-qa-theme.md +3 -1
  116. package/template/.codex/skills/yss-design-system/references/design-system.md +7 -9
  117. package/template/.codex/skills/yss-formily/SKILL.md +21 -258
  118. package/template/.codex/skills/yss-frontend-scaffold-generator/SKILL.md +17 -13
  119. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/.eslintrc.cjs +1 -0
  120. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/.npmrc.example +2 -0
  121. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/DESIGN.md +264 -0
  122. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/README.md +13 -0
  123. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/__yss_dotfile__.gitignore +6 -0
  124. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/micro-config.json +5 -0
  125. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/orval.config.ts +2 -0
  126. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/package.json +30 -0
  127. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.development +1 -0
  128. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.example +5 -0
  129. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.production +1 -0
  130. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.production.standalone +1 -0
  131. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/index.html +2 -0
  132. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/package.json +34 -0
  133. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/public/favicon.svg +1 -0
  134. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/App.vue +15 -0
  135. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/api/mutator.ts +7 -0
  136. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/components/ThemeScope.vue +11 -0
  137. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/config/theme.json +41 -0
  138. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/env.d.ts +1 -0
  139. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/main.ts +40 -0
  140. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/router/index.ts +8 -0
  141. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/store/theme.ts +37 -0
  142. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/styles/index.less +6 -0
  143. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/types/microAppBridge.ts +28 -0
  144. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/utils/microAppRouterBridge.ts +266 -0
  145. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/views/NotFound.vue +1 -0
  146. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/views/Welcome.vue +1 -0
  147. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/tsconfig.json +23 -0
  148. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/vite.config.ts +16 -0
  149. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-lock.yaml +9026 -0
  150. package/template/.codex/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-workspace.yaml +7 -0
  151. package/template/.codex/skills/yss-frontend-scaffold-generator/references/data-quality-baseline.md +17 -0
  152. package/template/.codex/skills/yss-frontend-scaffold-generator/references/data-quality-v1.manifest.json +49 -0
  153. package/template/.codex/skills/yss-frontend-scaffold-generator/scripts/generate_scaffold.mjs +41 -13
  154. package/template/.codex/skills/yss-frontend-scaffold-generator/scripts/refresh_baseline.mjs +29 -0
  155. package/template/.codex/skills/yss-frontend-scaffold-generator/scripts/run_scaffold_verification.mjs +5 -1
  156. package/template/.codex/skills/yss-frontend-scaffold-generator/scripts/scaffold-generator.test.mjs +32 -0
  157. package/template/.codex/skills/yss-hook/SKILL.md +1 -1
  158. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +1 -1
  159. package/template/.codex/skills/yss-implementation-contract-compiler/references/boundaries.md +5 -3
  160. package/template/.codex/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +13 -5
  161. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +2 -2
  162. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +1 -1
  163. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +12 -8
  164. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  165. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +97 -9
  166. package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +2 -2
  167. package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +1 -1
  168. package/template/.codex/skills/yss-openapi-governance/SKILL.md +2 -0
  169. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +43 -15
  170. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  171. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +1 -1
  172. package/template/.codex/skills/yss-prototype-stage/SKILL.md +12 -8
  173. package/template/.codex/skills/yss-prototype-stage/assets/antd-authoring/package.json +16 -0
  174. package/template/.codex/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +1678 -0
  175. package/template/.codex/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +23 -0
  176. package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/app.js +20 -0
  177. package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/index.html +11 -0
  178. package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/styles.css +28 -0
  179. package/template/.codex/skills/yss-prototype-stage/assets/offline-html/app.js +50 -0
  180. package/template/.codex/skills/yss-prototype-stage/assets/offline-html/index.html +38 -0
  181. package/template/.codex/skills/yss-prototype-stage/assets/offline-html/scenarios.js +7 -0
  182. package/template/.codex/skills/yss-prototype-stage/assets/offline-html/styles.css +20 -0
  183. package/template/.codex/skills/yss-prototype-stage/references/antd-component-catalog.json +736 -0
  184. package/template/.codex/skills/yss-prototype-stage/references/antd-integration.md +61 -0
  185. package/template/.codex/skills/yss-prototype-stage/references/html-prototype-practices.md +14 -0
  186. package/template/.codex/skills/yss-prototype-stage/references/product-design-adapter.md +28 -51
  187. package/template/.codex/skills/yss-prototype-stage/references/prototype-profile-routing.md +15 -4
  188. package/template/.codex/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +71 -0
  189. package/template/.codex/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +26 -0
  190. package/template/.codex/skills/yss-prototype-stage/scripts/offline-html.mjs +121 -0
  191. package/template/.codex/skills/yss-prototype-stage/scripts/prototype-contract.mjs +52 -143
  192. package/template/.codex/skills/yss-prototype-stage/tests/antd-reference.test.mjs +24 -0
  193. package/template/.codex/skills/yss-prototype-stage/tests/browser-smoke.mjs +77 -0
  194. package/template/.codex/skills/yss-prototype-stage/tests/run-scenarios.mjs +73 -26
  195. package/template/.codex/skills/yss-prototype-stage/tests/workbench-smoke.mjs +57 -0
  196. package/template/.codex/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
  197. package/template/.codex/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +0 -1
  198. package/template/.codex/skills/yss-tactical-design/SKILL.md +1 -1
  199. package/template/.codex/skills/yss-ui/SKILL.md +3 -2
  200. package/template/.codex/skills/yss-ui/references/component-routing.md +11 -10
  201. package/template/.codex/skills/yss-ui/references/specialized-components.md +52 -0
  202. package/template/.codex/skills/yss-web-controller/scripts/generate_controller.mjs +4 -3
  203. package/template/.codex/skills/yss-web-controller/scripts/generate_controller.test.mjs +1 -1
  204. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +3 -3
  205. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +1 -1
  206. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/layer-skill-routing.md +18 -0
  207. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
  208. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +13 -4
  209. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +9 -8
  210. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -1
  211. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +6 -4
  212. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +108 -12
  213. package/template/.cursor/skills/yss-design-system/SKILL.md +19 -19
  214. package/template/.cursor/skills/yss-design-system/references/data-quality-theme.md +13 -0
  215. package/template/.cursor/skills/yss-design-system/references/design-qa-theme.md +3 -1
  216. package/template/.cursor/skills/yss-design-system/references/design-system.md +7 -9
  217. package/template/.cursor/skills/yss-formily/SKILL.md +21 -258
  218. package/template/.cursor/skills/yss-frontend-scaffold-generator/SKILL.md +17 -13
  219. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/.eslintrc.cjs +1 -0
  220. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/.npmrc.example +2 -0
  221. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/DESIGN.md +264 -0
  222. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/README.md +13 -0
  223. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/__yss_dotfile__.gitignore +6 -0
  224. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/micro-config.json +5 -0
  225. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/orval.config.ts +2 -0
  226. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/package.json +30 -0
  227. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.development +1 -0
  228. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.example +5 -0
  229. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.production +1 -0
  230. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.production.standalone +1 -0
  231. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/index.html +2 -0
  232. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/package.json +34 -0
  233. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/public/favicon.svg +1 -0
  234. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/App.vue +15 -0
  235. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/api/mutator.ts +7 -0
  236. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/components/ThemeScope.vue +11 -0
  237. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/config/theme.json +41 -0
  238. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/env.d.ts +1 -0
  239. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/main.ts +40 -0
  240. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/router/index.ts +8 -0
  241. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/store/theme.ts +37 -0
  242. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/styles/index.less +6 -0
  243. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/types/microAppBridge.ts +28 -0
  244. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/utils/microAppRouterBridge.ts +266 -0
  245. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/views/NotFound.vue +1 -0
  246. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/views/Welcome.vue +1 -0
  247. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/tsconfig.json +23 -0
  248. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/vite.config.ts +16 -0
  249. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-lock.yaml +9026 -0
  250. package/template/.cursor/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-workspace.yaml +7 -0
  251. package/template/.cursor/skills/yss-frontend-scaffold-generator/references/data-quality-baseline.md +17 -0
  252. package/template/.cursor/skills/yss-frontend-scaffold-generator/references/data-quality-v1.manifest.json +49 -0
  253. package/template/.cursor/skills/yss-frontend-scaffold-generator/scripts/generate_scaffold.mjs +41 -13
  254. package/template/.cursor/skills/yss-frontend-scaffold-generator/scripts/refresh_baseline.mjs +29 -0
  255. package/template/.cursor/skills/yss-frontend-scaffold-generator/scripts/run_scaffold_verification.mjs +5 -1
  256. package/template/.cursor/skills/yss-frontend-scaffold-generator/scripts/scaffold-generator.test.mjs +32 -0
  257. package/template/.cursor/skills/yss-hook/SKILL.md +1 -1
  258. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +1 -1
  259. package/template/.cursor/skills/yss-implementation-contract-compiler/references/boundaries.md +5 -3
  260. package/template/.cursor/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +13 -5
  261. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +2 -2
  262. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +1 -1
  263. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +12 -8
  264. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  265. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +97 -9
  266. package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +2 -2
  267. package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +1 -1
  268. package/template/.cursor/skills/yss-openapi-governance/SKILL.md +2 -0
  269. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +43 -15
  270. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  271. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +1 -1
  272. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +12 -8
  273. package/template/.cursor/skills/yss-prototype-stage/assets/antd-authoring/package.json +16 -0
  274. package/template/.cursor/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +1678 -0
  275. package/template/.cursor/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +23 -0
  276. package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/app.js +20 -0
  277. package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/index.html +11 -0
  278. package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/styles.css +28 -0
  279. package/template/.cursor/skills/yss-prototype-stage/assets/offline-html/app.js +50 -0
  280. package/template/.cursor/skills/yss-prototype-stage/assets/offline-html/index.html +38 -0
  281. package/template/.cursor/skills/yss-prototype-stage/assets/offline-html/scenarios.js +7 -0
  282. package/template/.cursor/skills/yss-prototype-stage/assets/offline-html/styles.css +20 -0
  283. package/template/.cursor/skills/yss-prototype-stage/references/antd-component-catalog.json +736 -0
  284. package/template/.cursor/skills/yss-prototype-stage/references/antd-integration.md +61 -0
  285. package/template/.cursor/skills/yss-prototype-stage/references/html-prototype-practices.md +14 -0
  286. package/template/.cursor/skills/yss-prototype-stage/references/product-design-adapter.md +28 -51
  287. package/template/.cursor/skills/yss-prototype-stage/references/prototype-profile-routing.md +15 -4
  288. package/template/.cursor/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +71 -0
  289. package/template/.cursor/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +26 -0
  290. package/template/.cursor/skills/yss-prototype-stage/scripts/offline-html.mjs +121 -0
  291. package/template/.cursor/skills/yss-prototype-stage/scripts/prototype-contract.mjs +52 -143
  292. package/template/.cursor/skills/yss-prototype-stage/tests/antd-reference.test.mjs +24 -0
  293. package/template/.cursor/skills/yss-prototype-stage/tests/browser-smoke.mjs +77 -0
  294. package/template/.cursor/skills/yss-prototype-stage/tests/run-scenarios.mjs +73 -26
  295. package/template/.cursor/skills/yss-prototype-stage/tests/workbench-smoke.mjs +57 -0
  296. package/template/.cursor/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
  297. package/template/.cursor/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +0 -1
  298. package/template/.cursor/skills/yss-tactical-design/SKILL.md +1 -1
  299. package/template/.cursor/skills/yss-ui/SKILL.md +3 -2
  300. package/template/.cursor/skills/yss-ui/references/component-routing.md +11 -10
  301. package/template/.cursor/skills/yss-ui/references/specialized-components.md +52 -0
  302. package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.mjs +4 -3
  303. package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.test.mjs +1 -1
  304. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +3 -3
  305. package/template/.pi/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +1 -1
  306. package/template/.pi/skills/yss-ddd-scaffold-generator/references/layer-skill-routing.md +18 -0
  307. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
  308. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +13 -4
  309. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +9 -8
  310. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -1
  311. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +6 -4
  312. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +108 -12
  313. package/template/.pi/skills/yss-design-system/SKILL.md +19 -19
  314. package/template/.pi/skills/yss-design-system/references/data-quality-theme.md +13 -0
  315. package/template/.pi/skills/yss-design-system/references/design-qa-theme.md +3 -1
  316. package/template/.pi/skills/yss-design-system/references/design-system.md +7 -9
  317. package/template/.pi/skills/yss-formily/SKILL.md +21 -258
  318. package/template/.pi/skills/yss-frontend-scaffold-generator/SKILL.md +17 -13
  319. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/.eslintrc.cjs +1 -0
  320. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/.npmrc.example +2 -0
  321. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/DESIGN.md +264 -0
  322. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/README.md +13 -0
  323. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/__yss_dotfile__.gitignore +6 -0
  324. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/micro-config.json +5 -0
  325. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/orval.config.ts +2 -0
  326. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/package.json +30 -0
  327. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.development +1 -0
  328. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.example +5 -0
  329. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.production +1 -0
  330. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/.env.production.standalone +1 -0
  331. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/index.html +2 -0
  332. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/package.json +34 -0
  333. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/public/favicon.svg +1 -0
  334. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/App.vue +15 -0
  335. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/api/mutator.ts +7 -0
  336. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/components/ThemeScope.vue +11 -0
  337. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/config/theme.json +41 -0
  338. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/env.d.ts +1 -0
  339. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/main.ts +40 -0
  340. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/router/index.ts +8 -0
  341. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/store/theme.ts +37 -0
  342. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/styles/index.less +6 -0
  343. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/types/microAppBridge.ts +28 -0
  344. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/utils/microAppRouterBridge.ts +266 -0
  345. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/views/NotFound.vue +1 -0
  346. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/src/views/Welcome.vue +1 -0
  347. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/tsconfig.json +23 -0
  348. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/packages/vite.config.ts +16 -0
  349. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-lock.yaml +9026 -0
  350. package/template/.pi/skills/yss-frontend-scaffold-generator/assets/data-quality-v1/pnpm-workspace.yaml +7 -0
  351. package/template/.pi/skills/yss-frontend-scaffold-generator/references/data-quality-baseline.md +17 -0
  352. package/template/.pi/skills/yss-frontend-scaffold-generator/references/data-quality-v1.manifest.json +49 -0
  353. package/template/.pi/skills/yss-frontend-scaffold-generator/scripts/generate_scaffold.mjs +41 -13
  354. package/template/.pi/skills/yss-frontend-scaffold-generator/scripts/refresh_baseline.mjs +29 -0
  355. package/template/.pi/skills/yss-frontend-scaffold-generator/scripts/run_scaffold_verification.mjs +5 -1
  356. package/template/.pi/skills/yss-frontend-scaffold-generator/scripts/scaffold-generator.test.mjs +32 -0
  357. package/template/.pi/skills/yss-hook/SKILL.md +1 -1
  358. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +1 -1
  359. package/template/.pi/skills/yss-implementation-contract-compiler/references/boundaries.md +5 -3
  360. package/template/.pi/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +13 -5
  361. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +2 -2
  362. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +1 -1
  363. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +12 -8
  364. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  365. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +97 -9
  366. package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +2 -2
  367. package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +1 -1
  368. package/template/.pi/skills/yss-openapi-governance/SKILL.md +2 -0
  369. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +43 -15
  370. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  371. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +1 -1
  372. package/template/.pi/skills/yss-prototype-stage/SKILL.md +12 -8
  373. package/template/.pi/skills/yss-prototype-stage/assets/antd-authoring/package.json +16 -0
  374. package/template/.pi/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +1678 -0
  375. package/template/.pi/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +23 -0
  376. package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/app.js +20 -0
  377. package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/index.html +11 -0
  378. package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/styles.css +28 -0
  379. package/template/.pi/skills/yss-prototype-stage/assets/offline-html/app.js +50 -0
  380. package/template/.pi/skills/yss-prototype-stage/assets/offline-html/index.html +38 -0
  381. package/template/.pi/skills/yss-prototype-stage/assets/offline-html/scenarios.js +7 -0
  382. package/template/.pi/skills/yss-prototype-stage/assets/offline-html/styles.css +20 -0
  383. package/template/.pi/skills/yss-prototype-stage/references/antd-component-catalog.json +736 -0
  384. package/template/.pi/skills/yss-prototype-stage/references/antd-integration.md +61 -0
  385. package/template/.pi/skills/yss-prototype-stage/references/html-prototype-practices.md +14 -0
  386. package/template/.pi/skills/yss-prototype-stage/references/product-design-adapter.md +28 -51
  387. package/template/.pi/skills/yss-prototype-stage/references/prototype-profile-routing.md +15 -4
  388. package/template/.pi/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +71 -0
  389. package/template/.pi/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +26 -0
  390. package/template/.pi/skills/yss-prototype-stage/scripts/offline-html.mjs +121 -0
  391. package/template/.pi/skills/yss-prototype-stage/scripts/prototype-contract.mjs +52 -143
  392. package/template/.pi/skills/yss-prototype-stage/tests/antd-reference.test.mjs +24 -0
  393. package/template/.pi/skills/yss-prototype-stage/tests/browser-smoke.mjs +77 -0
  394. package/template/.pi/skills/yss-prototype-stage/tests/run-scenarios.mjs +73 -26
  395. package/template/.pi/skills/yss-prototype-stage/tests/workbench-smoke.mjs +57 -0
  396. package/template/.pi/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
  397. package/template/.pi/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +0 -1
  398. package/template/.pi/skills/yss-tactical-design/SKILL.md +1 -1
  399. package/template/.pi/skills/yss-ui/SKILL.md +3 -2
  400. package/template/.pi/skills/yss-ui/references/component-routing.md +11 -10
  401. package/template/.pi/skills/yss-ui/references/specialized-components.md +52 -0
  402. package/template/.pi/skills/yss-web-controller/scripts/generate_controller.mjs +4 -3
  403. package/template/.pi/skills/yss-web-controller/scripts/generate_controller.test.mjs +1 -1
  404. package/template/CONTEXT.md +1 -0
  405. package/template/DESIGN.md +31 -14
  406. package/template/__yss_dotfile__.gitignore +4 -0
  407. package/template/docs/agents/digital-human-roles.yaml +4 -4
  408. package/template/docs/agents/skill-migrations.md +15 -2
  409. package/template/docs/agents/yss-skill-registry.yaml +6 -40
  410. package/template/docs/design/README.md +4 -4
  411. package/template/docs/design/design-system-sync.yaml +2 -1
  412. package/template/docs/design/design.md +23 -31
  413. package/template/docs/design/preview-dark.html +3 -3
  414. package/template/docs/design/preview.css +1 -1
  415. package/template/docs/design/preview.html +2 -2
  416. package/template/docs/design/templates/interaction-spec-template.md +2 -2
  417. package/template/docs/design/templates/prototype-evidence-template.yaml +18 -22
  418. package/template/docs/design/templates/prototype-review-checklist.md +3 -1
  419. package/template/docs/design/templates/state-matrix-template.md +1 -1
  420. package/template/docs/design/templates/visual-baseline-template.yaml +3 -2
  421. package/template/docs/design/tokens/.design-md-projection.json +7 -7
  422. package/template/docs/design/tokens/theme.json +16 -10
  423. package/template/docs/design/tokens/tokens.compact.json +521 -237
  424. package/template/docs/design/tokens/tokens.dark.json +527 -240
  425. package/template/docs/design/tokens/tokens.default.json +513 -235
  426. package/template/docs/design/tokens/variables.css +67 -65
  427. package/template/docs/design/tokens/variables.dark.css +41 -41
  428. package/template/docs/process/delivery-preflight.md +1 -1
  429. package/template/docs/process/frontend-backend-delivery.md +2 -1
  430. package/template/docs/process/lifecycle-registry-baseline.json +1 -1
  431. package/template/docs/process/lifecycle-registry.yaml +5 -5
  432. package/template/docs/process/schemas/api-contract-decision.schema.json +74 -0
  433. package/template/docs/process/schemas/data-architecture-decision.schema.json +34 -0
  434. package/template/docs/process/schemas/implementation-repository-preparation-result.schema.json +80 -24
  435. package/template/docs/process/schemas/project-scaffold-contract.schema.json +85 -11
  436. package/template/docs/process/schemas/strategic-design-handoff.schema.json +296 -107
  437. package/template/docs/process/schemas/strategic-handoff-delivery-verification.schema.json +19 -0
  438. package/template/docs/process/schemas/strategic-handoff-delivery.schema.json +84 -0
  439. package/template/docs/process/schemas/strategic-handoff-import-receipt-v3.schema.json +42 -0
  440. package/template/docs/process/strategic-handoff-package.md +26 -9
  441. package/template/docs/user-guide//350/256/276/345/244/207/345/200/237/347/224/250/350/264/257/347/251/277/346/241/210/344/276/213.md +1 -1
  442. package/template/scripts/audit-legacy-backend-scaffold +29 -0
  443. package/template/scripts/lib/api-contract-decision.mjs +49 -0
  444. package/template/scripts/lib/api-contract-decision.test.mjs +69 -0
  445. package/template/scripts/lib/backend-scaffold-prerequisites.mjs +123 -0
  446. package/template/scripts/lib/legacy-backend-scaffold-audit.mjs +87 -0
  447. package/template/scripts/lib/legacy-backend-scaffold-audit.test.mjs +64 -0
  448. package/template/scripts/lib/lifecycle-transition.mjs +153 -5
  449. package/template/scripts/lib/openapi-draft-validation.mjs +111 -0
  450. package/template/scripts/lib/skill-registry.mjs +17 -3
  451. package/template/scripts/lib/skill-supply-chain.mjs +12 -1
  452. package/template/scripts/lib/strategic-feedback.mjs +2 -2
  453. package/template/scripts/lib/strategic-handoff-consumption.mjs +2 -2
  454. package/template/scripts/lib/strategic-handoff.mjs +77 -3
  455. package/template/scripts/strategic-handoff +6 -4
  456. package/template/scripts/verify-openapi-draft-validation-record +10 -129
  457. package/template/scripts/verify-strategic-context-import +12 -14
  458. package/template/skills-lock.json +22 -77
  459. package/template/yss-public-skills.json +0 -6
  460. package/template.snapshot.json +8 -4
  461. package/template/.agents/skills/yss-antd-design/SKILL.md +0 -35
  462. package/template/.agents/skills/yss-antd-design/references/boundaries.md +0 -30
  463. package/template/.agents/skills/yss-antd-design/references/cli-matrix.md +0 -38
  464. package/template/.agents/skills/yss-antd-design/references/evidence.md +0 -35
  465. package/template/.agents/skills/yss-antd-design/scripts/validate-frontmatter.mjs +0 -46
  466. package/template/.agents/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +0 -27
  467. package/template/.agents/skills/yss-antdv-next-design/SKILL.md +0 -48
  468. package/template/.agents/skills/yss-antdv-next-design/references/boundaries.md +0 -25
  469. package/template/.agents/skills/yss-antdv-next-design/references/cli-matrix.md +0 -34
  470. package/template/.agents/skills/yss-antdv-next-design/references/fact-pack.md +0 -38
  471. package/template/.agents/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +0 -213
  472. package/template/.agents/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +0 -168
  473. package/template/.agents/skills/yss-antdv-next-design/tests/run-scenarios.mjs +0 -139
  474. package/template/.agents/skills/yss-components/SKILL.md +0 -386
  475. package/template/.agents/skills/yss-components/agents/openai.yaml +0 -5
  476. package/template/.agents/skills/yss-components/references/frontend-docs.md +0 -9
  477. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/SKILL.md +0 -31
  478. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/agents/openai.yaml +0 -5
  479. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +0 -8
  480. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  481. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +0 -8
  482. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  483. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +0 -8
  484. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  485. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +0 -8
  486. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  487. package/template/.agents/skills/yss-mvc-scaffold-generator/SKILL.md +0 -8
  488. package/template/.agents/skills/yss-mvc-scaffold-generator/agents/openai.yaml +0 -4
  489. package/template/.agents/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +0 -50
  490. package/template/.agents/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +0 -42
  491. package/template/.agents/skills/yss-mvc-scaffold-generator/references/architecture.md +0 -28
  492. package/template/.agents/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +0 -137
  493. package/template/.agents/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +0 -341
  494. package/template/.agents/skills/yss-mvc-scaffold-generator/references/history/skill.md +0 -87
  495. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +0 -3
  496. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +0 -9
  497. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +0 -74
  498. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +0 -36
  499. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +0 -114
  500. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +0 -90
  501. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +0 -54
  502. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +0 -103
  503. package/template/.codex/skills/yss-antd-design/SKILL.md +0 -35
  504. package/template/.codex/skills/yss-antd-design/references/boundaries.md +0 -30
  505. package/template/.codex/skills/yss-antd-design/references/cli-matrix.md +0 -38
  506. package/template/.codex/skills/yss-antd-design/references/evidence.md +0 -35
  507. package/template/.codex/skills/yss-antd-design/scripts/validate-frontmatter.mjs +0 -46
  508. package/template/.codex/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +0 -27
  509. package/template/.codex/skills/yss-antdv-next-design/SKILL.md +0 -48
  510. package/template/.codex/skills/yss-antdv-next-design/references/boundaries.md +0 -25
  511. package/template/.codex/skills/yss-antdv-next-design/references/cli-matrix.md +0 -34
  512. package/template/.codex/skills/yss-antdv-next-design/references/fact-pack.md +0 -38
  513. package/template/.codex/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +0 -213
  514. package/template/.codex/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +0 -168
  515. package/template/.codex/skills/yss-antdv-next-design/tests/run-scenarios.mjs +0 -139
  516. package/template/.codex/skills/yss-components/SKILL.md +0 -386
  517. package/template/.codex/skills/yss-components/agents/openai.yaml +0 -5
  518. package/template/.codex/skills/yss-components/references/frontend-docs.md +0 -9
  519. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/SKILL.md +0 -31
  520. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/agents/openai.yaml +0 -5
  521. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +0 -8
  522. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  523. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +0 -8
  524. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  525. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +0 -8
  526. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  527. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +0 -8
  528. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  529. package/template/.codex/skills/yss-mvc-scaffold-generator/SKILL.md +0 -8
  530. package/template/.codex/skills/yss-mvc-scaffold-generator/agents/openai.yaml +0 -4
  531. package/template/.codex/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +0 -50
  532. package/template/.codex/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +0 -42
  533. package/template/.codex/skills/yss-mvc-scaffold-generator/references/architecture.md +0 -28
  534. package/template/.codex/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +0 -137
  535. package/template/.codex/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +0 -341
  536. package/template/.codex/skills/yss-mvc-scaffold-generator/references/history/skill.md +0 -87
  537. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +0 -3
  538. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +0 -9
  539. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +0 -74
  540. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +0 -36
  541. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +0 -114
  542. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +0 -90
  543. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +0 -54
  544. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +0 -103
  545. package/template/.cursor/skills/yss-antd-design/SKILL.md +0 -35
  546. package/template/.cursor/skills/yss-antd-design/references/boundaries.md +0 -30
  547. package/template/.cursor/skills/yss-antd-design/references/cli-matrix.md +0 -38
  548. package/template/.cursor/skills/yss-antd-design/references/evidence.md +0 -35
  549. package/template/.cursor/skills/yss-antd-design/scripts/validate-frontmatter.mjs +0 -46
  550. package/template/.cursor/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +0 -27
  551. package/template/.cursor/skills/yss-antdv-next-design/SKILL.md +0 -48
  552. package/template/.cursor/skills/yss-antdv-next-design/references/boundaries.md +0 -25
  553. package/template/.cursor/skills/yss-antdv-next-design/references/cli-matrix.md +0 -34
  554. package/template/.cursor/skills/yss-antdv-next-design/references/fact-pack.md +0 -38
  555. package/template/.cursor/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +0 -213
  556. package/template/.cursor/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +0 -168
  557. package/template/.cursor/skills/yss-antdv-next-design/tests/run-scenarios.mjs +0 -139
  558. package/template/.cursor/skills/yss-components/SKILL.md +0 -386
  559. package/template/.cursor/skills/yss-components/agents/openai.yaml +0 -5
  560. package/template/.cursor/skills/yss-components/references/frontend-docs.md +0 -9
  561. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/SKILL.md +0 -31
  562. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/agents/openai.yaml +0 -5
  563. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +0 -8
  564. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  565. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +0 -8
  566. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  567. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +0 -8
  568. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  569. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +0 -8
  570. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  571. package/template/.cursor/skills/yss-mvc-scaffold-generator/SKILL.md +0 -8
  572. package/template/.cursor/skills/yss-mvc-scaffold-generator/agents/openai.yaml +0 -4
  573. package/template/.cursor/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +0 -50
  574. package/template/.cursor/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +0 -42
  575. package/template/.cursor/skills/yss-mvc-scaffold-generator/references/architecture.md +0 -28
  576. package/template/.cursor/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +0 -137
  577. package/template/.cursor/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +0 -341
  578. package/template/.cursor/skills/yss-mvc-scaffold-generator/references/history/skill.md +0 -87
  579. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +0 -3
  580. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +0 -9
  581. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +0 -74
  582. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +0 -36
  583. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +0 -114
  584. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +0 -90
  585. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +0 -54
  586. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +0 -103
  587. package/template/.pi/skills/yss-antd-design/SKILL.md +0 -35
  588. package/template/.pi/skills/yss-antd-design/references/boundaries.md +0 -30
  589. package/template/.pi/skills/yss-antd-design/references/cli-matrix.md +0 -38
  590. package/template/.pi/skills/yss-antd-design/references/evidence.md +0 -35
  591. package/template/.pi/skills/yss-antd-design/scripts/validate-frontmatter.mjs +0 -46
  592. package/template/.pi/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +0 -27
  593. package/template/.pi/skills/yss-antdv-next-design/SKILL.md +0 -48
  594. package/template/.pi/skills/yss-antdv-next-design/references/boundaries.md +0 -25
  595. package/template/.pi/skills/yss-antdv-next-design/references/cli-matrix.md +0 -34
  596. package/template/.pi/skills/yss-antdv-next-design/references/fact-pack.md +0 -38
  597. package/template/.pi/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +0 -213
  598. package/template/.pi/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +0 -168
  599. package/template/.pi/skills/yss-antdv-next-design/tests/run-scenarios.mjs +0 -139
  600. package/template/.pi/skills/yss-components/SKILL.md +0 -386
  601. package/template/.pi/skills/yss-components/agents/openai.yaml +0 -5
  602. package/template/.pi/skills/yss-components/references/frontend-docs.md +0 -9
  603. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/SKILL.md +0 -31
  604. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/agents/openai.yaml +0 -5
  605. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +0 -8
  606. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  607. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +0 -8
  608. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  609. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +0 -8
  610. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  611. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +0 -8
  612. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  613. package/template/.pi/skills/yss-mvc-scaffold-generator/SKILL.md +0 -8
  614. package/template/.pi/skills/yss-mvc-scaffold-generator/agents/openai.yaml +0 -4
  615. package/template/.pi/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +0 -50
  616. package/template/.pi/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +0 -42
  617. package/template/.pi/skills/yss-mvc-scaffold-generator/references/architecture.md +0 -28
  618. package/template/.pi/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +0 -137
  619. package/template/.pi/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +0 -341
  620. package/template/.pi/skills/yss-mvc-scaffold-generator/references/history/skill.md +0 -87
  621. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +0 -3
  622. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +0 -9
  623. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +0 -74
  624. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +0 -36
  625. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +0 -114
  626. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +0 -90
  627. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +0 -54
  628. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +0 -103
@@ -0,0 +1,6 @@
1
+ node_modules/
2
+ packages/dist/
3
+ .env.local
4
+ .env.*.local
5
+ .npmrc
6
+ .yss/
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "__MICROAPP_NAME__",
3
+ "activeRule": "__BASE_ROUTE__",
4
+ "bridgeVersion": 1
5
+ }
@@ -0,0 +1,2 @@
1
+ import { defineConfig } from 'orval';
2
+ export default defineConfig({ api: { input: './openapi/openapi.json', output: { target: './packages/src/api/generated/client.ts', schemas: './packages/src/api/generated/model', client: 'axios', mode: 'single', override: { mutator: { path: './packages/src/api/mutator.ts', name: 'customInstance' } } } } });
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "__APP_NAME__",
3
+ "private": true,
4
+ "type": "module",
5
+ "packageManager": "pnpm@10.15.0",
6
+ "engines": {
7
+ "node": ">=22.12.0",
8
+ "pnpm": ">=10.15.0 <11"
9
+ },
10
+ "scripts": {
11
+ "dev": "pnpm -C packages dev",
12
+ "build": "pnpm -C packages build",
13
+ "build:standalone": "pnpm -C packages build:standalone",
14
+ "preview": "pnpm -C packages preview",
15
+ "lint": "pnpm lint:check",
16
+ "lint:check": "eslint packages/src packages/vite.config.ts orval.config.ts --ext .ts,.vue --max-warnings 0",
17
+ "lint:fix": "pnpm lint:check --fix",
18
+ "type-check": "pnpm -C packages type-check",
19
+ "generate:api": "orval --config orval.config.ts"
20
+ },
21
+ "devDependencies": {
22
+ "@typescript-eslint/parser": "8.70.0",
23
+ "@typescript-eslint/eslint-plugin": "8.70.0",
24
+ "eslint": "8.57.1",
25
+ "eslint-plugin-vue": "9.33.0",
26
+ "@types/node": "20.19.43",
27
+ "orval": "6.31.0",
28
+ "typescript": "5.9.3"
29
+ }
30
+ }
@@ -0,0 +1,5 @@
1
+ VITE_PUBLIC_BASE=/
2
+ VITE_API_BASE_URL=/api
3
+ VITE_PROXY_TARGET=http://localhost:8084
4
+ VITE_PORT=8081
5
+ VITE_DEV_ORIGIN=http://localhost:8081
@@ -0,0 +1,2 @@
1
+ <!doctype html>
2
+ <html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><title>__APP_NAME__</title></head><body><div id="app"></div><script type="module" src="/src/main.ts"></script></body></html>
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "__MICROAPP_NAME__",
3
+ "private": true,
4
+ "type": "module",
5
+ "scripts": {
6
+ "dev": "vite",
7
+ "build": "vite build",
8
+ "build:standalone": "vite build --mode production.standalone",
9
+ "preview": "vite preview",
10
+ "type-check": "vue-tsc --noEmit"
11
+ },
12
+ "dependencies": {
13
+ "vue": "3.5.20",
14
+ "vue-router": "4.6.4",
15
+ "pinia": "2.3.1",
16
+ "ant-design-vue": "4.2.6",
17
+ "@ant-design/icons-vue": "7.0.1",
18
+ "@yss-ui/components": "1.6.0",
19
+ "@yss-ui/hooks": "1.1.3",
20
+ "@yss-ui/utils": "1.0.6",
21
+ "@formily/core": "2.3.7",
22
+ "@formily/vue": "2.3.7",
23
+ "axios": "1.20.0",
24
+ "dayjs": "1.11.23"
25
+ },
26
+ "devDependencies": {
27
+ "vite": "6.0.5",
28
+ "@vitejs/plugin-vue": "6.0.8",
29
+ "vite-plugin-qiankun": "1.0.15",
30
+ "less": "4.9.1",
31
+ "vue-tsc": "3.3.11",
32
+ "@vue/tsconfig": "0.9.1"
33
+ }
34
+ }
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><rect width="32" height="32" rx="6" fill="#3371ff"/><path d="M8 10h16M8 16h12M8 22h8" stroke="white" stroke-width="3"/></svg>
@@ -0,0 +1,15 @@
1
+ <script setup lang="ts">
2
+ import ThemeScope from '@/components/ThemeScope.vue';
3
+ import zhCN from 'ant-design-vue/es/locale/zh_CN';
4
+ import { useThemeStore } from '@/store/theme';
5
+ const store = useThemeStore();
6
+ defineProps<{ standalone: boolean; popupContainer: HTMLElement }>();
7
+ </script>
8
+ <template>
9
+ <a-config-provider :locale="zhCN" :theme="store.config" :get-popup-container="() => popupContainer">
10
+ <ThemeScope :container="popupContainer"><div class="yss-app-shell">
11
+ <header v-if="standalone" class="app-header"><strong>__APP_NAME__</strong><span class="theme-controls"><a-switch :checked="store.dark" checked-children="暗色" un-checked-children="浅色" @change="store.setDark(Boolean($event))" /><a-switch :checked="store.compact" checked-children="紧凑" un-checked-children="默认" @change="store.setCompact(Boolean($event))" /></span></header>
12
+ <main class="app-content"><router-view /></main>
13
+ </div></ThemeScope>
14
+ </a-config-provider>
15
+ </template>
@@ -0,0 +1,7 @@
1
+ import axios, { type AxiosRequestConfig } from 'axios';
2
+ /** 宿主认证可注入拦截器;骨架不假定 token 存储键或登录跳转。 */
3
+ export const apiClient = axios.create({ baseURL: import.meta.env.VITE_API_BASE_URL || '', timeout: 10000 });
4
+ export async function customInstance<T>(config: AxiosRequestConfig, options?: AxiosRequestConfig): Promise<T> {
5
+ const response = await apiClient.request<T>({ ...config, ...options });
6
+ return response.data;
7
+ }
@@ -0,0 +1,11 @@
1
+ <script setup lang="ts">
2
+ import { watchEffect } from 'vue';
3
+ import { theme } from 'ant-design-vue';
4
+ import { useThemeStore } from '@/store/theme';
5
+ const props = defineProps<{ container: HTMLElement }>();
6
+ const { token } = theme.useToken();
7
+ const store = useThemeStore();
8
+ // Runs inside ConfigProvider; Vue stops the watcher when this scope unmounts.
9
+ watchEffect(() => store.syncContainer(props.container, token.value));
10
+ </script>
11
+ <template><slot /></template>
@@ -0,0 +1,41 @@
1
+ {
2
+ "token": {
3
+ "colorPrimary": "#3371ff",
4
+ "colorSuccess": "#52c41a",
5
+ "colorWarning": "#faad14",
6
+ "colorError": "#f5222d",
7
+ "colorInfo": "#3371ff",
8
+ "colorTextBase": "#000000",
9
+ "colorBgBase": "#ffffff",
10
+ "colorBgLayout": "#f0f2f5",
11
+ "colorText": "rgba(0, 0, 0, 0.88)",
12
+ "colorTextSecondary": "rgba(0, 0, 0, 0.65)",
13
+ "colorBorder": "#d9d9d9",
14
+ "fontFamily": "-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif",
15
+ "fontSize": 14,
16
+ "borderRadius": 6,
17
+ "sizeUnit": 4,
18
+ "sizeStep": 4,
19
+ "controlHeight": 32,
20
+ "controlHeightSM": 24,
21
+ "controlHeightLG": 40,
22
+ "fontSizeSM": 12,
23
+ "borderRadiusSM": 4,
24
+ "borderRadiusLG": 8,
25
+ "padding": 16,
26
+ "paddingSM": 12,
27
+ "paddingXS": 8,
28
+ "paddingLG": 20
29
+ },
30
+ "algorithm": "default",
31
+ "components": {
32
+ "Card": {
33
+ "borderRadiusLG": 8,
34
+ "paddingLG": 20
35
+ }
36
+ },
37
+ "accessibility": {
38
+ "primaryControl": "#245bdb",
39
+ "primaryControlHover": "#2f68eb"
40
+ }
41
+ }
@@ -0,0 +1,40 @@
1
+ import { createApp, type App as VueApp } from 'vue';
2
+ import { createPinia } from 'pinia';
3
+ import Antd from 'ant-design-vue';
4
+ import { YButton } from '@yss-ui/components';
5
+ import { renderWithQiankun, qiankunWindow } from 'vite-plugin-qiankun/dist/helper';
6
+ import 'ant-design-vue/dist/reset.css';
7
+ import '@yss-ui/components/dist/style.css';
8
+ import './styles/index.less';
9
+ import App from './App.vue';
10
+ import { createAppRouter } from './router';
11
+ import { useThemeStore } from './store/theme';
12
+ import { setupMicroAppRouterBridge } from './utils/microAppRouterBridge';
13
+ import { MICRO_APP_BRIDGE_VERSION, type MicroAppLifecycleProps } from './types/microAppBridge';
14
+ let app: VueApp | undefined;
15
+ let dispose: (() => void) | undefined;
16
+ let applyTheme: ReturnType<typeof useThemeStore>['applyFromMain'] | undefined;
17
+ function assertBridge(props: MicroAppLifecycleProps) {
18
+ if (props.bridgeVersion !== undefined && props.bridgeVersion !== MICRO_APP_BRIDGE_VERSION) throw new Error('Unsupported micro app bridge version');
19
+ }
20
+ async function mount(props: MicroAppLifecycleProps = {}) {
21
+ assertBridge(props);
22
+ if (app) throw new Error('Micro app is already mounted');
23
+ const host = props.container?.querySelector('#app') || (!props.container ? document.querySelector('#app') : null);
24
+ if (!host) throw new Error('Micro app mount container #app is missing');
25
+ const root = document.createElement('div'); root.className = 'yss-microapp-root'; host.appendChild(root);
26
+ const isMicro = Boolean(qiankunWindow.__POWERED_BY_QIANKUN__);
27
+ const router = createAppRouter(isMicro ? props.routerBase || '__BASE_ROUTE__' : '/');
28
+ const pinia = createPinia();
29
+ app = createApp(App, { standalone: !isMicro && import.meta.env.VITE_STANDALONE_LAYOUT !== 'false', popupContainer: root });
30
+ app.use(pinia).use(router).use(Antd);
31
+ app.component("YButton", YButton);
32
+ const store = useThemeStore(pinia); store.applyFromMain(props.themeConfig); applyTheme = store.applyFromMain;
33
+ const stopBridge = isMicro ? setupMicroAppRouterBridge({ router, appName: '__MICROAPP_NAME__', activeRule: props.routerBase || '__BASE_ROUTE__' }) : () => {};
34
+ dispose = () => { stopBridge(); router.options.history.destroy(); root.remove(); };
35
+ try { await router.isReady(); app.mount(root); } catch (error) { unmount(); throw error; }
36
+ }
37
+ function unmount() { app?.unmount(); dispose?.(); app = undefined; dispose = undefined; applyTheme = undefined; }
38
+ function update(props: MicroAppLifecycleProps) { assertBridge(props); applyTheme?.(props.themeConfig); }
39
+ renderWithQiankun({ bootstrap: async () => {}, mount, unmount, update });
40
+ if (!qiankunWindow.__POWERED_BY_QIANKUN__) void mount();
@@ -0,0 +1,8 @@
1
+ import { createRouter, createWebHistory } from 'vue-router';
2
+ import Welcome from '@/views/Welcome.vue';
3
+ export function createAppRouter(base: string) {
4
+ return createRouter({ history: createWebHistory(base), routes: [
5
+ { path: '/', name: 'welcome', component: Welcome },
6
+ { path: '/:pathMatch(.*)*', name: 'not-found', component: () => import('@/views/NotFound.vue') },
7
+ ] });
8
+ }
@@ -0,0 +1,37 @@
1
+ import { computed, ref } from 'vue';
2
+ import { defineStore } from 'pinia';
3
+ import { theme } from 'ant-design-vue';
4
+ import type { ThemeConfig } from 'ant-design-vue/es/config-provider/context';
5
+ import { applyYssTheme } from '@yss-ui/utils';
6
+ import baseline from '@/config/theme.json';
7
+ import type { MicroAppThemeConfigDto } from '@/types/microAppBridge';
8
+ export const useThemeStore = defineStore('theme', () => {
9
+ const primary = ref(baseline.token.colorPrimary), dark = ref(false), compact = ref(false);
10
+ const config = computed<ThemeConfig>(() => {
11
+ const token: ThemeConfig['token'] = { ...baseline.token, colorPrimary: primary.value, colorInfo: primary.value };
12
+ if (dark.value) for (const key of ['colorTextBase', 'colorBgBase', 'colorText', 'colorTextSecondary', 'colorBorder', 'colorBgLayout'] as const) delete token[key];
13
+ return { token, algorithm: [dark.value ? theme.darkAlgorithm : theme.defaultAlgorithm, ...(compact.value ? [theme.compactAlgorithm] : [])], components: { ...baseline.components, Card: { ...baseline.components.Card, paddingLG: compact.value ? 16 : baseline.token.paddingLG }, Button: { colorPrimary: baseline.accessibility.primaryControl, colorPrimaryHover: baseline.accessibility.primaryControlHover } } };
14
+ });
15
+ function applyFromMain(dto?: MicroAppThemeConfigDto) {
16
+ const incoming = dto?.token?.colorPrimary;
17
+ if (typeof incoming === 'string' && /^#[0-9a-f]{6}$/i.test(incoming)) primary.value = incoming;
18
+ if (dto?.mode) { dark.value = dto.mode.dark; compact.value = dto.mode.compact; }
19
+ }
20
+ function syncContainer(container: HTMLElement, values: ReturnType<typeof theme.useToken>['token']['value']) {
21
+ // Only this micro application's own container is mutated; unmount removes it.
22
+
23
+ for (const [key, value] of Object.entries(values)) {
24
+ if (typeof value !== 'string' && typeof value !== 'number') continue;
25
+ const name = key.replace(/[A-Z]/g, letter => `-${letter.toLowerCase()}`);
26
+ const unit = typeof value === 'number' && /^(font-size|border-radius|control-height|padding|margin|size)(-|$)/.test(name) ? 'px' : '';
27
+ for (const prefix of ['brand', 'ant']) container.style.setProperty(`--${prefix}-${name}`, `${value}${unit}`);
28
+ }
29
+ const palette = applyYssTheme({ primary: primary.value, target: container, mirrorToLegacy: true });
30
+ container.style.setProperty('--vxe-ui-font-primary-lighten-color', palette.primary[5]);
31
+ container.style.setProperty('--vxe-ui-font-primary-darken-color', palette.primary[7]);
32
+ container.style.setProperty('--vxe-ui-font-primary-color', primary.value);
33
+ container.style.setProperty('--yss-card-padding', `${compact.value ? 16 : baseline.token.paddingLG}px`);
34
+ container.dataset.theme = dark.value ? 'dark' : 'light';
35
+ }
36
+ return { primary, dark, compact, config, applyFromMain, syncContainer, setDark: (value: boolean) => { dark.value = value; }, setCompact: (value: boolean) => { compact.value = value; } };
37
+ });
@@ -0,0 +1,6 @@
1
+ .yss-microapp-root { min-height: 100vh; color: var(--brand-color-text); background: var(--brand-color-bg-layout); font: var(--brand-font-size) / 1.571 var(--brand-font-family); }
2
+ .yss-microapp-root, .yss-microapp-root * { box-sizing: border-box; }
3
+ .yss-microapp-root .app-header { padding: 16px 20px; background: var(--brand-color-bg-container); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
4
+ .yss-microapp-root .theme-controls { display: flex; gap: 12px; }
5
+ .yss-microapp-root .app-content { padding: var(--yss-card-padding); }
6
+ @media (max-width: 576px) { .yss-microapp-root .app-header { flex-wrap: wrap; } .yss-microapp-root .app-content { padding: 12px; } }
@@ -0,0 +1,28 @@
1
+ /** 当前模板支持的门户桥接协议版本。 */
2
+ export const MICRO_APP_BRIDGE_VERSION = 1 as const;
3
+
4
+ /** 主题模式的可序列化描述。 */
5
+ export interface MicroAppThemeModeDto {
6
+ readonly dark: boolean;
7
+ readonly compact: boolean;
8
+ }
9
+
10
+ /** 门户传入的只读主题 DTO;旧门户可以不提供 mode。 */
11
+ export interface MicroAppThemeConfigDto {
12
+ readonly token?: Readonly<Record<string, unknown>>;
13
+ readonly components?: Readonly<Record<string, unknown>>;
14
+ readonly algorithm?: readonly unknown[];
15
+ readonly mode?: MicroAppThemeModeDto;
16
+ }
17
+
18
+ /** 微应用可识别的版本化桥接 Props;字段保持可选以兼容旧门户。 */
19
+ export interface MicroAppBridgeProps {
20
+ readonly bridgeVersion?: typeof MICRO_APP_BRIDGE_VERSION;
21
+ readonly routerBase?: string;
22
+ readonly themeConfig?: MicroAppThemeConfigDto;
23
+ }
24
+
25
+ /** qiankun 生命周期额外提供的容器字段。 */
26
+ export interface MicroAppLifecycleProps extends MicroAppBridgeProps {
27
+ readonly container?: Element | ShadowRoot;
28
+ }
@@ -0,0 +1,266 @@
1
+ import { isNavigationFailure, NavigationFailureType, type Router } from 'vue-router';
2
+
3
+ /** 主应用路由同步事件明细。 */
4
+ interface MicroAppRouteSyncDetail {
5
+ appName?: string;
6
+ path?: string;
7
+ }
8
+
9
+ /** 路由同步失败原因。 */
10
+ type MicroAppRouteSyncErrorReason = 'navigation' | 'chunk-load';
11
+
12
+ /** 路由桥接初始化参数。 */
13
+ interface MicroAppRouterBridgeOptions {
14
+ router: Router;
15
+ appName: string;
16
+ activeRule: string;
17
+ }
18
+
19
+ /** 可供恢复标记使用的最小存储接口。 */
20
+ interface RecoveryStorage {
21
+ getItem: (key: string) => string | null;
22
+ setItem: (key: string, value: string) => void;
23
+ removeItem: (key: string) => void;
24
+ }
25
+
26
+ /** Vite 预加载错误事件。 */
27
+ interface VitePreloadErrorEvent extends Event {
28
+ payload?: unknown;
29
+ }
30
+
31
+ /** 自动恢复结果。 */
32
+ type ChunkRecoveryResult = 'not-chunk' | 'reloading' | 'exhausted';
33
+
34
+ /** 旧 chunk 自动刷新标记前缀。 */
35
+ const CHUNK_RELOAD_KEY_PREFIX = '__yss_micro_chunk_reload__';
36
+
37
+ /**
38
+ * 规范化微应用激活前缀。
39
+ * @param activeRule 原始激活前缀
40
+ * @returns 无结尾斜杠的激活前缀
41
+ */
42
+ function normalizeActiveRule(activeRule: string): string {
43
+ const withLeadingSlash = activeRule.startsWith('/') ? activeRule : `/${activeRule}`;
44
+ if (withLeadingSlash === '/') return '/';
45
+ return withLeadingSlash.replace(/\/+$/, '');
46
+ }
47
+
48
+ /**
49
+ * 将宿主地址解析为子应用完整路由。
50
+ * @param activeRule 微应用激活前缀
51
+ * @param locationLike 浏览器地址
52
+ * @returns 子应用路由;不属于当前微应用时返回 null
53
+ */
54
+ export function resolveMicroAppFullPath(
55
+ activeRule: string,
56
+ locationLike: Pick<Location, 'pathname' | 'search' | 'hash'>
57
+ ): string | null {
58
+ const base = normalizeActiveRule(activeRule);
59
+ const { pathname, search, hash } = locationLike;
60
+ const matchesBase = base === '/' || pathname === base || pathname.startsWith(`${base}/`);
61
+ if (!matchesBase) return null;
62
+ const subPath = base === '/' ? pathname || '/' : pathname.slice(base.length) || '/';
63
+ return `${subPath}${search || ''}${hash || ''}`;
64
+ }
65
+
66
+ /**
67
+ * 将主应用事件中的地址解析为子应用完整路由。
68
+ * @param activeRule 微应用激活前缀
69
+ * @param path 主应用完整地址
70
+ * @param origin 当前页面 origin
71
+ * @returns 子应用路由;不属于当前微应用时返回 null
72
+ */
73
+ export function resolveMicroAppEventPath(activeRule: string, path: string, origin: string): string | null {
74
+ try {
75
+ const url = new URL(path, origin);
76
+ if (url.origin !== origin) return null;
77
+ return resolveMicroAppFullPath(activeRule, url);
78
+ } catch {
79
+ return null;
80
+ }
81
+ }
82
+
83
+ /**
84
+ * 提取错误信息。
85
+ * @param error 未知错误
86
+ * @returns 可展示的错误信息
87
+ */
88
+ function getErrorMessage(error: unknown): string {
89
+ if (error instanceof Error) return error.message;
90
+ if (typeof error === 'string') return error;
91
+ if (error && typeof error === 'object' && 'message' in error) {
92
+ return String((error as { message?: unknown }).message || '');
93
+ }
94
+ return String(error || '未知错误');
95
+ }
96
+
97
+ /**
98
+ * 判断错误是否由旧 chunk 或动态导入资源失效导致。
99
+ * @param error 未知错误
100
+ * @returns 是否为可通过刷新恢复的资源错误
101
+ */
102
+ export function isChunkLoadError(error: unknown): boolean {
103
+ const message = getErrorMessage(error);
104
+ return /ChunkLoadError|Loading chunk [\w-]+ failed|Failed to fetch dynamically imported module|Importing a module script failed|error loading dynamically imported module|Unable to preload CSS|JavaScript-or-Wasm module script|MIME type.*text\/html/i.test(
105
+ message
106
+ );
107
+ }
108
+
109
+ /**
110
+ * 创建当前路由的单次刷新标记。
111
+ * @param appName 微应用标识
112
+ * @param fullPath 子应用完整路由
113
+ * @returns sessionStorage 标记键
114
+ */
115
+ export function createChunkReloadKey(appName: string, fullPath: string): string {
116
+ return `${CHUNK_RELOAD_KEY_PREFIX}:${appName}:${fullPath}`;
117
+ }
118
+
119
+ /**
120
+ * 预占当前路由的自动刷新机会。
121
+ * @param storage 会话存储
122
+ * @param key 刷新标记键
123
+ * @returns 本次是否允许刷新
124
+ */
125
+ export function reserveChunkReload(storage: RecoveryStorage, key: string): boolean {
126
+ try {
127
+ if (storage.getItem(key)) return false;
128
+ storage.setItem(key, '1');
129
+ return true;
130
+ } catch {
131
+ return false;
132
+ }
133
+ }
134
+
135
+ /**
136
+ * 清理已成功路由的自动刷新标记。
137
+ * @param storage 会话存储
138
+ * @param key 刷新标记键
139
+ */
140
+ function clearChunkReload(storage: RecoveryStorage, key: string): void {
141
+ try {
142
+ storage.removeItem(key);
143
+ } catch {
144
+ // 浏览器禁用会话存储时无需额外处理。
145
+ }
146
+ }
147
+
148
+ /**
149
+ * 获取当前宿主完整地址。
150
+ * @returns pathname、query 和 hash
151
+ */
152
+ function getHostFullPath(): string {
153
+ return `${window.location.pathname}${window.location.search}${window.location.hash}`;
154
+ }
155
+
156
+ /**
157
+ * 安装 qiankun 子应用路由桥接和旧 chunk 恢复逻辑。
158
+ * @param options 路由桥接参数
159
+ * @returns 清理全部监听器的函数
160
+ */
161
+ export function setupMicroAppRouterBridge(options: MicroAppRouterBridgeOptions): () => void {
162
+ const { router, appName, activeRule } = options;
163
+ let reloadScheduled = false;
164
+ let lastErrorSignature = '';
165
+
166
+ /** 向主应用报告无法自动恢复的路由错误。 */
167
+ const reportError = (reason: MicroAppRouteSyncErrorReason, error: unknown) => {
168
+ const message = getErrorMessage(error) || '微应用路由切换失败';
169
+ const path = getHostFullPath();
170
+ const signature = `${reason}:${path}:${message}`;
171
+ if (signature === lastErrorSignature) return;
172
+ lastErrorSignature = signature;
173
+ window.dispatchEvent(
174
+ new CustomEvent('microapp-route-sync-error', {
175
+ detail: { appName, path, reason, message },
176
+ })
177
+ );
178
+ };
179
+
180
+ /** 尝试通过单次刷新恢复旧 chunk 加载失败。 */
181
+ const recoverChunkError = (error: unknown, targetFullPath: string): ChunkRecoveryResult => {
182
+ if (!isChunkLoadError(error)) return 'not-chunk';
183
+ if (reloadScheduled) return 'reloading';
184
+ const key = createChunkReloadKey(appName, targetFullPath);
185
+ if (!reserveChunkReload(window.sessionStorage, key)) {
186
+ reportError('chunk-load', error);
187
+ return 'exhausted';
188
+ }
189
+ reloadScheduled = true;
190
+ window.location.reload();
191
+ return 'reloading';
192
+ };
193
+
194
+ /** 同步子应用路由,并显式处理导航失败。 */
195
+ const syncRouter = (targetFullPath: string) => {
196
+ if (router.currentRoute.value.fullPath === targetFullPath) return;
197
+ void router
198
+ .replace(targetFullPath)
199
+ .then(failure => {
200
+ if (!failure) return;
201
+ if (
202
+ isNavigationFailure(failure, NavigationFailureType.duplicated) ||
203
+ isNavigationFailure(failure, NavigationFailureType.cancelled)
204
+ ) {
205
+ return;
206
+ }
207
+ reportError('navigation', failure);
208
+ })
209
+ .catch((error: unknown) => {
210
+ if (recoverChunkError(error, targetFullPath) === 'not-chunk') {
211
+ reportError('navigation', error);
212
+ }
213
+ });
214
+ };
215
+
216
+ /** 从浏览器当前地址同步路由。 */
217
+ const syncRouterFromLocation = () => {
218
+ const targetFullPath = resolveMicroAppFullPath(activeRule, window.location);
219
+ if (targetFullPath) syncRouter(targetFullPath);
220
+ };
221
+
222
+ /** 处理主应用主动路由同步事件。 */
223
+ const handleMainAppRouteSync = (event: Event) => {
224
+ const detail = (event as CustomEvent<MicroAppRouteSyncDetail>).detail;
225
+ if (detail?.appName !== appName || !detail.path) return;
226
+ const targetFullPath = resolveMicroAppEventPath(activeRule, detail.path, window.location.origin);
227
+ if (targetFullPath) syncRouter(targetFullPath);
228
+ };
229
+
230
+ /** 处理 Vite 动态资源预加载错误。 */
231
+ const handlePreloadError = (event: Event) => {
232
+ const preloadEvent = event as VitePreloadErrorEvent;
233
+ const targetFullPath = resolveMicroAppFullPath(activeRule, window.location) || router.currentRoute.value.fullPath;
234
+ if (recoverChunkError(preloadEvent.payload ?? preloadEvent, targetFullPath) === 'reloading') {
235
+ event.preventDefault();
236
+ }
237
+ };
238
+
239
+ /** Vue Router 异步组件加载失败兜底。 */
240
+ const removeRouterError = router.onError(error => {
241
+ const targetFullPath = resolveMicroAppFullPath(activeRule, window.location) || router.currentRoute.value.fullPath;
242
+ if (recoverChunkError(error, targetFullPath) === 'not-chunk') {
243
+ reportError('navigation', error);
244
+ }
245
+ });
246
+
247
+ /** 成功进入目标页面后允许未来部署再次执行一次恢复刷新。 */
248
+ const removeAfterEach = router.afterEach((to, _from, failure) => {
249
+ if (failure) return;
250
+ clearChunkReload(window.sessionStorage, createChunkReloadKey(appName, to.fullPath));
251
+ lastErrorSignature = '';
252
+ });
253
+
254
+ window.addEventListener('popstate', syncRouterFromLocation);
255
+ window.addEventListener('microapp-route-sync', handleMainAppRouteSync);
256
+ window.addEventListener('vite:preloadError', handlePreloadError);
257
+ syncRouterFromLocation();
258
+
259
+ return () => {
260
+ window.removeEventListener('popstate', syncRouterFromLocation);
261
+ window.removeEventListener('microapp-route-sync', handleMainAppRouteSync);
262
+ window.removeEventListener('vite:preloadError', handlePreloadError);
263
+ removeRouterError();
264
+ removeAfterEach();
265
+ };
266
+ }
@@ -0,0 +1 @@
1
+ <template><a-result status="404" title="页面不存在"><template #extra><router-link to="/">返回首页</router-link></template></a-result></template>
@@ -0,0 +1 @@
1
+ <template><a-card title="__APP_NAME__"><p>从这里开始配置应用。</p><a-space wrap><y-button type="primary">主要操作</y-button> <a-input placeholder="请输入内容" aria-label="示例输入" /></a-space></a-card></template>
@@ -0,0 +1,23 @@
1
+ {
2
+ "extends": "@vue/tsconfig/tsconfig.dom.json",
3
+ "include": [
4
+ "src/**/*.ts",
5
+ "src/**/*.vue",
6
+ "vite.config.ts"
7
+ ],
8
+ "compilerOptions": {
9
+ "strict": true,
10
+ "skipLibCheck": true,
11
+ "moduleResolution": "bundler",
12
+ "resolveJsonModule": true,
13
+ "noEmit": true,
14
+ "types": [
15
+ "vite/client"
16
+ ],
17
+ "paths": {
18
+ "@/*": [
19
+ "./src/*"
20
+ ]
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,16 @@
1
+ import { fileURLToPath, URL } from 'node:url';
2
+ import { defineConfig, loadEnv } from 'vite';
3
+ import vue from '@vitejs/plugin-vue';
4
+ import qiankun from 'vite-plugin-qiankun';
5
+ export default defineConfig(({ mode }) => {
6
+ const env = loadEnv(mode, fileURLToPath(new URL('.', import.meta.url)));
7
+ const port = Number(env.VITE_PORT || 8081);
8
+ return {
9
+ base: env.VITE_PUBLIC_BASE || '/',
10
+ plugins: [vue(), qiankun('__MICROAPP_NAME__', { useDevMode: true })],
11
+ resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)) }, dedupe: ['vue', 'ant-design-vue', '@ant-design/icons-vue', '@formily/core', '@formily/vue'] },
12
+ css: { preprocessorOptions: { less: { javascriptEnabled: true } } },
13
+ server: { host: '127.0.0.1', port, strictPort: true, cors: true, origin: env.VITE_DEV_ORIGIN || `http://localhost:${port}`, proxy: env.VITE_PROXY_TARGET ? { '/api': { target: env.VITE_PROXY_TARGET, changeOrigin: true } } : undefined },
14
+ build: { target: 'es2020', modulePreload: { polyfill: false } },
15
+ };
16
+ });