create-yss-spec 3.0.0 → 3.0.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 (1508) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/src/cli.js +0 -1
  4. package/template/.agents/skills/.strategic-design-skills-manifest.json +35 -0
  5. package/template/.agents/skills/.yss-skills-manifest.json +0 -2
  6. package/template/.agents/skills/code-review/SKILL.md +1 -1
  7. package/template/.agents/skills/code-review/references/yss-review-standards.md +1 -1
  8. package/template/.agents/skills/lombok/SKILL.md +1 -1
  9. package/template/.agents/skills/mapstruct/SKILL.md +1 -1
  10. package/template/.agents/skills/prototype-review/SKILL.md +7 -6
  11. package/template/.agents/skills/yss-antd-design/SKILL.md +8 -7
  12. package/template/.agents/skills/yss-antd-design/references/evidence.md +11 -6
  13. package/template/.agents/skills/yss-api-integration/SKILL.md +2 -2
  14. package/template/.agents/skills/yss-application/SKILL.md +2 -2
  15. package/template/.agents/skills/yss-audit-log/SKILL.md +2 -2
  16. package/template/.agents/skills/yss-audit-log/references/source-index.md +1 -1
  17. package/template/.agents/skills/yss-cache/SKILL.md +2 -2
  18. package/template/.agents/skills/yss-cache/references/source-index.md +1 -1
  19. package/template/.agents/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  20. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +6 -6
  21. package/template/.agents/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  22. package/template/.agents/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +1 -1
  23. package/template/.agents/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +3 -3
  24. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
  25. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +3 -3
  26. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +3 -3
  27. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +8 -8
  28. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +1 -1
  29. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  30. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +8 -8
  31. package/template/.agents/skills/yss-design-system/SKILL.md +6 -6
  32. package/template/.agents/skills/yss-distributed-id/SKILL.md +2 -2
  33. package/template/.agents/skills/yss-distributed-id/references/source-index.md +1 -1
  34. package/template/.agents/skills/yss-domain/SKILL.md +1 -1
  35. package/template/.agents/skills/yss-dto/SKILL.md +2 -2
  36. package/template/.agents/skills/yss-dto/references/source-index.md +1 -1
  37. package/template/.agents/skills/yss-excel-mvc/SKILL.md +2 -2
  38. package/template/.agents/skills/yss-excel-mvc/references/source-index.md +1 -1
  39. package/template/.agents/skills/yss-exception/SKILL.md +1 -1
  40. package/template/.agents/skills/yss-exception/references/source-index.md +1 -1
  41. package/template/.agents/skills/{yss-router → yss-implementation-contract-compiler}/SKILL.md +22 -18
  42. package/template/.agents/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  43. package/template/.agents/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
  44. package/template/{.codex/skills/yss-router/references/router-contract.yaml → .agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml} +59 -94
  45. package/template/{.codex/skills/yss-router → .agents/skills/yss-implementation-contract-compiler}/references/slice-implementation-contract.md +20 -8
  46. package/template/.agents/skills/{yss-router → yss-implementation-contract-compiler}/references/yss-skill-execution-result.md +5 -3
  47. package/template/.agents/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
  48. package/template/.agents/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
  49. package/template/.agents/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  50. package/template/.agents/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  51. package/template/.agents/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  52. package/template/.agents/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  53. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
  54. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
  55. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
  56. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  57. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  58. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  59. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  60. package/template/.agents/skills/yss-mybatis/SKILL.md +2 -2
  61. package/template/.agents/skills/yss-mybatis/references/source-index.md +1 -1
  62. package/template/.agents/skills/yss-page-module-development/SKILL.md +1 -1
  63. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +6 -6
  64. package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  65. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +25 -17
  66. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +5 -5
  67. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +1 -1
  68. package/template/.agents/skills/yss-prototype-stage/SKILL.md +34 -24
  69. package/template/.agents/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
  70. package/template/.agents/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
  71. package/template/.agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
  72. package/template/.agents/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
  73. package/template/.agents/skills/yss-repository/SKILL.md +2 -2
  74. package/template/.agents/skills/yss-resilience4j/SKILL.md +1 -1
  75. package/template/.agents/skills/yss-resilience4j/references/source-index.md +1 -1
  76. package/template/.agents/skills/yss-security-algorithm/SKILL.md +1 -1
  77. package/template/.agents/skills/yss-security-algorithm/references/source-index.md +1 -1
  78. package/template/.agents/skills/{yss-source-index → yss-skill-source-index-refresh}/SKILL.md +4 -4
  79. package/template/.agents/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  80. package/template/{.claude/skills/yss-source-index → .agents/skills/yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.mjs +1 -1
  81. package/template/.agents/skills/yss-ui/SKILL.md +2 -1
  82. package/template/.agents/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  83. package/template/.agents/skills/yss-up-springboot3/SKILL.md +1 -1
  84. package/template/.agents/skills/yss-userinfo/SKILL.md +1 -1
  85. package/template/.agents/skills/yss-userinfo/references/source-index.md +1 -1
  86. package/template/.agents/skills/yss-validation/SKILL.md +1 -1
  87. package/template/.agents/skills/yss-validation/references/source-index.md +1 -1
  88. package/template/.agents/skills/yss-web-controller/SKILL.md +2 -2
  89. package/template/.claude/skills/code-review/SKILL.md +1 -1
  90. package/template/.claude/skills/code-review/references/yss-review-standards.md +1 -1
  91. package/template/.claude/skills/lombok/SKILL.md +1 -1
  92. package/template/.claude/skills/mapstruct/SKILL.md +1 -1
  93. package/template/.claude/skills/prototype-review/SKILL.md +7 -6
  94. package/template/.claude/skills/yss-antd-design/SKILL.md +8 -7
  95. package/template/.claude/skills/yss-antd-design/references/evidence.md +11 -6
  96. package/template/.claude/skills/yss-api-integration/SKILL.md +2 -2
  97. package/template/.claude/skills/yss-application/SKILL.md +2 -2
  98. package/template/.claude/skills/yss-audit-log/SKILL.md +2 -2
  99. package/template/.claude/skills/yss-audit-log/references/source-index.md +1 -1
  100. package/template/.claude/skills/yss-cache/SKILL.md +2 -2
  101. package/template/.claude/skills/yss-cache/references/source-index.md +1 -1
  102. package/template/.claude/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  103. package/template/.claude/skills/yss-ddd-scaffold-generator/SKILL.md +6 -6
  104. package/template/.claude/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  105. package/template/.claude/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +1 -1
  106. package/template/.claude/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +3 -3
  107. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
  108. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +3 -3
  109. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +3 -3
  110. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +8 -8
  111. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +1 -1
  112. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  113. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +8 -8
  114. package/template/.claude/skills/yss-design-system/SKILL.md +6 -6
  115. package/template/.claude/skills/yss-distributed-id/SKILL.md +2 -2
  116. package/template/.claude/skills/yss-distributed-id/references/source-index.md +1 -1
  117. package/template/.claude/skills/yss-domain/SKILL.md +1 -1
  118. package/template/.claude/skills/yss-dto/SKILL.md +2 -2
  119. package/template/.claude/skills/yss-dto/references/source-index.md +1 -1
  120. package/template/.claude/skills/yss-excel-mvc/SKILL.md +2 -2
  121. package/template/.claude/skills/yss-excel-mvc/references/source-index.md +1 -1
  122. package/template/.claude/skills/yss-exception/SKILL.md +1 -1
  123. package/template/.claude/skills/yss-exception/references/source-index.md +1 -1
  124. package/template/{.codex/skills/yss-router → .claude/skills/yss-implementation-contract-compiler}/SKILL.md +22 -18
  125. package/template/.claude/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  126. package/template/.claude/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
  127. package/template/.claude/skills/{yss-router/references/router-contract.yaml → yss-implementation-contract-compiler/references/compiler-contract.yaml} +59 -94
  128. package/template/{.agents/skills/yss-router → .claude/skills/yss-implementation-contract-compiler}/references/slice-implementation-contract.md +20 -8
  129. package/template/{.codex/skills/yss-router → .claude/skills/yss-implementation-contract-compiler}/references/yss-skill-execution-result.md +5 -3
  130. package/template/.claude/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
  131. package/template/.claude/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
  132. package/template/.claude/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  133. package/template/.claude/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  134. package/template/.claude/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  135. package/template/.claude/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  136. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
  137. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
  138. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
  139. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  140. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  141. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  142. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  143. package/template/.claude/skills/yss-mybatis/SKILL.md +2 -2
  144. package/template/.claude/skills/yss-mybatis/references/source-index.md +1 -1
  145. package/template/.claude/skills/yss-page-module-development/SKILL.md +1 -1
  146. package/template/.claude/skills/yss-product-lifecycle/SKILL.md +6 -6
  147. package/template/.claude/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  148. package/template/.claude/skills/yss-product-lifecycle/references/orchestration-contract.yaml +25 -17
  149. package/template/.claude/skills/yss-product-lifecycle/references/orchestration.md +5 -5
  150. package/template/.claude/skills/yss-product-lifecycle/references/state-model.md +1 -1
  151. package/template/.claude/skills/yss-prototype-stage/SKILL.md +34 -24
  152. package/template/.claude/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
  153. package/template/.claude/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
  154. package/template/.claude/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
  155. package/template/.claude/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
  156. package/template/.claude/skills/yss-repository/SKILL.md +2 -2
  157. package/template/.claude/skills/yss-resilience4j/SKILL.md +1 -1
  158. package/template/.claude/skills/yss-resilience4j/references/source-index.md +1 -1
  159. package/template/.claude/skills/yss-security-algorithm/SKILL.md +1 -1
  160. package/template/.claude/skills/yss-security-algorithm/references/source-index.md +1 -1
  161. package/template/.claude/skills/{yss-source-index → yss-skill-source-index-refresh}/SKILL.md +4 -4
  162. package/template/.claude/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  163. package/template/{.codex/skills/yss-source-index → .claude/skills/yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.mjs +1 -1
  164. package/template/.claude/skills/yss-ui/SKILL.md +2 -1
  165. package/template/.claude/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  166. package/template/.claude/skills/yss-up-springboot3/SKILL.md +1 -1
  167. package/template/.claude/skills/yss-userinfo/SKILL.md +1 -1
  168. package/template/.claude/skills/yss-userinfo/references/source-index.md +1 -1
  169. package/template/.claude/skills/yss-validation/SKILL.md +1 -1
  170. package/template/.claude/skills/yss-validation/references/source-index.md +1 -1
  171. package/template/.claude/skills/yss-web-controller/SKILL.md +2 -2
  172. package/template/.codex/skills/code-review/SKILL.md +1 -1
  173. package/template/.codex/skills/code-review/references/yss-review-standards.md +1 -1
  174. package/template/.codex/skills/lombok/SKILL.md +1 -1
  175. package/template/.codex/skills/mapstruct/SKILL.md +1 -1
  176. package/template/.codex/skills/prototype-review/SKILL.md +7 -6
  177. package/template/.codex/skills/yss-antd-design/SKILL.md +8 -7
  178. package/template/.codex/skills/yss-antd-design/references/evidence.md +11 -6
  179. package/template/.codex/skills/yss-api-integration/SKILL.md +2 -2
  180. package/template/.codex/skills/yss-application/SKILL.md +2 -2
  181. package/template/.codex/skills/yss-audit-log/SKILL.md +2 -2
  182. package/template/.codex/skills/yss-audit-log/references/source-index.md +1 -1
  183. package/template/.codex/skills/yss-cache/SKILL.md +2 -2
  184. package/template/.codex/skills/yss-cache/references/source-index.md +1 -1
  185. package/template/.codex/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  186. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +6 -6
  187. package/template/.codex/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  188. package/template/.codex/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +1 -1
  189. package/template/.codex/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +3 -3
  190. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
  191. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +3 -3
  192. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +3 -3
  193. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +8 -8
  194. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +1 -1
  195. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  196. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +8 -8
  197. package/template/.codex/skills/yss-design-system/SKILL.md +6 -6
  198. package/template/.codex/skills/yss-distributed-id/SKILL.md +2 -2
  199. package/template/.codex/skills/yss-distributed-id/references/source-index.md +1 -1
  200. package/template/.codex/skills/yss-domain/SKILL.md +1 -1
  201. package/template/.codex/skills/yss-dto/SKILL.md +2 -2
  202. package/template/.codex/skills/yss-dto/references/source-index.md +1 -1
  203. package/template/.codex/skills/yss-excel-mvc/SKILL.md +2 -2
  204. package/template/.codex/skills/yss-excel-mvc/references/source-index.md +1 -1
  205. package/template/.codex/skills/yss-exception/SKILL.md +1 -1
  206. package/template/.codex/skills/yss-exception/references/source-index.md +1 -1
  207. package/template/{.cursor/skills/yss-router → .codex/skills/yss-implementation-contract-compiler}/SKILL.md +22 -18
  208. package/template/.codex/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  209. package/template/.codex/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
  210. package/template/{.cursor/skills/yss-router/references/router-contract.yaml → .codex/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml} +59 -94
  211. package/template/{.cursor/skills/yss-router → .codex/skills/yss-implementation-contract-compiler}/references/slice-implementation-contract.md +20 -8
  212. package/template/{.claude/skills/yss-router → .codex/skills/yss-implementation-contract-compiler}/references/yss-skill-execution-result.md +5 -3
  213. package/template/.codex/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
  214. package/template/.codex/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
  215. package/template/.codex/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  216. package/template/.codex/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  217. package/template/.codex/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  218. package/template/.codex/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  219. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
  220. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
  221. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
  222. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  223. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  224. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  225. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  226. package/template/.codex/skills/yss-mybatis/SKILL.md +2 -2
  227. package/template/.codex/skills/yss-mybatis/references/source-index.md +1 -1
  228. package/template/.codex/skills/yss-page-module-development/SKILL.md +1 -1
  229. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +6 -6
  230. package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  231. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +25 -17
  232. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +5 -5
  233. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +1 -1
  234. package/template/.codex/skills/yss-prototype-stage/SKILL.md +34 -24
  235. package/template/.codex/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
  236. package/template/.codex/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
  237. package/template/.codex/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
  238. package/template/.codex/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
  239. package/template/.codex/skills/yss-repository/SKILL.md +2 -2
  240. package/template/.codex/skills/yss-resilience4j/SKILL.md +1 -1
  241. package/template/.codex/skills/yss-resilience4j/references/source-index.md +1 -1
  242. package/template/.codex/skills/yss-security-algorithm/SKILL.md +1 -1
  243. package/template/.codex/skills/yss-security-algorithm/references/source-index.md +1 -1
  244. package/template/.codex/skills/{yss-source-index → yss-skill-source-index-refresh}/SKILL.md +4 -4
  245. package/template/.codex/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  246. package/template/{.agents/skills/yss-source-index → .codex/skills/yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.mjs +1 -1
  247. package/template/.codex/skills/yss-ui/SKILL.md +2 -1
  248. package/template/.codex/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  249. package/template/.codex/skills/yss-up-springboot3/SKILL.md +1 -1
  250. package/template/.codex/skills/yss-userinfo/SKILL.md +1 -1
  251. package/template/.codex/skills/yss-userinfo/references/source-index.md +1 -1
  252. package/template/.codex/skills/yss-validation/SKILL.md +1 -1
  253. package/template/.codex/skills/yss-validation/references/source-index.md +1 -1
  254. package/template/.codex/skills/yss-web-controller/SKILL.md +2 -2
  255. package/template/.cursor/skills/code-review/SKILL.md +1 -1
  256. package/template/.cursor/skills/code-review/references/yss-review-standards.md +1 -1
  257. package/template/.cursor/skills/lombok/SKILL.md +1 -1
  258. package/template/.cursor/skills/mapstruct/SKILL.md +1 -1
  259. package/template/.cursor/skills/prototype-review/SKILL.md +7 -6
  260. package/template/.cursor/skills/yss-antd-design/SKILL.md +8 -7
  261. package/template/.cursor/skills/yss-antd-design/references/evidence.md +11 -6
  262. package/template/.cursor/skills/yss-api-integration/SKILL.md +2 -2
  263. package/template/.cursor/skills/yss-application/SKILL.md +2 -2
  264. package/template/.cursor/skills/yss-audit-log/SKILL.md +2 -2
  265. package/template/.cursor/skills/yss-audit-log/references/source-index.md +1 -1
  266. package/template/.cursor/skills/yss-cache/SKILL.md +2 -2
  267. package/template/.cursor/skills/yss-cache/references/source-index.md +1 -1
  268. package/template/.cursor/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  269. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +6 -6
  270. package/template/.cursor/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  271. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +1 -1
  272. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +3 -3
  273. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
  274. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +3 -3
  275. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +3 -3
  276. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +8 -8
  277. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +1 -1
  278. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  279. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +8 -8
  280. package/template/.cursor/skills/yss-design-system/SKILL.md +6 -6
  281. package/template/.cursor/skills/yss-distributed-id/SKILL.md +2 -2
  282. package/template/.cursor/skills/yss-distributed-id/references/source-index.md +1 -1
  283. package/template/.cursor/skills/yss-domain/SKILL.md +1 -1
  284. package/template/.cursor/skills/yss-dto/SKILL.md +2 -2
  285. package/template/.cursor/skills/yss-dto/references/source-index.md +1 -1
  286. package/template/.cursor/skills/yss-excel-mvc/SKILL.md +2 -2
  287. package/template/.cursor/skills/yss-excel-mvc/references/source-index.md +1 -1
  288. package/template/.cursor/skills/yss-exception/SKILL.md +1 -1
  289. package/template/.cursor/skills/yss-exception/references/source-index.md +1 -1
  290. package/template/{.claude/skills/yss-router → .cursor/skills/yss-implementation-contract-compiler}/SKILL.md +22 -18
  291. package/template/.cursor/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  292. package/template/.cursor/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
  293. package/template/{.agents/skills/yss-router/references/router-contract.yaml → .cursor/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml} +59 -94
  294. package/template/{.claude/skills/yss-router → .cursor/skills/yss-implementation-contract-compiler}/references/slice-implementation-contract.md +20 -8
  295. package/template/.cursor/skills/{yss-router → yss-implementation-contract-compiler}/references/yss-skill-execution-result.md +5 -3
  296. package/template/.cursor/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
  297. package/template/.cursor/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
  298. package/template/.cursor/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  299. package/template/.cursor/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  300. package/template/.cursor/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  301. package/template/.cursor/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  302. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
  303. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
  304. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
  305. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  306. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  307. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  308. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  309. package/template/.cursor/skills/yss-mybatis/SKILL.md +2 -2
  310. package/template/.cursor/skills/yss-mybatis/references/source-index.md +1 -1
  311. package/template/.cursor/skills/yss-page-module-development/SKILL.md +1 -1
  312. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +6 -6
  313. package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  314. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +25 -17
  315. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +5 -5
  316. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +1 -1
  317. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +34 -24
  318. package/template/.cursor/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
  319. package/template/.cursor/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
  320. package/template/.cursor/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
  321. package/template/.cursor/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
  322. package/template/.cursor/skills/yss-repository/SKILL.md +2 -2
  323. package/template/.cursor/skills/yss-resilience4j/SKILL.md +1 -1
  324. package/template/.cursor/skills/yss-resilience4j/references/source-index.md +1 -1
  325. package/template/.cursor/skills/yss-security-algorithm/SKILL.md +1 -1
  326. package/template/.cursor/skills/yss-security-algorithm/references/source-index.md +1 -1
  327. package/template/.cursor/skills/{yss-source-index → yss-skill-source-index-refresh}/SKILL.md +4 -4
  328. package/template/.cursor/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  329. package/template/.cursor/skills/{yss-source-index → yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.mjs +1 -1
  330. package/template/.cursor/skills/yss-ui/SKILL.md +2 -1
  331. package/template/.cursor/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  332. package/template/.cursor/skills/yss-up-springboot3/SKILL.md +1 -1
  333. package/template/.cursor/skills/yss-userinfo/SKILL.md +1 -1
  334. package/template/.cursor/skills/yss-userinfo/references/source-index.md +1 -1
  335. package/template/.cursor/skills/yss-validation/SKILL.md +1 -1
  336. package/template/.cursor/skills/yss-validation/references/source-index.md +1 -1
  337. package/template/.cursor/skills/yss-web-controller/SKILL.md +2 -2
  338. package/template/.pi/skills/code-review/SKILL.md +1 -1
  339. package/template/.pi/skills/code-review/references/yss-review-standards.md +1 -1
  340. package/template/.pi/skills/lombok/SKILL.md +1 -1
  341. package/template/.pi/skills/mapstruct/SKILL.md +1 -1
  342. package/template/.pi/skills/prototype-review/SKILL.md +7 -6
  343. package/template/.pi/skills/yss-antd-design/SKILL.md +8 -7
  344. package/template/.pi/skills/yss-antd-design/references/evidence.md +11 -6
  345. package/template/.pi/skills/yss-api-integration/SKILL.md +2 -2
  346. package/template/.pi/skills/yss-application/SKILL.md +2 -2
  347. package/template/.pi/skills/yss-audit-log/SKILL.md +2 -2
  348. package/template/.pi/skills/yss-audit-log/references/source-index.md +1 -1
  349. package/template/.pi/skills/yss-cache/SKILL.md +2 -2
  350. package/template/.pi/skills/yss-cache/references/source-index.md +1 -1
  351. package/template/.pi/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  352. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +6 -6
  353. package/template/.pi/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  354. package/template/.pi/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +1 -1
  355. package/template/.pi/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +3 -3
  356. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
  357. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +3 -3
  358. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +3 -3
  359. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +8 -8
  360. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +1 -1
  361. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  362. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +8 -8
  363. package/template/.pi/skills/yss-design-system/SKILL.md +6 -6
  364. package/template/.pi/skills/yss-distributed-id/SKILL.md +2 -2
  365. package/template/.pi/skills/yss-distributed-id/references/source-index.md +1 -1
  366. package/template/.pi/skills/yss-domain/SKILL.md +1 -1
  367. package/template/.pi/skills/yss-dto/SKILL.md +2 -2
  368. package/template/.pi/skills/yss-dto/references/source-index.md +1 -1
  369. package/template/.pi/skills/yss-excel-mvc/SKILL.md +2 -2
  370. package/template/.pi/skills/yss-excel-mvc/references/source-index.md +1 -1
  371. package/template/.pi/skills/yss-exception/SKILL.md +1 -1
  372. package/template/.pi/skills/yss-exception/references/source-index.md +1 -1
  373. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +55 -0
  374. package/template/.pi/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  375. package/template/.pi/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
  376. package/template/.pi/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +314 -0
  377. package/template/.pi/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +197 -0
  378. package/template/.pi/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +69 -0
  379. package/template/.pi/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
  380. package/template/.pi/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
  381. package/template/.pi/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  382. package/template/.pi/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  383. package/template/.pi/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  384. package/template/.pi/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  385. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
  386. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
  387. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
  388. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  389. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  390. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  391. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  392. package/template/.pi/skills/yss-mybatis/SKILL.md +2 -2
  393. package/template/.pi/skills/yss-mybatis/references/source-index.md +1 -1
  394. package/template/.pi/skills/yss-page-module-development/SKILL.md +1 -1
  395. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +6 -6
  396. package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  397. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +25 -17
  398. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +5 -5
  399. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +1 -1
  400. package/template/.pi/skills/yss-prototype-stage/SKILL.md +34 -24
  401. package/template/.pi/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
  402. package/template/.pi/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
  403. package/template/.pi/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
  404. package/template/.pi/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
  405. package/template/.pi/skills/yss-repository/SKILL.md +2 -2
  406. package/template/.pi/skills/yss-resilience4j/SKILL.md +1 -1
  407. package/template/.pi/skills/yss-resilience4j/references/source-index.md +1 -1
  408. package/template/.pi/skills/yss-security-algorithm/SKILL.md +1 -1
  409. package/template/.pi/skills/yss-security-algorithm/references/source-index.md +1 -1
  410. package/template/.pi/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
  411. package/template/.pi/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  412. package/template/.pi/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
  413. package/template/.pi/skills/yss-ui/SKILL.md +2 -1
  414. package/template/.pi/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  415. package/template/.pi/skills/yss-up-springboot3/SKILL.md +1 -1
  416. package/template/.pi/skills/yss-userinfo/SKILL.md +1 -1
  417. package/template/.pi/skills/yss-userinfo/references/source-index.md +1 -1
  418. package/template/.pi/skills/yss-validation/SKILL.md +1 -1
  419. package/template/.pi/skills/yss-validation/references/source-index.md +1 -1
  420. package/template/.pi/skills/yss-web-controller/SKILL.md +2 -2
  421. package/template/.qoder/skills/code-review/SKILL.md +1 -1
  422. package/template/.qoder/skills/code-review/references/yss-review-standards.md +1 -1
  423. package/template/.qoder/skills/lombok/SKILL.md +1 -1
  424. package/template/.qoder/skills/mapstruct/SKILL.md +1 -1
  425. package/template/.qoder/skills/prototype-review/SKILL.md +7 -6
  426. package/template/.qoder/skills/yss-antd-design/SKILL.md +8 -7
  427. package/template/.qoder/skills/yss-antd-design/references/evidence.md +11 -6
  428. package/template/.qoder/skills/yss-api-integration/SKILL.md +2 -2
  429. package/template/.qoder/skills/yss-application/SKILL.md +2 -2
  430. package/template/.qoder/skills/yss-audit-log/SKILL.md +2 -2
  431. package/template/.qoder/skills/yss-audit-log/references/source-index.md +1 -1
  432. package/template/.qoder/skills/yss-cache/SKILL.md +2 -2
  433. package/template/.qoder/skills/yss-cache/references/source-index.md +1 -1
  434. package/template/.qoder/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  435. package/template/.qoder/skills/yss-ddd-scaffold-generator/SKILL.md +6 -6
  436. package/template/.qoder/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  437. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +1 -1
  438. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +3 -3
  439. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
  440. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +3 -3
  441. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +3 -3
  442. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +8 -8
  443. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +1 -1
  444. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  445. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +8 -8
  446. package/template/.qoder/skills/yss-design-system/SKILL.md +6 -6
  447. package/template/.qoder/skills/yss-distributed-id/SKILL.md +2 -2
  448. package/template/.qoder/skills/yss-distributed-id/references/source-index.md +1 -1
  449. package/template/.qoder/skills/yss-domain/SKILL.md +1 -1
  450. package/template/.qoder/skills/yss-dto/SKILL.md +2 -2
  451. package/template/.qoder/skills/yss-dto/references/source-index.md +1 -1
  452. package/template/.qoder/skills/yss-excel-mvc/SKILL.md +2 -2
  453. package/template/.qoder/skills/yss-excel-mvc/references/source-index.md +1 -1
  454. package/template/.qoder/skills/yss-exception/SKILL.md +1 -1
  455. package/template/.qoder/skills/yss-exception/references/source-index.md +1 -1
  456. package/template/.qoder/skills/yss-implementation-contract-compiler/SKILL.md +55 -0
  457. package/template/.qoder/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  458. package/template/.qoder/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
  459. package/template/.qoder/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +314 -0
  460. package/template/.qoder/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +197 -0
  461. package/template/.qoder/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +69 -0
  462. package/template/.qoder/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
  463. package/template/.qoder/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
  464. package/template/.qoder/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  465. package/template/.qoder/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  466. package/template/.qoder/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  467. package/template/.qoder/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  468. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
  469. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
  470. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
  471. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  472. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  473. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  474. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  475. package/template/.qoder/skills/yss-mybatis/SKILL.md +2 -2
  476. package/template/.qoder/skills/yss-mybatis/references/source-index.md +1 -1
  477. package/template/.qoder/skills/yss-page-module-development/SKILL.md +1 -1
  478. package/template/.qoder/skills/yss-product-lifecycle/SKILL.md +6 -6
  479. package/template/.qoder/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  480. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration-contract.yaml +25 -17
  481. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration.md +5 -5
  482. package/template/.qoder/skills/yss-product-lifecycle/references/state-model.md +1 -1
  483. package/template/.qoder/skills/yss-prototype-stage/SKILL.md +34 -24
  484. package/template/.qoder/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
  485. package/template/.qoder/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
  486. package/template/.qoder/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
  487. package/template/.qoder/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
  488. package/template/.qoder/skills/yss-repository/SKILL.md +2 -2
  489. package/template/.qoder/skills/yss-resilience4j/SKILL.md +1 -1
  490. package/template/.qoder/skills/yss-resilience4j/references/source-index.md +1 -1
  491. package/template/.qoder/skills/yss-security-algorithm/SKILL.md +1 -1
  492. package/template/.qoder/skills/yss-security-algorithm/references/source-index.md +1 -1
  493. package/template/.qoder/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
  494. package/template/.qoder/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  495. package/template/.qoder/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
  496. package/template/.qoder/skills/yss-ui/SKILL.md +2 -1
  497. package/template/.qoder/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  498. package/template/.qoder/skills/yss-up-springboot3/SKILL.md +1 -1
  499. package/template/.qoder/skills/yss-userinfo/SKILL.md +1 -1
  500. package/template/.qoder/skills/yss-userinfo/references/source-index.md +1 -1
  501. package/template/.qoder/skills/yss-validation/SKILL.md +1 -1
  502. package/template/.qoder/skills/yss-validation/references/source-index.md +1 -1
  503. package/template/.qoder/skills/yss-web-controller/SKILL.md +2 -2
  504. package/template/.trae/skills/code-review/SKILL.md +1 -1
  505. package/template/.trae/skills/code-review/references/yss-review-standards.md +1 -1
  506. package/template/.trae/skills/lombok/SKILL.md +1 -1
  507. package/template/.trae/skills/mapstruct/SKILL.md +1 -1
  508. package/template/.trae/skills/prototype-review/SKILL.md +7 -6
  509. package/template/.trae/skills/yss-antd-design/SKILL.md +8 -7
  510. package/template/.trae/skills/yss-antd-design/references/evidence.md +11 -6
  511. package/template/.trae/skills/yss-api-integration/SKILL.md +2 -2
  512. package/template/.trae/skills/yss-application/SKILL.md +2 -2
  513. package/template/.trae/skills/yss-audit-log/SKILL.md +2 -2
  514. package/template/.trae/skills/yss-audit-log/references/source-index.md +1 -1
  515. package/template/.trae/skills/yss-cache/SKILL.md +2 -2
  516. package/template/.trae/skills/yss-cache/references/source-index.md +1 -1
  517. package/template/.trae/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  518. package/template/.trae/skills/yss-ddd-scaffold-generator/SKILL.md +6 -6
  519. package/template/.trae/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  520. package/template/.trae/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +1 -1
  521. package/template/.trae/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +3 -3
  522. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
  523. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +3 -3
  524. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +3 -3
  525. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +8 -8
  526. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +1 -1
  527. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  528. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +8 -8
  529. package/template/.trae/skills/yss-design-system/SKILL.md +6 -6
  530. package/template/.trae/skills/yss-distributed-id/SKILL.md +2 -2
  531. package/template/.trae/skills/yss-distributed-id/references/source-index.md +1 -1
  532. package/template/.trae/skills/yss-domain/SKILL.md +1 -1
  533. package/template/.trae/skills/yss-dto/SKILL.md +2 -2
  534. package/template/.trae/skills/yss-dto/references/source-index.md +1 -1
  535. package/template/.trae/skills/yss-excel-mvc/SKILL.md +2 -2
  536. package/template/.trae/skills/yss-excel-mvc/references/source-index.md +1 -1
  537. package/template/.trae/skills/yss-exception/SKILL.md +1 -1
  538. package/template/.trae/skills/yss-exception/references/source-index.md +1 -1
  539. package/template/.trae/skills/yss-implementation-contract-compiler/SKILL.md +55 -0
  540. package/template/.trae/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  541. package/template/.trae/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
  542. package/template/.trae/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +314 -0
  543. package/template/.trae/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +197 -0
  544. package/template/.trae/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +69 -0
  545. package/template/.trae/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
  546. package/template/.trae/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
  547. package/template/.trae/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  548. package/template/.trae/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  549. package/template/.trae/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  550. package/template/.trae/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  551. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
  552. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
  553. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
  554. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  555. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  556. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  557. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  558. package/template/.trae/skills/yss-mybatis/SKILL.md +2 -2
  559. package/template/.trae/skills/yss-mybatis/references/source-index.md +1 -1
  560. package/template/.trae/skills/yss-page-module-development/SKILL.md +1 -1
  561. package/template/.trae/skills/yss-product-lifecycle/SKILL.md +6 -6
  562. package/template/.trae/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  563. package/template/.trae/skills/yss-product-lifecycle/references/orchestration-contract.yaml +25 -17
  564. package/template/.trae/skills/yss-product-lifecycle/references/orchestration.md +5 -5
  565. package/template/.trae/skills/yss-product-lifecycle/references/state-model.md +1 -1
  566. package/template/.trae/skills/yss-prototype-stage/SKILL.md +34 -24
  567. package/template/.trae/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
  568. package/template/.trae/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
  569. package/template/.trae/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
  570. package/template/.trae/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
  571. package/template/.trae/skills/yss-repository/SKILL.md +2 -2
  572. package/template/.trae/skills/yss-resilience4j/SKILL.md +1 -1
  573. package/template/.trae/skills/yss-resilience4j/references/source-index.md +1 -1
  574. package/template/.trae/skills/yss-security-algorithm/SKILL.md +1 -1
  575. package/template/.trae/skills/yss-security-algorithm/references/source-index.md +1 -1
  576. package/template/.trae/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
  577. package/template/.trae/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  578. package/template/.trae/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
  579. package/template/.trae/skills/yss-ui/SKILL.md +2 -1
  580. package/template/.trae/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  581. package/template/.trae/skills/yss-up-springboot3/SKILL.md +1 -1
  582. package/template/.trae/skills/yss-userinfo/SKILL.md +1 -1
  583. package/template/.trae/skills/yss-userinfo/references/source-index.md +1 -1
  584. package/template/.trae/skills/yss-validation/SKILL.md +1 -1
  585. package/template/.trae/skills/yss-validation/references/source-index.md +1 -1
  586. package/template/.trae/skills/yss-web-controller/SKILL.md +2 -2
  587. package/template/AGENTS.md +11 -11
  588. package/template/CONTEXT.md +8 -7
  589. package/template/README.md +0 -1
  590. package/template/docs/agents/digital-human-roles.md +3 -3
  591. package/template/docs/agents/digital-human-roles.yaml +3 -3
  592. package/template/docs/agents/skill-migrations.md +18 -5
  593. package/template/docs/agents/skills-maintenance.md +3 -3
  594. package/template/docs/agents/strategic-design-skills-integration.md +41 -0
  595. package/template/docs/agents/yss-skill-registry.yaml +134 -28
  596. package/template/docs/api/templates/openapi-draft-review-checklist.md +3 -3
  597. package/template/docs/architecture/templates/engineering-baseline-review-template.md +3 -3
  598. package/template/docs/design/README.md +7 -7
  599. package/template/docs/design/design.md +25 -17
  600. package/template/docs/design/templates/interaction-spec-template.md +4 -4
  601. package/template/docs/design/templates/prototype-confirmation-template.md +13 -15
  602. package/template/docs/design/templates/prototype-evidence-template.yaml +99 -75
  603. package/template/docs/design/templates/prototype-review-checklist.md +5 -4
  604. package/template/docs/design/templates/state-matrix-template.md +11 -0
  605. package/template/docs/discovery/reports/agent-governance-options.md +8 -8
  606. package/template/docs/process/MATT-POCOCK-ENGINEERING-SKILLS.md +1 -1
  607. package/template/docs/process/implementation-repo-integration.md +1 -1
  608. package/template/docs/process/lifecycle-artifact-map.md +4 -2
  609. package/template/docs/process/lifecycle-registry-baseline.json +4 -1
  610. package/template/docs/process/lifecycle-registry.yaml +15 -9
  611. package/template/docs/process/template-engineering-overview.md +2 -2
  612. package/template/docs/process/template-verification-profiles.yaml +27 -6
  613. package/template/docs/templates/build-architecture-checklist-template.md +6 -6
  614. package/template/docs/templates/implementation-routing-template.md +8 -8
  615. package/template/docs/templates/requirement-freeze-template.md +2 -2
  616. package/template/docs/templates/review-report-template.md +4 -4
  617. package/template/docs/templates/spec-template.md +1 -1
  618. package/template/docs/templates/vertical-slice-ticket-template.md +4 -4
  619. package/template/docs/user-guide/yss-ui-mcp.md +0 -2
  620. package/template/docs/user-guide//346/210/230/346/234/257/350/256/276/350/256/241/345/255/220/351/241/271/347/233/256/347/224/250/346/210/267/346/211/213/345/206/214.md +2 -2
  621. package/template/docs/user-guide//347/224/250/346/210/267/346/211/213/345/206/214.md +4 -4
  622. package/template/docs/user-guide//347/224/250/346/210/267/346/211/213/345/206/214/347/264/242/345/274/225.md +4 -4
  623. package/template/scripts/audit-yss-backend-skills +56 -0
  624. package/template/scripts/generate-yss-skill-boundaries +67 -0
  625. package/template/scripts/lib/export-skills.mjs +4 -4
  626. package/template/scripts/lib/implementation-contract-compiler.mjs +194 -0
  627. package/template/scripts/lib/scenario-checks.mjs +9 -6
  628. package/template/scripts/lib/skill-governance.mjs +27 -5
  629. package/template/scripts/lib/skill-registry.mjs +107 -63
  630. package/template/scripts/lib/skill-supply-chain.mjs +45 -5
  631. package/template/scripts/verify-repository-scope-scenarios +2 -2
  632. package/template/scripts/verify-retired-skill-ids +37 -0
  633. package/template/scripts/verify-scaffold-generator-scenarios +18 -18
  634. package/template/scripts/verify-template-verification-scenarios +4 -1
  635. package/template/scripts/verify-yss-implementation-contract-compiler-scenarios +14 -0
  636. package/template/skills-lock.json +87 -157
  637. package/template/yss-public-skills.json +4 -4
  638. package/template.manifest.json +0 -3
  639. package/template.snapshot.json +5 -5
  640. package/template/.agents/skills/yss-router/agents/openai.yaml +0 -4
  641. package/template/.agents/skills/yss-router/references/boundaries.md +0 -50
  642. package/template/.agents/skills/yss-source-index/agents/openai.yaml +0 -4
  643. package/template/.claude/skills/yss-router/agents/openai.yaml +0 -4
  644. package/template/.claude/skills/yss-router/references/boundaries.md +0 -50
  645. package/template/.claude/skills/yss-source-index/agents/openai.yaml +0 -4
  646. package/template/.codex/skills/yss-router/agents/openai.yaml +0 -4
  647. package/template/.codex/skills/yss-router/references/boundaries.md +0 -50
  648. package/template/.codex/skills/yss-source-index/agents/openai.yaml +0 -4
  649. package/template/.cursor/skills/yss-router/agents/openai.yaml +0 -4
  650. package/template/.cursor/skills/yss-router/references/boundaries.md +0 -50
  651. package/template/.cursor/skills/yss-source-index/agents/openai.yaml +0 -4
  652. package/template/.gemini/settings.json +0 -8
  653. package/template/.hermes/skills/alibaba-java-code-style/SKILL.md +0 -51
  654. package/template/.hermes/skills/alibaba-java-code-style/agents/openai.yaml +0 -4
  655. package/template/.hermes/skills/alibaba-java-code-style/references/database-engineering-design.md +0 -147
  656. package/template/.hermes/skills/alibaba-java-code-style/references/java-programming.md +0 -178
  657. package/template/.hermes/skills/alibaba-java-code-style/references/reliability-test-security.md +0 -89
  658. package/template/.hermes/skills/archify/LICENSE +0 -22
  659. package/template/.hermes/skills/archify/SKILL.md +0 -156
  660. package/template/.hermes/skills/archify/assets/template.html +0 -14787
  661. package/template/.hermes/skills/archify/bin/archify.mjs +0 -1990
  662. package/template/.hermes/skills/archify/bin/open-artifact.mjs +0 -86
  663. package/template/.hermes/skills/archify/bin/preview.mjs +0 -648
  664. package/template/.hermes/skills/archify/bin/visual-check.mjs +0 -829
  665. package/template/.hermes/skills/archify/brand-marks/README.md +0 -31
  666. package/template/.hermes/skills/archify/brand-marks/catalog.json +0 -131
  667. package/template/.hermes/skills/archify/delta/architecture-delta.mjs +0 -1214
  668. package/template/.hermes/skills/archify/examples/agent-run.lifecycle.json +0 -71
  669. package/template/.hermes/skills/archify/examples/agent-tool-call.workflow.json +0 -94
  670. package/template/.hermes/skills/archify/examples/async-job-roundtrip.sequence.json +0 -61
  671. package/template/.hermes/skills/archify/examples/brand-aware-delivery.architecture.json +0 -47
  672. package/template/.hermes/skills/archify/examples/cache-miss-request.sequence.json +0 -81
  673. package/template/.hermes/skills/archify/examples/checkout-platform.base.architecture.json +0 -31
  674. package/template/.hermes/skills/archify/examples/checkout-platform.head.architecture.json +0 -31
  675. package/template/.hermes/skills/archify/examples/dataflow-product-analytics.html +0 -14898
  676. package/template/.hermes/skills/archify/examples/deployment-release.lifecycle.json +0 -49
  677. package/template/.hermes/skills/archify/examples/event-stream.dataflow.json +0 -57
  678. package/template/.hermes/skills/archify/examples/incident-response.workflow.json +0 -64
  679. package/template/.hermes/skills/archify/examples/lifecycle-agent-run.html +0 -14847
  680. package/template/.hermes/skills/archify/examples/product-analytics.dataflow.json +0 -76
  681. package/template/.hermes/skills/archify/examples/production-deployment.architecture.json +0 -71
  682. package/template/.hermes/skills/archify/examples/release-delivery.workflow.json +0 -62
  683. package/template/.hermes/skills/archify/examples/sequence-cache-miss-request.html +0 -14913
  684. package/template/.hermes/skills/archify/examples/web-app-rendered.html +0 -14862
  685. package/template/.hermes/skills/archify/examples/web-app.architecture.json +0 -46
  686. package/template/.hermes/skills/archify/examples/workflow-agent-tool-call-rendered.html +0 -14904
  687. package/template/.hermes/skills/archify/migrations/workflow-v2.mjs +0 -279
  688. package/template/.hermes/skills/archify/package-lock.json +0 -149
  689. package/template/.hermes/skills/archify/package.json +0 -37
  690. package/template/.hermes/skills/archify/recipes/scenarios.mjs +0 -391
  691. package/template/.hermes/skills/archify/references/authoring-contract.md +0 -191
  692. package/template/.hermes/skills/archify/references/brand-marks.md +0 -65
  693. package/template/.hermes/skills/archify/references/delivery-contract.md +0 -112
  694. package/template/.hermes/skills/archify/references/viewer-runtime.md +0 -45
  695. package/template/.hermes/skills/archify/renderers/architecture/grid.mjs +0 -62
  696. package/template/.hermes/skills/archify/renderers/architecture/render-architecture.mjs +0 -1078
  697. package/template/.hermes/skills/archify/renderers/dataflow/README.md +0 -104
  698. package/template/.hermes/skills/archify/renderers/dataflow/render-dataflow.mjs +0 -483
  699. package/template/.hermes/skills/archify/renderers/lifecycle/README.md +0 -115
  700. package/template/.hermes/skills/archify/renderers/lifecycle/render-lifecycle.mjs +0 -561
  701. package/template/.hermes/skills/archify/renderers/sequence/README.md +0 -114
  702. package/template/.hermes/skills/archify/renderers/sequence/render-sequence.mjs +0 -453
  703. package/template/.hermes/skills/archify/renderers/shared/brand-marks.mjs +0 -563
  704. package/template/.hermes/skills/archify/renderers/shared/cli.mjs +0 -218
  705. package/template/.hermes/skills/archify/renderers/shared/desktop-readability.mjs +0 -26
  706. package/template/.hermes/skills/archify/renderers/shared/diagnostics.mjs +0 -127
  707. package/template/.hermes/skills/archify/renderers/shared/engineering-profiles.mjs +0 -157
  708. package/template/.hermes/skills/archify/renderers/shared/generated-brand-marks.mjs +0 -2003
  709. package/template/.hermes/skills/archify/renderers/shared/generated-validators.mjs +0 -13
  710. package/template/.hermes/skills/archify/renderers/shared/geometry.mjs +0 -1423
  711. package/template/.hermes/skills/archify/renderers/shared/i18n.mjs +0 -594
  712. package/template/.hermes/skills/archify/renderers/shared/layout-report.mjs +0 -40
  713. package/template/.hermes/skills/archify/renderers/shared/legend.mjs +0 -217
  714. package/template/.hermes/skills/archify/renderers/shared/output-path.mjs +0 -321
  715. package/template/.hermes/skills/archify/renderers/shared/repository-evidence.mjs +0 -235
  716. package/template/.hermes/skills/archify/renderers/shared/text-fit.mjs +0 -49
  717. package/template/.hermes/skills/archify/renderers/shared/utils.mjs +0 -232
  718. package/template/.hermes/skills/archify/renderers/shared/validator.mjs +0 -86
  719. package/template/.hermes/skills/archify/renderers/workflow/README.md +0 -223
  720. package/template/.hermes/skills/archify/renderers/workflow/render-workflow.mjs +0 -35
  721. package/template/.hermes/skills/archify/renderers/workflow/workflow-compiler.mjs +0 -4400
  722. package/template/.hermes/skills/archify/renderers/workflow/workflow-migration-geometry.mjs +0 -144
  723. package/template/.hermes/skills/archify/schemas/README.md +0 -211
  724. package/template/.hermes/skills/archify/schemas/architecture.schema.json +0 -176
  725. package/template/.hermes/skills/archify/schemas/common.schema.json +0 -115
  726. package/template/.hermes/skills/archify/schemas/dataflow.schema.json +0 -243
  727. package/template/.hermes/skills/archify/schemas/lifecycle.schema.json +0 -266
  728. package/template/.hermes/skills/archify/schemas/sequence.schema.json +0 -223
  729. package/template/.hermes/skills/archify/schemas/workflow.schema.json +0 -428
  730. package/template/.hermes/skills/archify/scripts/check-render-output.mjs +0 -835
  731. package/template/.hermes/skills/archify/scripts/check-update.mjs +0 -1667
  732. package/template/.hermes/skills/archify/scripts/generate-brand-marks.mjs +0 -141
  733. package/template/.hermes/skills/archify/scripts/generate-validators.mjs +0 -66
  734. package/template/.hermes/skills/archify/scripts/render-examples.mjs +0 -26
  735. package/template/.hermes/skills/archify/scripts/update-contract.mjs +0 -182
  736. package/template/.hermes/skills/archify/scripts/yss-safe-deliver.mjs +0 -214
  737. package/template/.hermes/skills/archify/skill-release.json +0 -10
  738. package/template/.hermes/skills/archify/test/adaptive-reader-layout.test.mjs +0 -86
  739. package/template/.hermes/skills/archify/test/animation.test.mjs +0 -179
  740. package/template/.hermes/skills/archify/test/architecture-delta.test.mjs +0 -518
  741. package/template/.hermes/skills/archify/test/authored-reachability.test.mjs +0 -95
  742. package/template/.hermes/skills/archify/test/authoring-safety-contract.test.mjs +0 -54
  743. package/template/.hermes/skills/archify/test/automatic-port-spread.test.mjs +0 -376
  744. package/template/.hermes/skills/archify/test/base-input-compatibility.test.mjs +0 -42
  745. package/template/.hermes/skills/archify/test/brand-marks.test.mjs +0 -654
  746. package/template/.hermes/skills/archify/test/chapter-delta-preview.test.mjs +0 -157
  747. package/template/.hermes/skills/archify/test/chapter-handoff.test.mjs +0 -97
  748. package/template/.hermes/skills/archify/test/chapter-rail.test.mjs +0 -86
  749. package/template/.hermes/skills/archify/test/checkout-line-endings.test.mjs +0 -72
  750. package/template/.hermes/skills/archify/test/clean-skill-staging.test.mjs +0 -244
  751. package/template/.hermes/skills/archify/test/cli.test.mjs +0 -809
  752. package/template/.hermes/skills/archify/test/community-proof-intake.test.mjs +0 -104
  753. package/template/.hermes/skills/archify/test/cursor-onboarding.test.mjs +0 -74
  754. package/template/.hermes/skills/archify/test/degraded.test.mjs +0 -161
  755. package/template/.hermes/skills/archify/test/delivery-contract.test.mjs +0 -52
  756. package/template/.hermes/skills/archify/test/desktop-reader-browser.test.mjs +0 -58
  757. package/template/.hermes/skills/archify/test/diagram-guide.test.mjs +0 -92
  758. package/template/.hermes/skills/archify/test/engineering-profile.test.mjs +0 -209
  759. package/template/.hermes/skills/archify/test/finder.test.mjs +0 -104
  760. package/template/.hermes/skills/archify/test/fixtures/automatic-routing-node-border-clearance.workflow.json +0 -40
  761. package/template/.hermes/skills/archify/test/fixtures/fail-migration-cleanup.mjs +0 -17
  762. package/template/.hermes/skills/archify/test/fixtures/issue-126/custom-widths.workflow.json +0 -18
  763. package/template/.hermes/skills/archify/test/fixtures/issue-126/explicit-route.workflow.json +0 -28
  764. package/template/.hermes/skills/archify/test/fixtures/issue-126/explicit-viewbox.workflow.json +0 -19
  765. package/template/.hermes/skills/archify/test/fixtures/issue-126/labels.workflow.json +0 -18
  766. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/agent-run.lifecycle.json +0 -64
  767. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/agent-tool-call.workflow.json +0 -88
  768. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/cache-miss-request.sequence.json +0 -75
  769. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/event-stream.dataflow.json +0 -57
  770. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/product-analytics.dataflow.json +0 -70
  771. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/production-deployment.architecture.json +0 -71
  772. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/web-app.architecture.json +0 -41
  773. package/template/.hermes/skills/archify/test/fixtures/v1-workflow-700x400.workflow.json +0 -22
  774. package/template/.hermes/skills/archify/test/fixtures/v1-workflow-explicit-coordinates.workflow.json +0 -47
  775. package/template/.hermes/skills/archify/test/gallery.test.mjs +0 -130
  776. package/template/.hermes/skills/archify/test/generate-validators.test.mjs +0 -59
  777. package/template/.hermes/skills/archify/test/generated-artifact-xml.test.mjs +0 -88
  778. package/template/.hermes/skills/archify/test/geometry.test.mjs +0 -739
  779. package/template/.hermes/skills/archify/test/golden.mjs +0 -207
  780. package/template/.hermes/skills/archify/test/grid.test.mjs +0 -47
  781. package/template/.hermes/skills/archify/test/guide-page.test.mjs +0 -59
  782. package/template/.hermes/skills/archify/test/guide.test.mjs +0 -81
  783. package/template/.hermes/skills/archify/test/guided-views.test.mjs +0 -144
  784. package/template/.hermes/skills/archify/test/helpers/xml.mjs +0 -37
  785. package/template/.hermes/skills/archify/test/i18n.test.mjs +0 -422
  786. package/template/.hermes/skills/archify/test/intent-trace.test.mjs +0 -111
  787. package/template/.hermes/skills/archify/test/landing.test.mjs +0 -97
  788. package/template/.hermes/skills/archify/test/layout-rules.test.mjs +0 -1449
  789. package/template/.hermes/skills/archify/test/legend-contract.test.mjs +0 -404
  790. package/template/.hermes/skills/archify/test/motion-governor.test.mjs +0 -111
  791. package/template/.hermes/skills/archify/test/open-artifact.test.mjs +0 -118
  792. package/template/.hermes/skills/archify/test/ordinary-model-floor.test.mjs +0 -1024
  793. package/template/.hermes/skills/archify/test/output-path.test.mjs +0 -587
  794. package/template/.hermes/skills/archify/test/presentation.test.mjs +0 -71
  795. package/template/.hermes/skills/archify/test/preset-tryon.test.mjs +0 -113
  796. package/template/.hermes/skills/archify/test/preview-contract.test.mjs +0 -40
  797. package/template/.hermes/skills/archify/test/preview.test.mjs +0 -499
  798. package/template/.hermes/skills/archify/test/proof-aperture.test.mjs +0 -78
  799. package/template/.hermes/skills/archify/test/reach-share-card.test.mjs +0 -149
  800. package/template/.hermes/skills/archify/test/readme-showcase.test.mjs +0 -318
  801. package/template/.hermes/skills/archify/test/real-repository-proof.test.mjs +0 -209
  802. package/template/.hermes/skills/archify/test/relationship-direct-explorer.test.mjs +0 -115
  803. package/template/.hermes/skills/archify/test/relationship-lens.test.mjs +0 -128
  804. package/template/.hermes/skills/archify/test/relationship-permalink.test.mjs +0 -130
  805. package/template/.hermes/skills/archify/test/relationship-pulse.test.mjs +0 -122
  806. package/template/.hermes/skills/archify/test/release-identity.test.mjs +0 -504
  807. package/template/.hermes/skills/archify/test/release-package-gates.test.mjs +0 -508
  808. package/template/.hermes/skills/archify/test/render-output-checks.test.mjs +0 -435
  809. package/template/.hermes/skills/archify/test/repair-receipt.test.mjs +0 -181
  810. package/template/.hermes/skills/archify/test/repository-evidence.test.mjs +0 -217
  811. package/template/.hermes/skills/archify/test/repository-language-metadata.test.mjs +0 -52
  812. package/template/.hermes/skills/archify/test/route-journey.test.mjs +0 -123
  813. package/template/.hermes/skills/archify/test/route-probe.test.mjs +0 -114
  814. package/template/.hermes/skills/archify/test/route-share-card.test.mjs +0 -163
  815. package/template/.hermes/skills/archify/test/semantic-camera.test.mjs +0 -88
  816. package/template/.hermes/skills/archify/test/semantic-flow.test.mjs +0 -90
  817. package/template/.hermes/skills/archify/test/semantic-legend-gateway.test.mjs +0 -156
  818. package/template/.hermes/skills/archify/test/semantic-lens.test.mjs +0 -103
  819. package/template/.hermes/skills/archify/test/semantic-passport.test.mjs +0 -99
  820. package/template/.hermes/skills/archify/test/semantic-radar.test.mjs +0 -575
  821. package/template/.hermes/skills/archify/test/semantic-zoom.test.mjs +0 -86
  822. package/template/.hermes/skills/archify/test/sequence-column-fit.test.mjs +0 -137
  823. package/template/.hermes/skills/archify/test/settled-flow.test.mjs +0 -97
  824. package/template/.hermes/skills/archify/test/share-card-export.test.mjs +0 -132
  825. package/template/.hermes/skills/archify/test/site-language-continuity.test.mjs +0 -562
  826. package/template/.hermes/skills/archify/test/site-language-integration.mjs +0 -9
  827. package/template/.hermes/skills/archify/test/skill-metadata.test.mjs +0 -84
  828. package/template/.hermes/skills/archify/test/stable-update-manifest.test.mjs +0 -167
  829. package/template/.hermes/skills/archify/test/start-page.test.mjs +0 -312
  830. package/template/.hermes/skills/archify/test/story-beat-navigator.test.mjs +0 -103
  831. package/template/.hermes/skills/archify/test/story-carrier.test.mjs +0 -90
  832. package/template/.hermes/skills/archify/test/story-director-strip.test.mjs +0 -91
  833. package/template/.hermes/skills/archify/test/story-follow-camera.test.mjs +0 -103
  834. package/template/.hermes/skills/archify/test/story-horizon.test.mjs +0 -89
  835. package/template/.hermes/skills/archify/test/story-moment-link.test.mjs +0 -93
  836. package/template/.hermes/skills/archify/test/story-shelf.test.mjs +0 -84
  837. package/template/.hermes/skills/archify/test/story-trail.test.mjs +0 -81
  838. package/template/.hermes/skills/archify/test/toolbar-polish.test.mjs +0 -57
  839. package/template/.hermes/skills/archify/test/update-contract.test.mjs +0 -133
  840. package/template/.hermes/skills/archify/test/update-notifier.test.mjs +0 -3317
  841. package/template/.hermes/skills/archify/test/v1-compatibility.test.mjs +0 -329
  842. package/template/.hermes/skills/archify/test/vertical-edge.test.mjs +0 -68
  843. package/template/.hermes/skills/archify/test/viewer-chrome-layout.test.mjs +0 -872
  844. package/template/.hermes/skills/archify/test/visual-check.test.mjs +0 -400
  845. package/template/.hermes/skills/archify/test/webm-artifact.smoke.mjs +0 -1840
  846. package/template/.hermes/skills/archify/test/workflow-compiler-hard-contract.test.mjs +0 -2135
  847. package/template/.hermes/skills/archify/test/workflow-compiler.test.mjs +0 -1163
  848. package/template/.hermes/skills/archify/test/workflow-migration.test.mjs +0 -620
  849. package/template/.hermes/skills/archify/test/workflow-semantic-contract.test.mjs +0 -131
  850. package/template/.hermes/skills/archify/test/yss-safe-deliver.test.mjs +0 -153
  851. package/template/.hermes/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
  852. package/template/.hermes/skills/ask-matt/SKILL.md +0 -95
  853. package/template/.hermes/skills/ask-matt/agents/openai.yaml +0 -5
  854. package/template/.hermes/skills/code-review/SKILL.md +0 -122
  855. package/template/.hermes/skills/code-review/agents/openai.yaml +0 -3
  856. package/template/.hermes/skills/code-review/references/yss-review-standards.md +0 -54
  857. package/template/.hermes/skills/codebase-design/DEEPENING.md +0 -37
  858. package/template/.hermes/skills/codebase-design/DESIGN-IT-TWICE.md +0 -44
  859. package/template/.hermes/skills/codebase-design/SKILL.md +0 -118
  860. package/template/.hermes/skills/codebase-design/agents/openai.yaml +0 -3
  861. package/template/.hermes/skills/competitive-intelligence/SKILL.md +0 -94
  862. package/template/.hermes/skills/component-selection-imports/SKILL.md +0 -64
  863. package/template/.hermes/skills/cross-repo-implementation-routing/SKILL.md +0 -51
  864. package/template/.hermes/skills/diagnosing-bugs/SKILL.md +0 -138
  865. package/template/.hermes/skills/diagnosing-bugs/agents/openai.yaml +0 -3
  866. package/template/.hermes/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +0 -44
  867. package/template/.hermes/skills/dispatching-parallel-agents/SKILL.md +0 -185
  868. package/template/.hermes/skills/domain-modeling/ADR-FORMAT.md +0 -47
  869. package/template/.hermes/skills/domain-modeling/CONTEXT-FORMAT.md +0 -60
  870. package/template/.hermes/skills/domain-modeling/SKILL.md +0 -74
  871. package/template/.hermes/skills/domain-modeling/agents/openai.yaml +0 -3
  872. package/template/.hermes/skills/file-export-download/SKILL.md +0 -160
  873. package/template/.hermes/skills/file-export-download/agents/openai.yaml +0 -4
  874. package/template/.hermes/skills/formily-foundation/SKILL.md +0 -176
  875. package/template/.hermes/skills/formily-foundation/references/examples.md +0 -486
  876. package/template/.hermes/skills/formily-linkage-effects/SKILL.md +0 -167
  877. package/template/.hermes/skills/formily-mode-slot-detail/SKILL.md +0 -137
  878. package/template/.hermes/skills/formily-step-flow/SKILL.md +0 -194
  879. package/template/.hermes/skills/frontend-commit/SKILL.md +0 -118
  880. package/template/.hermes/skills/frontend-commit/agents/openai.yaml +0 -7
  881. package/template/.hermes/skills/frontend-commit/references/scope-and-examples.md +0 -111
  882. package/template/.hermes/skills/grill-me/SKILL.md +0 -7
  883. package/template/.hermes/skills/grill-me/agents/openai.yaml +0 -5
  884. package/template/.hermes/skills/grill-with-docs/SKILL.md +0 -19
  885. package/template/.hermes/skills/grill-with-docs/agents/openai.yaml +0 -5
  886. package/template/.hermes/skills/grilling/SKILL.md +0 -28
  887. package/template/.hermes/skills/grilling/agents/openai.yaml +0 -3
  888. package/template/.hermes/skills/handoff/SKILL.md +0 -16
  889. package/template/.hermes/skills/handoff/agents/openai.yaml +0 -5
  890. package/template/.hermes/skills/implement/SKILL.md +0 -15
  891. package/template/.hermes/skills/implement/agents/openai.yaml +0 -5
  892. package/template/.hermes/skills/implementation-repo-onboarding/SKILL.md +0 -50
  893. package/template/.hermes/skills/improve-codebase-architecture/HTML-REPORT.md +0 -123
  894. package/template/.hermes/skills/improve-codebase-architecture/SKILL.md +0 -71
  895. package/template/.hermes/skills/improve-codebase-architecture/agents/openai.yaml +0 -5
  896. package/template/.hermes/skills/java-backend-commit/SKILL.md +0 -121
  897. package/template/.hermes/skills/java-backend-commit/agents/openai.yaml +0 -7
  898. package/template/.hermes/skills/java-backend-commit/references/scope-and-examples.md +0 -118
  899. package/template/.hermes/skills/llm-wiki/SKILL.md +0 -60
  900. package/template/.hermes/skills/llm-wiki/assets/CLAUDE.md.template +0 -26
  901. package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +0 -3
  902. package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +0 -5
  903. package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +0 -1
  904. package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki//345/255/230/345/234/250/347/232/204/351/241/265.md +0 -7
  905. package/template/.hermes/skills/llm-wiki/references/compile.md +0 -126
  906. package/template/.hermes/skills/llm-wiki/references/discover.md +0 -42
  907. package/template/.hermes/skills/llm-wiki/references/ingest.md +0 -36
  908. package/template/.hermes/skills/llm-wiki/references/lint.md +0 -54
  909. package/template/.hermes/skills/llm-wiki/references/query.md +0 -21
  910. package/template/.hermes/skills/llm-wiki/references/schema.md +0 -45
  911. package/template/.hermes/skills/llm-wiki/references/writing.md +0 -35
  912. package/template/.hermes/skills/llm-wiki/scripts/advise.mjs +0 -196
  913. package/template/.hermes/skills/llm-wiki/scripts/advise.test.mjs +0 -91
  914. package/template/.hermes/skills/llm-wiki/scripts/extract.mjs +0 -55
  915. package/template/.hermes/skills/llm-wiki/scripts/extract.test.mjs +0 -34
  916. package/template/.hermes/skills/llm-wiki/scripts/inventory.mjs +0 -174
  917. package/template/.hermes/skills/llm-wiki/scripts/inventory.test.mjs +0 -98
  918. package/template/.hermes/skills/llm-wiki/scripts/lint-wikilinks.mjs +0 -177
  919. package/template/.hermes/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +0 -212
  920. package/template/.hermes/skills/lombok/SKILL.md +0 -351
  921. package/template/.hermes/skills/loop-me/SKILL.md +0 -32
  922. package/template/.hermes/skills/loop-me/agents/openai.yaml +0 -5
  923. package/template/.hermes/skills/maintaining-skills/SKILL.md +0 -27
  924. package/template/.hermes/skills/mapstruct/SKILL.md +0 -334
  925. package/template/.hermes/skills/migrate-to-shoehorn/SKILL.md +0 -118
  926. package/template/.hermes/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
  927. package/template/.hermes/skills/page-form-module/SKILL.md +0 -168
  928. package/template/.hermes/skills/page-list-module/SKILL.md +0 -137
  929. package/template/.hermes/skills/page-skeleton/SKILL.md +0 -76
  930. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +0 -34
  931. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -75
  932. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/index.vue +0 -107
  933. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  934. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/style.less +0 -30
  935. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/constant.ts +0 -28
  936. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -58
  937. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +0 -65
  938. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/index.vue +0 -91
  939. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/style.less +0 -49
  940. package/template/.hermes/skills/prototype/LOGIC.md +0 -67
  941. package/template/.hermes/skills/prototype/SKILL.md +0 -26
  942. package/template/.hermes/skills/prototype/UI.md +0 -112
  943. package/template/.hermes/skills/prototype/agents/openai.yaml +0 -3
  944. package/template/.hermes/skills/prototype-page-acceptance/SKILL.md +0 -62
  945. package/template/.hermes/skills/prototype-review/SKILL.md +0 -74
  946. package/template/.hermes/skills/prototype-review/agents/openai.yaml +0 -4
  947. package/template/.hermes/skills/resolving-merge-conflicts/SKILL.md +0 -14
  948. package/template/.hermes/skills/resolving-merge-conflicts/agents/openai.yaml +0 -3
  949. package/template/.hermes/skills/scaffold-exercises/SKILL.md +0 -106
  950. package/template/.hermes/skills/scaffold-exercises/agents/openai.yaml +0 -3
  951. package/template/.hermes/skills/setup-matt-pocock-skills/SKILL.md +0 -125
  952. package/template/.hermes/skills/setup-matt-pocock-skills/agents/openai.yaml +0 -5
  953. package/template/.hermes/skills/setup-matt-pocock-skills/domain.md +0 -51
  954. package/template/.hermes/skills/setup-matt-pocock-skills/issue-tracker-github.md +0 -45
  955. package/template/.hermes/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +0 -46
  956. package/template/.hermes/skills/setup-matt-pocock-skills/issue-tracker-local.md +0 -66
  957. package/template/.hermes/skills/setup-matt-pocock-skills/triage-labels.md +0 -15
  958. package/template/.hermes/skills/setup-pre-commit/SKILL.md +0 -91
  959. package/template/.hermes/skills/setup-pre-commit/agents/openai.yaml +0 -3
  960. package/template/.hermes/skills/setup-ts-deep-modules/SKILL.md +0 -102
  961. package/template/.hermes/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
  962. package/template/.hermes/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
  963. package/template/.hermes/skills/tdd/SKILL.md +0 -38
  964. package/template/.hermes/skills/tdd/agents/openai.yaml +0 -3
  965. package/template/.hermes/skills/tdd/mocking.md +0 -59
  966. package/template/.hermes/skills/tdd/tests.md +0 -77
  967. package/template/.hermes/skills/teach/GLOSSARY-FORMAT.md +0 -35
  968. package/template/.hermes/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
  969. package/template/.hermes/skills/teach/MISSION-FORMAT.md +0 -31
  970. package/template/.hermes/skills/teach/RESOURCES-FORMAT.md +0 -32
  971. package/template/.hermes/skills/teach/SKILL.md +0 -140
  972. package/template/.hermes/skills/teach/agents/openai.yaml +0 -5
  973. package/template/.hermes/skills/theme-token-usage/SKILL.md +0 -123
  974. package/template/.hermes/skills/theme-token-usage/agents/openai.yaml +0 -4
  975. package/template/.hermes/skills/to-questionnaire/SKILL.md +0 -53
  976. package/template/.hermes/skills/to-questionnaire/agents/openai.yaml +0 -5
  977. package/template/.hermes/skills/to-spec/SKILL.md +0 -75
  978. package/template/.hermes/skills/to-spec/agents/openai.yaml +0 -5
  979. package/template/.hermes/skills/to-tickets/SKILL.md +0 -105
  980. package/template/.hermes/skills/to-tickets/agents/openai.yaml +0 -5
  981. package/template/.hermes/skills/triage/AGENT-BRIEF.md +0 -207
  982. package/template/.hermes/skills/triage/OUT-OF-SCOPE.md +0 -105
  983. package/template/.hermes/skills/triage/SKILL.md +0 -112
  984. package/template/.hermes/skills/triage/agents/openai.yaml +0 -5
  985. package/template/.hermes/skills/using-git-worktrees/SKILL.md +0 -202
  986. package/template/.hermes/skills/vue3-best-practices/SKILL.md +0 -68
  987. package/template/.hermes/skills/wait-what/SKILL.md +0 -7
  988. package/template/.hermes/skills/wait-what/agents/openai.yaml +0 -5
  989. package/template/.hermes/skills/wayfinder/SKILL.md +0 -128
  990. package/template/.hermes/skills/wayfinder/agents/openai.yaml +0 -5
  991. package/template/.hermes/skills/writing-beats/SKILL.md +0 -67
  992. package/template/.hermes/skills/writing-beats/agents/openai.yaml +0 -5
  993. package/template/.hermes/skills/writing-for-agents/SKILL-MECHANICS.md +0 -22
  994. package/template/.hermes/skills/writing-for-agents/SKILL.md +0 -81
  995. package/template/.hermes/skills/writing-for-agents/agents/openai.yaml +0 -3
  996. package/template/.hermes/skills/writing-fragments/SKILL.md +0 -79
  997. package/template/.hermes/skills/writing-fragments/agents/openai.yaml +0 -5
  998. package/template/.hermes/skills/writing-shape/SKILL.md +0 -79
  999. package/template/.hermes/skills/writing-shape/agents/openai.yaml +0 -5
  1000. package/template/.hermes/skills/yedit-table-usage/SKILL.md +0 -227
  1001. package/template/.hermes/skills/yss-antd-design/SKILL.md +0 -34
  1002. package/template/.hermes/skills/yss-antd-design/references/boundaries.md +0 -30
  1003. package/template/.hermes/skills/yss-antd-design/references/cli-matrix.md +0 -38
  1004. package/template/.hermes/skills/yss-antd-design/references/evidence.md +0 -30
  1005. package/template/.hermes/skills/yss-antd-design/scripts/validate-frontmatter.mjs +0 -46
  1006. package/template/.hermes/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +0 -27
  1007. package/template/.hermes/skills/yss-api-integration/SKILL.md +0 -185
  1008. package/template/.hermes/skills/yss-api-integration/agents/openai.yaml +0 -5
  1009. package/template/.hermes/skills/yss-application/SKILL.md +0 -54
  1010. package/template/.hermes/skills/yss-application/agents/openai.yaml +0 -5
  1011. package/template/.hermes/skills/yss-application/references/application-layer-guide.md +0 -87
  1012. package/template/.hermes/skills/yss-audit-log/SKILL.md +0 -67
  1013. package/template/.hermes/skills/yss-audit-log/agents/openai.yaml +0 -5
  1014. package/template/.hermes/skills/yss-audit-log/assets/AuditLogAspect.java +0 -262
  1015. package/template/.hermes/skills/yss-audit-log/assets/YssAuditLogPrintSubscriberImpl.java +0 -37
  1016. package/template/.hermes/skills/yss-audit-log/assets/YssAuditLogSysManagerSubscriberImpl.java +0 -18
  1017. package/template/.hermes/skills/yss-audit-log/assets/YssAuditPublishService.java +0 -69
  1018. package/template/.hermes/skills/yss-audit-log/references/README.md +0 -69
  1019. package/template/.hermes/skills/yss-audit-log/references/source-index.md +0 -43
  1020. package/template/.hermes/skills/yss-cache/SKILL.md +0 -44
  1021. package/template/.hermes/skills/yss-cache/agents/openai.yaml +0 -5
  1022. package/template/.hermes/skills/yss-cache/references/annotations.md +0 -39
  1023. package/template/.hermes/skills/yss-cache/references/architecture.md +0 -25
  1024. package/template/.hermes/skills/yss-cache/references/configuration.md +0 -34
  1025. package/template/.hermes/skills/yss-cache/references/redis-fallback.md +0 -23
  1026. package/template/.hermes/skills/yss-cache/references/redis-topology.md +0 -62
  1027. package/template/.hermes/skills/yss-cache/references/serialization.md +0 -17
  1028. package/template/.hermes/skills/yss-cache/references/source-index.md +0 -67
  1029. package/template/.hermes/skills/yss-cache/references/troubleshooting.md +0 -33
  1030. package/template/.hermes/skills/yss-cache/references/verification.md +0 -34
  1031. package/template/.hermes/skills/yss-cache/scripts/check-skill-freshness.sh +0 -84
  1032. package/template/.hermes/skills/yss-cache/scripts/inspect-cache-usage.sh +0 -96
  1033. package/template/.hermes/skills/yss-cache/scripts/verify-cache-component.sh +0 -101
  1034. package/template/.hermes/skills/yss-components/SKILL.md +0 -386
  1035. package/template/.hermes/skills/yss-components/agents/openai.yaml +0 -5
  1036. package/template/.hermes/skills/yss-components/references/frontend-docs.md +0 -9
  1037. package/template/.hermes/skills/yss-ddd-scaffold-generator/SKILL.md +0 -121
  1038. package/template/.hermes/skills/yss-ddd-scaffold-generator/agents/openai.yaml +0 -5
  1039. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/config/application-local.yml.template +0 -8
  1040. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -36
  1041. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/config/logback-spring.xml.template +0 -15
  1042. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/java/architecture-rules-test.java.template +0 -36
  1043. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/java/bootstrap-application.java.template +0 -15
  1044. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/adapter-pom.xml.template +0 -19
  1045. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +0 -52
  1046. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +0 -70
  1047. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/domain-pom.xml.template +0 -22
  1048. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/infrastructure-pom.xml.template +0 -54
  1049. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +0 -155
  1050. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +0 -58
  1051. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/jvm.config +0 -1
  1052. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/maven.config +0 -2
  1053. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/settings.xml +0 -41
  1054. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/MavenWrapperDownloader.java +0 -117
  1055. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/maven-wrapper.jar +0 -0
  1056. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/maven-wrapper.properties +0 -20
  1057. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/mvnw +0 -316
  1058. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/mvnw.cmd +0 -188
  1059. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +0 -116
  1060. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +0 -125
  1061. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/SKILL.md +0 -31
  1062. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/agents/openai.yaml +0 -5
  1063. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +0 -8
  1064. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  1065. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +0 -8
  1066. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  1067. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +0 -8
  1068. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  1069. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +0 -58
  1070. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +0 -5
  1071. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +0 -8
  1072. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  1073. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +0 -225
  1074. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +0 -164
  1075. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +0 -126
  1076. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +0 -363
  1077. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +0 -172
  1078. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +0 -112
  1079. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +0 -401
  1080. package/template/.hermes/skills/yss-design-system/SKILL.md +0 -105
  1081. package/template/.hermes/skills/yss-design-system/agents/openai.yaml +0 -5
  1082. package/template/.hermes/skills/yss-design-system/references/design-qa-theme.md +0 -64
  1083. package/template/.hermes/skills/yss-design-system/references/design-system.md +0 -245
  1084. package/template/.hermes/skills/yss-design-system/scripts/validate-frontmatter.mjs +0 -36
  1085. package/template/.hermes/skills/yss-design-system/scripts/validate-frontmatter.test.mjs +0 -12
  1086. package/template/.hermes/skills/yss-distributed-id/SKILL.md +0 -69
  1087. package/template/.hermes/skills/yss-distributed-id/agents/openai.yaml +0 -5
  1088. package/template/.hermes/skills/yss-distributed-id/assets/AutoIdInterceptor.java +0 -246
  1089. package/template/.hermes/skills/yss-distributed-id/assets/EnableDistributedId.java +0 -25
  1090. package/template/.hermes/skills/yss-distributed-id/assets/LeafConf.java +0 -36
  1091. package/template/.hermes/skills/yss-distributed-id/references/README.md +0 -51
  1092. package/template/.hermes/skills/yss-distributed-id/references/source-index.md +0 -86
  1093. package/template/.hermes/skills/yss-domain/SKILL.md +0 -70
  1094. package/template/.hermes/skills/yss-domain/agents/openai.yaml +0 -5
  1095. package/template/.hermes/skills/yss-domain/references/domain-layer-guide.md +0 -101
  1096. package/template/.hermes/skills/yss-dto/SKILL.md +0 -92
  1097. package/template/.hermes/skills/yss-dto/agents/openai.yaml +0 -5
  1098. package/template/.hermes/skills/yss-dto/assets/CommandDTO.java +0 -8
  1099. package/template/.hermes/skills/yss-dto/assets/PageQuery.java +0 -133
  1100. package/template/.hermes/skills/yss-dto/assets/QueryDTO.java +0 -6
  1101. package/template/.hermes/skills/yss-dto/assets/Result.java +0 -105
  1102. package/template/.hermes/skills/yss-dto/references/README.md +0 -67
  1103. package/template/.hermes/skills/yss-dto/references/openapi-wire-profile.yaml +0 -187
  1104. package/template/.hermes/skills/yss-dto/references/source-index.md +0 -55
  1105. package/template/.hermes/skills/yss-excel-mvc/SKILL.md +0 -66
  1106. package/template/.hermes/skills/yss-excel-mvc/agents/openai.yaml +0 -5
  1107. package/template/.hermes/skills/yss-excel-mvc/assets/ExcelDynamicData.java +0 -66
  1108. package/template/.hermes/skills/yss-excel-mvc/assets/RequestExcel.java +0 -33
  1109. package/template/.hermes/skills/yss-excel-mvc/assets/RequestFastExcelArgumentResolver.java +0 -272
  1110. package/template/.hermes/skills/yss-excel-mvc/assets/ResponseExcel.java +0 -46
  1111. package/template/.hermes/skills/yss-excel-mvc/assets/ResponseFastExcelReturnValueHandler.java +0 -154
  1112. package/template/.hermes/skills/yss-excel-mvc/references/README.md +0 -5
  1113. package/template/.hermes/skills/yss-excel-mvc/references/source-index.md +0 -74
  1114. package/template/.hermes/skills/yss-exception/SKILL.md +0 -57
  1115. package/template/.hermes/skills/yss-exception/agents/openai.yaml +0 -4
  1116. package/template/.hermes/skills/yss-exception/references/source-index.md +0 -35
  1117. package/template/.hermes/skills/yss-formily/SKILL.md +0 -272
  1118. package/template/.hermes/skills/yss-formily-schema-generator/SKILL.md +0 -189
  1119. package/template/.hermes/skills/yss-formily-schema-generator/agents/openai.yaml +0 -5
  1120. package/template/.hermes/skills/yss-formily-schema-generator/assets/java-sdk/ExampleUsage.java +0 -111
  1121. package/template/.hermes/skills/yss-formily-schema-generator/assets/java-sdk/YssFormilyDsl.java +0 -1219
  1122. package/template/.hermes/skills/yss-formily-schema-generator/references/workflow.md +0 -240
  1123. package/template/.hermes/skills/yss-frontend-scaffold-generator/SKILL.md +0 -76
  1124. package/template/.hermes/skills/yss-hook/SKILL.md +0 -200
  1125. package/template/.hermes/skills/yss-hook/agents/openai.yaml +0 -5
  1126. package/template/.hermes/skills/yss-hook/references/frontend-docs.md +0 -10
  1127. package/template/.hermes/skills/yss-microapp-commit/SKILL.md +0 -201
  1128. package/template/.hermes/skills/yss-microapp-commit/agents/openai.yaml +0 -5
  1129. package/template/.hermes/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
  1130. package/template/.hermes/skills/yss-mybatis/SKILL.md +0 -77
  1131. package/template/.hermes/skills/yss-mybatis/agents/openai.yaml +0 -5
  1132. package/template/.hermes/skills/yss-mybatis/assets/BaseRepository.java +0 -112
  1133. package/template/.hermes/skills/yss-mybatis/assets/EntityQueryAspect.java +0 -37
  1134. package/template/.hermes/skills/yss-mybatis/assets/MybatisBaseConfiguration.java +0 -18
  1135. package/template/.hermes/skills/yss-mybatis/assets/PageQueryEntityConfigration.java +0 -18
  1136. package/template/.hermes/skills/yss-mybatis/references/README.md +0 -57
  1137. package/template/.hermes/skills/yss-mybatis/references/source-index.md +0 -93
  1138. package/template/.hermes/skills/yss-openapi-draft-review/SKILL.md +0 -82
  1139. package/template/.hermes/skills/yss-openapi-governance/SKILL.md +0 -130
  1140. package/template/.hermes/skills/yss-openapi-governance/agents/openai.yaml +0 -4
  1141. package/template/.hermes/skills/yss-page-module-development/SKILL.md +0 -165
  1142. package/template/.hermes/skills/yss-page-module-development/agents/openai.yaml +0 -5
  1143. package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
  1144. package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
  1145. package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
  1146. package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  1147. package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
  1148. package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
  1149. package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
  1150. package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
  1151. package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
  1152. package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
  1153. package/template/.hermes/skills/yss-page-module-development/references/component-map.md +0 -34
  1154. package/template/.hermes/skills/yss-page-module-development/references/frontend-docs.md +0 -11
  1155. package/template/.hermes/skills/yss-page-module-development/references/hooks-map.md +0 -11
  1156. package/template/.hermes/skills/yss-page-module-development/references/utils-map.md +0 -14
  1157. package/template/.hermes/skills/yss-product-lifecycle/SKILL.md +0 -52
  1158. package/template/.hermes/skills/yss-product-lifecycle/agents/openai.yaml +0 -4
  1159. package/template/.hermes/skills/yss-product-lifecycle/references/artifact-dependencies.md +0 -36
  1160. package/template/.hermes/skills/yss-product-lifecycle/references/matt-yss-adapter.md +0 -122
  1161. package/template/.hermes/skills/yss-product-lifecycle/references/orchestration-contract.yaml +0 -865
  1162. package/template/.hermes/skills/yss-product-lifecycle/references/orchestration.md +0 -116
  1163. package/template/.hermes/skills/yss-product-lifecycle/references/state-model.md +0 -112
  1164. package/template/.hermes/skills/yss-prototype-stage/SKILL.md +0 -47
  1165. package/template/.hermes/skills/yss-prototype-stage/references/product-design-adapter.md +0 -54
  1166. package/template/.hermes/skills/yss-prototype-stage/scripts/prototype-contract.mjs +0 -207
  1167. package/template/.hermes/skills/yss-prototype-stage/tests/run-scenarios.mjs +0 -154
  1168. package/template/.hermes/skills/yss-repository/SKILL.md +0 -80
  1169. package/template/.hermes/skills/yss-repository/agents/openai.yaml +0 -5
  1170. package/template/.hermes/skills/yss-repository/references/infrastructure-layer-guide.md +0 -107
  1171. package/template/.hermes/skills/yss-research/SKILL.md +0 -73
  1172. package/template/.hermes/skills/yss-research/agents/openai.yaml +0 -3
  1173. package/template/.hermes/skills/yss-research/assets/evidence-template.yaml +0 -68
  1174. package/template/.hermes/skills/yss-research/assets/research-brief-template.md +0 -36
  1175. package/template/.hermes/skills/yss-research/references/evidence-contract.md +0 -42
  1176. package/template/.hermes/skills/yss-research/scripts/validate-research-package.mjs +0 -128
  1177. package/template/.hermes/skills/yss-research/tests/run-scenarios.mjs +0 -81
  1178. package/template/.hermes/skills/yss-resilience4j/SKILL.md +0 -46
  1179. package/template/.hermes/skills/yss-resilience4j/agents/openai.yaml +0 -4
  1180. package/template/.hermes/skills/yss-resilience4j/references/source-index.md +0 -33
  1181. package/template/.hermes/skills/yss-router/SKILL.md +0 -51
  1182. package/template/.hermes/skills/yss-router/agents/openai.yaml +0 -4
  1183. package/template/.hermes/skills/yss-router/references/boundaries.md +0 -50
  1184. package/template/.hermes/skills/yss-router/references/router-contract.yaml +0 -349
  1185. package/template/.hermes/skills/yss-router/references/slice-implementation-contract.md +0 -185
  1186. package/template/.hermes/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  1187. package/template/.hermes/skills/yss-security-algorithm/SKILL.md +0 -52
  1188. package/template/.hermes/skills/yss-security-algorithm/agents/openai.yaml +0 -4
  1189. package/template/.hermes/skills/yss-security-algorithm/references/source-index.md +0 -35
  1190. package/template/.hermes/skills/yss-source-index/SKILL.md +0 -63
  1191. package/template/.hermes/skills/yss-source-index/agents/openai.yaml +0 -4
  1192. package/template/.hermes/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  1193. package/template/.hermes/skills/yss-stage-decision/SKILL.md +0 -51
  1194. package/template/.hermes/skills/yss-stage-decision/references/domain-strategy-contract.md +0 -26
  1195. package/template/.hermes/skills/yss-stage-decision/references/domain-strategy.schema.json +0 -128
  1196. package/template/.hermes/skills/yss-stage-decision/references/stage-decision-package-contract.md +0 -19
  1197. package/template/.hermes/skills/yss-stage-decision/references/stage-decision-package.schema.json +0 -86
  1198. package/template/.hermes/skills/yss-stage-decision/references/validation-rules.md +0 -18
  1199. package/template/.hermes/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +0 -169
  1200. package/template/.hermes/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +0 -100
  1201. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +0 -15
  1202. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +0 -58
  1203. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +0 -44
  1204. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +0 -15
  1205. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +0 -49
  1206. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +0 -108
  1207. package/template/.hermes/skills/yss-stage-decision/tests/run-scenarios.mjs +0 -68
  1208. package/template/.hermes/skills/yss-tactical-design/SKILL.md +0 -35
  1209. package/template/.hermes/skills/yss-tactical-design/agents/openai.yaml +0 -4
  1210. package/template/.hermes/skills/yss-tactical-design/references/output-template.md +0 -28
  1211. package/template/.hermes/skills/yss-tactical-design/references/tactical-design-contract.md +0 -41
  1212. package/template/.hermes/skills/yss-tactical-design/references/tactical-design.schema.json +0 -31
  1213. package/template/.hermes/skills/yss-tactical-design/references/validation-rules.md +0 -13
  1214. package/template/.hermes/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +0 -213
  1215. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +0 -21
  1216. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +0 -21
  1217. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +0 -21
  1218. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +0 -21
  1219. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +0 -21
  1220. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +0 -80
  1221. package/template/.hermes/skills/yss-tactical-design/tests/run-scenarios.mjs +0 -47
  1222. package/template/.hermes/skills/yss-ui/SKILL.md +0 -170
  1223. package/template/.hermes/skills/yss-ui/agents/openai.yaml +0 -5
  1224. package/template/.hermes/skills/yss-ui/assets/demos/button/auth-basic.vue +0 -24
  1225. package/template/.hermes/skills/yss-ui/assets/demos/button/auth-dropdown.vue +0 -29
  1226. package/template/.hermes/skills/yss-ui/assets/demos/button/permission.vue +0 -10
  1227. package/template/.hermes/skills/yss-ui/assets/demos/button/size.vue +0 -12
  1228. package/template/.hermes/skills/yss-ui/assets/demos/button/states.vue +0 -12
  1229. package/template/.hermes/skills/yss-ui/assets/demos/card/basic/index.vue +0 -54
  1230. package/template/.hermes/skills/yss-ui/assets/demos/card/basic/style.less +0 -41
  1231. package/template/.hermes/skills/yss-ui/assets/demos/card/cover/index.vue +0 -25
  1232. package/template/.hermes/skills/yss-ui/assets/demos/card/flexible-layout/index.vue +0 -122
  1233. package/template/.hermes/skills/yss-ui/assets/demos/card/flexible-layout/style.less +0 -191
  1234. package/template/.hermes/skills/yss-ui/assets/demos/card/header-extra/index.vue +0 -260
  1235. package/template/.hermes/skills/yss-ui/assets/demos/card/header-extra/style.less +0 -124
  1236. package/template/.hermes/skills/yss-ui/assets/demos/card/layout-metrics/constants.ts +0 -61
  1237. package/template/.hermes/skills/yss-ui/assets/demos/card/layout-metrics/index.vue +0 -72
  1238. package/template/.hermes/skills/yss-ui/assets/demos/card/layout-metrics/metrics-cards.vue +0 -70
  1239. package/template/.hermes/skills/yss-ui/assets/demos/card/layout-metrics/style.less +0 -232
  1240. package/template/.hermes/skills/yss-ui/assets/demos/card/loading/index.vue +0 -19
  1241. package/template/.hermes/skills/yss-ui/assets/demos/card/meta/index.vue +0 -19
  1242. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/basic/constants.ts +0 -44
  1243. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/basic/hooks/useConditionBasic.ts +0 -18
  1244. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/basic/index.vue +0 -100
  1245. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/linked/constants.ts +0 -51
  1246. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/linked/hooks/useConditionLinked.ts +0 -29
  1247. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/linked/index.vue +0 -23
  1248. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/nesting-between/constants.ts +0 -35
  1249. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/nesting-between/hooks/useConditionNesting.ts +0 -25
  1250. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/nesting-between/index.vue +0 -24
  1251. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/remote/constants.ts +0 -7
  1252. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/remote/hooks/useConditionRemote.ts +0 -75
  1253. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/remote/index.vue +0 -23
  1254. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation/constants.ts +0 -42
  1255. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation/hooks/useConditionBasic.ts +0 -22
  1256. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation/index.vue +0 -138
  1257. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation-custom/constants.ts +0 -42
  1258. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation-custom/hooks/useConditionBasic.ts +0 -22
  1259. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation-custom/index.vue +0 -134
  1260. package/template/.hermes/skills/yss-ui/assets/demos/cron/basic/index.vue +0 -54
  1261. package/template/.hermes/skills/yss-ui/assets/demos/cron/select/index.vue +0 -145
  1262. package/template/.hermes/skills/yss-ui/assets/demos/echarts/basic.vue +0 -30
  1263. package/template/.hermes/skills/yss-ui/assets/demos/echarts/calendar-heatmap.vue +0 -49
  1264. package/template/.hermes/skills/yss-ui/assets/demos/echarts/candlestick.vue +0 -30
  1265. package/template/.hermes/skills/yss-ui/assets/demos/echarts/dark.vue +0 -40
  1266. package/template/.hermes/skills/yss-ui/assets/demos/echarts/expose-methods.vue +0 -97
  1267. package/template/.hermes/skills/yss-ui/assets/demos/echarts/funnel.vue +0 -42
  1268. package/template/.hermes/skills/yss-ui/assets/demos/echarts/gauge.vue +0 -25
  1269. package/template/.hermes/skills/yss-ui/assets/demos/echarts/line.vue +0 -24
  1270. package/template/.hermes/skills/yss-ui/assets/demos/echarts/mix.vue +0 -33
  1271. package/template/.hermes/skills/yss-ui/assets/demos/echarts/pie.vue +0 -34
  1272. package/template/.hermes/skills/yss-ui/assets/demos/echarts/radar.vue +0 -38
  1273. package/template/.hermes/skills/yss-ui/assets/demos/echarts/ring-segment.vue +0 -77
  1274. package/template/.hermes/skills/yss-ui/assets/demos/echarts/scatter.vue +0 -23
  1275. package/template/.hermes/skills/yss-ui/assets/demos/echarts/stacked-area.vue +0 -55
  1276. package/template/.hermes/skills/yss-ui/assets/demos/echarts/stacked-bar.vue +0 -52
  1277. package/template/.hermes/skills/yss-ui/assets/demos/echarts/treemap.vue +0 -30
  1278. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/all-types/hooks/useAllTypes.ts +0 -259
  1279. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/all-types/index.vue +0 -33
  1280. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/async-remote/hooks/useAsyncRemote.ts +0 -201
  1281. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/async-remote/index.vue +0 -45
  1282. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/basic/index.vue +0 -104
  1283. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/big-data/index.vue +0 -82
  1284. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/custom-rule/index.vue +0 -114
  1285. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/direct-editable/index.vue +0 -94
  1286. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/drag/index.vue +0 -125
  1287. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/filter/index.vue +0 -107
  1288. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/linkage/index.vue +0 -181
  1289. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/pagination-action/index.vue +0 -131
  1290. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/required/index.vue +0 -95
  1291. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/row-edit/index.vue +0 -220
  1292. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/row-options/index.vue +0 -165
  1293. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/slot-linkage/index.vue +0 -184
  1294. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/submit-view/index.vue +0 -107
  1295. package/template/.hermes/skills/yss-ui/assets/demos/file-import/basic.vue +0 -54
  1296. package/template/.hermes/skills/yss-ui/assets/demos/file-import/formily.vue +0 -42
  1297. package/template/.hermes/skills/yss-ui/assets/demos/file-import/multiple.vue +0 -33
  1298. package/template/.hermes/skills/yss-ui/assets/demos/file-import/result-slot.vue +0 -30
  1299. package/template/.hermes/skills/yss-ui/assets/demos/formily/actions.vue +0 -61
  1300. package/template/.hermes/skills/yss-ui/assets/demos/formily/align.vue +0 -56
  1301. package/template/.hermes/skills/yss-ui/assets/demos/formily/async-validate.vue +0 -69
  1302. package/template/.hermes/skills/yss-ui/assets/demos/formily/basic.vue +0 -317
  1303. package/template/.hermes/skills/yss-ui/assets/demos/formily/collapse.vue +0 -104
  1304. package/template/.hermes/skills/yss-ui/assets/demos/formily/custom-component.vue +0 -75
  1305. package/template/.hermes/skills/yss-ui/assets/demos/formily/disabled.vue +0 -71
  1306. package/template/.hermes/skills/yss-ui/assets/demos/formily/dynamic-array.vue +0 -74
  1307. package/template/.hermes/skills/yss-ui/assets/demos/formily/dynamic.vue +0 -59
  1308. package/template/.hermes/skills/yss-ui/assets/demos/formily/effects.vue +0 -117
  1309. package/template/.hermes/skills/yss-ui/assets/demos/formily/events-inline.vue +0 -82
  1310. package/template/.hermes/skills/yss-ui/assets/demos/formily/events-scope.vue +0 -101
  1311. package/template/.hermes/skills/yss-ui/assets/demos/formily/grid.vue +0 -71
  1312. package/template/.hermes/skills/yss-ui/assets/demos/formily/group.vue +0 -102
  1313. package/template/.hermes/skills/yss-ui/assets/demos/formily/helper-slot.vue +0 -50
  1314. package/template/.hermes/skills/yss-ui/assets/demos/formily/label-tip.vue +0 -42
  1315. package/template/.hermes/skills/yss-ui/assets/demos/formily/linkage-multi.vue +0 -127
  1316. package/template/.hermes/skills/yss-ui/assets/demos/formily/linkage.vue +0 -78
  1317. package/template/.hermes/skills/yss-ui/assets/demos/formily/modes.vue +0 -72
  1318. package/template/.hermes/skills/yss-ui/assets/demos/formily/remote-enum.vue +0 -88
  1319. package/template/.hermes/skills/yss-ui/assets/demos/formily/slot.vue +0 -54
  1320. package/template/.hermes/skills/yss-ui/assets/demos/formily/steps.vue +0 -135
  1321. package/template/.hermes/skills/yss-ui/assets/demos/formily/submit-failed.vue +0 -72
  1322. package/template/.hermes/skills/yss-ui/assets/demos/monaco/basic.vue +0 -40
  1323. package/template/.hermes/skills/yss-ui/assets/demos/monaco/diff-basic.vue +0 -143
  1324. package/template/.hermes/skills/yss-ui/assets/demos/monaco/fullscreen.vue +0 -84
  1325. package/template/.hermes/skills/yss-ui/assets/demos/monaco/history-log-viewer.vue +0 -586
  1326. package/template/.hermes/skills/yss-ui/assets/demos/monaco/log-viewer.vue +0 -260
  1327. package/template/.hermes/skills/yss-ui/assets/demos/monaco/mock/mockLogApi.ts +0 -199
  1328. package/template/.hermes/skills/yss-ui/assets/demos/monaco/monaco.vue +0 -66
  1329. package/template/.hermes/skills/yss-ui/assets/demos/monaco/readonly.vue +0 -20
  1330. package/template/.hermes/skills/yss-ui/assets/demos/monaco/resizable.vue +0 -22
  1331. package/template/.hermes/skills/yss-ui/assets/demos/monaco/sql-schema.vue +0 -20
  1332. package/template/.hermes/skills/yss-ui/assets/demos/monaco/switch-lang-theme.vue +0 -48
  1333. package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table/constant.ts +0 -18
  1334. package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table/index.vue +0 -60
  1335. package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table/style.less +0 -39
  1336. package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table-layout/hooks/useTreeTable.ts +0 -158
  1337. package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table-layout/index.vue +0 -88
  1338. package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table-layout/style.less +0 -73
  1339. package/template/.hermes/skills/yss-ui/assets/demos/table/action/index.vue +0 -83
  1340. package/template/.hermes/skills/yss-ui/assets/demos/table/action/style.less +0 -3
  1341. package/template/.hermes/skills/yss-ui/assets/demos/table/action-auth/index.vue +0 -41
  1342. package/template/.hermes/skills/yss-ui/assets/demos/table/action-slot/index.vue +0 -62
  1343. package/template/.hermes/skills/yss-ui/assets/demos/table/action-slot/style.less +0 -36
  1344. package/template/.hermes/skills/yss-ui/assets/demos/table/basic/hooks/useBasicTable.ts +0 -205
  1345. package/template/.hermes/skills/yss-ui/assets/demos/table/basic/index.vue +0 -89
  1346. package/template/.hermes/skills/yss-ui/assets/demos/table/basic/style.less +0 -28
  1347. package/template/.hermes/skills/yss-ui/assets/demos/table/column-custom-search/hooks/useColumnCustomSearch.ts +0 -236
  1348. package/template/.hermes/skills/yss-ui/assets/demos/table/column-custom-search/index.vue +0 -141
  1349. package/template/.hermes/skills/yss-ui/assets/demos/table/column-custom-search/style.less +0 -48
  1350. package/template/.hermes/skills/yss-ui/assets/demos/table/drag/index.vue +0 -42
  1351. package/template/.hermes/skills/yss-ui/assets/demos/table/expand/action-expand.vue +0 -142
  1352. package/template/.hermes/skills/yss-ui/assets/demos/table/expand/index.vue +0 -35
  1353. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-async/index.vue +0 -93
  1354. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-auto/index.vue +0 -99
  1355. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-custom/index.vue +0 -72
  1356. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-local/index.vue +0 -112
  1357. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-mixed/index.vue +0 -142
  1358. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-remote/constant.ts +0 -129
  1359. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-remote/hooks/useTableData.ts +0 -186
  1360. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-remote/index.vue +0 -73
  1361. package/template/.hermes/skills/yss-ui/assets/demos/table/group-header/index.vue +0 -86
  1362. package/template/.hermes/skills/yss-ui/assets/demos/table/group-header/style.less +0 -3
  1363. package/template/.hermes/skills/yss-ui/assets/demos/table/header-height/index.vue +0 -29
  1364. package/template/.hermes/skills/yss-ui/assets/demos/table/header-height/style.less +0 -9
  1365. package/template/.hermes/skills/yss-ui/assets/demos/table/merge-cells/hooks/useMergeCells.ts +0 -183
  1366. package/template/.hermes/skills/yss-ui/assets/demos/table/merge-cells/index.vue +0 -17
  1367. package/template/.hermes/skills/yss-ui/assets/demos/table/merge-cells/style.less +0 -3
  1368. package/template/.hermes/skills/yss-ui/assets/demos/table/pagination-remote/hooks/usePaginationRemote.ts +0 -106
  1369. package/template/.hermes/skills/yss-ui/assets/demos/table/pagination-remote/index.vue +0 -24
  1370. package/template/.hermes/skills/yss-ui/assets/demos/table/renderers/index.vue +0 -64
  1371. package/template/.hermes/skills/yss-ui/assets/demos/table/selection-checkbox/index.vue +0 -88
  1372. package/template/.hermes/skills/yss-ui/assets/demos/table/selection-checkbox/style.less +0 -9
  1373. package/template/.hermes/skills/yss-ui/assets/demos/table/selection-radio/index.vue +0 -57
  1374. package/template/.hermes/skills/yss-ui/assets/demos/table/selection-radio/style.less +0 -9
  1375. package/template/.hermes/skills/yss-ui/assets/demos/table/transform/index.vue +0 -32
  1376. package/template/.hermes/skills/yss-ui/assets/demos/tree/basic-left/index.vue +0 -124
  1377. package/template/.hermes/skills/yss-ui/assets/demos/tree/datasource-group/index.vue +0 -31
  1378. package/template/.hermes/skills/yss-ui/assets/demos/tree/multi-checkable/index.vue +0 -86
  1379. package/template/.hermes/skills/yss-ui/assets/demos/tree/multiple-select/index.vue +0 -76
  1380. package/template/.hermes/skills/yss-ui/assets/demos/tree/resource-list/index.vue +0 -41
  1381. package/template/.hermes/skills/yss-ui/assets/demos/tree/search-toolbar/index.vue +0 -156
  1382. package/template/.hermes/skills/yss-ui/assets/demos/tree/slot-icon/index.vue +0 -36
  1383. package/template/.hermes/skills/yss-ui/assets/demos/tree/slot-switcher-icon/index.vue +0 -34
  1384. package/template/.hermes/skills/yss-ui/assets/docs/components/button.md +0 -79
  1385. package/template/.hermes/skills/yss-ui/assets/docs/components/card.md +0 -162
  1386. package/template/.hermes/skills/yss-ui/assets/docs/components/conditionBuilder.md +0 -114
  1387. package/template/.hermes/skills/yss-ui/assets/docs/components/cron.md +0 -77
  1388. package/template/.hermes/skills/yss-ui/assets/docs/components/echarts.md +0 -110
  1389. package/template/.hermes/skills/yss-ui/assets/docs/components/editTable.md +0 -212
  1390. package/template/.hermes/skills/yss-ui/assets/docs/components/fileImport.md +0 -85
  1391. package/template/.hermes/skills/yss-ui/assets/docs/components/formily.md +0 -370
  1392. package/template/.hermes/skills/yss-ui/assets/docs/components/monaco.md +0 -369
  1393. package/template/.hermes/skills/yss-ui/assets/docs/components/sheet.md +0 -169
  1394. package/template/.hermes/skills/yss-ui/assets/docs/components/split-pane.md +0 -45
  1395. package/template/.hermes/skills/yss-ui/assets/docs/components/table.md +0 -398
  1396. package/template/.hermes/skills/yss-ui/assets/docs/components/tree.md +0 -102
  1397. package/template/.hermes/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +0 -166
  1398. package/template/.hermes/skills/yss-ui/assets/docs/guide/index.md +0 -132
  1399. package/template/.hermes/skills/yss-ui/assets/docs/guide/installation.md +0 -97
  1400. package/template/.hermes/skills/yss-ui/assets/docs/guide/jsp.md +0 -227
  1401. package/template/.hermes/skills/yss-ui/assets/docs/guide/llms.md +0 -295
  1402. package/template/.hermes/skills/yss-ui/assets/docs/guide/monorepo-versioning.md +0 -149
  1403. package/template/.hermes/skills/yss-ui/assets/docs/guide/release-workflow.md +0 -251
  1404. package/template/.hermes/skills/yss-ui/assets/docs/hooks/use-table-height.md +0 -101
  1405. package/template/.hermes/skills/yss-ui/assets/docs/hooks/use-tree-height.md +0 -115
  1406. package/template/.hermes/skills/yss-ui/assets/docs/hooks/useFullscreen.md +0 -130
  1407. package/template/.hermes/skills/yss-ui/assets/docs/hooks/useLoading.md +0 -97
  1408. package/template/.hermes/skills/yss-ui/assets/docs/root/resources.md +0 -18
  1409. package/template/.hermes/skills/yss-ui/assets/keyword-index.json +0 -53
  1410. package/template/.hermes/skills/yss-ui/assets/keyword-index.md +0 -47
  1411. package/template/.hermes/skills/yss-ui/assets/reference-index.json +0 -55
  1412. package/template/.hermes/skills/yss-ui/assets/reference-index.md +0 -74
  1413. package/template/.hermes/skills/yss-ui/assets/scenario-index.json +0 -50
  1414. package/template/.hermes/skills/yss-ui/assets/scenario-index.md +0 -41
  1415. package/template/.hermes/skills/yss-ui/references/accessibility.md +0 -23
  1416. package/template/.hermes/skills/yss-ui/references/antdv-compatibility.md +0 -39
  1417. package/template/.hermes/skills/yss-ui/references/checklist.md +0 -110
  1418. package/template/.hermes/skills/yss-ui/references/component-routing.md +0 -31
  1419. package/template/.hermes/skills/yss-ui/references/frontend-docs.md +0 -11
  1420. package/template/.hermes/skills/yss-ui/references/migration-antdv-to-yss.md +0 -20
  1421. package/template/.hermes/skills/yss-ui/references/quick-recipes.md +0 -280
  1422. package/template/.hermes/skills/yss-ui/references/theme-locale-overlay.md +0 -25
  1423. package/template/.hermes/skills/yss-ui/references/verification.md +0 -20
  1424. package/template/.hermes/skills/yss-ui-business-page-generation/SKILL.md +0 -159
  1425. package/template/.hermes/skills/yss-ui-business-page-generation/references/component-map.md +0 -39
  1426. package/template/.hermes/skills/yss-ui-business-page-generation/references/hooks-map.md +0 -70
  1427. package/template/.hermes/skills/yss-ui-business-page-generation/references/utils-map.md +0 -51
  1428. package/template/.hermes/skills/yss-up-springboot3/SKILL.md +0 -40
  1429. package/template/.hermes/skills/yss-up-springboot3/agents/openai.yaml +0 -4
  1430. package/template/.hermes/skills/yss-use-table-height/SKILL.md +0 -130
  1431. package/template/.hermes/skills/yss-use-table-height/agents/openai.yaml +0 -5
  1432. package/template/.hermes/skills/yss-use-table-height/references/frontend-docs.md +0 -9
  1433. package/template/.hermes/skills/yss-use-tree-height/SKILL.md +0 -98
  1434. package/template/.hermes/skills/yss-use-tree-height/agents/openai.yaml +0 -5
  1435. package/template/.hermes/skills/yss-use-tree-height/references/frontend-docs.md +0 -9
  1436. package/template/.hermes/skills/yss-userinfo/SKILL.md +0 -49
  1437. package/template/.hermes/skills/yss-userinfo/agents/openai.yaml +0 -4
  1438. package/template/.hermes/skills/yss-userinfo/references/source-index.md +0 -34
  1439. package/template/.hermes/skills/yss-validation/SKILL.md +0 -56
  1440. package/template/.hermes/skills/yss-validation/agents/openai.yaml +0 -4
  1441. package/template/.hermes/skills/yss-validation/references/source-index.md +0 -33
  1442. package/template/.hermes/skills/yss-web-controller/SKILL.md +0 -85
  1443. package/template/.hermes/skills/yss-web-controller/agents/openai.yaml +0 -5
  1444. package/template/.hermes/skills/yss-web-controller/assets/templates/Controller.java.template +0 -72
  1445. package/template/.hermes/skills/yss-web-controller/assets/templates/WebConvertor.java.template +0 -30
  1446. package/template/.hermes/skills/yss-web-controller/assets/templates/web/dto/CreateRequest.java.template +0 -19
  1447. package/template/.hermes/skills/yss-web-controller/assets/templates/web/dto/PageRequest.java.template +0 -21
  1448. package/template/.hermes/skills/yss-web-controller/assets/templates/web/dto/Response.java.template +0 -18
  1449. package/template/.hermes/skills/yss-web-controller/assets/templates/web/dto/UpdateRequest.java.template +0 -19
  1450. package/template/.hermes/skills/yss-web-controller/references/web-adapter-layer-guide.md +0 -86
  1451. package/template/.hermes/skills/yss-web-controller/references/web-generation-contract.schema.json +0 -97
  1452. package/template/.hermes/skills/yss-web-controller/scripts/generate_controller.mjs +0 -226
  1453. package/template/.hermes/skills/yss-web-controller/scripts/generate_controller.test.mjs +0 -156
  1454. package/template/.hermes/skills/ytable-usage/SKILL.md +0 -251
  1455. package/template/.hermes/skills/ytree-usage/SKILL.md +0 -132
  1456. package/template/.kiro/settings/mcp.json +0 -8
  1457. package/template/.pi/skills/yss-router/SKILL.md +0 -51
  1458. package/template/.pi/skills/yss-router/agents/openai.yaml +0 -4
  1459. package/template/.pi/skills/yss-router/references/boundaries.md +0 -50
  1460. package/template/.pi/skills/yss-router/references/router-contract.yaml +0 -349
  1461. package/template/.pi/skills/yss-router/references/slice-implementation-contract.md +0 -185
  1462. package/template/.pi/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  1463. package/template/.pi/skills/yss-source-index/SKILL.md +0 -63
  1464. package/template/.pi/skills/yss-source-index/agents/openai.yaml +0 -4
  1465. package/template/.pi/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  1466. package/template/.qoder/skills/yss-router/SKILL.md +0 -51
  1467. package/template/.qoder/skills/yss-router/agents/openai.yaml +0 -4
  1468. package/template/.qoder/skills/yss-router/references/boundaries.md +0 -50
  1469. package/template/.qoder/skills/yss-router/references/router-contract.yaml +0 -349
  1470. package/template/.qoder/skills/yss-router/references/slice-implementation-contract.md +0 -185
  1471. package/template/.qoder/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  1472. package/template/.qoder/skills/yss-source-index/SKILL.md +0 -63
  1473. package/template/.qoder/skills/yss-source-index/agents/openai.yaml +0 -4
  1474. package/template/.qoder/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  1475. package/template/.trae/skills/yss-router/SKILL.md +0 -51
  1476. package/template/.trae/skills/yss-router/agents/openai.yaml +0 -4
  1477. package/template/.trae/skills/yss-router/references/boundaries.md +0 -50
  1478. package/template/.trae/skills/yss-router/references/router-contract.yaml +0 -349
  1479. package/template/.trae/skills/yss-router/references/slice-implementation-contract.md +0 -185
  1480. package/template/.trae/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  1481. package/template/.trae/skills/yss-source-index/SKILL.md +0 -63
  1482. package/template/.trae/skills/yss-source-index/agents/openai.yaml +0 -4
  1483. package/template/.trae/skills/yss-source-index/references/source-location.md +0 -18
  1484. package/template/.trae/skills/yss-source-index/references/source-map-config.md +0 -30
  1485. package/template/.trae/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  1486. package/template/.trae/skills/yss-source-index/scripts/refresh-yss-skill-index.test.mjs +0 -15
  1487. package/template/scripts/verify-yss-router-scenarios +0 -3
  1488. /package/template/.agents/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-location.md +0 -0
  1489. /package/template/.agents/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
  1490. /package/template/.agents/skills/{yss-source-index → yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
  1491. /package/template/.claude/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-location.md +0 -0
  1492. /package/template/.claude/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
  1493. /package/template/.claude/skills/{yss-source-index → yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
  1494. /package/template/.codex/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-location.md +0 -0
  1495. /package/template/.codex/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
  1496. /package/template/.codex/skills/{yss-source-index → yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
  1497. /package/template/.cursor/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-location.md +0 -0
  1498. /package/template/.cursor/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
  1499. /package/template/.cursor/skills/{yss-source-index → yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
  1500. /package/template/{.hermes/skills/yss-source-index → .pi/skills/yss-skill-source-index-refresh}/references/source-location.md +0 -0
  1501. /package/template/{.hermes/skills/yss-source-index → .pi/skills/yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
  1502. /package/template/{.hermes/skills/yss-source-index → .pi/skills/yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
  1503. /package/template/{.pi/skills/yss-source-index → .qoder/skills/yss-skill-source-index-refresh}/references/source-location.md +0 -0
  1504. /package/template/{.pi/skills/yss-source-index → .qoder/skills/yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
  1505. /package/template/{.pi/skills/yss-source-index → .qoder/skills/yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
  1506. /package/template/{.qoder/skills/yss-source-index → .trae/skills/yss-skill-source-index-refresh}/references/source-location.md +0 -0
  1507. /package/template/{.qoder/skills/yss-source-index → .trae/skills/yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
  1508. /package/template/{.qoder/skills/yss-source-index → .trae/skills/yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
@@ -0,0 +1,337 @@
1
+ import test from "node:test";
2
+ import assert from "node:assert/strict";
3
+ import { mkdtemp, readFile, readdir, rm, stat, writeFile, mkdir } from "node:fs/promises";
4
+ import { spawnSync } from "node:child_process";
5
+ import os from "node:os";
6
+ import path from "node:path";
7
+ import { fileURLToPath } from "node:url";
8
+
9
+ const script = path.join(path.dirname(fileURLToPath(import.meta.url)), "generate_project.mjs");
10
+ const verifyScript = path.join(path.dirname(fileURLToPath(import.meta.url)), "verify_project.mjs");
11
+ const harnessRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../../../..");
12
+ const gitAuthorEnvironment = {
13
+ GIT_CONFIG_COUNT: "1",
14
+ GIT_CONFIG_KEY_0: "user.name",
15
+ GIT_CONFIG_VALUE_0: "Scaffold Tester"
16
+ };
17
+ function run(args, options = {}) {
18
+ return spawnSync(process.execPath, [script, ...args], {
19
+ encoding: "utf8",
20
+ ...options,
21
+ env: { ...process.env, ...gitAuthorEnvironment, ...(options.env ?? {}) }
22
+ });
23
+ }
24
+ async function expectedDistributedLock() {
25
+ const lock = JSON.parse(await readFile(path.join(harnessRoot, "skills-lock.json"), "utf8"));
26
+ delete lock.skills?.shared?.["yss-mvc-scaffold-generator"];
27
+ for (const platform of Object.values(lock.skills?.platform ?? {})) delete platform?.["yss-mvc-scaffold-generator"];
28
+ return `${JSON.stringify(lock, null, 2)}\n`;
29
+ }
30
+ test("生成固定六模块和 mock endpoint", async (t) => {
31
+ const base = await mkdtemp(path.join(os.tmpdir(), "data-analysis-scaffold-")); t.after(() => rm(base, { recursive: true, force: true }));
32
+ const target = path.join(base, "item1"); const result = run(["--project-name", "data-analysis-item1", "--base-package", "com.yss.dataanalysis.item1", "--target-dir", target, "--database", "oracle", "--with-mock"]);
33
+ assert.equal(result.status, 0, result.stderr); const backend = target; const pom = await readFile(path.join(backend, "pom.xml"), "utf8");
34
+ const skillUtils = path.join(base, "skillUtils");
35
+ for (const module of ["server", "core", "client", "repository", "adapter", "feign-client"]) assert.match(pom, new RegExp(`<module>${module}</module>`));
36
+ const controller = await readFile(path.join(backend, "server/src/main/java/com/yss/dataanalysis/item1/server/controller/AnalysisController.java"), "utf8"); assert.match(controller, /\/api\/analysis/); assert.doesNotMatch(controller, /;[ \t]+import /);
37
+ assert.match(controller, /\* \u6570\u636e\u5206\u6790\u67e5\u8be2\u63a5\u53e3\u3002/);
38
+ assert.match(controller, /@author Scaffold Tester/);
39
+ assert.match(controller, /@date \d{4}\/\d{2}\/\d{2} \d{2}:\d{2}/);
40
+ assert.match(controller, /\* \u5206\u9875\u67e5\u8be2\u6570\u636e\u5206\u6790\u7ed3\u679c\u3002[\s\S]*@param query[\s\S]*@return \u6570\u636e\u5206\u6790\u5206\u9875\u7ed3\u679c/);
41
+ const mock = await readFile(path.join(backend, "adapter/src/main/java/com/yss/dataanalysis/item1/adapter/mock/MockAnalysisQueryExecutor.java"), "utf8"); assert.match(mock, /source|"mock"/);
42
+ const configuration = await readFile(path.join(backend, "server/src/main/java/com/yss/dataanalysis/item1/server/configuration/AnalysisConfiguration.java"), "utf8"); assert.match(configuration, /Profile\("mock"\)/); assert.match(configuration, /Profile\("oracle & !mock"\)/);
43
+ await readFile(path.join(backend, "server/src/main/java/com/yss/dataanalysis/item1/Application.java"), "utf8");
44
+ const controllerTest = await readFile(path.join(backend, "server/src/test/java/com/yss/dataanalysis/item1/server/controller/AnalysisControllerTest.java"), "utf8");
45
+ assert.match(controllerTest, /pageNo/);
46
+ assert.match(await readFile(path.join(target, "yss-project.yaml"), "utf8"), /repository_mode: project-instance/);
47
+ assert.match(await readFile(path.join(target, "CONTEXT.md"), "utf8"), /AnalysisDataset/);
48
+ assert.match(await readFile(path.join(target, ".artifact-workspace.yaml"), "utf8"), /kind: service/);
49
+ assert.match(await readFile(path.join(target, "docs/service/module-map.md"), "utf8"), /feign-client/);
50
+ assert.match(await readFile(path.join(target, "docs/service/current-capabilities.md"), "utf8"), /普通功能开发不手工修改/);
51
+ assert.match(await readFile(path.join(target, "docs/process/implementation-repo-registry.yaml"), "utf8"), /repository_scope: external-repository/);
52
+ const analysisProject = await readFile(path.join(target, "docs/process/analysis-project.yaml"), "utf8"); assert.match(analysisProject, /project_name: data-analysis-item1/); assert.doesNotMatch(analysisProject, /galaxy-data-analysis|fegin-client/);
53
+ assert.match(await readFile(path.join(target, "docs/process/lifecycle-registry.yaml"), "utf8"), /schema_version:/);
54
+ assert.match(await readFile(path.join(target, "docs/templates/vertical-slice-ticket-template.md"), "utf8"), /status: ready-for-human/);
55
+ assert.match(await readFile(path.join(target, "docs/templates/local-parent-ticket-template.md"), "utf8"), /lifecycle_status \| routing \/ running \/ paused-human-gate \/ blocked \/ completed/);
56
+ const lifecycleContract = await readFile(path.join(skillUtils, ".agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml"), "utf8");
57
+ assert.match(lifecycleContract, /entry_routing:/);
58
+ assert.match(lifecycleContract, /workflow_execution_result:/);
59
+ assert.match(lifecycleContract, /work_unit_routes:/);
60
+ assert.match(await readFile(path.join(target, "docs/templates/approval-record-template.yaml"), "utf8"), /gate_id:/);
61
+ assert.match(await readFile(path.join(target, "docs/templates/implementation-routing-template.md"), "utf8"), /implementation/);
62
+ assert.match(await readFile(path.join(target, "docs/templates/verification-record-template.md"), "utf8"), /verification/i);
63
+ await readFile(path.join(skillUtils, ".agents/skills/yss-product-lifecycle/SKILL.md"), "utf8");
64
+ for (const projection of [".agents", ".claude", ".codex", ".cursor", ".pi", ".qoder", ".trae"]) {
65
+ await assert.rejects(stat(path.join(skillUtils, projection, "skills/yss-mvc-scaffold-generator")), { code: "ENOENT" });
66
+ }
67
+ assert.equal(path.resolve(spawnSync("git", ["-C", target, "rev-parse", "--show-toplevel"], { encoding: "utf8" }).stdout.trim()), path.resolve(target));
68
+ assert.equal(spawnSync("git", ["-C", target, "branch", "--show-current"], { encoding: "utf8" }).stdout.trim(), "main");
69
+ assert.equal(spawnSync("git", ["-C", target, "rev-list", "--all", "--count"], { encoding: "utf8" }).stdout.trim(), "0");
70
+ assert.equal(spawnSync("git", ["-C", target, "remote"], { encoding: "utf8" }).stdout.trim(), "");
71
+ const verification = spawnSync(process.execPath, [verifyScript, "--project-root", target], { encoding: "utf8" });
72
+ assert.equal(verification.status, 0, verification.stderr);
73
+ await assert.rejects(stat(path.join(skillUtils, ".agents/skills/data-analysis-java-implementation")), { code: "ENOENT" });
74
+ const implementationRegistry = await readFile(path.join(target, "docs/process/implementation-repo-registry.yaml"), "utf8");
75
+ assert.doesNotMatch(implementationRegistry, /data-analysis-java-implementation|verify_java_web_style\.mjs/);
76
+ assert.match(implementationRegistry, /fmt-maven-plugin:2\.9\.1:check/);
77
+ assert.doesNotMatch(implementationRegistry, /smart-doc-maven-plugin:[^\s]+:openapi/);
78
+ assert.doesNotMatch(implementationRegistry, /smart-doc-verification\.md/);
79
+ const projectInstanceDocs = await Promise.all([
80
+ "AGENTS.md",
81
+ "docs/agents/skills-maintenance.md",
82
+ "docs/agents/gitlab-workflow-skills.md",
83
+ "docs/agents/issue-tracker.md",
84
+ "docs/process/implementation-repo-integration.md",
85
+ "docs/process/harness-process-tailoring.md",
86
+ "docs/templates/build-architecture-checklist-template.md"
87
+ ].map((relative) => readFile(path.join(target, relative), "utf8")));
88
+ const staleProjectCommands = /scripts\/(?:verify-template|sync-skills|update-skill-lock|export-yss-skills|verify-upstream-skill-source|verify-maintenance-checkpoint|verify-implementation-path-scenarios|gitworks)/;
89
+ for (const body of projectInstanceDocs) assert.doesNotMatch(body, staleProjectCommands);
90
+ const serverPom = await readFile(path.join(backend, "server/pom.xml"), "utf8");
91
+ assert.match(serverPom, /<profiles>[\s\S]*<id>nacos<\/id>[\s\S]*<activeByDefault>true<\/activeByDefault>/);
92
+ assert.match(serverPom, /<app\.env>dev<\/app\.env>[\s\S]*<app\.profiles>nacos<\/app\.profiles>/);
93
+ assert.match(serverPom, /spring-boot-maven-plugin/);
94
+ assert.match(serverPom, /<includes>[\s\S]*data-analysis-item1-client[\s\S]*data-analysis-item1-core[\s\S]*data-analysis-item1-repository[\s\S]*<\/includes>/);
95
+ const smartDocPlugin = serverPom.match(/<plugin>(?:(?!<\/plugin>)[\s\S])*?<artifactId>smart-doc-maven-plugin<\/artifactId>(?:(?!<\/plugin>)[\s\S])*?<\/plugin>/)?.[0];
96
+ assert.ok(smartDocPlugin);
97
+ assert.doesNotMatch(smartDocPlugin, /<executions>/);
98
+ const smartDoc = await readFile(path.join(backend, "server/src/main/resources/smart-doc.json"), "utf8");
99
+ assert.match(smartDoc, /"projectName": "data-analysis-item1"/);
100
+ assert.match(smartDoc, /"packageFilters": "com\.yss\.dataanalysis\.item1\.server\.controller\.\*"/);
101
+ assert.match(smartDoc, /"showAuthor": true/);
102
+ assert.match(smartDoc, /"appToken": ""/);
103
+ assert.doesNotMatch(smartDoc, /43fd1d4bc1c743c1b83bf4843e8167bf|192\.168\./);
104
+ const logback = await readFile(path.join(backend, "server/src/main/resources/logback-spring.xml"), "utf8");
105
+ assert.match(logback, /springProfile name="dev,mock"/);
106
+ assert.match(logback, /springProfile name="uat,pro,oracle,oceanbase-oracle"/);
107
+ assert.match(logback, /com\.yss\.dataanalysis\.item1/);
108
+ const bootstrap = await readFile(path.join(backend, "server/src/main/resources/bootstrap.yml"), "utf8");
109
+ assert.match(bootstrap, /active: \$\{app\.env:dev\},datasource,nacos,oracle,mock/);
110
+ assert.doesNotMatch(bootstrap, /mock,\s*$/m);
111
+ const bootstrapNacos = await readFile(path.join(backend, "server/src/main/resources/bootstrap-nacos.yml"), "utf8");
112
+ assert.match(bootstrapNacos, /server-addr: \$\{nacosserver:192\.168\.165\.58:8848\}/);
113
+ assert.match(bootstrapNacos, /group: \$\{nacos_group:yss-dm\}/);
114
+ assert.match(bootstrapNacos, /discovery:[\s\S]*enabled: true[\s\S]*config:[\s\S]*enabled: true/);
115
+ const bootstrapMock = await readFile(path.join(backend, "server/src/main/resources/bootstrap-mock.yml"), "utf8");
116
+ assert.match(bootstrapMock, /discovery:[\s\S]*enabled: false/);
117
+ assert.match(bootstrapMock, /config:[\s\S]*enabled: false[\s\S]*import-check:[\s\S]*enabled: false/);
118
+ const applicationMock = await readFile(path.join(backend, "server/src/main/resources/application-mock.yml"), "utf8");
119
+ assert.match(applicationMock, /leaf:[\s\S]*leafSegmentEnable: false[\s\S]*leafSnowflakeEnable: false/);
120
+ assert.match(applicationMock, /com\.yss\.cloud\.mybatis\.MybatisPlusConfiguration/);
121
+ assert.match(applicationMock, /com\.yss\.cloud\.sankuai\.config\.LeafDataSourceConfiguration/);
122
+ const application = await readFile(path.join(backend, "server/src/main/java/com/yss/dataanalysis/item1/Application.java"), "utf8");
123
+ assert.doesNotMatch(application, /@EnableDistributedId/);
124
+ const databaseInfrastructure = await readFile(path.join(backend, "server/src/main/java/com/yss/dataanalysis/item1/server/configuration/DatabaseInfrastructureConfiguration.java"), "utf8");
125
+ assert.match(databaseInfrastructure, /@Profile\("!mock"\)/);
126
+ assert.match(databaseInfrastructure, /@EnableDistributedId/);
127
+ assert.match(databaseInfrastructure, /@Import\(MapperConfiguration.class\)/);
128
+ });
129
+
130
+ test("已有 skillUtils 落后时原子刷新并保留备份", async (t) => {
131
+ const base = await mkdtemp(path.join(os.tmpdir(), "data-analysis-skill-refresh-"));
132
+ t.after(() => rm(base, { recursive: true, force: true }));
133
+ const skillUtils = path.join(base, "skillUtils");
134
+ await mkdir(skillUtils, { recursive: true });
135
+ await writeFile(path.join(skillUtils, "skill-utils.yaml"), "schema_version: 1\nkind: yss-skill-utils\n", "utf8");
136
+ await writeFile(path.join(skillUtils, "skills-lock.json"), "{\"version\":0}\n", "utf8");
137
+ await writeFile(path.join(skillUtils, "local-marker.txt"), "preserve old installation\n", "utf8");
138
+ const target = path.join(base, "item-refresh");
139
+ const result = run(["--project-name", "data-analysis-refresh", "--base-package", "com.yss.dataanalysis.refresh", "--target-dir", target]);
140
+ assert.equal(result.status, 0, result.stderr);
141
+ const output = JSON.parse(result.stdout);
142
+ assert.equal(output.skill_utils_created, false);
143
+ assert.equal(output.skill_utils_refreshed, true);
144
+ assert.ok(output.skill_utils_backup);
145
+ assert.equal(await readFile(path.join(output.skill_utils_backup, "local-marker.txt"), "utf8"), "preserve old installation\n");
146
+ assert.equal(await readFile(path.join(skillUtils, "skills-lock.json"), "utf8"), await expectedDistributedLock());
147
+ });
148
+
149
+ test("已有 skillUtils 与源锁一致时直接复用", async (t) => {
150
+ const base = await mkdtemp(path.join(os.tmpdir(), "data-analysis-skill-reuse-"));
151
+ t.after(() => rm(base, { recursive: true, force: true }));
152
+ const first = run(["--project-name", "data-analysis-reuse-a", "--base-package", "com.yss.dataanalysis.reusea", "--target-dir", path.join(base, "item-a")]);
153
+ assert.equal(first.status, 0, first.stderr);
154
+ const second = run(["--project-name", "data-analysis-reuse-b", "--base-package", "com.yss.dataanalysis.reuseb", "--target-dir", path.join(base, "item-b")]);
155
+ assert.equal(second.status, 0, second.stderr);
156
+ const output = JSON.parse(second.stdout);
157
+ assert.equal(output.skill_utils_created, false);
158
+ assert.equal(output.skill_utils_refreshed, false);
159
+ assert.equal(output.skill_utils_backup, null);
160
+ });
161
+
162
+ test("dry-run 仅报告 skillUtils 将刷新且不修改旧目录", async (t) => {
163
+ const base = await mkdtemp(path.join(os.tmpdir(), "data-analysis-skill-dry-refresh-"));
164
+ t.after(() => rm(base, { recursive: true, force: true }));
165
+ const skillUtils = path.join(base, "skillUtils");
166
+ await mkdir(skillUtils, { recursive: true });
167
+ await writeFile(path.join(skillUtils, "skill-utils.yaml"), "schema_version: 1\nkind: yss-skill-utils\n", "utf8");
168
+ await writeFile(path.join(skillUtils, "skills-lock.json"), "{\"version\":0}\n", "utf8");
169
+ const result = run(["--project-name", "data-analysis-dry-refresh", "--base-package", "com.yss.dataanalysis.dryrefresh", "--target-dir", path.join(base, "item"), "--dry-run"]);
170
+ assert.equal(result.status, 0, result.stderr);
171
+ const output = JSON.parse(result.stdout);
172
+ assert.equal(output.skill_utils_refreshed, true);
173
+ assert.equal(output.skill_utils_backup, null);
174
+ assert.equal(await readFile(path.join(skillUtils, "skills-lock.json"), "utf8"), "{\"version\":0}\n");
175
+ assert.deepEqual((await readdir(base)).sort(), ["skillUtils"]);
176
+ });
177
+
178
+ test("Git 当前用户写入 Javadoc 且缺失时拒绝生成", async (t) => {
179
+ const base = await mkdtemp(path.join(os.tmpdir(), "data-analysis-author-")); t.after(() => rm(base, { recursive: true, force: true }));
180
+ const target = path.join(base, "author-project");
181
+ const generated = run(["--project-name", "author-project", "--base-package", "com.yss.author", "--target-dir", target], {
182
+ env: { GIT_CONFIG_VALUE_0: "张三" }
183
+ });
184
+ assert.equal(generated.status, 0, generated.stderr);
185
+ const controller = await readFile(path.join(target, "server/src/main/java/com/yss/author/server/controller/AnalysisController.java"), "utf8");
186
+ assert.match(controller, /@author 张三/);
187
+ assert.doesNotMatch(controller, /@author system/);
188
+
189
+ const missingTarget = path.join(base, "missing-author");
190
+ const missing = run(["--project-name", "missing-author", "--base-package", "com.yss.missing", "--target-dir", missingTarget], {
191
+ env: { GIT_CONFIG_COUNT: "0", GIT_CONFIG_NOSYSTEM: "1", GIT_CONFIG_GLOBAL: path.join(base, "not-found.gitconfig") }
192
+ });
193
+ assert.notEqual(missing.status, 0);
194
+ assert.match(missing.stderr, /Git user\.name/);
195
+ await assert.rejects(stat(missingTarget), { code: "ENOENT" });
196
+ });
197
+
198
+ test("不启用 Mock 时不生成 bootstrap-mock 且不激活 mock profile", async (t) => {
199
+ const base = await mkdtemp(path.join(os.tmpdir(), "data-analysis-no-mock-profile-")); t.after(() => rm(base, { recursive: true, force: true }));
200
+ const target = path.join(base, "data-analysis-no-mock");
201
+ const result = run(["--project-name", "data-analysis-no-mock", "--base-package", "com.yss.dataanalysis.nomock", "--target-dir", target]);
202
+ assert.equal(result.status, 0, result.stderr);
203
+ const bootstrap = await readFile(path.join(target, "server/src/main/resources/bootstrap.yml"), "utf8");
204
+ assert.match(bootstrap, /active: \$\{app\.env:dev\},datasource,nacos,oracle/);
205
+ assert.doesNotMatch(bootstrap, /,mock/);
206
+ await assert.rejects(stat(path.join(target, "server/src/main/resources/bootstrap-mock.yml")), { code: "ENOENT" });
207
+ });
208
+
209
+ test("Maven settings \u4f5c\u4e3a外部验证输入且不写入项目", async (t) => {
210
+ const base = await mkdtemp(path.join(os.tmpdir(), "data-analysis-settings-")); t.after(() => rm(base, { recursive: true, force: true }));
211
+ const settings = path.join(base, "settings.xml");
212
+ await writeFile(settings, "<settings/>\n");
213
+ const target = path.join(base, "data-analysis-item-settings");
214
+ const result = run(["--project-name", "data-analysis-item-settings", "--base-package", "com.yss.dataanalysis.settings", "--target-dir", target, "--maven-settings", settings]);
215
+ assert.equal(result.status, 0, result.stderr);
216
+ const manifest = await readFile(path.join(target, ".yss/scaffold-generation.json"), "utf8");
217
+ assert.match(manifest, /"maven_settings_mode": "external"/);
218
+ assert.match(manifest, /"maven_settings_required": true/);
219
+ assert.doesNotMatch(manifest, new RegExp(settings.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")));
220
+ assert.equal((await readdir(target)).includes("settings.xml"), false);
221
+ });
222
+ test("Maven settings 支持环境变量且显式参数优先", async (t) => {
223
+ const base = await mkdtemp(path.join(os.tmpdir(), "data-analysis-settings-resolution-")); t.after(() => rm(base, { recursive: true, force: true }));
224
+ const environmentSettings = path.join(base, "environment-settings.xml");
225
+ const explicitSettings = path.join(base, "explicit-settings.xml");
226
+ await writeFile(environmentSettings, "<settings/>\n");
227
+ await writeFile(explicitSettings, "<settings/>\n");
228
+ const environmentTarget = path.join(base, "environment-project");
229
+ const fromEnvironment = run(["--project-name", "environment-project", "--base-package", "com.yss.environment", "--target-dir", environmentTarget, "--dry-run"], { env: { YSS_MAVEN_SETTINGS: environmentSettings } });
230
+ assert.equal(fromEnvironment.status, 0, fromEnvironment.stderr);
231
+ assert.match(fromEnvironment.stdout, /"maven_settings_source": "environment"/);
232
+ const explicitTarget = path.join(base, "explicit-project");
233
+ const fromExplicit = run(["--project-name", "explicit-project", "--base-package", "com.yss.explicit", "--target-dir", explicitTarget, "--maven-settings", explicitSettings, "--dry-run"], { env: { YSS_MAVEN_SETTINGS: environmentSettings } });
234
+ assert.equal(fromExplicit.status, 0, fromExplicit.stderr);
235
+ assert.match(fromExplicit.stdout, /"maven_settings_source": "explicit"/);
236
+ });
237
+ test("未指定 settings 时仍完整生成,并将依赖解析延后到验证阶段", async (t) => {
238
+ const base = await mkdtemp(path.join(os.tmpdir(), "yss-mvc-no-settings-"));
239
+ t.after(() => rm(base, { recursive: true, force: true }));
240
+ const target = path.join(base, "no-settings-project");
241
+ const result = run(["--project-name", "no-settings-project", "--base-package", "com.yss.nosettings", "--target-dir", target], {
242
+ env: { YSS_MAVEN_SETTINGS: "", USERPROFILE: path.join(base, "missing-user"), HOME: path.join(base, "missing-home") }
243
+ });
244
+ assert.equal(result.status, 0, result.stderr);
245
+ const output = JSON.parse(result.stdout);
246
+ assert.equal(output.maven_settings_source, "maven-default");
247
+ assert.equal(output.maven_settings_available, false);
248
+ assert.equal(output.dependency_resolution, "deferred");
249
+ assert.equal(output.network_access_during_generation, "disabled");
250
+ for (const module of ["server", "core", "client", "repository", "adapter", "feign-client"]) {
251
+ await stat(path.join(target, module, "pom.xml"));
252
+ }
253
+ await stat(path.join(target, "mvnw"));
254
+ assert.equal((await readdir(target)).includes("settings.xml"), false);
255
+ });
256
+ test("拒绝非空目标目录", async (t) => {
257
+ const base = await mkdtemp(path.join(os.tmpdir(), "data-analysis-scaffold-nonempty-")); t.after(() => rm(base, { recursive: true, force: true })); await mkdir(base, { recursive: true }); await writeFile(path.join(base, "keep.txt"), "keep");
258
+ const result = run(["--project-name", "data-analysis-item1", "--base-package", "com.yss.dataanalysis.item1", "--target-dir", base]); assert.notEqual(result.status, 0); assert.match(result.stderr, /目标目录非空/);
259
+ });
260
+ test("允许已存在的空目标目录", async (t) => {
261
+ const base = await mkdtemp(path.join(os.tmpdir(), "data-analysis-empty-target-")); t.after(() => rm(base, { recursive: true, force: true }));
262
+ const target = path.join(base, "data-analysis-item-empty"); await mkdir(target);
263
+ const result = run(["--project-name", "data-analysis-item-empty", "--base-package", "com.yss.dataanalysis.empty", "--target-dir", target]);
264
+ assert.equal(result.status, 0, result.stderr);
265
+ assert.equal(path.resolve(spawnSync("git", ["-C", target, "rev-parse", "--show-toplevel"], { encoding: "utf8" }).stdout.trim()), path.resolve(target));
266
+ });
267
+ test("嵌套在父仓目录时仍初始化为独立 Git 根", async (t) => {
268
+ const parent = await mkdtemp(path.join(os.tmpdir(), "data-analysis-parent-repo-")); t.after(() => rm(parent, { recursive: true, force: true }));
269
+ assert.equal(spawnSync("git", ["init", "--initial-branch=parent-main", parent], { encoding: "utf8" }).status, 0);
270
+ const target = path.join(parent, "data-analysis-item2");
271
+ const result = run(["--project-name", "data-analysis-item2", "--base-package", "com.yss.dataanalysis.item2", "--target-dir", target]);
272
+ assert.equal(result.status, 0, result.stderr);
273
+ assert.equal(path.resolve(spawnSync("git", ["-C", target, "rev-parse", "--show-toplevel"], { encoding: "utf8" }).stdout.trim()), path.resolve(target));
274
+ assert.equal(spawnSync("git", ["-C", target, "branch", "--show-current"], { encoding: "utf8" }).stdout.trim(), "main");
275
+ });
276
+ test("dry-run 不创建目录或 Git 仓库", async (t) => {
277
+ const base = await mkdtemp(path.join(os.tmpdir(), "data-analysis-dry-run-")); t.after(() => rm(base, { recursive: true, force: true }));
278
+ const target = path.join(base, "data-analysis-item3");
279
+ const result = run(["--project-name", "data-analysis-item3", "--base-package", "com.yss.dataanalysis.item3", "--target-dir", target, "--dry-run"]);
280
+ assert.equal(result.status, 0, result.stderr);
281
+ assert.match(result.stdout, /"mode": "dry-run"/);
282
+ assert.equal(spawnSync("git", ["-C", target, "rev-parse", "--show-toplevel"], { encoding: "utf8" }).status, 128);
283
+ });
284
+ test("Git 预检失败时不留下目标目录或 staging", async (t) => {
285
+ const base = await mkdtemp(path.join(os.tmpdir(), "data-analysis-no-git-")); t.after(() => rm(base, { recursive: true, force: true }));
286
+ const target = path.join(base, "data-analysis-item4");
287
+ const result = run(["--project-name", "data-analysis-item4", "--base-package", "com.yss.dataanalysis.item4", "--target-dir", target], { env: { ...process.env, PATH: "" } });
288
+ assert.notEqual(result.status, 0); assert.match(result.stderr, /未检测到可用的 Git/);
289
+ await assert.rejects(stat(target), { code: "ENOENT" });
290
+ assert.deepEqual((await readdir(base)).filter((name) => name.includes(".staging-")), []);
291
+ });
292
+ test("staging 创建后中间步骤失败时只清理本轮 staging", async (t) => {
293
+ const base = await mkdtemp(path.join(os.tmpdir(), "data-analysis-git-init-fail-")); t.after(() => rm(base, { recursive: true, force: true }));
294
+ const occupied = path.join(base, ".data-analysis-item5.staging-occupied"); await mkdir(occupied); await writeFile(path.join(occupied, "keep.txt"), "keep");
295
+ const target = path.join(base, "data-analysis-item5");
296
+ const result = run(["--project-name", "data-analysis-item5", "--base-package", "com.yss.dataanalysis.item5", "--target-dir", target], { env: { ...process.env, NODE_ENV: "test", YSS_SCAFFOLD_TEST_FAIL_AFTER_STAGING: "1" } });
297
+ assert.notEqual(result.status, 0); assert.match(result.stderr, /staging 后失败/);
298
+ await assert.rejects(stat(target), { code: "ENOENT" });
299
+ assert.equal(await readFile(path.join(occupied, "keep.txt"), "utf8"), "keep");
300
+ assert.deepEqual((await readdir(base)).filter((name) => name.startsWith(".data-analysis-item5.staging-") && name !== path.basename(occupied)), []);
301
+ });
302
+ test("生成期间空目标目录被写入时保留新内容并拒绝替换", async (t) => {
303
+ const base = await mkdtemp(path.join(os.tmpdir(), "data-analysis-target-race-")); t.after(() => rm(base, { recursive: true, force: true }));
304
+ const target = path.join(base, "data-analysis-item6"); await mkdir(target);
305
+ const result = run(["--project-name", "data-analysis-item6", "--base-package", "com.yss.dataanalysis.item6", "--target-dir", target], { env: { ...process.env, NODE_ENV: "test", YSS_SCAFFOLD_TEST_WRITE_TARGET_DURING_STAGING: "1" } });
306
+ assert.notEqual(result.status, 0);
307
+ assert.equal(await readFile(path.join(target, "keep.txt"), "utf8"), "concurrent content\n");
308
+ assert.deepEqual((await readdir(base)).filter((name) => name.startsWith(".data-analysis-item6.staging-")), []);
309
+ });
310
+ test("结构验证器拒绝与生成清单不一致的实现仓登记", async (t) => {
311
+ const base = await mkdtemp(path.join(os.tmpdir(), "data-analysis-registry-drift-")); t.after(() => rm(base, { recursive: true, force: true }));
312
+ const target = path.join(base, "data-analysis-item7");
313
+ const result = run(["--project-name", "data-analysis-item7", "--base-package", "com.yss.dataanalysis.item7", "--target-dir", target]);
314
+ assert.equal(result.status, 0, result.stderr);
315
+ const registryPath = path.join(target, "docs/process/implementation-repo-registry.yaml");
316
+ const registry = await readFile(registryPath, "utf8");
317
+ await writeFile(registryPath, registry.replace("repository_scope: external-repository", "repository_scope: harness-apps"));
318
+ const verification = spawnSync(process.execPath, [verifyScript, "--project-root", target], { encoding: "utf8" });
319
+ assert.notEqual(verification.status, 0);
320
+ assert.match(verification.stderr, /实现仓登记与生成清单不一致/);
321
+ });
322
+ test("OceanBase Oracle 仅生成指定驱动并保持 Java 8 基线", async (t) => {
323
+ const base = await mkdtemp(path.join(os.tmpdir(), "data-analysis-oceanbase-")); t.after(() => rm(base, { recursive: true, force: true }));
324
+ const target = path.join(base, "data-analysis-item8");
325
+ const result = run(["--project-name", "data-analysis-item8", "--base-package", "com.yss.dataanalysis.item8", "--target-dir", target, "--database", "oceanbase-oracle", "--with-mock"]);
326
+ assert.equal(result.status, 0, result.stderr);
327
+ const parentPom = await readFile(path.join(target, "pom.xml"), "utf8");
328
+ const repositoryPom = await readFile(path.join(target, "repository/pom.xml"), "utf8");
329
+ assert.match(parentPom, /<java.version>1.8<\/java.version>/);
330
+ assert.match(parentPom, /<version>2.0.0-SNAPSHOT<\/version>/);
331
+ assert.match(repositoryPom, /oceanbase-client/);
332
+ assert.doesNotMatch(repositoryPom, /ojdbc8/);
333
+ const querySource = await readFile(path.join(target, "client/src/main/java/com/yss/dataanalysis/item8/client/query/AnalysisQuery.java"), "utf8");
334
+ assert.doesNotMatch(querySource, /\brecord\b|List\.of|Map\.of|jakarta\./);
335
+ const verification = spawnSync(process.execPath, [verifyScript, "--project-root", target], { encoding: "utf8" });
336
+ assert.equal(verification.status, 0, verification.stderr);
337
+ });
@@ -0,0 +1,66 @@
1
+ import { cp, readFile, writeFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+
4
+ import { HARNESS_ROOT, MODULES, PROJECT_SCRIPT_FILES, exists, fail } from "./runtime.mjs";
5
+ import { put } from "./storage.mjs";
6
+
7
+ const TEMPLATE_SOURCE_COMMAND = /scripts\/(?:verify-template(?:-fast|-candidate)?|sync-skills|update-skill-lock|export-yss-skills|verify-upstream-skill-source|verify-maintenance-checkpoint|verify-implementation-path-scenarios|gitworks)/g;
8
+
9
+ function removeTemplateSourceCommands(content) {
10
+ return content.replace(TEMPLATE_SOURCE_COMMAND, "上游 Harness 专用命令");
11
+ }
12
+
13
+ export async function writeProjectEnvelope(o) {
14
+ await put(o.targetDir, "yss-project.yaml", "schema_version: 1\nrepository_mode: project-instance");
15
+ await put(o.targetDir, ".artifact-workspace.yaml", `schema_version: 1\nkind: service\nservice_id: ${o.projectName}\nowner: ${JSON.stringify(o.gitAuthor)}`);
16
+ await cp(path.join(HARNESS_ROOT, "AGENTS.md"), path.join(o.targetDir, "AGENTS.md"));
17
+ const generatedAgents = await readFile(path.join(o.targetDir, "AGENTS.md"), "utf8");
18
+ await writeFile(path.join(o.targetDir, "AGENTS.md"), generatedAgents
19
+ .replaceAll(".agents/skills", "../skillUtils/.agents/skills")
20
+ .replaceAll(".codex/skills", "../skillUtils/.codex/skills")
21
+ .replace("- 模板维护默认以 `scripts/verify-template-fast` 完成 `implementation-ready`;显式晋级审查时用 `scripts/verify-template-candidate`,首次冻结前和最终发布前仍必须执行完整 `scripts/verify-template`。后者是不可裁剪的模板发布阻断门禁。模板与外部 `create-yss-spec` 的跨仓库契约未完成集成验证时,不得声称可发布。", "- 模板发布门禁只在上游 Harness 模板源执行;当前项目实例不分发或运行模板验证命令。"), "utf8");
22
+ await put(o.targetDir, "CONTEXT.md", "# 领域上下文\n\n## 业务术语\n\n| 术语 | 定义 | 英文标识 | 避免 / 备注 |\n|---|---|---|---|\n| 分析数据集 | 支撑一个数据分析功能的表结构、字段语义和查询边界。 | AnalysisDataset | 具体业务术语在需求分析后补充 |\n| 分析结果 | 数据分析接口返回的分页明细或聚合结果。 | AnalysisResult | 不表示未经约束的原始结果集 |");
23
+ for (const relative of ["docs/agents", "docs/process", "docs/templates", "docs/architecture/templates"]) {
24
+ const source = path.join(HARNESS_ROOT, relative);
25
+ if (!await exists(source)) fail(`项目实例治理资产不存在: ${source}`);
26
+ await cp(source, path.join(o.targetDir, relative), { recursive: true });
27
+ }
28
+ const integrationPath = path.join(o.targetDir, "docs/process/implementation-repo-integration.md");
29
+ const integration = (await readFile(integrationPath, "utf8"))
30
+ .replace("模板仓库至少执行:", "以下命令仅由上游 Harness 模板源执行,项目实例不分发这些模板维护工具:")
31
+ .replace(/scripts\/sync-skills --check\r?\nscripts\/update-skill-lock --check\r?\nscripts\/verify-template/, "在 Harness 模板源执行 Skill 投影同步、锁文件检查和模板发布校验。");
32
+ await writeFile(integrationPath, integration, "utf8");
33
+ const checklistPath = path.join(o.targetDir, "docs/templates/build-architecture-checklist-template.md");
34
+ await writeFile(checklistPath, (await readFile(checklistPath, "utf8")).replace("scripts/verify-implementation-path-scenarios", "node scripts/implementation-path-policy"), "utf8");
35
+ for (const relative of ["AGENTS.md", "docs/process/implementation-repo-integration.md", "docs/process/harness-process-tailoring.md", "docs/templates/build-architecture-checklist-template.md"]) {
36
+ const target = path.join(o.targetDir, relative);
37
+ await writeFile(target, removeTemplateSourceCommands(await readFile(target, "utf8")), "utf8");
38
+ }
39
+ const agentReadmePath = path.join(o.targetDir, "docs/agents/README.md");
40
+ const agentReadme = (await readFile(agentReadmePath, "utf8"))
41
+ .replace("Engineering Skills 的安装、升级和验证说明", "项目实例使用共享 `skillUtils` 的版本检查说明")
42
+ .replace("GitLab、MR、CI 和自动 gitworks 的技能配置与使用规则", "GitLab、MR 和 CI 的 `glab` 使用规则");
43
+ await writeFile(agentReadmePath, agentReadme, "utf8");
44
+ const issueTrackerPath = path.join(o.targetDir, "docs/agents/issue-tracker.md");
45
+ await writeFile(issueTrackerPath, (await readFile(issueTrackerPath, "utf8")).replace("当平台为 GitLab 时,优先使用 `glab` 或项目快捷入口 `scripts/gitworks`。", "当平台为 GitLab 时,使用已认证的 `glab`。"), "utf8");
46
+ const tailoringPath = path.join(o.targetDir, "docs/process/harness-process-tailoring.md");
47
+ await writeFile(tailoringPath, (await readFile(tailoringPath, "utf8")).replace("使用 `scripts/verify-maintenance-checkpoint <file>` 或通过 stdin 传入 YAML / JSON 做只读校验。触发项 ID 与最低等级只由 `docs/process/maintenance-intensity.yaml` 维护;校验器消费该策略。未知触发项必须先更新该权威策略和场景,不能静默接受。", "维护 checkpoint 校验只在上游 Harness 模板源执行。触发项 ID 与最低等级只由 `docs/process/maintenance-intensity.yaml` 维护;未知触发项必须先更新该权威策略和场景,不能静默接受。"), "utf8");
48
+ await put(o.targetDir, "docs/agents/skills-maintenance.md", "# 项目实例 Skill 环境\n\n本项目不维护或发布共享 Skill。共享 Skill 位于相邻的 `../skillUtils`,版本由项目根 `skills-lock.json` 锁定。\n\n开发前执行:\n\n```bash\nnpm run check-agent-environment\n```\n\n输出 `READY` 表示工具版本、兼容协议、Agent 投影和 canonical Skill hash 一致。输出 `NOT_READY` 时停止功能实现,使用上游 Harness 的项目初始化或刷新流程更新 `skillUtils`;不要在项目内手工同步、导出或覆盖共享 Skill。\n\n项目实例只消费已提交的 `scripts/lib/*.mjs` 和 `scripts/vendor/*.mjs`。模板发布、Skill 投影生成、上游来源验证和公开导出均属于 Harness 模板源维护,不在本项目执行。");
49
+ await put(o.targetDir, "docs/agents/gitlab-workflow-skills.md", "# GitLab 工作流\n\n本项目不分发 GitLab 包装脚本。需要查看 MR、Pipeline 或 CI 时,使用已认证的 `glab`,并先确认当前仓库的 `origin` 指向目标 GitLab 项目。\n\n常用只读命令:\n\n```bash\ngit status --short --branch\nglab mr list\nglab ci list\nglab ci status\n```\n\n创建分支、commit、push、MR 或触发 Pipeline 都必须遵守 `AGENTS.md` 的显式授权和 checkpoint 规则。Token 只通过 `glab auth login` 或环境变量管理,不写入仓库文件。");
50
+ for (const relative of PROJECT_SCRIPT_FILES) await cp(path.join(HARNESS_ROOT, "scripts", relative), path.join(o.targetDir, "scripts", relative));
51
+ for (const relative of ["lib", "vendor"]) await cp(path.join(HARNESS_ROOT, "scripts", relative), path.join(o.targetDir, "scripts", relative), { recursive: true });
52
+ for (const relative of ["package.json", "skills-lock.json", ".nvmrc"]) {
53
+ const source = path.join(HARNESS_ROOT, relative);
54
+ if (await exists(source)) await cp(source, path.join(o.targetDir, relative));
55
+ }
56
+ await put(o.targetDir, "skills-lock.json", JSON.stringify({ version: 1, distribution: { mode: "sibling-directory", skillUtilsDir: "../skillUtils", required: true, compatibility: "skill-utils-v1", requiredToolVersion: "1.0.0" }, skills: { source: "../skillUtils/skills-lock.json", validation: "scripts/check-agent-environment.mjs" } }, null, 2));
57
+ await put(o.targetDir, "package.json", JSON.stringify({ name: o.projectName, private: true, scripts: { "check-agent-environment": "node scripts/check-agent-environment.mjs", "verify-project": "node scripts/verify-lifecycle-registry", "verify-dto": "node scripts/verify-yss-dto-openapi-profile" } }, null, 2));
58
+ await put(o.targetDir, "docs/process/analysis-project.yaml", `project_name: ${o.projectName}\nproject_type: data-analysis\nrepository_scope: external-repository\nimplementation_root: .\nruntime_java: 8\npersistence_profile: yss-mybatis-plus\nid_strategy: ASSIGN_ID\ndatabase:\n type: ${o.database}\n runtime_connection: true\n metadata_contract: docs/data-model\nquery:\n sql_mode: readonly\n allowed_statement_types: [select, with]\n parameter_binding_required: true\nmodules:\n${MODULES.map((module) => ` - ${module}`).join("\n")}\nworkflow:\n - requirement-and-data-contract\n - specification-freeze\n - vertical-slice-implementation\n - automated-gates\n - single-release-confirmation\n - runtime-monitoring`);
59
+ await put(o.targetDir, "docs/process/implementation-repo-registry.yaml", `schema_version: 1\nprojects:\n - project_type: backend\n project_name: ${o.projectName}\n project_root: .\n git_root: .\n repository_scope: external-repository\n scaffold_status: initialized\n default_branch: main\n allowed_write_paths:\n - .\n verification_commands:\n - mvnw com.coveo:fmt-maven-plugin:2.9.1:check\n - mvnw validate\n - mvnw test\n - mvnw package\n expected_evidence_files:\n - docs/.scratch/<feature>/verification/yss-skill-execution-result.yaml\n - docs/.scratch/<feature>/verification/fresh-verification.md\n ci: not-configured\n rollback_point: initial-empty-repository`);
60
+ await put(o.targetDir, "docs/.scratch/.gitkeep", "# Local lifecycle artifacts are created in feature subdirectories.");
61
+ await put(o.targetDir, "docs/service/service-overview.md", `# ${o.projectName} 服务说明\n\nOwner: ${o.gitAuthor}\n\n## 职责\n\n提供数据分析服务能力;具体业务职责在产品服务登记和功能 Spec 中维护。\n\n## 非职责\n\n## 依赖服务\n`);
62
+ await put(o.targetDir, "docs/service/module-map.md", `# ${o.projectName} Module 地图\n\n| Module | 职责 | 主要 Interface |\n|---|---|---|\n| server | Web 入口与运行配置 | HTTP Controller |\n| core | 领域与应用行为 | Domain/Application Interface |\n| client | 对外 DTO 与客户端契约 | Request/Response |\n| repository | 数据持久化 | Gateway/Repository |\n| adapter | 外部系统适配 | Adapter |\n| feign-client | 服务间调用客户端 | Feign Interface |\n`);
63
+ await put(o.targetDir, "docs/service/current-capabilities.md", "# 当前能力\n\n本文件是发布时生成的派生阅读视图,普通功能开发不手工修改。功能详情位于 `docs/features/`,开发中功能位于 `docs/.scratch/`。\n");
64
+ await put(o.targetDir, "docs/engineering/data-analysis-java-conventions.md", `# 数据分析 Java 工程规范\n\n变量、参数和字段必须使用业务含义名称。public 类、接口和方法必须有简体中文 Javadoc;Controller 类和公开接口方法使用初始化时读取的 Git user.name(本项目为 @author ${o.gitAuthor})和生成时的 @date,方法参数、返回值分别使用 @param、@return 完整说明。Javadoc 正文、@author、@date、@param、@return 必须分行;Mapping 注解、方法签名、方法体不得压缩在同一行。\n`);
65
+ await put(o.targetDir, ".gitignore", "target/\n**/target/\n.idea/\n*.iml\n.env\n.env.*\n!.env.example\n.local/\n");
66
+ }
@@ -0,0 +1,115 @@
1
+ import { existsSync } from "node:fs";
2
+ import { stat } from "node:fs/promises";
3
+ import { spawnSync } from "node:child_process";
4
+ import os from "node:os";
5
+ import path from "node:path";
6
+ import { fileURLToPath } from "node:url";
7
+
8
+ export const MODULES = ["server", "core", "client", "repository", "adapter", "feign-client"];
9
+ export const SKILL_ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../..");
10
+ export const HARNESS_ROOT = findHarnessRoot();
11
+ export const SHARED_SKILLS_ROOT = path.join(HARNESS_ROOT, ".agents", "skills");
12
+ export const SKILL_UTILS_NAME = "skillUtils";
13
+ export const SKILL_UTILS_DIRECTORIES = [
14
+ ".agents/skills", ".claude/skills", ".codex/skills", ".cursor/skills",
15
+ ".pi/skills", ".qoder/skills", ".trae/skills"
16
+ ];
17
+ export const PROJECT_SCRIPT_FILES = [
18
+ "check-agent-environment.mjs", "implementation-path-policy", "repository-mode", "repository-scope-policy",
19
+ "generate-lifecycle-artifacts", "node-generate-lifecycle-artifacts.mjs", "node-verify-lifecycle-registry.mjs",
20
+ "verify-lifecycle-registry", "verify-lifecycle-checkpoint", "verify-frontend-implementation-evidence",
21
+ "verify-yss-dto-openapi-profile"
22
+ ];
23
+
24
+ export function findHarnessRoot() {
25
+ let candidate = SKILL_ROOT;
26
+ while (true) {
27
+ if (existsSync(path.join(candidate, ".agents", "skills")) && existsSync(path.join(candidate, "AGENTS.md"))) return candidate;
28
+ const parent = path.dirname(candidate);
29
+ if (parent === candidate) break;
30
+ candidate = parent;
31
+ }
32
+ throw new Error(`未找到插件 Harness 根目录: ${SKILL_ROOT}`);
33
+ }
34
+
35
+ export function fail(message) { throw new Error(message); }
36
+
37
+ export function parseArgs(argv) {
38
+ const options = { database: "oracle", withMock: false, dryRun: false };
39
+ const fields = {
40
+ "--project-name": "projectName", "--base-package": "basePackage", "--target-dir": "targetDir",
41
+ "--database": "database", "--maven-settings": "mavenSettings"
42
+ };
43
+ for (let index = 0; index < argv.length; index += 1) {
44
+ let token = argv[index];
45
+ if (token === "--with-mock") { options.withMock = true; continue; }
46
+ if (token === "--dry-run") { options.dryRun = true; continue; }
47
+ if (token === "--help" || token === "-h") { options.help = true; continue; }
48
+ const equals = token.indexOf("=");
49
+ let value = equals >= 0 ? token.slice(equals + 1) : undefined;
50
+ if (equals >= 0) token = token.slice(0, equals);
51
+ if (!fields[token]) fail(`不支持的参数: ${token}`);
52
+ if (value === undefined) value = argv[++index];
53
+ if (!value || value.startsWith("--")) fail(`参数 ${token} 缺少值`);
54
+ options[fields[token]] = value;
55
+ }
56
+ if (options.help) return options;
57
+ if (!options.projectName || !/^[a-z][a-z0-9-]*$/.test(options.projectName)) fail("--project-name 必须是小写连字符名称");
58
+ if (!options.basePackage || !/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)+$/.test(options.basePackage)) fail("--base-package 不是合法 Java 包名");
59
+ if (!options.targetDir) fail("必须提供 --target-dir");
60
+ if (!["oracle", "oceanbase-oracle"].includes(options.database)) fail("--database 只支持 oracle 或 oceanbase-oracle");
61
+ options.targetDir = path.resolve(options.targetDir);
62
+ if (options.mavenSettings) options.mavenSettings = path.resolve(options.mavenSettings);
63
+ return options;
64
+ }
65
+
66
+ export async function exists(target) {
67
+ try { await stat(target); return true; } catch (error) {
68
+ if (error.code === "ENOENT") return false;
69
+ throw error;
70
+ }
71
+ }
72
+
73
+ export function xml(value) { return value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;"); }
74
+ export function packagePath(name) { return name.replaceAll(".", "/"); }
75
+ export function generatedAtLocal() {
76
+ const now = new Date();
77
+ const pad = (value) => String(value).padStart(2, "0");
78
+ return `${now.getFullYear()}/${pad(now.getMonth() + 1)}/${pad(now.getDate())} ${pad(now.getHours())}:${pad(now.getMinutes())}`;
79
+ }
80
+
81
+ export function runGit(args, cwd) { return spawnSync("git", args, { cwd, encoding: "utf8" }); }
82
+ export function assertGitAvailable() {
83
+ const result = runGit(["--version"], process.cwd());
84
+ if (result.status !== 0) fail("未检测到可用的 Git,无法初始化独立项目仓库");
85
+ }
86
+ export function resolveGitAuthor() {
87
+ const result = runGit(["config", "--get", "user.name"], process.cwd());
88
+ const author = result.status === 0 ? result.stdout.trim() : "";
89
+ if (!author) fail("未配置 Git user.name;请先执行 git config --global user.name \"你的姓名\"");
90
+ if (/[\r\n]|\*\//.test(author)) fail("Git user.name 包含不能安全写入 Javadoc 的字符");
91
+ return author;
92
+ }
93
+ export function initializeGit(root) {
94
+ let result = runGit(["init", "--initial-branch=main"], root);
95
+ if (result.status !== 0) {
96
+ result = runGit(["init"], root);
97
+ if (result.status === 0) result = runGit(["branch", "-M", "main"], root);
98
+ }
99
+ if (result.status !== 0) fail(`Git 仓库初始化失败: ${(result.stderr || result.stdout).trim()}`);
100
+ }
101
+
102
+ export async function resolveMavenSettings(options) {
103
+ if (options.mavenSettings) {
104
+ if (!await exists(options.mavenSettings)) fail(`Maven settings 不存在: ${options.mavenSettings}`);
105
+ return { path: options.mavenSettings, source: "explicit", available: true };
106
+ }
107
+ if (process.env.YSS_MAVEN_SETTINGS) {
108
+ const environmentPath = path.resolve(process.env.YSS_MAVEN_SETTINGS);
109
+ if (!await exists(environmentPath)) fail(`Maven settings 不存在: ${environmentPath}`);
110
+ return { path: environmentPath, source: "environment", available: true };
111
+ }
112
+ const userSettings = path.join(os.homedir(), ".m2", "settings.xml");
113
+ if (await exists(userSettings)) return { path: userSettings, source: "user-home", available: true };
114
+ return { path: null, source: "maven-default", available: false };
115
+ }
@@ -0,0 +1,90 @@
1
+ import { cp, mkdir, mkdtemp, readFile, readdir, rename, rm, stat, writeFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+
4
+ import {
5
+ HARNESS_ROOT,
6
+ SKILL_ROOT,
7
+ SKILL_UTILS_DIRECTORIES,
8
+ SKILL_UTILS_NAME,
9
+ fail,
10
+ exists
11
+ } from "./runtime.mjs";
12
+
13
+ const BOOTSTRAP_ONLY_SKILLS = ["yss-mvc-scaffold-generator"];
14
+
15
+ async function distributedSkillLock() {
16
+ const source = path.join(HARNESS_ROOT, "skills-lock.json");
17
+ if (!await exists(source)) fail(`技能工具包源锁文件不存在: ${source}`);
18
+ const lock = JSON.parse(await readFile(source, "utf8"));
19
+ for (const name of BOOTSTRAP_ONLY_SKILLS) {
20
+ delete lock.skills?.shared?.[name];
21
+ for (const platform of Object.values(lock.skills?.platform ?? {})) delete platform?.[name];
22
+ }
23
+ return `${JSON.stringify(lock, null, 2)}\n`;
24
+ }
25
+
26
+ export async function assertEmpty(target) {
27
+ if (!await exists(target)) return;
28
+ if ((await readdir(target)).length) fail(`目标目录非空,拒绝生成: ${target}`);
29
+ }
30
+
31
+ export async function put(root, relative, content, author) {
32
+ const target = path.join(root, relative);
33
+ const rendered = author ? content.replaceAll("@author system", `@author ${author}`) : content;
34
+ await mkdir(path.dirname(target), { recursive: true });
35
+ await writeFile(target, `${rendered.trim()}\n`, "utf8");
36
+ }
37
+
38
+ export async function renderAsset(name, replacements) {
39
+ let content = await readFile(path.join(SKILL_ROOT, "assets", name), "utf8");
40
+ for (const [token, value] of Object.entries(replacements)) content = content.replaceAll(`{{${token}}}`, value);
41
+ return content;
42
+ }
43
+
44
+ async function populateSkillUtils(destination) {
45
+ await mkdir(destination, { recursive: true });
46
+ for (const relative of SKILL_UTILS_DIRECTORIES) {
47
+ const source = path.join(HARNESS_ROOT, relative);
48
+ if (!await exists(source)) fail(`技能工具包源目录不存在: ${source}`);
49
+ await cp(source, path.join(destination, relative), { recursive: true });
50
+ }
51
+ for (const root of SKILL_UTILS_DIRECTORIES) {
52
+ for (const name of BOOTSTRAP_ONLY_SKILLS) {
53
+ await rm(path.join(destination, root, name), { recursive: true, force: true });
54
+ }
55
+ }
56
+ await writeFile(path.join(destination, "skills-lock.json"), await distributedSkillLock(), "utf8");
57
+ const publicSkills = path.join(HARNESS_ROOT, "yss-public-skills.json");
58
+ if (!await exists(publicSkills)) fail(`技能工具包源文件不存在: ${publicSkills}`);
59
+ await cp(publicSkills, path.join(destination, "yss-public-skills.json"));
60
+ await writeFile(path.join(destination, "skill-utils.yaml"), `schema_version: 1\nkind: yss-skill-utils\ntool_version: 1.0.0\ncompatibility: skill-utils-v1\nsource: ${path.basename(HARNESS_ROOT)}\ncanonical_root: .agents/skills\nprojection_roots:\n - .codex/skills\n - .claude/skills\n - .cursor/skills\nexcluded_skills:\n - yss-mvc-scaffold-generator\n`, "utf8");
61
+ }
62
+
63
+ export async function ensureSkillUtils(targetDir, { apply = true } = {}) {
64
+ const parent = path.dirname(targetDir);
65
+ const skillUtils = path.join(parent, SKILL_UTILS_NAME);
66
+ const marker = path.join(skillUtils, "skill-utils.yaml");
67
+ const expectedLock = await distributedSkillLock();
68
+ if (await exists(skillUtils)) {
69
+ if (!await exists(marker)) fail(`技能工具包目录已存在但不是受支持的 skillUtils: ${skillUtils}`);
70
+ const installedLock = path.join(skillUtils, "skills-lock.json");
71
+ const current = await exists(installedLock) ? await readFile(installedLock, "utf8") : "";
72
+ if (current === expectedLock) return { path: skillUtils, created: false, refreshed: false, backup: null };
73
+ if (!apply) return { path: skillUtils, created: false, refreshed: true, backup: null };
74
+ const staging = await mkdtemp(path.join(parent, ".skillUtils.refresh-"));
75
+ const backup = path.join(parent, `.skillUtils.backup-${Date.now()}`);
76
+ try {
77
+ await populateSkillUtils(staging);
78
+ await rename(skillUtils, backup);
79
+ try { await rename(staging, skillUtils); }
80
+ catch (error) { await rename(backup, skillUtils); throw error; }
81
+ } catch (error) {
82
+ if (await exists(staging)) await rm(staging, { recursive: true, force: true });
83
+ throw error;
84
+ }
85
+ return { path: skillUtils, created: false, refreshed: true, backup };
86
+ }
87
+ if (!apply) return { path: skillUtils, created: true, refreshed: false, backup: null };
88
+ await populateSkillUtils(skillUtils);
89
+ return { path: skillUtils, created: true, refreshed: false, backup: null };
90
+ }