create-yss-spec 2.2.10 → 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 (1721) 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/ask-matt/SKILL.md +1 -1
  7. package/template/.agents/skills/code-review/SKILL.md +1 -1
  8. package/template/.agents/skills/code-review/references/yss-review-standards.md +1 -1
  9. package/template/.agents/skills/lombok/SKILL.md +1 -1
  10. package/template/.agents/skills/mapstruct/SKILL.md +1 -1
  11. package/template/.agents/skills/prototype-review/SKILL.md +7 -6
  12. package/template/.agents/skills/wayfinder/SKILL.md +2 -2
  13. package/template/.agents/skills/yss-antd-design/SKILL.md +8 -7
  14. package/template/.agents/skills/yss-antd-design/references/evidence.md +11 -6
  15. package/template/.agents/skills/yss-api-integration/SKILL.md +2 -2
  16. package/template/.agents/skills/yss-application/SKILL.md +2 -2
  17. package/template/.agents/skills/yss-audit-log/SKILL.md +2 -2
  18. package/template/.agents/skills/yss-audit-log/references/source-index.md +1 -1
  19. package/template/.agents/skills/yss-cache/SKILL.md +2 -2
  20. package/template/.agents/skills/yss-cache/references/source-index.md +1 -1
  21. package/template/.agents/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  22. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +18 -7
  23. package/template/.agents/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  24. package/template/.agents/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +3 -3
  25. package/template/.agents/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +14 -3
  26. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -2
  27. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +48 -14
  28. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +164 -0
  29. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +24 -10
  30. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +172 -0
  31. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  32. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +21 -8
  33. package/template/.agents/skills/yss-design-system/SKILL.md +6 -6
  34. package/template/.agents/skills/yss-distributed-id/SKILL.md +2 -2
  35. package/template/.agents/skills/yss-distributed-id/references/source-index.md +1 -1
  36. package/template/.agents/skills/yss-domain/SKILL.md +3 -2
  37. package/template/.agents/skills/yss-domain/agents/openai.yaml +2 -2
  38. package/template/.agents/skills/yss-domain/references/domain-layer-guide.md +2 -0
  39. package/template/.agents/skills/yss-dto/SKILL.md +8 -2
  40. package/template/.agents/skills/yss-dto/references/openapi-wire-profile.yaml +6 -0
  41. package/template/.agents/skills/yss-dto/references/source-index.md +1 -1
  42. package/template/.agents/skills/yss-excel-mvc/SKILL.md +2 -2
  43. package/template/.agents/skills/yss-excel-mvc/references/source-index.md +1 -1
  44. package/template/.agents/skills/yss-exception/SKILL.md +1 -1
  45. package/template/.agents/skills/yss-exception/references/source-index.md +1 -1
  46. package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +55 -0
  47. package/template/.agents/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  48. package/template/.agents/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
  49. package/template/.agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +314 -0
  50. package/template/.agents/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +197 -0
  51. package/template/.agents/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +69 -0
  52. package/template/.agents/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
  53. package/template/.agents/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
  54. package/template/.agents/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  55. package/template/.agents/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  56. package/template/.agents/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  57. package/template/.agents/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  58. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
  59. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
  60. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
  61. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  62. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  63. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  64. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  65. package/template/.agents/skills/yss-mybatis/SKILL.md +2 -2
  66. package/template/.agents/skills/yss-mybatis/references/source-index.md +1 -1
  67. package/template/.agents/skills/yss-page-module-development/SKILL.md +1 -1
  68. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +7 -7
  69. package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -7
  70. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +37 -27
  71. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +7 -7
  72. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +1 -1
  73. package/template/.agents/skills/yss-prototype-stage/SKILL.md +34 -24
  74. package/template/.agents/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
  75. package/template/.agents/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
  76. package/template/.agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
  77. package/template/.agents/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
  78. package/template/.agents/skills/yss-repository/SKILL.md +16 -14
  79. package/template/.agents/skills/yss-repository/agents/openai.yaml +2 -2
  80. package/template/.agents/skills/yss-repository/references/infrastructure-layer-guide.md +1 -1
  81. package/template/.agents/skills/yss-research/SKILL.md +73 -0
  82. package/template/.agents/skills/yss-research/agents/openai.yaml +3 -0
  83. package/template/.agents/skills/yss-research/assets/evidence-template.yaml +68 -0
  84. package/template/.agents/skills/yss-research/assets/research-brief-template.md +36 -0
  85. package/template/.agents/skills/yss-research/references/evidence-contract.md +42 -0
  86. package/template/.agents/skills/yss-research/scripts/validate-research-package.mjs +128 -0
  87. package/template/.agents/skills/yss-research/tests/run-scenarios.mjs +81 -0
  88. package/template/.agents/skills/yss-resilience4j/SKILL.md +1 -1
  89. package/template/.agents/skills/yss-resilience4j/references/source-index.md +1 -1
  90. package/template/.agents/skills/yss-security-algorithm/SKILL.md +1 -1
  91. package/template/.agents/skills/yss-security-algorithm/references/source-index.md +1 -1
  92. package/template/.agents/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
  93. package/template/.agents/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  94. package/template/.agents/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
  95. package/template/.agents/skills/yss-stage-decision/SKILL.md +2 -1
  96. package/template/.agents/skills/yss-ui/SKILL.md +2 -1
  97. package/template/.agents/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  98. package/template/.agents/skills/yss-up-springboot3/SKILL.md +1 -1
  99. package/template/.agents/skills/yss-userinfo/SKILL.md +1 -1
  100. package/template/.agents/skills/yss-userinfo/references/source-index.md +1 -1
  101. package/template/.agents/skills/yss-validation/SKILL.md +1 -1
  102. package/template/.agents/skills/yss-validation/references/source-index.md +1 -1
  103. package/template/.agents/skills/yss-web-controller/SKILL.md +17 -11
  104. package/template/.agents/skills/yss-web-controller/agents/openai.yaml +2 -2
  105. package/template/.agents/skills/yss-web-controller/assets/templates/Controller.java.template +11 -11
  106. package/template/.agents/skills/yss-web-controller/assets/templates/WebConvertor.java.template +4 -7
  107. package/template/.agents/skills/yss-web-controller/assets/templates/web/dto/CreateRequest.java.template +2 -2
  108. package/template/.agents/skills/yss-web-controller/assets/templates/web/dto/PageRequest.java.template +4 -7
  109. package/template/.agents/skills/yss-web-controller/assets/templates/web/dto/UpdateRequest.java.template +2 -2
  110. package/template/.agents/skills/yss-web-controller/references/web-adapter-layer-guide.md +6 -4
  111. package/template/.agents/skills/yss-web-controller/references/web-generation-contract.schema.json +97 -0
  112. package/template/.agents/skills/yss-web-controller/scripts/generate_controller.mjs +141 -20
  113. package/template/.agents/skills/yss-web-controller/scripts/generate_controller.test.mjs +131 -35
  114. package/template/.claude/skills/ask-matt/SKILL.md +1 -1
  115. package/template/.claude/skills/code-review/SKILL.md +1 -1
  116. package/template/.claude/skills/code-review/references/yss-review-standards.md +1 -1
  117. package/template/.claude/skills/lombok/SKILL.md +1 -1
  118. package/template/.claude/skills/mapstruct/SKILL.md +1 -1
  119. package/template/.claude/skills/prototype-review/SKILL.md +7 -6
  120. package/template/.claude/skills/wayfinder/SKILL.md +2 -2
  121. package/template/.claude/skills/yss-antd-design/SKILL.md +8 -7
  122. package/template/.claude/skills/yss-antd-design/references/evidence.md +11 -6
  123. package/template/.claude/skills/yss-api-integration/SKILL.md +2 -2
  124. package/template/.claude/skills/yss-application/SKILL.md +2 -2
  125. package/template/.claude/skills/yss-audit-log/SKILL.md +2 -2
  126. package/template/.claude/skills/yss-audit-log/references/source-index.md +1 -1
  127. package/template/.claude/skills/yss-cache/SKILL.md +2 -2
  128. package/template/.claude/skills/yss-cache/references/source-index.md +1 -1
  129. package/template/.claude/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  130. package/template/.claude/skills/yss-ddd-scaffold-generator/SKILL.md +18 -7
  131. package/template/.claude/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  132. package/template/.claude/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +3 -3
  133. package/template/.claude/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +14 -3
  134. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -2
  135. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +48 -14
  136. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +164 -0
  137. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +24 -10
  138. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +172 -0
  139. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  140. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +21 -8
  141. package/template/.claude/skills/yss-design-system/SKILL.md +6 -6
  142. package/template/.claude/skills/yss-distributed-id/SKILL.md +2 -2
  143. package/template/.claude/skills/yss-distributed-id/references/source-index.md +1 -1
  144. package/template/.claude/skills/yss-domain/SKILL.md +3 -2
  145. package/template/.claude/skills/yss-domain/agents/openai.yaml +2 -2
  146. package/template/.claude/skills/yss-domain/references/domain-layer-guide.md +2 -0
  147. package/template/.claude/skills/yss-dto/SKILL.md +8 -2
  148. package/template/.claude/skills/yss-dto/references/openapi-wire-profile.yaml +6 -0
  149. package/template/.claude/skills/yss-dto/references/source-index.md +1 -1
  150. package/template/.claude/skills/yss-excel-mvc/SKILL.md +2 -2
  151. package/template/.claude/skills/yss-excel-mvc/references/source-index.md +1 -1
  152. package/template/.claude/skills/yss-exception/SKILL.md +1 -1
  153. package/template/.claude/skills/yss-exception/references/source-index.md +1 -1
  154. package/template/.claude/skills/yss-implementation-contract-compiler/SKILL.md +55 -0
  155. package/template/.claude/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  156. package/template/.claude/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
  157. package/template/.claude/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +314 -0
  158. package/template/.claude/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +197 -0
  159. package/template/.claude/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +69 -0
  160. package/template/.claude/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
  161. package/template/.claude/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
  162. package/template/.claude/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  163. package/template/.claude/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  164. package/template/.claude/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  165. package/template/.claude/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  166. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
  167. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
  168. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
  169. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  170. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  171. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  172. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  173. package/template/.claude/skills/yss-mybatis/SKILL.md +2 -2
  174. package/template/.claude/skills/yss-mybatis/references/source-index.md +1 -1
  175. package/template/.claude/skills/yss-page-module-development/SKILL.md +1 -1
  176. package/template/.claude/skills/yss-product-lifecycle/SKILL.md +7 -7
  177. package/template/.claude/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -7
  178. package/template/.claude/skills/yss-product-lifecycle/references/orchestration-contract.yaml +37 -27
  179. package/template/.claude/skills/yss-product-lifecycle/references/orchestration.md +7 -7
  180. package/template/.claude/skills/yss-product-lifecycle/references/state-model.md +1 -1
  181. package/template/.claude/skills/yss-prototype-stage/SKILL.md +34 -24
  182. package/template/.claude/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
  183. package/template/.claude/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
  184. package/template/.claude/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
  185. package/template/.claude/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
  186. package/template/.claude/skills/yss-repository/SKILL.md +16 -14
  187. package/template/.claude/skills/yss-repository/agents/openai.yaml +2 -2
  188. package/template/.claude/skills/yss-repository/references/infrastructure-layer-guide.md +1 -1
  189. package/template/.claude/skills/yss-research/SKILL.md +73 -0
  190. package/template/.claude/skills/yss-research/agents/openai.yaml +3 -0
  191. package/template/.claude/skills/yss-research/assets/evidence-template.yaml +68 -0
  192. package/template/.claude/skills/yss-research/assets/research-brief-template.md +36 -0
  193. package/template/.claude/skills/yss-research/references/evidence-contract.md +42 -0
  194. package/template/.claude/skills/yss-research/scripts/validate-research-package.mjs +128 -0
  195. package/template/.claude/skills/yss-research/tests/run-scenarios.mjs +81 -0
  196. package/template/.claude/skills/yss-resilience4j/SKILL.md +1 -1
  197. package/template/.claude/skills/yss-resilience4j/references/source-index.md +1 -1
  198. package/template/.claude/skills/yss-security-algorithm/SKILL.md +1 -1
  199. package/template/.claude/skills/yss-security-algorithm/references/source-index.md +1 -1
  200. package/template/.claude/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
  201. package/template/.claude/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  202. package/template/.claude/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
  203. package/template/.claude/skills/yss-stage-decision/SKILL.md +2 -1
  204. package/template/.claude/skills/yss-ui/SKILL.md +2 -1
  205. package/template/.claude/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  206. package/template/.claude/skills/yss-up-springboot3/SKILL.md +1 -1
  207. package/template/.claude/skills/yss-userinfo/SKILL.md +1 -1
  208. package/template/.claude/skills/yss-userinfo/references/source-index.md +1 -1
  209. package/template/.claude/skills/yss-validation/SKILL.md +1 -1
  210. package/template/.claude/skills/yss-validation/references/source-index.md +1 -1
  211. package/template/.claude/skills/yss-web-controller/SKILL.md +17 -11
  212. package/template/.claude/skills/yss-web-controller/agents/openai.yaml +2 -2
  213. package/template/.claude/skills/yss-web-controller/assets/templates/Controller.java.template +11 -11
  214. package/template/.claude/skills/yss-web-controller/assets/templates/WebConvertor.java.template +4 -7
  215. package/template/.claude/skills/yss-web-controller/assets/templates/web/dto/CreateRequest.java.template +2 -2
  216. package/template/.claude/skills/yss-web-controller/assets/templates/web/dto/PageRequest.java.template +4 -7
  217. package/template/.claude/skills/yss-web-controller/assets/templates/web/dto/UpdateRequest.java.template +2 -2
  218. package/template/.claude/skills/yss-web-controller/references/web-adapter-layer-guide.md +6 -4
  219. package/template/.claude/skills/yss-web-controller/references/web-generation-contract.schema.json +97 -0
  220. package/template/.claude/skills/yss-web-controller/scripts/generate_controller.mjs +141 -20
  221. package/template/.claude/skills/yss-web-controller/scripts/generate_controller.test.mjs +131 -35
  222. package/template/.codex/skills/ask-matt/SKILL.md +1 -1
  223. package/template/.codex/skills/code-review/SKILL.md +1 -1
  224. package/template/.codex/skills/code-review/references/yss-review-standards.md +1 -1
  225. package/template/.codex/skills/lombok/SKILL.md +1 -1
  226. package/template/.codex/skills/mapstruct/SKILL.md +1 -1
  227. package/template/.codex/skills/product-design/package.json +4 -2
  228. package/template/.codex/skills/product-design/skills/research/SKILL.md +22 -0
  229. package/template/.codex/skills/product-design/skills/research/assets/evidence-template.yaml +65 -0
  230. package/template/.codex/skills/product-design/skills/research/assets/research-brief-template.md +33 -0
  231. package/template/.codex/skills/product-design/skills/research/references/evidence-audited.md +80 -0
  232. package/template/.codex/skills/product-design/skills/research/scripts/validate-research-package.mjs +149 -0
  233. package/template/.codex/skills/product-design/skills/research/tests/run-scenarios.mjs +72 -0
  234. package/template/.codex/skills/prototype-review/SKILL.md +7 -6
  235. package/template/.codex/skills/wayfinder/SKILL.md +2 -2
  236. package/template/.codex/skills/yss-antd-design/SKILL.md +8 -7
  237. package/template/.codex/skills/yss-antd-design/references/evidence.md +11 -6
  238. package/template/.codex/skills/yss-api-integration/SKILL.md +2 -2
  239. package/template/.codex/skills/yss-application/SKILL.md +2 -2
  240. package/template/.codex/skills/yss-audit-log/SKILL.md +2 -2
  241. package/template/.codex/skills/yss-audit-log/references/source-index.md +1 -1
  242. package/template/.codex/skills/yss-cache/SKILL.md +2 -2
  243. package/template/.codex/skills/yss-cache/references/source-index.md +1 -1
  244. package/template/.codex/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  245. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +18 -7
  246. package/template/.codex/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  247. package/template/.codex/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +3 -3
  248. package/template/.codex/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +14 -3
  249. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -2
  250. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +48 -14
  251. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +164 -0
  252. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +24 -10
  253. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +172 -0
  254. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  255. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +21 -8
  256. package/template/.codex/skills/yss-design-system/SKILL.md +6 -6
  257. package/template/.codex/skills/yss-distributed-id/SKILL.md +2 -2
  258. package/template/.codex/skills/yss-distributed-id/references/source-index.md +1 -1
  259. package/template/.codex/skills/yss-domain/SKILL.md +3 -2
  260. package/template/.codex/skills/yss-domain/agents/openai.yaml +2 -2
  261. package/template/.codex/skills/yss-domain/references/domain-layer-guide.md +2 -0
  262. package/template/.codex/skills/yss-dto/SKILL.md +8 -2
  263. package/template/.codex/skills/yss-dto/references/openapi-wire-profile.yaml +6 -0
  264. package/template/.codex/skills/yss-dto/references/source-index.md +1 -1
  265. package/template/.codex/skills/yss-excel-mvc/SKILL.md +2 -2
  266. package/template/.codex/skills/yss-excel-mvc/references/source-index.md +1 -1
  267. package/template/.codex/skills/yss-exception/SKILL.md +1 -1
  268. package/template/.codex/skills/yss-exception/references/source-index.md +1 -1
  269. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +55 -0
  270. package/template/.codex/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  271. package/template/.codex/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
  272. package/template/.codex/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +314 -0
  273. package/template/.codex/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +197 -0
  274. package/template/.codex/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +69 -0
  275. package/template/.codex/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
  276. package/template/.codex/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
  277. package/template/.codex/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  278. package/template/.codex/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  279. package/template/.codex/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  280. package/template/.codex/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  281. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
  282. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
  283. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
  284. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  285. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  286. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  287. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  288. package/template/.codex/skills/yss-mybatis/SKILL.md +2 -2
  289. package/template/.codex/skills/yss-mybatis/references/source-index.md +1 -1
  290. package/template/.codex/skills/yss-page-module-development/SKILL.md +1 -1
  291. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +7 -7
  292. package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -7
  293. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +37 -27
  294. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +7 -7
  295. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +1 -1
  296. package/template/.codex/skills/yss-prototype-stage/SKILL.md +34 -24
  297. package/template/.codex/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
  298. package/template/.codex/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
  299. package/template/.codex/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
  300. package/template/.codex/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
  301. package/template/.codex/skills/yss-repository/SKILL.md +16 -14
  302. package/template/.codex/skills/yss-repository/agents/openai.yaml +2 -2
  303. package/template/.codex/skills/yss-repository/references/infrastructure-layer-guide.md +1 -1
  304. package/template/.codex/skills/yss-research/SKILL.md +73 -0
  305. package/template/.codex/skills/yss-research/agents/openai.yaml +3 -0
  306. package/template/.codex/skills/yss-research/assets/evidence-template.yaml +68 -0
  307. package/template/.codex/skills/yss-research/assets/research-brief-template.md +36 -0
  308. package/template/.codex/skills/yss-research/references/evidence-contract.md +42 -0
  309. package/template/.codex/skills/yss-research/scripts/validate-research-package.mjs +128 -0
  310. package/template/.codex/skills/yss-research/tests/run-scenarios.mjs +81 -0
  311. package/template/.codex/skills/yss-resilience4j/SKILL.md +1 -1
  312. package/template/.codex/skills/yss-resilience4j/references/source-index.md +1 -1
  313. package/template/.codex/skills/yss-security-algorithm/SKILL.md +1 -1
  314. package/template/.codex/skills/yss-security-algorithm/references/source-index.md +1 -1
  315. package/template/.codex/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
  316. package/template/.codex/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  317. package/template/.codex/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
  318. package/template/.codex/skills/yss-stage-decision/SKILL.md +2 -1
  319. package/template/.codex/skills/yss-ui/SKILL.md +2 -1
  320. package/template/.codex/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  321. package/template/.codex/skills/yss-up-springboot3/SKILL.md +1 -1
  322. package/template/.codex/skills/yss-userinfo/SKILL.md +1 -1
  323. package/template/.codex/skills/yss-userinfo/references/source-index.md +1 -1
  324. package/template/.codex/skills/yss-validation/SKILL.md +1 -1
  325. package/template/.codex/skills/yss-validation/references/source-index.md +1 -1
  326. package/template/.codex/skills/yss-web-controller/SKILL.md +17 -11
  327. package/template/.codex/skills/yss-web-controller/agents/openai.yaml +2 -2
  328. package/template/.codex/skills/yss-web-controller/assets/templates/Controller.java.template +11 -11
  329. package/template/.codex/skills/yss-web-controller/assets/templates/WebConvertor.java.template +4 -7
  330. package/template/.codex/skills/yss-web-controller/assets/templates/web/dto/CreateRequest.java.template +2 -2
  331. package/template/.codex/skills/yss-web-controller/assets/templates/web/dto/PageRequest.java.template +4 -7
  332. package/template/.codex/skills/yss-web-controller/assets/templates/web/dto/UpdateRequest.java.template +2 -2
  333. package/template/.codex/skills/yss-web-controller/references/web-adapter-layer-guide.md +6 -4
  334. package/template/.codex/skills/yss-web-controller/references/web-generation-contract.schema.json +97 -0
  335. package/template/.codex/skills/yss-web-controller/scripts/generate_controller.mjs +141 -20
  336. package/template/.codex/skills/yss-web-controller/scripts/generate_controller.test.mjs +131 -35
  337. package/template/.cursor/skills/ask-matt/SKILL.md +1 -1
  338. package/template/.cursor/skills/code-review/SKILL.md +1 -1
  339. package/template/.cursor/skills/code-review/references/yss-review-standards.md +1 -1
  340. package/template/.cursor/skills/lombok/SKILL.md +1 -1
  341. package/template/.cursor/skills/mapstruct/SKILL.md +1 -1
  342. package/template/.cursor/skills/prototype-review/SKILL.md +7 -6
  343. package/template/.cursor/skills/wayfinder/SKILL.md +2 -2
  344. package/template/.cursor/skills/yss-antd-design/SKILL.md +8 -7
  345. package/template/.cursor/skills/yss-antd-design/references/evidence.md +11 -6
  346. package/template/.cursor/skills/yss-api-integration/SKILL.md +2 -2
  347. package/template/.cursor/skills/yss-application/SKILL.md +2 -2
  348. package/template/.cursor/skills/yss-audit-log/SKILL.md +2 -2
  349. package/template/.cursor/skills/yss-audit-log/references/source-index.md +1 -1
  350. package/template/.cursor/skills/yss-cache/SKILL.md +2 -2
  351. package/template/.cursor/skills/yss-cache/references/source-index.md +1 -1
  352. package/template/.cursor/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  353. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +18 -7
  354. package/template/.cursor/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  355. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +3 -3
  356. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +14 -3
  357. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -2
  358. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +48 -14
  359. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +164 -0
  360. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +24 -10
  361. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +172 -0
  362. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  363. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +21 -8
  364. package/template/.cursor/skills/yss-design-system/SKILL.md +6 -6
  365. package/template/.cursor/skills/yss-distributed-id/SKILL.md +2 -2
  366. package/template/.cursor/skills/yss-distributed-id/references/source-index.md +1 -1
  367. package/template/.cursor/skills/yss-domain/SKILL.md +3 -2
  368. package/template/.cursor/skills/yss-domain/agents/openai.yaml +2 -2
  369. package/template/.cursor/skills/yss-domain/references/domain-layer-guide.md +2 -0
  370. package/template/.cursor/skills/yss-dto/SKILL.md +8 -2
  371. package/template/.cursor/skills/yss-dto/references/openapi-wire-profile.yaml +6 -0
  372. package/template/.cursor/skills/yss-dto/references/source-index.md +1 -1
  373. package/template/.cursor/skills/yss-excel-mvc/SKILL.md +2 -2
  374. package/template/.cursor/skills/yss-excel-mvc/references/source-index.md +1 -1
  375. package/template/.cursor/skills/yss-exception/SKILL.md +1 -1
  376. package/template/.cursor/skills/yss-exception/references/source-index.md +1 -1
  377. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +55 -0
  378. package/template/.cursor/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  379. package/template/.cursor/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
  380. package/template/.cursor/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +314 -0
  381. package/template/.cursor/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +197 -0
  382. package/template/.cursor/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +69 -0
  383. package/template/.cursor/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
  384. package/template/.cursor/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
  385. package/template/.cursor/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  386. package/template/.cursor/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  387. package/template/.cursor/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  388. package/template/.cursor/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  389. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
  390. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
  391. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
  392. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  393. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  394. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  395. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  396. package/template/.cursor/skills/yss-mybatis/SKILL.md +2 -2
  397. package/template/.cursor/skills/yss-mybatis/references/source-index.md +1 -1
  398. package/template/.cursor/skills/yss-page-module-development/SKILL.md +1 -1
  399. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +7 -7
  400. package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -7
  401. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +37 -27
  402. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +7 -7
  403. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +1 -1
  404. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +34 -24
  405. package/template/.cursor/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
  406. package/template/.cursor/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
  407. package/template/.cursor/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
  408. package/template/.cursor/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
  409. package/template/.cursor/skills/yss-repository/SKILL.md +16 -14
  410. package/template/.cursor/skills/yss-repository/agents/openai.yaml +2 -2
  411. package/template/.cursor/skills/yss-repository/references/infrastructure-layer-guide.md +1 -1
  412. package/template/.cursor/skills/yss-research/SKILL.md +73 -0
  413. package/template/.cursor/skills/yss-research/agents/openai.yaml +3 -0
  414. package/template/.cursor/skills/yss-research/assets/evidence-template.yaml +68 -0
  415. package/template/.cursor/skills/yss-research/assets/research-brief-template.md +36 -0
  416. package/template/.cursor/skills/yss-research/references/evidence-contract.md +42 -0
  417. package/template/.cursor/skills/yss-research/scripts/validate-research-package.mjs +128 -0
  418. package/template/.cursor/skills/yss-research/tests/run-scenarios.mjs +81 -0
  419. package/template/.cursor/skills/yss-resilience4j/SKILL.md +1 -1
  420. package/template/.cursor/skills/yss-resilience4j/references/source-index.md +1 -1
  421. package/template/.cursor/skills/yss-security-algorithm/SKILL.md +1 -1
  422. package/template/.cursor/skills/yss-security-algorithm/references/source-index.md +1 -1
  423. package/template/.cursor/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
  424. package/template/.cursor/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  425. package/template/.cursor/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
  426. package/template/.cursor/skills/yss-stage-decision/SKILL.md +2 -1
  427. package/template/.cursor/skills/yss-ui/SKILL.md +2 -1
  428. package/template/.cursor/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  429. package/template/.cursor/skills/yss-up-springboot3/SKILL.md +1 -1
  430. package/template/.cursor/skills/yss-userinfo/SKILL.md +1 -1
  431. package/template/.cursor/skills/yss-userinfo/references/source-index.md +1 -1
  432. package/template/.cursor/skills/yss-validation/SKILL.md +1 -1
  433. package/template/.cursor/skills/yss-validation/references/source-index.md +1 -1
  434. package/template/.cursor/skills/yss-web-controller/SKILL.md +17 -11
  435. package/template/.cursor/skills/yss-web-controller/agents/openai.yaml +2 -2
  436. package/template/.cursor/skills/yss-web-controller/assets/templates/Controller.java.template +11 -11
  437. package/template/.cursor/skills/yss-web-controller/assets/templates/WebConvertor.java.template +4 -7
  438. package/template/.cursor/skills/yss-web-controller/assets/templates/web/dto/CreateRequest.java.template +2 -2
  439. package/template/.cursor/skills/yss-web-controller/assets/templates/web/dto/PageRequest.java.template +4 -7
  440. package/template/.cursor/skills/yss-web-controller/assets/templates/web/dto/UpdateRequest.java.template +2 -2
  441. package/template/.cursor/skills/yss-web-controller/references/web-adapter-layer-guide.md +6 -4
  442. package/template/.cursor/skills/yss-web-controller/references/web-generation-contract.schema.json +97 -0
  443. package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.mjs +141 -20
  444. package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.test.mjs +131 -35
  445. package/template/.pi/skills/ask-matt/SKILL.md +1 -1
  446. package/template/.pi/skills/code-review/SKILL.md +1 -1
  447. package/template/.pi/skills/code-review/references/yss-review-standards.md +1 -1
  448. package/template/.pi/skills/lombok/SKILL.md +1 -1
  449. package/template/.pi/skills/mapstruct/SKILL.md +1 -1
  450. package/template/.pi/skills/prototype-review/SKILL.md +7 -6
  451. package/template/.pi/skills/wayfinder/SKILL.md +2 -2
  452. package/template/.pi/skills/yss-antd-design/SKILL.md +8 -7
  453. package/template/.pi/skills/yss-antd-design/references/evidence.md +11 -6
  454. package/template/.pi/skills/yss-api-integration/SKILL.md +2 -2
  455. package/template/.pi/skills/yss-application/SKILL.md +2 -2
  456. package/template/.pi/skills/yss-audit-log/SKILL.md +2 -2
  457. package/template/.pi/skills/yss-audit-log/references/source-index.md +1 -1
  458. package/template/.pi/skills/yss-cache/SKILL.md +2 -2
  459. package/template/.pi/skills/yss-cache/references/source-index.md +1 -1
  460. package/template/.pi/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  461. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +18 -7
  462. package/template/.pi/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  463. package/template/.pi/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +3 -3
  464. package/template/.pi/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +14 -3
  465. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -2
  466. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +48 -14
  467. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +164 -0
  468. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +24 -10
  469. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +172 -0
  470. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  471. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +21 -8
  472. package/template/.pi/skills/yss-design-system/SKILL.md +6 -6
  473. package/template/.pi/skills/yss-distributed-id/SKILL.md +2 -2
  474. package/template/.pi/skills/yss-distributed-id/references/source-index.md +1 -1
  475. package/template/.pi/skills/yss-domain/SKILL.md +3 -2
  476. package/template/.pi/skills/yss-domain/agents/openai.yaml +2 -2
  477. package/template/.pi/skills/yss-domain/references/domain-layer-guide.md +2 -0
  478. package/template/.pi/skills/yss-dto/SKILL.md +8 -2
  479. package/template/.pi/skills/yss-dto/references/openapi-wire-profile.yaml +6 -0
  480. package/template/.pi/skills/yss-dto/references/source-index.md +1 -1
  481. package/template/.pi/skills/yss-excel-mvc/SKILL.md +2 -2
  482. package/template/.pi/skills/yss-excel-mvc/references/source-index.md +1 -1
  483. package/template/.pi/skills/yss-exception/SKILL.md +1 -1
  484. package/template/.pi/skills/yss-exception/references/source-index.md +1 -1
  485. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +55 -0
  486. package/template/.pi/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  487. package/template/.pi/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
  488. package/template/.pi/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +314 -0
  489. package/template/.pi/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +197 -0
  490. package/template/.pi/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +69 -0
  491. package/template/.pi/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
  492. package/template/.pi/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
  493. package/template/.pi/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  494. package/template/.pi/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  495. package/template/.pi/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  496. package/template/.pi/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  497. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
  498. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
  499. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
  500. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  501. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  502. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  503. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  504. package/template/.pi/skills/yss-mybatis/SKILL.md +2 -2
  505. package/template/.pi/skills/yss-mybatis/references/source-index.md +1 -1
  506. package/template/.pi/skills/yss-page-module-development/SKILL.md +1 -1
  507. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +7 -7
  508. package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -7
  509. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +37 -27
  510. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +7 -7
  511. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +1 -1
  512. package/template/.pi/skills/yss-prototype-stage/SKILL.md +34 -24
  513. package/template/.pi/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
  514. package/template/.pi/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
  515. package/template/.pi/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
  516. package/template/.pi/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
  517. package/template/.pi/skills/yss-repository/SKILL.md +16 -14
  518. package/template/.pi/skills/yss-repository/agents/openai.yaml +2 -2
  519. package/template/.pi/skills/yss-repository/references/infrastructure-layer-guide.md +1 -1
  520. package/template/.pi/skills/yss-research/SKILL.md +73 -0
  521. package/template/.pi/skills/yss-research/agents/openai.yaml +3 -0
  522. package/template/.pi/skills/yss-research/assets/evidence-template.yaml +68 -0
  523. package/template/.pi/skills/yss-research/assets/research-brief-template.md +36 -0
  524. package/template/.pi/skills/yss-research/references/evidence-contract.md +42 -0
  525. package/template/.pi/skills/yss-research/scripts/validate-research-package.mjs +128 -0
  526. package/template/.pi/skills/yss-research/tests/run-scenarios.mjs +81 -0
  527. package/template/.pi/skills/yss-resilience4j/SKILL.md +1 -1
  528. package/template/.pi/skills/yss-resilience4j/references/source-index.md +1 -1
  529. package/template/.pi/skills/yss-security-algorithm/SKILL.md +1 -1
  530. package/template/.pi/skills/yss-security-algorithm/references/source-index.md +1 -1
  531. package/template/.pi/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
  532. package/template/.pi/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  533. package/template/.pi/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
  534. package/template/.pi/skills/yss-stage-decision/SKILL.md +2 -1
  535. package/template/.pi/skills/yss-ui/SKILL.md +2 -1
  536. package/template/.pi/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  537. package/template/.pi/skills/yss-up-springboot3/SKILL.md +1 -1
  538. package/template/.pi/skills/yss-userinfo/SKILL.md +1 -1
  539. package/template/.pi/skills/yss-userinfo/references/source-index.md +1 -1
  540. package/template/.pi/skills/yss-validation/SKILL.md +1 -1
  541. package/template/.pi/skills/yss-validation/references/source-index.md +1 -1
  542. package/template/.pi/skills/yss-web-controller/SKILL.md +17 -11
  543. package/template/.pi/skills/yss-web-controller/agents/openai.yaml +2 -2
  544. package/template/.pi/skills/yss-web-controller/assets/templates/Controller.java.template +11 -11
  545. package/template/.pi/skills/yss-web-controller/assets/templates/WebConvertor.java.template +4 -7
  546. package/template/.pi/skills/yss-web-controller/assets/templates/web/dto/CreateRequest.java.template +2 -2
  547. package/template/.pi/skills/yss-web-controller/assets/templates/web/dto/PageRequest.java.template +4 -7
  548. package/template/.pi/skills/yss-web-controller/assets/templates/web/dto/UpdateRequest.java.template +2 -2
  549. package/template/.pi/skills/yss-web-controller/references/web-adapter-layer-guide.md +6 -4
  550. package/template/.pi/skills/yss-web-controller/references/web-generation-contract.schema.json +97 -0
  551. package/template/.pi/skills/yss-web-controller/scripts/generate_controller.mjs +141 -20
  552. package/template/.pi/skills/yss-web-controller/scripts/generate_controller.test.mjs +131 -35
  553. package/template/.qoder/skills/ask-matt/SKILL.md +1 -1
  554. package/template/.qoder/skills/code-review/SKILL.md +1 -1
  555. package/template/.qoder/skills/code-review/references/yss-review-standards.md +1 -1
  556. package/template/.qoder/skills/lombok/SKILL.md +1 -1
  557. package/template/.qoder/skills/mapstruct/SKILL.md +1 -1
  558. package/template/.qoder/skills/prototype-review/SKILL.md +7 -6
  559. package/template/.qoder/skills/wayfinder/SKILL.md +2 -2
  560. package/template/.qoder/skills/yss-antd-design/SKILL.md +8 -7
  561. package/template/.qoder/skills/yss-antd-design/references/evidence.md +11 -6
  562. package/template/.qoder/skills/yss-api-integration/SKILL.md +2 -2
  563. package/template/.qoder/skills/yss-application/SKILL.md +2 -2
  564. package/template/.qoder/skills/yss-audit-log/SKILL.md +2 -2
  565. package/template/.qoder/skills/yss-audit-log/references/source-index.md +1 -1
  566. package/template/.qoder/skills/yss-cache/SKILL.md +2 -2
  567. package/template/.qoder/skills/yss-cache/references/source-index.md +1 -1
  568. package/template/.qoder/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  569. package/template/.qoder/skills/yss-ddd-scaffold-generator/SKILL.md +18 -7
  570. package/template/.qoder/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  571. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +3 -3
  572. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +14 -3
  573. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -2
  574. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +48 -14
  575. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +164 -0
  576. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +24 -10
  577. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +172 -0
  578. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  579. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +21 -8
  580. package/template/.qoder/skills/yss-design-system/SKILL.md +6 -6
  581. package/template/.qoder/skills/yss-distributed-id/SKILL.md +2 -2
  582. package/template/.qoder/skills/yss-distributed-id/references/source-index.md +1 -1
  583. package/template/.qoder/skills/yss-domain/SKILL.md +3 -2
  584. package/template/.qoder/skills/yss-domain/agents/openai.yaml +2 -2
  585. package/template/.qoder/skills/yss-domain/references/domain-layer-guide.md +2 -0
  586. package/template/.qoder/skills/yss-dto/SKILL.md +8 -2
  587. package/template/.qoder/skills/yss-dto/references/openapi-wire-profile.yaml +6 -0
  588. package/template/.qoder/skills/yss-dto/references/source-index.md +1 -1
  589. package/template/.qoder/skills/yss-excel-mvc/SKILL.md +2 -2
  590. package/template/.qoder/skills/yss-excel-mvc/references/source-index.md +1 -1
  591. package/template/.qoder/skills/yss-exception/SKILL.md +1 -1
  592. package/template/.qoder/skills/yss-exception/references/source-index.md +1 -1
  593. package/template/.qoder/skills/yss-implementation-contract-compiler/SKILL.md +55 -0
  594. package/template/.qoder/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  595. package/template/.qoder/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
  596. package/template/.qoder/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +314 -0
  597. package/template/.qoder/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +197 -0
  598. package/template/.qoder/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +69 -0
  599. package/template/.qoder/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
  600. package/template/.qoder/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
  601. package/template/.qoder/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  602. package/template/.qoder/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  603. package/template/.qoder/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  604. package/template/.qoder/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  605. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
  606. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
  607. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
  608. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  609. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  610. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  611. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  612. package/template/.qoder/skills/yss-mybatis/SKILL.md +2 -2
  613. package/template/.qoder/skills/yss-mybatis/references/source-index.md +1 -1
  614. package/template/.qoder/skills/yss-page-module-development/SKILL.md +1 -1
  615. package/template/.qoder/skills/yss-product-lifecycle/SKILL.md +7 -7
  616. package/template/.qoder/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -7
  617. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration-contract.yaml +37 -27
  618. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration.md +7 -7
  619. package/template/.qoder/skills/yss-product-lifecycle/references/state-model.md +1 -1
  620. package/template/.qoder/skills/yss-prototype-stage/SKILL.md +34 -24
  621. package/template/.qoder/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
  622. package/template/.qoder/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
  623. package/template/.qoder/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
  624. package/template/.qoder/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
  625. package/template/.qoder/skills/yss-repository/SKILL.md +16 -14
  626. package/template/.qoder/skills/yss-repository/agents/openai.yaml +2 -2
  627. package/template/.qoder/skills/yss-repository/references/infrastructure-layer-guide.md +1 -1
  628. package/template/.qoder/skills/yss-research/SKILL.md +73 -0
  629. package/template/.qoder/skills/yss-research/agents/openai.yaml +3 -0
  630. package/template/.qoder/skills/yss-research/assets/evidence-template.yaml +68 -0
  631. package/template/.qoder/skills/yss-research/assets/research-brief-template.md +36 -0
  632. package/template/.qoder/skills/yss-research/references/evidence-contract.md +42 -0
  633. package/template/.qoder/skills/yss-research/scripts/validate-research-package.mjs +128 -0
  634. package/template/.qoder/skills/yss-research/tests/run-scenarios.mjs +81 -0
  635. package/template/.qoder/skills/yss-resilience4j/SKILL.md +1 -1
  636. package/template/.qoder/skills/yss-resilience4j/references/source-index.md +1 -1
  637. package/template/.qoder/skills/yss-security-algorithm/SKILL.md +1 -1
  638. package/template/.qoder/skills/yss-security-algorithm/references/source-index.md +1 -1
  639. package/template/.qoder/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
  640. package/template/.qoder/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  641. package/template/.qoder/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
  642. package/template/.qoder/skills/yss-stage-decision/SKILL.md +2 -1
  643. package/template/.qoder/skills/yss-ui/SKILL.md +2 -1
  644. package/template/.qoder/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  645. package/template/.qoder/skills/yss-up-springboot3/SKILL.md +1 -1
  646. package/template/.qoder/skills/yss-userinfo/SKILL.md +1 -1
  647. package/template/.qoder/skills/yss-userinfo/references/source-index.md +1 -1
  648. package/template/.qoder/skills/yss-validation/SKILL.md +1 -1
  649. package/template/.qoder/skills/yss-validation/references/source-index.md +1 -1
  650. package/template/.qoder/skills/yss-web-controller/SKILL.md +17 -11
  651. package/template/.qoder/skills/yss-web-controller/agents/openai.yaml +2 -2
  652. package/template/.qoder/skills/yss-web-controller/assets/templates/Controller.java.template +11 -11
  653. package/template/.qoder/skills/yss-web-controller/assets/templates/WebConvertor.java.template +4 -7
  654. package/template/.qoder/skills/yss-web-controller/assets/templates/web/dto/CreateRequest.java.template +2 -2
  655. package/template/.qoder/skills/yss-web-controller/assets/templates/web/dto/PageRequest.java.template +4 -7
  656. package/template/.qoder/skills/yss-web-controller/assets/templates/web/dto/UpdateRequest.java.template +2 -2
  657. package/template/.qoder/skills/yss-web-controller/references/web-adapter-layer-guide.md +6 -4
  658. package/template/.qoder/skills/yss-web-controller/references/web-generation-contract.schema.json +97 -0
  659. package/template/.qoder/skills/yss-web-controller/scripts/generate_controller.mjs +141 -20
  660. package/template/.qoder/skills/yss-web-controller/scripts/generate_controller.test.mjs +131 -35
  661. package/template/.trae/skills/ask-matt/SKILL.md +1 -1
  662. package/template/.trae/skills/code-review/SKILL.md +1 -1
  663. package/template/.trae/skills/code-review/references/yss-review-standards.md +1 -1
  664. package/template/.trae/skills/lombok/SKILL.md +1 -1
  665. package/template/.trae/skills/mapstruct/SKILL.md +1 -1
  666. package/template/.trae/skills/prototype-review/SKILL.md +7 -6
  667. package/template/.trae/skills/wayfinder/SKILL.md +2 -2
  668. package/template/.trae/skills/yss-antd-design/SKILL.md +8 -7
  669. package/template/.trae/skills/yss-antd-design/references/evidence.md +11 -6
  670. package/template/.trae/skills/yss-api-integration/SKILL.md +2 -2
  671. package/template/.trae/skills/yss-application/SKILL.md +2 -2
  672. package/template/.trae/skills/yss-audit-log/SKILL.md +2 -2
  673. package/template/.trae/skills/yss-audit-log/references/source-index.md +1 -1
  674. package/template/.trae/skills/yss-cache/SKILL.md +2 -2
  675. package/template/.trae/skills/yss-cache/references/source-index.md +1 -1
  676. package/template/.trae/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  677. package/template/.trae/skills/yss-ddd-scaffold-generator/SKILL.md +18 -7
  678. package/template/.trae/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  679. package/template/.trae/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +3 -3
  680. package/template/.trae/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +14 -3
  681. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -2
  682. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +48 -14
  683. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +164 -0
  684. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +24 -10
  685. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +172 -0
  686. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  687. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +21 -8
  688. package/template/.trae/skills/yss-design-system/SKILL.md +6 -6
  689. package/template/.trae/skills/yss-distributed-id/SKILL.md +2 -2
  690. package/template/.trae/skills/yss-distributed-id/references/source-index.md +1 -1
  691. package/template/.trae/skills/yss-domain/SKILL.md +3 -2
  692. package/template/.trae/skills/yss-domain/agents/openai.yaml +2 -2
  693. package/template/.trae/skills/yss-domain/references/domain-layer-guide.md +2 -0
  694. package/template/.trae/skills/yss-dto/SKILL.md +8 -2
  695. package/template/.trae/skills/yss-dto/references/openapi-wire-profile.yaml +6 -0
  696. package/template/.trae/skills/yss-dto/references/source-index.md +1 -1
  697. package/template/.trae/skills/yss-excel-mvc/SKILL.md +2 -2
  698. package/template/.trae/skills/yss-excel-mvc/references/source-index.md +1 -1
  699. package/template/.trae/skills/yss-exception/SKILL.md +1 -1
  700. package/template/.trae/skills/yss-exception/references/source-index.md +1 -1
  701. package/template/.trae/skills/yss-implementation-contract-compiler/SKILL.md +55 -0
  702. package/template/.trae/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  703. package/template/.trae/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
  704. package/template/.trae/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +314 -0
  705. package/template/.trae/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +197 -0
  706. package/template/.trae/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +69 -0
  707. package/template/.trae/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
  708. package/template/.trae/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
  709. package/template/.trae/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  710. package/template/.trae/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  711. package/template/.trae/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  712. package/template/.trae/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  713. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
  714. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
  715. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
  716. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  717. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  718. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  719. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  720. package/template/.trae/skills/yss-mybatis/SKILL.md +2 -2
  721. package/template/.trae/skills/yss-mybatis/references/source-index.md +1 -1
  722. package/template/.trae/skills/yss-page-module-development/SKILL.md +1 -1
  723. package/template/.trae/skills/yss-product-lifecycle/SKILL.md +7 -7
  724. package/template/.trae/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -7
  725. package/template/.trae/skills/yss-product-lifecycle/references/orchestration-contract.yaml +37 -27
  726. package/template/.trae/skills/yss-product-lifecycle/references/orchestration.md +7 -7
  727. package/template/.trae/skills/yss-product-lifecycle/references/state-model.md +1 -1
  728. package/template/.trae/skills/yss-prototype-stage/SKILL.md +34 -24
  729. package/template/.trae/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
  730. package/template/.trae/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
  731. package/template/.trae/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
  732. package/template/.trae/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
  733. package/template/.trae/skills/yss-repository/SKILL.md +16 -14
  734. package/template/.trae/skills/yss-repository/agents/openai.yaml +2 -2
  735. package/template/.trae/skills/yss-repository/references/infrastructure-layer-guide.md +1 -1
  736. package/template/.trae/skills/yss-research/SKILL.md +73 -0
  737. package/template/.trae/skills/yss-research/agents/openai.yaml +3 -0
  738. package/template/.trae/skills/yss-research/assets/evidence-template.yaml +68 -0
  739. package/template/.trae/skills/yss-research/assets/research-brief-template.md +36 -0
  740. package/template/.trae/skills/yss-research/references/evidence-contract.md +42 -0
  741. package/template/.trae/skills/yss-research/scripts/validate-research-package.mjs +128 -0
  742. package/template/.trae/skills/yss-research/tests/run-scenarios.mjs +81 -0
  743. package/template/.trae/skills/yss-resilience4j/SKILL.md +1 -1
  744. package/template/.trae/skills/yss-resilience4j/references/source-index.md +1 -1
  745. package/template/.trae/skills/yss-security-algorithm/SKILL.md +1 -1
  746. package/template/.trae/skills/yss-security-algorithm/references/source-index.md +1 -1
  747. package/template/.trae/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
  748. package/template/.trae/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  749. package/template/.trae/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
  750. package/template/.trae/skills/yss-stage-decision/SKILL.md +2 -1
  751. package/template/.trae/skills/yss-ui/SKILL.md +2 -1
  752. package/template/.trae/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  753. package/template/.trae/skills/yss-up-springboot3/SKILL.md +1 -1
  754. package/template/.trae/skills/yss-userinfo/SKILL.md +1 -1
  755. package/template/.trae/skills/yss-userinfo/references/source-index.md +1 -1
  756. package/template/.trae/skills/yss-validation/SKILL.md +1 -1
  757. package/template/.trae/skills/yss-validation/references/source-index.md +1 -1
  758. package/template/.trae/skills/yss-web-controller/SKILL.md +17 -11
  759. package/template/.trae/skills/yss-web-controller/agents/openai.yaml +2 -2
  760. package/template/.trae/skills/yss-web-controller/assets/templates/Controller.java.template +11 -11
  761. package/template/.trae/skills/yss-web-controller/assets/templates/WebConvertor.java.template +4 -7
  762. package/template/.trae/skills/yss-web-controller/assets/templates/web/dto/CreateRequest.java.template +2 -2
  763. package/template/.trae/skills/yss-web-controller/assets/templates/web/dto/PageRequest.java.template +4 -7
  764. package/template/.trae/skills/yss-web-controller/assets/templates/web/dto/UpdateRequest.java.template +2 -2
  765. package/template/.trae/skills/yss-web-controller/references/web-adapter-layer-guide.md +6 -4
  766. package/template/.trae/skills/yss-web-controller/references/web-generation-contract.schema.json +97 -0
  767. package/template/.trae/skills/yss-web-controller/scripts/generate_controller.mjs +141 -20
  768. package/template/.trae/skills/yss-web-controller/scripts/generate_controller.test.mjs +131 -35
  769. package/template/AGENTS.md +13 -13
  770. package/template/CONTEXT.md +9 -8
  771. package/template/README.md +0 -1
  772. package/template/docs/agents/digital-human-roles.md +3 -3
  773. package/template/docs/agents/digital-human-roles.yaml +5 -5
  774. package/template/docs/agents/skill-migrations.md +18 -5
  775. package/template/docs/agents/skills-maintenance.md +3 -3
  776. package/template/docs/agents/strategic-design-skills-integration.md +41 -0
  777. package/template/docs/agents/yss-skill-registry.yaml +137 -16
  778. package/template/docs/api/templates/openapi-draft-review-checklist.md +3 -3
  779. package/template/docs/architecture/templates/engineering-baseline-review-template.md +3 -3
  780. package/template/docs/design/README.md +7 -7
  781. package/template/docs/design/design.md +25 -17
  782. package/template/docs/design/templates/interaction-spec-template.md +4 -4
  783. package/template/docs/design/templates/prototype-confirmation-template.md +13 -15
  784. package/template/docs/design/templates/prototype-evidence-template.yaml +99 -75
  785. package/template/docs/design/templates/prototype-review-checklist.md +5 -4
  786. package/template/docs/design/templates/state-matrix-template.md +11 -0
  787. package/template/docs/discovery/reports/agent-governance-options.md +8 -8
  788. package/template/docs/process/MATT-POCOCK-ENGINEERING-SKILLS.md +2 -1
  789. package/template/docs/process/implementation-repo-integration.md +1 -1
  790. package/template/docs/process/lifecycle-artifact-map.md +4 -2
  791. package/template/docs/process/lifecycle-registry-baseline.json +4 -1
  792. package/template/docs/process/lifecycle-registry.yaml +15 -9
  793. package/template/docs/process/template-engineering-overview.md +2 -2
  794. package/template/docs/process/template-verification-profiles.yaml +27 -6
  795. package/template/docs/templates/build-architecture-checklist-template.md +6 -6
  796. package/template/docs/templates/implementation-routing-template.md +8 -8
  797. package/template/docs/templates/requirement-freeze-template.md +2 -2
  798. package/template/docs/templates/review-report-template.md +4 -4
  799. package/template/docs/templates/spec-template.md +1 -1
  800. package/template/docs/templates/vertical-slice-ticket-template.md +4 -4
  801. package/template/docs/user-guide/yss-ui-mcp.md +0 -2
  802. 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
  803. package/template/docs/user-guide//347/224/250/346/210/267/346/211/213/345/206/214.md +5 -5
  804. 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
  805. package/template/scripts/audit-yss-backend-skills +56 -0
  806. package/template/scripts/generate-yss-skill-boundaries +67 -0
  807. package/template/scripts/lib/export-skills.mjs +4 -4
  808. package/template/scripts/lib/implementation-contract-compiler.mjs +194 -0
  809. package/template/scripts/lib/scenario-checks.mjs +17 -10
  810. package/template/scripts/lib/skill-governance.mjs +27 -5
  811. package/template/scripts/lib/skill-registry.mjs +129 -41
  812. package/template/scripts/lib/skill-supply-chain.mjs +47 -6
  813. package/template/scripts/verify-repository-scope-scenarios +2 -2
  814. package/template/scripts/verify-retired-skill-ids +37 -0
  815. package/template/scripts/verify-scaffold-generator-scenarios +18 -18
  816. package/template/scripts/verify-template-verification-scenarios +4 -1
  817. package/template/scripts/verify-yss-dto-openapi-profile +8 -0
  818. package/template/scripts/verify-yss-implementation-contract-compiler-scenarios +14 -0
  819. package/template/skills-lock.json +101 -171
  820. package/template/yss-public-skills.json +4 -4
  821. package/template.manifest.json +0 -3
  822. package/template.snapshot.json +5 -5
  823. package/template/.agents/skills/research/SKILL.md +0 -12
  824. package/template/.agents/skills/research/agents/openai.yaml +0 -3
  825. package/template/.agents/skills/yss-router/SKILL.md +0 -51
  826. package/template/.agents/skills/yss-router/agents/openai.yaml +0 -4
  827. package/template/.agents/skills/yss-router/references/boundaries.md +0 -50
  828. package/template/.agents/skills/yss-router/references/router-contract.yaml +0 -345
  829. package/template/.agents/skills/yss-router/references/slice-implementation-contract.md +0 -185
  830. package/template/.agents/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  831. package/template/.agents/skills/yss-source-index/SKILL.md +0 -63
  832. package/template/.agents/skills/yss-source-index/agents/openai.yaml +0 -4
  833. package/template/.agents/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  834. package/template/.claude/skills/research/SKILL.md +0 -12
  835. package/template/.claude/skills/research/agents/openai.yaml +0 -3
  836. package/template/.claude/skills/yss-router/SKILL.md +0 -51
  837. package/template/.claude/skills/yss-router/agents/openai.yaml +0 -4
  838. package/template/.claude/skills/yss-router/references/boundaries.md +0 -50
  839. package/template/.claude/skills/yss-router/references/router-contract.yaml +0 -345
  840. package/template/.claude/skills/yss-router/references/slice-implementation-contract.md +0 -185
  841. package/template/.claude/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  842. package/template/.claude/skills/yss-source-index/SKILL.md +0 -63
  843. package/template/.claude/skills/yss-source-index/agents/openai.yaml +0 -4
  844. package/template/.claude/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  845. package/template/.codex/skills/research/SKILL.md +0 -12
  846. package/template/.codex/skills/research/agents/openai.yaml +0 -3
  847. package/template/.codex/skills/yss-router/SKILL.md +0 -51
  848. package/template/.codex/skills/yss-router/agents/openai.yaml +0 -4
  849. package/template/.codex/skills/yss-router/references/boundaries.md +0 -50
  850. package/template/.codex/skills/yss-router/references/router-contract.yaml +0 -345
  851. package/template/.codex/skills/yss-router/references/slice-implementation-contract.md +0 -185
  852. package/template/.codex/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  853. package/template/.codex/skills/yss-source-index/SKILL.md +0 -63
  854. package/template/.codex/skills/yss-source-index/agents/openai.yaml +0 -4
  855. package/template/.codex/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  856. package/template/.cursor/skills/research/SKILL.md +0 -12
  857. package/template/.cursor/skills/research/agents/openai.yaml +0 -3
  858. package/template/.cursor/skills/yss-router/SKILL.md +0 -51
  859. package/template/.cursor/skills/yss-router/agents/openai.yaml +0 -4
  860. package/template/.cursor/skills/yss-router/references/boundaries.md +0 -50
  861. package/template/.cursor/skills/yss-router/references/router-contract.yaml +0 -345
  862. package/template/.cursor/skills/yss-router/references/slice-implementation-contract.md +0 -185
  863. package/template/.cursor/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  864. package/template/.cursor/skills/yss-source-index/SKILL.md +0 -63
  865. package/template/.cursor/skills/yss-source-index/agents/openai.yaml +0 -4
  866. package/template/.cursor/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  867. package/template/.gemini/settings.json +0 -8
  868. package/template/.hermes/skills/alibaba-java-code-style/SKILL.md +0 -51
  869. package/template/.hermes/skills/alibaba-java-code-style/agents/openai.yaml +0 -4
  870. package/template/.hermes/skills/alibaba-java-code-style/references/database-engineering-design.md +0 -147
  871. package/template/.hermes/skills/alibaba-java-code-style/references/java-programming.md +0 -178
  872. package/template/.hermes/skills/alibaba-java-code-style/references/reliability-test-security.md +0 -89
  873. package/template/.hermes/skills/archify/LICENSE +0 -22
  874. package/template/.hermes/skills/archify/SKILL.md +0 -156
  875. package/template/.hermes/skills/archify/assets/template.html +0 -14787
  876. package/template/.hermes/skills/archify/bin/archify.mjs +0 -1990
  877. package/template/.hermes/skills/archify/bin/open-artifact.mjs +0 -86
  878. package/template/.hermes/skills/archify/bin/preview.mjs +0 -648
  879. package/template/.hermes/skills/archify/bin/visual-check.mjs +0 -829
  880. package/template/.hermes/skills/archify/brand-marks/README.md +0 -31
  881. package/template/.hermes/skills/archify/brand-marks/catalog.json +0 -131
  882. package/template/.hermes/skills/archify/delta/architecture-delta.mjs +0 -1214
  883. package/template/.hermes/skills/archify/examples/agent-run.lifecycle.json +0 -71
  884. package/template/.hermes/skills/archify/examples/agent-tool-call.workflow.json +0 -94
  885. package/template/.hermes/skills/archify/examples/async-job-roundtrip.sequence.json +0 -61
  886. package/template/.hermes/skills/archify/examples/brand-aware-delivery.architecture.json +0 -47
  887. package/template/.hermes/skills/archify/examples/cache-miss-request.sequence.json +0 -81
  888. package/template/.hermes/skills/archify/examples/checkout-platform.base.architecture.json +0 -31
  889. package/template/.hermes/skills/archify/examples/checkout-platform.head.architecture.json +0 -31
  890. package/template/.hermes/skills/archify/examples/dataflow-product-analytics.html +0 -14898
  891. package/template/.hermes/skills/archify/examples/deployment-release.lifecycle.json +0 -49
  892. package/template/.hermes/skills/archify/examples/event-stream.dataflow.json +0 -57
  893. package/template/.hermes/skills/archify/examples/incident-response.workflow.json +0 -64
  894. package/template/.hermes/skills/archify/examples/lifecycle-agent-run.html +0 -14847
  895. package/template/.hermes/skills/archify/examples/product-analytics.dataflow.json +0 -76
  896. package/template/.hermes/skills/archify/examples/production-deployment.architecture.json +0 -71
  897. package/template/.hermes/skills/archify/examples/release-delivery.workflow.json +0 -62
  898. package/template/.hermes/skills/archify/examples/sequence-cache-miss-request.html +0 -14913
  899. package/template/.hermes/skills/archify/examples/web-app-rendered.html +0 -14862
  900. package/template/.hermes/skills/archify/examples/web-app.architecture.json +0 -46
  901. package/template/.hermes/skills/archify/examples/workflow-agent-tool-call-rendered.html +0 -14904
  902. package/template/.hermes/skills/archify/migrations/workflow-v2.mjs +0 -279
  903. package/template/.hermes/skills/archify/package-lock.json +0 -149
  904. package/template/.hermes/skills/archify/package.json +0 -37
  905. package/template/.hermes/skills/archify/recipes/scenarios.mjs +0 -391
  906. package/template/.hermes/skills/archify/references/authoring-contract.md +0 -191
  907. package/template/.hermes/skills/archify/references/brand-marks.md +0 -65
  908. package/template/.hermes/skills/archify/references/delivery-contract.md +0 -112
  909. package/template/.hermes/skills/archify/references/viewer-runtime.md +0 -45
  910. package/template/.hermes/skills/archify/renderers/architecture/grid.mjs +0 -62
  911. package/template/.hermes/skills/archify/renderers/architecture/render-architecture.mjs +0 -1078
  912. package/template/.hermes/skills/archify/renderers/dataflow/README.md +0 -104
  913. package/template/.hermes/skills/archify/renderers/dataflow/render-dataflow.mjs +0 -483
  914. package/template/.hermes/skills/archify/renderers/lifecycle/README.md +0 -115
  915. package/template/.hermes/skills/archify/renderers/lifecycle/render-lifecycle.mjs +0 -561
  916. package/template/.hermes/skills/archify/renderers/sequence/README.md +0 -114
  917. package/template/.hermes/skills/archify/renderers/sequence/render-sequence.mjs +0 -453
  918. package/template/.hermes/skills/archify/renderers/shared/brand-marks.mjs +0 -563
  919. package/template/.hermes/skills/archify/renderers/shared/cli.mjs +0 -218
  920. package/template/.hermes/skills/archify/renderers/shared/desktop-readability.mjs +0 -26
  921. package/template/.hermes/skills/archify/renderers/shared/diagnostics.mjs +0 -127
  922. package/template/.hermes/skills/archify/renderers/shared/engineering-profiles.mjs +0 -157
  923. package/template/.hermes/skills/archify/renderers/shared/generated-brand-marks.mjs +0 -2003
  924. package/template/.hermes/skills/archify/renderers/shared/generated-validators.mjs +0 -13
  925. package/template/.hermes/skills/archify/renderers/shared/geometry.mjs +0 -1423
  926. package/template/.hermes/skills/archify/renderers/shared/i18n.mjs +0 -594
  927. package/template/.hermes/skills/archify/renderers/shared/layout-report.mjs +0 -40
  928. package/template/.hermes/skills/archify/renderers/shared/legend.mjs +0 -217
  929. package/template/.hermes/skills/archify/renderers/shared/output-path.mjs +0 -321
  930. package/template/.hermes/skills/archify/renderers/shared/repository-evidence.mjs +0 -235
  931. package/template/.hermes/skills/archify/renderers/shared/text-fit.mjs +0 -49
  932. package/template/.hermes/skills/archify/renderers/shared/utils.mjs +0 -232
  933. package/template/.hermes/skills/archify/renderers/shared/validator.mjs +0 -86
  934. package/template/.hermes/skills/archify/renderers/workflow/README.md +0 -223
  935. package/template/.hermes/skills/archify/renderers/workflow/render-workflow.mjs +0 -35
  936. package/template/.hermes/skills/archify/renderers/workflow/workflow-compiler.mjs +0 -4400
  937. package/template/.hermes/skills/archify/renderers/workflow/workflow-migration-geometry.mjs +0 -144
  938. package/template/.hermes/skills/archify/schemas/README.md +0 -211
  939. package/template/.hermes/skills/archify/schemas/architecture.schema.json +0 -176
  940. package/template/.hermes/skills/archify/schemas/common.schema.json +0 -115
  941. package/template/.hermes/skills/archify/schemas/dataflow.schema.json +0 -243
  942. package/template/.hermes/skills/archify/schemas/lifecycle.schema.json +0 -266
  943. package/template/.hermes/skills/archify/schemas/sequence.schema.json +0 -223
  944. package/template/.hermes/skills/archify/schemas/workflow.schema.json +0 -428
  945. package/template/.hermes/skills/archify/scripts/check-render-output.mjs +0 -835
  946. package/template/.hermes/skills/archify/scripts/check-update.mjs +0 -1667
  947. package/template/.hermes/skills/archify/scripts/generate-brand-marks.mjs +0 -141
  948. package/template/.hermes/skills/archify/scripts/generate-validators.mjs +0 -66
  949. package/template/.hermes/skills/archify/scripts/render-examples.mjs +0 -26
  950. package/template/.hermes/skills/archify/scripts/update-contract.mjs +0 -182
  951. package/template/.hermes/skills/archify/scripts/yss-safe-deliver.mjs +0 -214
  952. package/template/.hermes/skills/archify/skill-release.json +0 -10
  953. package/template/.hermes/skills/archify/test/adaptive-reader-layout.test.mjs +0 -86
  954. package/template/.hermes/skills/archify/test/animation.test.mjs +0 -179
  955. package/template/.hermes/skills/archify/test/architecture-delta.test.mjs +0 -518
  956. package/template/.hermes/skills/archify/test/authored-reachability.test.mjs +0 -95
  957. package/template/.hermes/skills/archify/test/authoring-safety-contract.test.mjs +0 -54
  958. package/template/.hermes/skills/archify/test/automatic-port-spread.test.mjs +0 -376
  959. package/template/.hermes/skills/archify/test/base-input-compatibility.test.mjs +0 -42
  960. package/template/.hermes/skills/archify/test/brand-marks.test.mjs +0 -654
  961. package/template/.hermes/skills/archify/test/chapter-delta-preview.test.mjs +0 -157
  962. package/template/.hermes/skills/archify/test/chapter-handoff.test.mjs +0 -97
  963. package/template/.hermes/skills/archify/test/chapter-rail.test.mjs +0 -86
  964. package/template/.hermes/skills/archify/test/checkout-line-endings.test.mjs +0 -72
  965. package/template/.hermes/skills/archify/test/clean-skill-staging.test.mjs +0 -244
  966. package/template/.hermes/skills/archify/test/cli.test.mjs +0 -809
  967. package/template/.hermes/skills/archify/test/community-proof-intake.test.mjs +0 -104
  968. package/template/.hermes/skills/archify/test/cursor-onboarding.test.mjs +0 -74
  969. package/template/.hermes/skills/archify/test/degraded.test.mjs +0 -161
  970. package/template/.hermes/skills/archify/test/delivery-contract.test.mjs +0 -52
  971. package/template/.hermes/skills/archify/test/desktop-reader-browser.test.mjs +0 -58
  972. package/template/.hermes/skills/archify/test/diagram-guide.test.mjs +0 -92
  973. package/template/.hermes/skills/archify/test/engineering-profile.test.mjs +0 -209
  974. package/template/.hermes/skills/archify/test/finder.test.mjs +0 -104
  975. package/template/.hermes/skills/archify/test/fixtures/automatic-routing-node-border-clearance.workflow.json +0 -40
  976. package/template/.hermes/skills/archify/test/fixtures/fail-migration-cleanup.mjs +0 -17
  977. package/template/.hermes/skills/archify/test/fixtures/issue-126/custom-widths.workflow.json +0 -18
  978. package/template/.hermes/skills/archify/test/fixtures/issue-126/explicit-route.workflow.json +0 -28
  979. package/template/.hermes/skills/archify/test/fixtures/issue-126/explicit-viewbox.workflow.json +0 -19
  980. package/template/.hermes/skills/archify/test/fixtures/issue-126/labels.workflow.json +0 -18
  981. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/agent-run.lifecycle.json +0 -64
  982. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/agent-tool-call.workflow.json +0 -88
  983. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/cache-miss-request.sequence.json +0 -75
  984. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/event-stream.dataflow.json +0 -57
  985. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/product-analytics.dataflow.json +0 -70
  986. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/production-deployment.architecture.json +0 -71
  987. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/web-app.architecture.json +0 -41
  988. package/template/.hermes/skills/archify/test/fixtures/v1-workflow-700x400.workflow.json +0 -22
  989. package/template/.hermes/skills/archify/test/fixtures/v1-workflow-explicit-coordinates.workflow.json +0 -47
  990. package/template/.hermes/skills/archify/test/gallery.test.mjs +0 -130
  991. package/template/.hermes/skills/archify/test/generate-validators.test.mjs +0 -59
  992. package/template/.hermes/skills/archify/test/generated-artifact-xml.test.mjs +0 -88
  993. package/template/.hermes/skills/archify/test/geometry.test.mjs +0 -739
  994. package/template/.hermes/skills/archify/test/golden.mjs +0 -207
  995. package/template/.hermes/skills/archify/test/grid.test.mjs +0 -47
  996. package/template/.hermes/skills/archify/test/guide-page.test.mjs +0 -59
  997. package/template/.hermes/skills/archify/test/guide.test.mjs +0 -81
  998. package/template/.hermes/skills/archify/test/guided-views.test.mjs +0 -144
  999. package/template/.hermes/skills/archify/test/helpers/xml.mjs +0 -37
  1000. package/template/.hermes/skills/archify/test/i18n.test.mjs +0 -422
  1001. package/template/.hermes/skills/archify/test/intent-trace.test.mjs +0 -111
  1002. package/template/.hermes/skills/archify/test/landing.test.mjs +0 -97
  1003. package/template/.hermes/skills/archify/test/layout-rules.test.mjs +0 -1449
  1004. package/template/.hermes/skills/archify/test/legend-contract.test.mjs +0 -404
  1005. package/template/.hermes/skills/archify/test/motion-governor.test.mjs +0 -111
  1006. package/template/.hermes/skills/archify/test/open-artifact.test.mjs +0 -118
  1007. package/template/.hermes/skills/archify/test/ordinary-model-floor.test.mjs +0 -1024
  1008. package/template/.hermes/skills/archify/test/output-path.test.mjs +0 -587
  1009. package/template/.hermes/skills/archify/test/presentation.test.mjs +0 -71
  1010. package/template/.hermes/skills/archify/test/preset-tryon.test.mjs +0 -113
  1011. package/template/.hermes/skills/archify/test/preview-contract.test.mjs +0 -40
  1012. package/template/.hermes/skills/archify/test/preview.test.mjs +0 -499
  1013. package/template/.hermes/skills/archify/test/proof-aperture.test.mjs +0 -78
  1014. package/template/.hermes/skills/archify/test/reach-share-card.test.mjs +0 -149
  1015. package/template/.hermes/skills/archify/test/readme-showcase.test.mjs +0 -318
  1016. package/template/.hermes/skills/archify/test/real-repository-proof.test.mjs +0 -209
  1017. package/template/.hermes/skills/archify/test/relationship-direct-explorer.test.mjs +0 -115
  1018. package/template/.hermes/skills/archify/test/relationship-lens.test.mjs +0 -128
  1019. package/template/.hermes/skills/archify/test/relationship-permalink.test.mjs +0 -130
  1020. package/template/.hermes/skills/archify/test/relationship-pulse.test.mjs +0 -122
  1021. package/template/.hermes/skills/archify/test/release-identity.test.mjs +0 -504
  1022. package/template/.hermes/skills/archify/test/release-package-gates.test.mjs +0 -508
  1023. package/template/.hermes/skills/archify/test/render-output-checks.test.mjs +0 -435
  1024. package/template/.hermes/skills/archify/test/repair-receipt.test.mjs +0 -181
  1025. package/template/.hermes/skills/archify/test/repository-evidence.test.mjs +0 -217
  1026. package/template/.hermes/skills/archify/test/repository-language-metadata.test.mjs +0 -52
  1027. package/template/.hermes/skills/archify/test/route-journey.test.mjs +0 -123
  1028. package/template/.hermes/skills/archify/test/route-probe.test.mjs +0 -114
  1029. package/template/.hermes/skills/archify/test/route-share-card.test.mjs +0 -163
  1030. package/template/.hermes/skills/archify/test/semantic-camera.test.mjs +0 -88
  1031. package/template/.hermes/skills/archify/test/semantic-flow.test.mjs +0 -90
  1032. package/template/.hermes/skills/archify/test/semantic-legend-gateway.test.mjs +0 -156
  1033. package/template/.hermes/skills/archify/test/semantic-lens.test.mjs +0 -103
  1034. package/template/.hermes/skills/archify/test/semantic-passport.test.mjs +0 -99
  1035. package/template/.hermes/skills/archify/test/semantic-radar.test.mjs +0 -575
  1036. package/template/.hermes/skills/archify/test/semantic-zoom.test.mjs +0 -86
  1037. package/template/.hermes/skills/archify/test/sequence-column-fit.test.mjs +0 -137
  1038. package/template/.hermes/skills/archify/test/settled-flow.test.mjs +0 -97
  1039. package/template/.hermes/skills/archify/test/share-card-export.test.mjs +0 -132
  1040. package/template/.hermes/skills/archify/test/site-language-continuity.test.mjs +0 -562
  1041. package/template/.hermes/skills/archify/test/site-language-integration.mjs +0 -9
  1042. package/template/.hermes/skills/archify/test/skill-metadata.test.mjs +0 -84
  1043. package/template/.hermes/skills/archify/test/stable-update-manifest.test.mjs +0 -167
  1044. package/template/.hermes/skills/archify/test/start-page.test.mjs +0 -312
  1045. package/template/.hermes/skills/archify/test/story-beat-navigator.test.mjs +0 -103
  1046. package/template/.hermes/skills/archify/test/story-carrier.test.mjs +0 -90
  1047. package/template/.hermes/skills/archify/test/story-director-strip.test.mjs +0 -91
  1048. package/template/.hermes/skills/archify/test/story-follow-camera.test.mjs +0 -103
  1049. package/template/.hermes/skills/archify/test/story-horizon.test.mjs +0 -89
  1050. package/template/.hermes/skills/archify/test/story-moment-link.test.mjs +0 -93
  1051. package/template/.hermes/skills/archify/test/story-shelf.test.mjs +0 -84
  1052. package/template/.hermes/skills/archify/test/story-trail.test.mjs +0 -81
  1053. package/template/.hermes/skills/archify/test/toolbar-polish.test.mjs +0 -57
  1054. package/template/.hermes/skills/archify/test/update-contract.test.mjs +0 -133
  1055. package/template/.hermes/skills/archify/test/update-notifier.test.mjs +0 -3317
  1056. package/template/.hermes/skills/archify/test/v1-compatibility.test.mjs +0 -329
  1057. package/template/.hermes/skills/archify/test/vertical-edge.test.mjs +0 -68
  1058. package/template/.hermes/skills/archify/test/viewer-chrome-layout.test.mjs +0 -872
  1059. package/template/.hermes/skills/archify/test/visual-check.test.mjs +0 -400
  1060. package/template/.hermes/skills/archify/test/webm-artifact.smoke.mjs +0 -1840
  1061. package/template/.hermes/skills/archify/test/workflow-compiler-hard-contract.test.mjs +0 -2135
  1062. package/template/.hermes/skills/archify/test/workflow-compiler.test.mjs +0 -1163
  1063. package/template/.hermes/skills/archify/test/workflow-migration.test.mjs +0 -620
  1064. package/template/.hermes/skills/archify/test/workflow-semantic-contract.test.mjs +0 -131
  1065. package/template/.hermes/skills/archify/test/yss-safe-deliver.test.mjs +0 -153
  1066. package/template/.hermes/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
  1067. package/template/.hermes/skills/ask-matt/SKILL.md +0 -95
  1068. package/template/.hermes/skills/ask-matt/agents/openai.yaml +0 -5
  1069. package/template/.hermes/skills/code-review/SKILL.md +0 -122
  1070. package/template/.hermes/skills/code-review/agents/openai.yaml +0 -3
  1071. package/template/.hermes/skills/code-review/references/yss-review-standards.md +0 -54
  1072. package/template/.hermes/skills/codebase-design/DEEPENING.md +0 -37
  1073. package/template/.hermes/skills/codebase-design/DESIGN-IT-TWICE.md +0 -44
  1074. package/template/.hermes/skills/codebase-design/SKILL.md +0 -118
  1075. package/template/.hermes/skills/codebase-design/agents/openai.yaml +0 -3
  1076. package/template/.hermes/skills/competitive-intelligence/SKILL.md +0 -94
  1077. package/template/.hermes/skills/component-selection-imports/SKILL.md +0 -64
  1078. package/template/.hermes/skills/cross-repo-implementation-routing/SKILL.md +0 -51
  1079. package/template/.hermes/skills/diagnosing-bugs/SKILL.md +0 -138
  1080. package/template/.hermes/skills/diagnosing-bugs/agents/openai.yaml +0 -3
  1081. package/template/.hermes/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +0 -44
  1082. package/template/.hermes/skills/dispatching-parallel-agents/SKILL.md +0 -185
  1083. package/template/.hermes/skills/domain-modeling/ADR-FORMAT.md +0 -47
  1084. package/template/.hermes/skills/domain-modeling/CONTEXT-FORMAT.md +0 -60
  1085. package/template/.hermes/skills/domain-modeling/SKILL.md +0 -74
  1086. package/template/.hermes/skills/domain-modeling/agents/openai.yaml +0 -3
  1087. package/template/.hermes/skills/file-export-download/SKILL.md +0 -160
  1088. package/template/.hermes/skills/file-export-download/agents/openai.yaml +0 -4
  1089. package/template/.hermes/skills/formily-foundation/SKILL.md +0 -176
  1090. package/template/.hermes/skills/formily-foundation/references/examples.md +0 -486
  1091. package/template/.hermes/skills/formily-linkage-effects/SKILL.md +0 -167
  1092. package/template/.hermes/skills/formily-mode-slot-detail/SKILL.md +0 -137
  1093. package/template/.hermes/skills/formily-step-flow/SKILL.md +0 -194
  1094. package/template/.hermes/skills/frontend-commit/SKILL.md +0 -118
  1095. package/template/.hermes/skills/frontend-commit/agents/openai.yaml +0 -7
  1096. package/template/.hermes/skills/frontend-commit/references/scope-and-examples.md +0 -111
  1097. package/template/.hermes/skills/grill-me/SKILL.md +0 -7
  1098. package/template/.hermes/skills/grill-me/agents/openai.yaml +0 -5
  1099. package/template/.hermes/skills/grill-with-docs/SKILL.md +0 -19
  1100. package/template/.hermes/skills/grill-with-docs/agents/openai.yaml +0 -5
  1101. package/template/.hermes/skills/grilling/SKILL.md +0 -28
  1102. package/template/.hermes/skills/grilling/agents/openai.yaml +0 -3
  1103. package/template/.hermes/skills/handoff/SKILL.md +0 -16
  1104. package/template/.hermes/skills/handoff/agents/openai.yaml +0 -5
  1105. package/template/.hermes/skills/implement/SKILL.md +0 -15
  1106. package/template/.hermes/skills/implement/agents/openai.yaml +0 -5
  1107. package/template/.hermes/skills/implementation-repo-onboarding/SKILL.md +0 -50
  1108. package/template/.hermes/skills/improve-codebase-architecture/HTML-REPORT.md +0 -123
  1109. package/template/.hermes/skills/improve-codebase-architecture/SKILL.md +0 -71
  1110. package/template/.hermes/skills/improve-codebase-architecture/agents/openai.yaml +0 -5
  1111. package/template/.hermes/skills/java-backend-commit/SKILL.md +0 -121
  1112. package/template/.hermes/skills/java-backend-commit/agents/openai.yaml +0 -7
  1113. package/template/.hermes/skills/java-backend-commit/references/scope-and-examples.md +0 -118
  1114. package/template/.hermes/skills/llm-wiki/SKILL.md +0 -60
  1115. package/template/.hermes/skills/llm-wiki/assets/CLAUDE.md.template +0 -26
  1116. package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +0 -3
  1117. package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +0 -5
  1118. package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +0 -1
  1119. 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
  1120. package/template/.hermes/skills/llm-wiki/references/compile.md +0 -126
  1121. package/template/.hermes/skills/llm-wiki/references/discover.md +0 -42
  1122. package/template/.hermes/skills/llm-wiki/references/ingest.md +0 -36
  1123. package/template/.hermes/skills/llm-wiki/references/lint.md +0 -54
  1124. package/template/.hermes/skills/llm-wiki/references/query.md +0 -21
  1125. package/template/.hermes/skills/llm-wiki/references/schema.md +0 -45
  1126. package/template/.hermes/skills/llm-wiki/references/writing.md +0 -35
  1127. package/template/.hermes/skills/llm-wiki/scripts/advise.mjs +0 -196
  1128. package/template/.hermes/skills/llm-wiki/scripts/advise.test.mjs +0 -91
  1129. package/template/.hermes/skills/llm-wiki/scripts/extract.mjs +0 -55
  1130. package/template/.hermes/skills/llm-wiki/scripts/extract.test.mjs +0 -34
  1131. package/template/.hermes/skills/llm-wiki/scripts/inventory.mjs +0 -174
  1132. package/template/.hermes/skills/llm-wiki/scripts/inventory.test.mjs +0 -98
  1133. package/template/.hermes/skills/llm-wiki/scripts/lint-wikilinks.mjs +0 -177
  1134. package/template/.hermes/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +0 -212
  1135. package/template/.hermes/skills/lombok/SKILL.md +0 -351
  1136. package/template/.hermes/skills/loop-me/SKILL.md +0 -32
  1137. package/template/.hermes/skills/loop-me/agents/openai.yaml +0 -5
  1138. package/template/.hermes/skills/maintaining-skills/SKILL.md +0 -27
  1139. package/template/.hermes/skills/mapstruct/SKILL.md +0 -334
  1140. package/template/.hermes/skills/migrate-to-shoehorn/SKILL.md +0 -118
  1141. package/template/.hermes/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
  1142. package/template/.hermes/skills/page-form-module/SKILL.md +0 -168
  1143. package/template/.hermes/skills/page-list-module/SKILL.md +0 -137
  1144. package/template/.hermes/skills/page-skeleton/SKILL.md +0 -76
  1145. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +0 -34
  1146. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -75
  1147. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/index.vue +0 -107
  1148. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  1149. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/style.less +0 -30
  1150. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/constant.ts +0 -28
  1151. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -58
  1152. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +0 -65
  1153. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/index.vue +0 -91
  1154. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/style.less +0 -49
  1155. package/template/.hermes/skills/prototype/LOGIC.md +0 -67
  1156. package/template/.hermes/skills/prototype/SKILL.md +0 -26
  1157. package/template/.hermes/skills/prototype/UI.md +0 -112
  1158. package/template/.hermes/skills/prototype/agents/openai.yaml +0 -3
  1159. package/template/.hermes/skills/prototype-page-acceptance/SKILL.md +0 -62
  1160. package/template/.hermes/skills/prototype-review/SKILL.md +0 -74
  1161. package/template/.hermes/skills/prototype-review/agents/openai.yaml +0 -4
  1162. package/template/.hermes/skills/research/SKILL.md +0 -12
  1163. package/template/.hermes/skills/research/agents/openai.yaml +0 -3
  1164. package/template/.hermes/skills/resolving-merge-conflicts/SKILL.md +0 -14
  1165. package/template/.hermes/skills/resolving-merge-conflicts/agents/openai.yaml +0 -3
  1166. package/template/.hermes/skills/scaffold-exercises/SKILL.md +0 -106
  1167. package/template/.hermes/skills/scaffold-exercises/agents/openai.yaml +0 -3
  1168. package/template/.hermes/skills/setup-matt-pocock-skills/SKILL.md +0 -125
  1169. package/template/.hermes/skills/setup-matt-pocock-skills/agents/openai.yaml +0 -5
  1170. package/template/.hermes/skills/setup-matt-pocock-skills/domain.md +0 -51
  1171. package/template/.hermes/skills/setup-matt-pocock-skills/issue-tracker-github.md +0 -45
  1172. package/template/.hermes/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +0 -46
  1173. package/template/.hermes/skills/setup-matt-pocock-skills/issue-tracker-local.md +0 -66
  1174. package/template/.hermes/skills/setup-matt-pocock-skills/triage-labels.md +0 -15
  1175. package/template/.hermes/skills/setup-pre-commit/SKILL.md +0 -91
  1176. package/template/.hermes/skills/setup-pre-commit/agents/openai.yaml +0 -3
  1177. package/template/.hermes/skills/setup-ts-deep-modules/SKILL.md +0 -102
  1178. package/template/.hermes/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
  1179. package/template/.hermes/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
  1180. package/template/.hermes/skills/tdd/SKILL.md +0 -38
  1181. package/template/.hermes/skills/tdd/agents/openai.yaml +0 -3
  1182. package/template/.hermes/skills/tdd/mocking.md +0 -59
  1183. package/template/.hermes/skills/tdd/tests.md +0 -77
  1184. package/template/.hermes/skills/teach/GLOSSARY-FORMAT.md +0 -35
  1185. package/template/.hermes/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
  1186. package/template/.hermes/skills/teach/MISSION-FORMAT.md +0 -31
  1187. package/template/.hermes/skills/teach/RESOURCES-FORMAT.md +0 -32
  1188. package/template/.hermes/skills/teach/SKILL.md +0 -140
  1189. package/template/.hermes/skills/teach/agents/openai.yaml +0 -5
  1190. package/template/.hermes/skills/theme-token-usage/SKILL.md +0 -123
  1191. package/template/.hermes/skills/theme-token-usage/agents/openai.yaml +0 -4
  1192. package/template/.hermes/skills/to-questionnaire/SKILL.md +0 -53
  1193. package/template/.hermes/skills/to-questionnaire/agents/openai.yaml +0 -5
  1194. package/template/.hermes/skills/to-spec/SKILL.md +0 -75
  1195. package/template/.hermes/skills/to-spec/agents/openai.yaml +0 -5
  1196. package/template/.hermes/skills/to-tickets/SKILL.md +0 -105
  1197. package/template/.hermes/skills/to-tickets/agents/openai.yaml +0 -5
  1198. package/template/.hermes/skills/triage/AGENT-BRIEF.md +0 -207
  1199. package/template/.hermes/skills/triage/OUT-OF-SCOPE.md +0 -105
  1200. package/template/.hermes/skills/triage/SKILL.md +0 -112
  1201. package/template/.hermes/skills/triage/agents/openai.yaml +0 -5
  1202. package/template/.hermes/skills/using-git-worktrees/SKILL.md +0 -202
  1203. package/template/.hermes/skills/vue3-best-practices/SKILL.md +0 -68
  1204. package/template/.hermes/skills/wait-what/SKILL.md +0 -7
  1205. package/template/.hermes/skills/wait-what/agents/openai.yaml +0 -5
  1206. package/template/.hermes/skills/wayfinder/SKILL.md +0 -128
  1207. package/template/.hermes/skills/wayfinder/agents/openai.yaml +0 -5
  1208. package/template/.hermes/skills/writing-beats/SKILL.md +0 -67
  1209. package/template/.hermes/skills/writing-beats/agents/openai.yaml +0 -5
  1210. package/template/.hermes/skills/writing-for-agents/SKILL-MECHANICS.md +0 -22
  1211. package/template/.hermes/skills/writing-for-agents/SKILL.md +0 -81
  1212. package/template/.hermes/skills/writing-for-agents/agents/openai.yaml +0 -3
  1213. package/template/.hermes/skills/writing-fragments/SKILL.md +0 -79
  1214. package/template/.hermes/skills/writing-fragments/agents/openai.yaml +0 -5
  1215. package/template/.hermes/skills/writing-shape/SKILL.md +0 -79
  1216. package/template/.hermes/skills/writing-shape/agents/openai.yaml +0 -5
  1217. package/template/.hermes/skills/yedit-table-usage/SKILL.md +0 -227
  1218. package/template/.hermes/skills/yss-antd-design/SKILL.md +0 -34
  1219. package/template/.hermes/skills/yss-antd-design/references/boundaries.md +0 -30
  1220. package/template/.hermes/skills/yss-antd-design/references/cli-matrix.md +0 -38
  1221. package/template/.hermes/skills/yss-antd-design/references/evidence.md +0 -30
  1222. package/template/.hermes/skills/yss-antd-design/scripts/validate-frontmatter.mjs +0 -46
  1223. package/template/.hermes/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +0 -27
  1224. package/template/.hermes/skills/yss-api-integration/SKILL.md +0 -185
  1225. package/template/.hermes/skills/yss-api-integration/agents/openai.yaml +0 -5
  1226. package/template/.hermes/skills/yss-application/SKILL.md +0 -54
  1227. package/template/.hermes/skills/yss-application/agents/openai.yaml +0 -5
  1228. package/template/.hermes/skills/yss-application/references/application-layer-guide.md +0 -87
  1229. package/template/.hermes/skills/yss-audit-log/SKILL.md +0 -67
  1230. package/template/.hermes/skills/yss-audit-log/agents/openai.yaml +0 -5
  1231. package/template/.hermes/skills/yss-audit-log/assets/AuditLogAspect.java +0 -262
  1232. package/template/.hermes/skills/yss-audit-log/assets/YssAuditLogPrintSubscriberImpl.java +0 -37
  1233. package/template/.hermes/skills/yss-audit-log/assets/YssAuditLogSysManagerSubscriberImpl.java +0 -18
  1234. package/template/.hermes/skills/yss-audit-log/assets/YssAuditPublishService.java +0 -69
  1235. package/template/.hermes/skills/yss-audit-log/references/README.md +0 -69
  1236. package/template/.hermes/skills/yss-audit-log/references/source-index.md +0 -43
  1237. package/template/.hermes/skills/yss-cache/SKILL.md +0 -44
  1238. package/template/.hermes/skills/yss-cache/agents/openai.yaml +0 -5
  1239. package/template/.hermes/skills/yss-cache/references/annotations.md +0 -39
  1240. package/template/.hermes/skills/yss-cache/references/architecture.md +0 -25
  1241. package/template/.hermes/skills/yss-cache/references/configuration.md +0 -34
  1242. package/template/.hermes/skills/yss-cache/references/redis-fallback.md +0 -23
  1243. package/template/.hermes/skills/yss-cache/references/redis-topology.md +0 -62
  1244. package/template/.hermes/skills/yss-cache/references/serialization.md +0 -17
  1245. package/template/.hermes/skills/yss-cache/references/source-index.md +0 -67
  1246. package/template/.hermes/skills/yss-cache/references/troubleshooting.md +0 -33
  1247. package/template/.hermes/skills/yss-cache/references/verification.md +0 -34
  1248. package/template/.hermes/skills/yss-cache/scripts/check-skill-freshness.sh +0 -84
  1249. package/template/.hermes/skills/yss-cache/scripts/inspect-cache-usage.sh +0 -96
  1250. package/template/.hermes/skills/yss-cache/scripts/verify-cache-component.sh +0 -101
  1251. package/template/.hermes/skills/yss-components/SKILL.md +0 -386
  1252. package/template/.hermes/skills/yss-components/agents/openai.yaml +0 -5
  1253. package/template/.hermes/skills/yss-components/references/frontend-docs.md +0 -9
  1254. package/template/.hermes/skills/yss-ddd-scaffold-generator/SKILL.md +0 -110
  1255. package/template/.hermes/skills/yss-ddd-scaffold-generator/agents/openai.yaml +0 -5
  1256. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/config/application-local.yml.template +0 -8
  1257. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -36
  1258. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/config/logback-spring.xml.template +0 -15
  1259. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/java/architecture-rules-test.java.template +0 -36
  1260. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/java/bootstrap-application.java.template +0 -15
  1261. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/adapter-pom.xml.template +0 -19
  1262. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +0 -52
  1263. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +0 -70
  1264. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/domain-pom.xml.template +0 -22
  1265. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/infrastructure-pom.xml.template +0 -54
  1266. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +0 -155
  1267. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +0 -58
  1268. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/jvm.config +0 -1
  1269. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/maven.config +0 -2
  1270. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/settings.xml +0 -41
  1271. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/MavenWrapperDownloader.java +0 -117
  1272. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/maven-wrapper.jar +0 -0
  1273. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/maven-wrapper.properties +0 -20
  1274. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/mvnw +0 -316
  1275. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/mvnw.cmd +0 -188
  1276. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +0 -116
  1277. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +0 -114
  1278. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/SKILL.md +0 -31
  1279. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/agents/openai.yaml +0 -5
  1280. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +0 -8
  1281. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  1282. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +0 -8
  1283. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  1284. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +0 -8
  1285. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  1286. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +0 -57
  1287. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +0 -5
  1288. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +0 -8
  1289. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  1290. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +0 -191
  1291. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +0 -126
  1292. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +0 -349
  1293. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +0 -112
  1294. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +0 -388
  1295. package/template/.hermes/skills/yss-design-system/SKILL.md +0 -105
  1296. package/template/.hermes/skills/yss-design-system/agents/openai.yaml +0 -5
  1297. package/template/.hermes/skills/yss-design-system/references/design-qa-theme.md +0 -64
  1298. package/template/.hermes/skills/yss-design-system/references/design-system.md +0 -245
  1299. package/template/.hermes/skills/yss-design-system/scripts/validate-frontmatter.mjs +0 -36
  1300. package/template/.hermes/skills/yss-design-system/scripts/validate-frontmatter.test.mjs +0 -12
  1301. package/template/.hermes/skills/yss-distributed-id/SKILL.md +0 -69
  1302. package/template/.hermes/skills/yss-distributed-id/agents/openai.yaml +0 -5
  1303. package/template/.hermes/skills/yss-distributed-id/assets/AutoIdInterceptor.java +0 -246
  1304. package/template/.hermes/skills/yss-distributed-id/assets/EnableDistributedId.java +0 -25
  1305. package/template/.hermes/skills/yss-distributed-id/assets/LeafConf.java +0 -36
  1306. package/template/.hermes/skills/yss-distributed-id/references/README.md +0 -51
  1307. package/template/.hermes/skills/yss-distributed-id/references/source-index.md +0 -86
  1308. package/template/.hermes/skills/yss-domain/SKILL.md +0 -69
  1309. package/template/.hermes/skills/yss-domain/agents/openai.yaml +0 -5
  1310. package/template/.hermes/skills/yss-domain/references/domain-layer-guide.md +0 -99
  1311. package/template/.hermes/skills/yss-dto/SKILL.md +0 -86
  1312. package/template/.hermes/skills/yss-dto/agents/openai.yaml +0 -5
  1313. package/template/.hermes/skills/yss-dto/assets/CommandDTO.java +0 -8
  1314. package/template/.hermes/skills/yss-dto/assets/PageQuery.java +0 -133
  1315. package/template/.hermes/skills/yss-dto/assets/QueryDTO.java +0 -6
  1316. package/template/.hermes/skills/yss-dto/assets/Result.java +0 -105
  1317. package/template/.hermes/skills/yss-dto/references/README.md +0 -67
  1318. package/template/.hermes/skills/yss-dto/references/openapi-wire-profile.yaml +0 -181
  1319. package/template/.hermes/skills/yss-dto/references/source-index.md +0 -55
  1320. package/template/.hermes/skills/yss-excel-mvc/SKILL.md +0 -66
  1321. package/template/.hermes/skills/yss-excel-mvc/agents/openai.yaml +0 -5
  1322. package/template/.hermes/skills/yss-excel-mvc/assets/ExcelDynamicData.java +0 -66
  1323. package/template/.hermes/skills/yss-excel-mvc/assets/RequestExcel.java +0 -33
  1324. package/template/.hermes/skills/yss-excel-mvc/assets/RequestFastExcelArgumentResolver.java +0 -272
  1325. package/template/.hermes/skills/yss-excel-mvc/assets/ResponseExcel.java +0 -46
  1326. package/template/.hermes/skills/yss-excel-mvc/assets/ResponseFastExcelReturnValueHandler.java +0 -154
  1327. package/template/.hermes/skills/yss-excel-mvc/references/README.md +0 -5
  1328. package/template/.hermes/skills/yss-excel-mvc/references/source-index.md +0 -74
  1329. package/template/.hermes/skills/yss-exception/SKILL.md +0 -57
  1330. package/template/.hermes/skills/yss-exception/agents/openai.yaml +0 -4
  1331. package/template/.hermes/skills/yss-exception/references/source-index.md +0 -35
  1332. package/template/.hermes/skills/yss-formily/SKILL.md +0 -272
  1333. package/template/.hermes/skills/yss-formily-schema-generator/SKILL.md +0 -189
  1334. package/template/.hermes/skills/yss-formily-schema-generator/agents/openai.yaml +0 -5
  1335. package/template/.hermes/skills/yss-formily-schema-generator/assets/java-sdk/ExampleUsage.java +0 -111
  1336. package/template/.hermes/skills/yss-formily-schema-generator/assets/java-sdk/YssFormilyDsl.java +0 -1219
  1337. package/template/.hermes/skills/yss-formily-schema-generator/references/workflow.md +0 -240
  1338. package/template/.hermes/skills/yss-frontend-scaffold-generator/SKILL.md +0 -76
  1339. package/template/.hermes/skills/yss-hook/SKILL.md +0 -200
  1340. package/template/.hermes/skills/yss-hook/agents/openai.yaml +0 -5
  1341. package/template/.hermes/skills/yss-hook/references/frontend-docs.md +0 -10
  1342. package/template/.hermes/skills/yss-microapp-commit/SKILL.md +0 -201
  1343. package/template/.hermes/skills/yss-microapp-commit/agents/openai.yaml +0 -5
  1344. package/template/.hermes/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
  1345. package/template/.hermes/skills/yss-mybatis/SKILL.md +0 -77
  1346. package/template/.hermes/skills/yss-mybatis/agents/openai.yaml +0 -5
  1347. package/template/.hermes/skills/yss-mybatis/assets/BaseRepository.java +0 -112
  1348. package/template/.hermes/skills/yss-mybatis/assets/EntityQueryAspect.java +0 -37
  1349. package/template/.hermes/skills/yss-mybatis/assets/MybatisBaseConfiguration.java +0 -18
  1350. package/template/.hermes/skills/yss-mybatis/assets/PageQueryEntityConfigration.java +0 -18
  1351. package/template/.hermes/skills/yss-mybatis/references/README.md +0 -57
  1352. package/template/.hermes/skills/yss-mybatis/references/source-index.md +0 -93
  1353. package/template/.hermes/skills/yss-openapi-draft-review/SKILL.md +0 -82
  1354. package/template/.hermes/skills/yss-openapi-governance/SKILL.md +0 -130
  1355. package/template/.hermes/skills/yss-openapi-governance/agents/openai.yaml +0 -4
  1356. package/template/.hermes/skills/yss-page-module-development/SKILL.md +0 -165
  1357. package/template/.hermes/skills/yss-page-module-development/agents/openai.yaml +0 -5
  1358. package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
  1359. package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
  1360. package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
  1361. package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  1362. package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
  1363. package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
  1364. package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
  1365. package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
  1366. package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
  1367. package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
  1368. package/template/.hermes/skills/yss-page-module-development/references/component-map.md +0 -34
  1369. package/template/.hermes/skills/yss-page-module-development/references/frontend-docs.md +0 -11
  1370. package/template/.hermes/skills/yss-page-module-development/references/hooks-map.md +0 -11
  1371. package/template/.hermes/skills/yss-page-module-development/references/utils-map.md +0 -14
  1372. package/template/.hermes/skills/yss-product-lifecycle/SKILL.md +0 -52
  1373. package/template/.hermes/skills/yss-product-lifecycle/agents/openai.yaml +0 -4
  1374. package/template/.hermes/skills/yss-product-lifecycle/references/artifact-dependencies.md +0 -36
  1375. package/template/.hermes/skills/yss-product-lifecycle/references/matt-yss-adapter.md +0 -122
  1376. package/template/.hermes/skills/yss-product-lifecycle/references/orchestration-contract.yaml +0 -863
  1377. package/template/.hermes/skills/yss-product-lifecycle/references/orchestration.md +0 -116
  1378. package/template/.hermes/skills/yss-product-lifecycle/references/state-model.md +0 -112
  1379. package/template/.hermes/skills/yss-prototype-stage/SKILL.md +0 -47
  1380. package/template/.hermes/skills/yss-prototype-stage/references/product-design-adapter.md +0 -54
  1381. package/template/.hermes/skills/yss-prototype-stage/scripts/prototype-contract.mjs +0 -207
  1382. package/template/.hermes/skills/yss-prototype-stage/tests/run-scenarios.mjs +0 -154
  1383. package/template/.hermes/skills/yss-repository/SKILL.md +0 -78
  1384. package/template/.hermes/skills/yss-repository/agents/openai.yaml +0 -5
  1385. package/template/.hermes/skills/yss-repository/references/infrastructure-layer-guide.md +0 -107
  1386. package/template/.hermes/skills/yss-resilience4j/SKILL.md +0 -46
  1387. package/template/.hermes/skills/yss-resilience4j/agents/openai.yaml +0 -4
  1388. package/template/.hermes/skills/yss-resilience4j/references/source-index.md +0 -33
  1389. package/template/.hermes/skills/yss-router/SKILL.md +0 -51
  1390. package/template/.hermes/skills/yss-router/agents/openai.yaml +0 -4
  1391. package/template/.hermes/skills/yss-router/references/boundaries.md +0 -50
  1392. package/template/.hermes/skills/yss-router/references/router-contract.yaml +0 -345
  1393. package/template/.hermes/skills/yss-router/references/slice-implementation-contract.md +0 -185
  1394. package/template/.hermes/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  1395. package/template/.hermes/skills/yss-security-algorithm/SKILL.md +0 -52
  1396. package/template/.hermes/skills/yss-security-algorithm/agents/openai.yaml +0 -4
  1397. package/template/.hermes/skills/yss-security-algorithm/references/source-index.md +0 -35
  1398. package/template/.hermes/skills/yss-source-index/SKILL.md +0 -63
  1399. package/template/.hermes/skills/yss-source-index/agents/openai.yaml +0 -4
  1400. package/template/.hermes/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  1401. package/template/.hermes/skills/yss-stage-decision/SKILL.md +0 -50
  1402. package/template/.hermes/skills/yss-stage-decision/references/domain-strategy-contract.md +0 -26
  1403. package/template/.hermes/skills/yss-stage-decision/references/domain-strategy.schema.json +0 -128
  1404. package/template/.hermes/skills/yss-stage-decision/references/stage-decision-package-contract.md +0 -19
  1405. package/template/.hermes/skills/yss-stage-decision/references/stage-decision-package.schema.json +0 -86
  1406. package/template/.hermes/skills/yss-stage-decision/references/validation-rules.md +0 -18
  1407. package/template/.hermes/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +0 -169
  1408. package/template/.hermes/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +0 -100
  1409. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +0 -15
  1410. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +0 -58
  1411. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +0 -44
  1412. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +0 -15
  1413. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +0 -49
  1414. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +0 -108
  1415. package/template/.hermes/skills/yss-stage-decision/tests/run-scenarios.mjs +0 -68
  1416. package/template/.hermes/skills/yss-tactical-design/SKILL.md +0 -35
  1417. package/template/.hermes/skills/yss-tactical-design/agents/openai.yaml +0 -4
  1418. package/template/.hermes/skills/yss-tactical-design/references/output-template.md +0 -28
  1419. package/template/.hermes/skills/yss-tactical-design/references/tactical-design-contract.md +0 -41
  1420. package/template/.hermes/skills/yss-tactical-design/references/tactical-design.schema.json +0 -31
  1421. package/template/.hermes/skills/yss-tactical-design/references/validation-rules.md +0 -13
  1422. package/template/.hermes/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +0 -213
  1423. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +0 -21
  1424. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +0 -21
  1425. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +0 -21
  1426. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +0 -21
  1427. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +0 -21
  1428. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +0 -80
  1429. package/template/.hermes/skills/yss-tactical-design/tests/run-scenarios.mjs +0 -47
  1430. package/template/.hermes/skills/yss-ui/SKILL.md +0 -170
  1431. package/template/.hermes/skills/yss-ui/agents/openai.yaml +0 -5
  1432. package/template/.hermes/skills/yss-ui/assets/demos/button/auth-basic.vue +0 -24
  1433. package/template/.hermes/skills/yss-ui/assets/demos/button/auth-dropdown.vue +0 -29
  1434. package/template/.hermes/skills/yss-ui/assets/demos/button/permission.vue +0 -10
  1435. package/template/.hermes/skills/yss-ui/assets/demos/button/size.vue +0 -12
  1436. package/template/.hermes/skills/yss-ui/assets/demos/button/states.vue +0 -12
  1437. package/template/.hermes/skills/yss-ui/assets/demos/card/basic/index.vue +0 -54
  1438. package/template/.hermes/skills/yss-ui/assets/demos/card/basic/style.less +0 -41
  1439. package/template/.hermes/skills/yss-ui/assets/demos/card/cover/index.vue +0 -25
  1440. package/template/.hermes/skills/yss-ui/assets/demos/card/flexible-layout/index.vue +0 -122
  1441. package/template/.hermes/skills/yss-ui/assets/demos/card/flexible-layout/style.less +0 -191
  1442. package/template/.hermes/skills/yss-ui/assets/demos/card/header-extra/index.vue +0 -260
  1443. package/template/.hermes/skills/yss-ui/assets/demos/card/header-extra/style.less +0 -124
  1444. package/template/.hermes/skills/yss-ui/assets/demos/card/layout-metrics/constants.ts +0 -61
  1445. package/template/.hermes/skills/yss-ui/assets/demos/card/layout-metrics/index.vue +0 -72
  1446. package/template/.hermes/skills/yss-ui/assets/demos/card/layout-metrics/metrics-cards.vue +0 -70
  1447. package/template/.hermes/skills/yss-ui/assets/demos/card/layout-metrics/style.less +0 -232
  1448. package/template/.hermes/skills/yss-ui/assets/demos/card/loading/index.vue +0 -19
  1449. package/template/.hermes/skills/yss-ui/assets/demos/card/meta/index.vue +0 -19
  1450. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/basic/constants.ts +0 -44
  1451. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/basic/hooks/useConditionBasic.ts +0 -18
  1452. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/basic/index.vue +0 -100
  1453. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/linked/constants.ts +0 -51
  1454. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/linked/hooks/useConditionLinked.ts +0 -29
  1455. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/linked/index.vue +0 -23
  1456. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/nesting-between/constants.ts +0 -35
  1457. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/nesting-between/hooks/useConditionNesting.ts +0 -25
  1458. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/nesting-between/index.vue +0 -24
  1459. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/remote/constants.ts +0 -7
  1460. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/remote/hooks/useConditionRemote.ts +0 -75
  1461. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/remote/index.vue +0 -23
  1462. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation/constants.ts +0 -42
  1463. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation/hooks/useConditionBasic.ts +0 -22
  1464. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation/index.vue +0 -138
  1465. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation-custom/constants.ts +0 -42
  1466. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation-custom/hooks/useConditionBasic.ts +0 -22
  1467. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation-custom/index.vue +0 -134
  1468. package/template/.hermes/skills/yss-ui/assets/demos/cron/basic/index.vue +0 -54
  1469. package/template/.hermes/skills/yss-ui/assets/demos/cron/select/index.vue +0 -145
  1470. package/template/.hermes/skills/yss-ui/assets/demos/echarts/basic.vue +0 -30
  1471. package/template/.hermes/skills/yss-ui/assets/demos/echarts/calendar-heatmap.vue +0 -49
  1472. package/template/.hermes/skills/yss-ui/assets/demos/echarts/candlestick.vue +0 -30
  1473. package/template/.hermes/skills/yss-ui/assets/demos/echarts/dark.vue +0 -40
  1474. package/template/.hermes/skills/yss-ui/assets/demos/echarts/expose-methods.vue +0 -97
  1475. package/template/.hermes/skills/yss-ui/assets/demos/echarts/funnel.vue +0 -42
  1476. package/template/.hermes/skills/yss-ui/assets/demos/echarts/gauge.vue +0 -25
  1477. package/template/.hermes/skills/yss-ui/assets/demos/echarts/line.vue +0 -24
  1478. package/template/.hermes/skills/yss-ui/assets/demos/echarts/mix.vue +0 -33
  1479. package/template/.hermes/skills/yss-ui/assets/demos/echarts/pie.vue +0 -34
  1480. package/template/.hermes/skills/yss-ui/assets/demos/echarts/radar.vue +0 -38
  1481. package/template/.hermes/skills/yss-ui/assets/demos/echarts/ring-segment.vue +0 -77
  1482. package/template/.hermes/skills/yss-ui/assets/demos/echarts/scatter.vue +0 -23
  1483. package/template/.hermes/skills/yss-ui/assets/demos/echarts/stacked-area.vue +0 -55
  1484. package/template/.hermes/skills/yss-ui/assets/demos/echarts/stacked-bar.vue +0 -52
  1485. package/template/.hermes/skills/yss-ui/assets/demos/echarts/treemap.vue +0 -30
  1486. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/all-types/hooks/useAllTypes.ts +0 -259
  1487. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/all-types/index.vue +0 -33
  1488. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/async-remote/hooks/useAsyncRemote.ts +0 -201
  1489. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/async-remote/index.vue +0 -45
  1490. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/basic/index.vue +0 -104
  1491. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/big-data/index.vue +0 -82
  1492. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/custom-rule/index.vue +0 -114
  1493. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/direct-editable/index.vue +0 -94
  1494. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/drag/index.vue +0 -125
  1495. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/filter/index.vue +0 -107
  1496. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/linkage/index.vue +0 -181
  1497. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/pagination-action/index.vue +0 -131
  1498. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/required/index.vue +0 -95
  1499. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/row-edit/index.vue +0 -220
  1500. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/row-options/index.vue +0 -165
  1501. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/slot-linkage/index.vue +0 -184
  1502. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/submit-view/index.vue +0 -107
  1503. package/template/.hermes/skills/yss-ui/assets/demos/file-import/basic.vue +0 -54
  1504. package/template/.hermes/skills/yss-ui/assets/demos/file-import/formily.vue +0 -42
  1505. package/template/.hermes/skills/yss-ui/assets/demos/file-import/multiple.vue +0 -33
  1506. package/template/.hermes/skills/yss-ui/assets/demos/file-import/result-slot.vue +0 -30
  1507. package/template/.hermes/skills/yss-ui/assets/demos/formily/actions.vue +0 -61
  1508. package/template/.hermes/skills/yss-ui/assets/demos/formily/align.vue +0 -56
  1509. package/template/.hermes/skills/yss-ui/assets/demos/formily/async-validate.vue +0 -69
  1510. package/template/.hermes/skills/yss-ui/assets/demos/formily/basic.vue +0 -317
  1511. package/template/.hermes/skills/yss-ui/assets/demos/formily/collapse.vue +0 -104
  1512. package/template/.hermes/skills/yss-ui/assets/demos/formily/custom-component.vue +0 -75
  1513. package/template/.hermes/skills/yss-ui/assets/demos/formily/disabled.vue +0 -71
  1514. package/template/.hermes/skills/yss-ui/assets/demos/formily/dynamic-array.vue +0 -74
  1515. package/template/.hermes/skills/yss-ui/assets/demos/formily/dynamic.vue +0 -59
  1516. package/template/.hermes/skills/yss-ui/assets/demos/formily/effects.vue +0 -117
  1517. package/template/.hermes/skills/yss-ui/assets/demos/formily/events-inline.vue +0 -82
  1518. package/template/.hermes/skills/yss-ui/assets/demos/formily/events-scope.vue +0 -101
  1519. package/template/.hermes/skills/yss-ui/assets/demos/formily/grid.vue +0 -71
  1520. package/template/.hermes/skills/yss-ui/assets/demos/formily/group.vue +0 -102
  1521. package/template/.hermes/skills/yss-ui/assets/demos/formily/helper-slot.vue +0 -50
  1522. package/template/.hermes/skills/yss-ui/assets/demos/formily/label-tip.vue +0 -42
  1523. package/template/.hermes/skills/yss-ui/assets/demos/formily/linkage-multi.vue +0 -127
  1524. package/template/.hermes/skills/yss-ui/assets/demos/formily/linkage.vue +0 -78
  1525. package/template/.hermes/skills/yss-ui/assets/demos/formily/modes.vue +0 -72
  1526. package/template/.hermes/skills/yss-ui/assets/demos/formily/remote-enum.vue +0 -88
  1527. package/template/.hermes/skills/yss-ui/assets/demos/formily/slot.vue +0 -54
  1528. package/template/.hermes/skills/yss-ui/assets/demos/formily/steps.vue +0 -135
  1529. package/template/.hermes/skills/yss-ui/assets/demos/formily/submit-failed.vue +0 -72
  1530. package/template/.hermes/skills/yss-ui/assets/demos/monaco/basic.vue +0 -40
  1531. package/template/.hermes/skills/yss-ui/assets/demos/monaco/diff-basic.vue +0 -143
  1532. package/template/.hermes/skills/yss-ui/assets/demos/monaco/fullscreen.vue +0 -84
  1533. package/template/.hermes/skills/yss-ui/assets/demos/monaco/history-log-viewer.vue +0 -586
  1534. package/template/.hermes/skills/yss-ui/assets/demos/monaco/log-viewer.vue +0 -260
  1535. package/template/.hermes/skills/yss-ui/assets/demos/monaco/mock/mockLogApi.ts +0 -199
  1536. package/template/.hermes/skills/yss-ui/assets/demos/monaco/monaco.vue +0 -66
  1537. package/template/.hermes/skills/yss-ui/assets/demos/monaco/readonly.vue +0 -20
  1538. package/template/.hermes/skills/yss-ui/assets/demos/monaco/resizable.vue +0 -22
  1539. package/template/.hermes/skills/yss-ui/assets/demos/monaco/sql-schema.vue +0 -20
  1540. package/template/.hermes/skills/yss-ui/assets/demos/monaco/switch-lang-theme.vue +0 -48
  1541. package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table/constant.ts +0 -18
  1542. package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table/index.vue +0 -60
  1543. package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table/style.less +0 -39
  1544. package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table-layout/hooks/useTreeTable.ts +0 -158
  1545. package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table-layout/index.vue +0 -88
  1546. package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table-layout/style.less +0 -73
  1547. package/template/.hermes/skills/yss-ui/assets/demos/table/action/index.vue +0 -83
  1548. package/template/.hermes/skills/yss-ui/assets/demos/table/action/style.less +0 -3
  1549. package/template/.hermes/skills/yss-ui/assets/demos/table/action-auth/index.vue +0 -41
  1550. package/template/.hermes/skills/yss-ui/assets/demos/table/action-slot/index.vue +0 -62
  1551. package/template/.hermes/skills/yss-ui/assets/demos/table/action-slot/style.less +0 -36
  1552. package/template/.hermes/skills/yss-ui/assets/demos/table/basic/hooks/useBasicTable.ts +0 -205
  1553. package/template/.hermes/skills/yss-ui/assets/demos/table/basic/index.vue +0 -89
  1554. package/template/.hermes/skills/yss-ui/assets/demos/table/basic/style.less +0 -28
  1555. package/template/.hermes/skills/yss-ui/assets/demos/table/column-custom-search/hooks/useColumnCustomSearch.ts +0 -236
  1556. package/template/.hermes/skills/yss-ui/assets/demos/table/column-custom-search/index.vue +0 -141
  1557. package/template/.hermes/skills/yss-ui/assets/demos/table/column-custom-search/style.less +0 -48
  1558. package/template/.hermes/skills/yss-ui/assets/demos/table/drag/index.vue +0 -42
  1559. package/template/.hermes/skills/yss-ui/assets/demos/table/expand/action-expand.vue +0 -142
  1560. package/template/.hermes/skills/yss-ui/assets/demos/table/expand/index.vue +0 -35
  1561. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-async/index.vue +0 -93
  1562. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-auto/index.vue +0 -99
  1563. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-custom/index.vue +0 -72
  1564. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-local/index.vue +0 -112
  1565. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-mixed/index.vue +0 -142
  1566. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-remote/constant.ts +0 -129
  1567. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-remote/hooks/useTableData.ts +0 -186
  1568. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-remote/index.vue +0 -73
  1569. package/template/.hermes/skills/yss-ui/assets/demos/table/group-header/index.vue +0 -86
  1570. package/template/.hermes/skills/yss-ui/assets/demos/table/group-header/style.less +0 -3
  1571. package/template/.hermes/skills/yss-ui/assets/demos/table/header-height/index.vue +0 -29
  1572. package/template/.hermes/skills/yss-ui/assets/demos/table/header-height/style.less +0 -9
  1573. package/template/.hermes/skills/yss-ui/assets/demos/table/merge-cells/hooks/useMergeCells.ts +0 -183
  1574. package/template/.hermes/skills/yss-ui/assets/demos/table/merge-cells/index.vue +0 -17
  1575. package/template/.hermes/skills/yss-ui/assets/demos/table/merge-cells/style.less +0 -3
  1576. package/template/.hermes/skills/yss-ui/assets/demos/table/pagination-remote/hooks/usePaginationRemote.ts +0 -106
  1577. package/template/.hermes/skills/yss-ui/assets/demos/table/pagination-remote/index.vue +0 -24
  1578. package/template/.hermes/skills/yss-ui/assets/demos/table/renderers/index.vue +0 -64
  1579. package/template/.hermes/skills/yss-ui/assets/demos/table/selection-checkbox/index.vue +0 -88
  1580. package/template/.hermes/skills/yss-ui/assets/demos/table/selection-checkbox/style.less +0 -9
  1581. package/template/.hermes/skills/yss-ui/assets/demos/table/selection-radio/index.vue +0 -57
  1582. package/template/.hermes/skills/yss-ui/assets/demos/table/selection-radio/style.less +0 -9
  1583. package/template/.hermes/skills/yss-ui/assets/demos/table/transform/index.vue +0 -32
  1584. package/template/.hermes/skills/yss-ui/assets/demos/tree/basic-left/index.vue +0 -124
  1585. package/template/.hermes/skills/yss-ui/assets/demos/tree/datasource-group/index.vue +0 -31
  1586. package/template/.hermes/skills/yss-ui/assets/demos/tree/multi-checkable/index.vue +0 -86
  1587. package/template/.hermes/skills/yss-ui/assets/demos/tree/multiple-select/index.vue +0 -76
  1588. package/template/.hermes/skills/yss-ui/assets/demos/tree/resource-list/index.vue +0 -41
  1589. package/template/.hermes/skills/yss-ui/assets/demos/tree/search-toolbar/index.vue +0 -156
  1590. package/template/.hermes/skills/yss-ui/assets/demos/tree/slot-icon/index.vue +0 -36
  1591. package/template/.hermes/skills/yss-ui/assets/demos/tree/slot-switcher-icon/index.vue +0 -34
  1592. package/template/.hermes/skills/yss-ui/assets/docs/components/button.md +0 -79
  1593. package/template/.hermes/skills/yss-ui/assets/docs/components/card.md +0 -162
  1594. package/template/.hermes/skills/yss-ui/assets/docs/components/conditionBuilder.md +0 -114
  1595. package/template/.hermes/skills/yss-ui/assets/docs/components/cron.md +0 -77
  1596. package/template/.hermes/skills/yss-ui/assets/docs/components/echarts.md +0 -110
  1597. package/template/.hermes/skills/yss-ui/assets/docs/components/editTable.md +0 -212
  1598. package/template/.hermes/skills/yss-ui/assets/docs/components/fileImport.md +0 -85
  1599. package/template/.hermes/skills/yss-ui/assets/docs/components/formily.md +0 -370
  1600. package/template/.hermes/skills/yss-ui/assets/docs/components/monaco.md +0 -369
  1601. package/template/.hermes/skills/yss-ui/assets/docs/components/sheet.md +0 -169
  1602. package/template/.hermes/skills/yss-ui/assets/docs/components/split-pane.md +0 -45
  1603. package/template/.hermes/skills/yss-ui/assets/docs/components/table.md +0 -398
  1604. package/template/.hermes/skills/yss-ui/assets/docs/components/tree.md +0 -102
  1605. package/template/.hermes/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +0 -166
  1606. package/template/.hermes/skills/yss-ui/assets/docs/guide/index.md +0 -132
  1607. package/template/.hermes/skills/yss-ui/assets/docs/guide/installation.md +0 -97
  1608. package/template/.hermes/skills/yss-ui/assets/docs/guide/jsp.md +0 -227
  1609. package/template/.hermes/skills/yss-ui/assets/docs/guide/llms.md +0 -295
  1610. package/template/.hermes/skills/yss-ui/assets/docs/guide/monorepo-versioning.md +0 -149
  1611. package/template/.hermes/skills/yss-ui/assets/docs/guide/release-workflow.md +0 -251
  1612. package/template/.hermes/skills/yss-ui/assets/docs/hooks/use-table-height.md +0 -101
  1613. package/template/.hermes/skills/yss-ui/assets/docs/hooks/use-tree-height.md +0 -115
  1614. package/template/.hermes/skills/yss-ui/assets/docs/hooks/useFullscreen.md +0 -130
  1615. package/template/.hermes/skills/yss-ui/assets/docs/hooks/useLoading.md +0 -97
  1616. package/template/.hermes/skills/yss-ui/assets/docs/root/resources.md +0 -18
  1617. package/template/.hermes/skills/yss-ui/assets/keyword-index.json +0 -53
  1618. package/template/.hermes/skills/yss-ui/assets/keyword-index.md +0 -47
  1619. package/template/.hermes/skills/yss-ui/assets/reference-index.json +0 -55
  1620. package/template/.hermes/skills/yss-ui/assets/reference-index.md +0 -74
  1621. package/template/.hermes/skills/yss-ui/assets/scenario-index.json +0 -50
  1622. package/template/.hermes/skills/yss-ui/assets/scenario-index.md +0 -41
  1623. package/template/.hermes/skills/yss-ui/references/accessibility.md +0 -23
  1624. package/template/.hermes/skills/yss-ui/references/antdv-compatibility.md +0 -39
  1625. package/template/.hermes/skills/yss-ui/references/checklist.md +0 -110
  1626. package/template/.hermes/skills/yss-ui/references/component-routing.md +0 -31
  1627. package/template/.hermes/skills/yss-ui/references/frontend-docs.md +0 -11
  1628. package/template/.hermes/skills/yss-ui/references/migration-antdv-to-yss.md +0 -20
  1629. package/template/.hermes/skills/yss-ui/references/quick-recipes.md +0 -280
  1630. package/template/.hermes/skills/yss-ui/references/theme-locale-overlay.md +0 -25
  1631. package/template/.hermes/skills/yss-ui/references/verification.md +0 -20
  1632. package/template/.hermes/skills/yss-ui-business-page-generation/SKILL.md +0 -159
  1633. package/template/.hermes/skills/yss-ui-business-page-generation/references/component-map.md +0 -39
  1634. package/template/.hermes/skills/yss-ui-business-page-generation/references/hooks-map.md +0 -70
  1635. package/template/.hermes/skills/yss-ui-business-page-generation/references/utils-map.md +0 -51
  1636. package/template/.hermes/skills/yss-up-springboot3/SKILL.md +0 -40
  1637. package/template/.hermes/skills/yss-up-springboot3/agents/openai.yaml +0 -4
  1638. package/template/.hermes/skills/yss-use-table-height/SKILL.md +0 -130
  1639. package/template/.hermes/skills/yss-use-table-height/agents/openai.yaml +0 -5
  1640. package/template/.hermes/skills/yss-use-table-height/references/frontend-docs.md +0 -9
  1641. package/template/.hermes/skills/yss-use-tree-height/SKILL.md +0 -98
  1642. package/template/.hermes/skills/yss-use-tree-height/agents/openai.yaml +0 -5
  1643. package/template/.hermes/skills/yss-use-tree-height/references/frontend-docs.md +0 -9
  1644. package/template/.hermes/skills/yss-userinfo/SKILL.md +0 -49
  1645. package/template/.hermes/skills/yss-userinfo/agents/openai.yaml +0 -4
  1646. package/template/.hermes/skills/yss-userinfo/references/source-index.md +0 -34
  1647. package/template/.hermes/skills/yss-validation/SKILL.md +0 -56
  1648. package/template/.hermes/skills/yss-validation/agents/openai.yaml +0 -4
  1649. package/template/.hermes/skills/yss-validation/references/source-index.md +0 -33
  1650. package/template/.hermes/skills/yss-web-controller/SKILL.md +0 -79
  1651. package/template/.hermes/skills/yss-web-controller/agents/openai.yaml +0 -5
  1652. package/template/.hermes/skills/yss-web-controller/assets/templates/Controller.java.template +0 -72
  1653. package/template/.hermes/skills/yss-web-controller/assets/templates/WebConvertor.java.template +0 -33
  1654. package/template/.hermes/skills/yss-web-controller/assets/templates/web/dto/CreateRequest.java.template +0 -19
  1655. package/template/.hermes/skills/yss-web-controller/assets/templates/web/dto/PageRequest.java.template +0 -24
  1656. package/template/.hermes/skills/yss-web-controller/assets/templates/web/dto/Response.java.template +0 -18
  1657. package/template/.hermes/skills/yss-web-controller/assets/templates/web/dto/UpdateRequest.java.template +0 -19
  1658. package/template/.hermes/skills/yss-web-controller/references/web-adapter-layer-guide.md +0 -84
  1659. package/template/.hermes/skills/yss-web-controller/scripts/generate_controller.mjs +0 -105
  1660. package/template/.hermes/skills/yss-web-controller/scripts/generate_controller.test.mjs +0 -60
  1661. package/template/.hermes/skills/ytable-usage/SKILL.md +0 -251
  1662. package/template/.hermes/skills/ytree-usage/SKILL.md +0 -132
  1663. package/template/.kiro/settings/mcp.json +0 -8
  1664. package/template/.pi/skills/research/SKILL.md +0 -12
  1665. package/template/.pi/skills/research/agents/openai.yaml +0 -3
  1666. package/template/.pi/skills/yss-router/SKILL.md +0 -51
  1667. package/template/.pi/skills/yss-router/agents/openai.yaml +0 -4
  1668. package/template/.pi/skills/yss-router/references/boundaries.md +0 -50
  1669. package/template/.pi/skills/yss-router/references/router-contract.yaml +0 -345
  1670. package/template/.pi/skills/yss-router/references/slice-implementation-contract.md +0 -185
  1671. package/template/.pi/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  1672. package/template/.pi/skills/yss-source-index/SKILL.md +0 -63
  1673. package/template/.pi/skills/yss-source-index/agents/openai.yaml +0 -4
  1674. package/template/.pi/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  1675. package/template/.qoder/skills/research/SKILL.md +0 -12
  1676. package/template/.qoder/skills/research/agents/openai.yaml +0 -3
  1677. package/template/.qoder/skills/yss-router/SKILL.md +0 -51
  1678. package/template/.qoder/skills/yss-router/agents/openai.yaml +0 -4
  1679. package/template/.qoder/skills/yss-router/references/boundaries.md +0 -50
  1680. package/template/.qoder/skills/yss-router/references/router-contract.yaml +0 -345
  1681. package/template/.qoder/skills/yss-router/references/slice-implementation-contract.md +0 -185
  1682. package/template/.qoder/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  1683. package/template/.qoder/skills/yss-source-index/SKILL.md +0 -63
  1684. package/template/.qoder/skills/yss-source-index/agents/openai.yaml +0 -4
  1685. package/template/.qoder/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  1686. package/template/.trae/skills/research/SKILL.md +0 -12
  1687. package/template/.trae/skills/research/agents/openai.yaml +0 -3
  1688. package/template/.trae/skills/yss-router/SKILL.md +0 -51
  1689. package/template/.trae/skills/yss-router/agents/openai.yaml +0 -4
  1690. package/template/.trae/skills/yss-router/references/boundaries.md +0 -50
  1691. package/template/.trae/skills/yss-router/references/router-contract.yaml +0 -345
  1692. package/template/.trae/skills/yss-router/references/slice-implementation-contract.md +0 -185
  1693. package/template/.trae/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  1694. package/template/.trae/skills/yss-source-index/SKILL.md +0 -63
  1695. package/template/.trae/skills/yss-source-index/agents/openai.yaml +0 -4
  1696. package/template/.trae/skills/yss-source-index/references/source-location.md +0 -18
  1697. package/template/.trae/skills/yss-source-index/references/source-map-config.md +0 -30
  1698. package/template/.trae/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  1699. package/template/.trae/skills/yss-source-index/scripts/refresh-yss-skill-index.test.mjs +0 -15
  1700. package/template/scripts/verify-yss-router-scenarios +0 -3
  1701. /package/template/.agents/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-location.md +0 -0
  1702. /package/template/.agents/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
  1703. /package/template/.agents/skills/{yss-source-index → yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
  1704. /package/template/.claude/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-location.md +0 -0
  1705. /package/template/.claude/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
  1706. /package/template/.claude/skills/{yss-source-index → yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
  1707. /package/template/.codex/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-location.md +0 -0
  1708. /package/template/.codex/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
  1709. /package/template/.codex/skills/{yss-source-index → yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
  1710. /package/template/.cursor/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-location.md +0 -0
  1711. /package/template/.cursor/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
  1712. /package/template/.cursor/skills/{yss-source-index → yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
  1713. /package/template/{.hermes/skills/yss-source-index → .pi/skills/yss-skill-source-index-refresh}/references/source-location.md +0 -0
  1714. /package/template/{.hermes/skills/yss-source-index → .pi/skills/yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
  1715. /package/template/{.hermes/skills/yss-source-index → .pi/skills/yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
  1716. /package/template/{.pi/skills/yss-source-index → .qoder/skills/yss-skill-source-index-refresh}/references/source-location.md +0 -0
  1717. /package/template/{.pi/skills/yss-source-index → .qoder/skills/yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
  1718. /package/template/{.pi/skills/yss-source-index → .qoder/skills/yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
  1719. /package/template/{.qoder/skills/yss-source-index → .trae/skills/yss-skill-source-index-refresh}/references/source-location.md +0 -0
  1720. /package/template/{.qoder/skills/yss-source-index → .trae/skills/yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
  1721. /package/template/{.qoder/skills/yss-source-index → .trae/skills/yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
@@ -1,835 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import fs from 'node:fs';
4
- import path from 'node:path';
5
- import { collectAmbiguousCorridors, collectBorderRuns, collectLabelRouteClearance, collectRouteRhythmIssues, routeBudgetMetrics } from '../renderers/shared/geometry.mjs';
6
- import {
7
- DESKTOP_READABILITY_VIEWPORT,
8
- DESKTOP_READER_DIAGRAM_WIDTH,
9
- MIN_PROJECTED_NODE_TEXT_PX,
10
- projectedNodeTextPx,
11
- } from '../renderers/shared/desktop-readability.mjs';
12
-
13
- const input = process.argv[2];
14
-
15
- if (!input || input === '-h' || input === '--help') {
16
- console.error('Usage: node scripts/check-render-output.mjs <diagram.html>');
17
- process.exit(input ? 0 : 2);
18
- }
19
-
20
- const htmlPath = path.resolve(input);
21
- let html;
22
- try {
23
- html = fs.readFileSync(htmlPath, 'utf8');
24
- } catch (err) {
25
- console.error(JSON.stringify({
26
- ok: false,
27
- file: htmlPath,
28
- checks: [{ name: 'file_readable', ok: false, details: [err.message] }],
29
- }, null, 2));
30
- process.exit(1);
31
- }
32
-
33
- const checks = [];
34
- let composition = {
35
- schemaVersion: 1,
36
- profile: 'standard',
37
- status: 'pass',
38
- summary: { errors: 0, warnings: 0 },
39
- metrics: {
40
- properCrossings: 0,
41
- ambiguousCorridors: 0,
42
- containerBorderRuns: 0,
43
- labelRouteClearanceIssues: 0,
44
- minLabelRouteClearance: null,
45
- maxBends: 0,
46
- routesOverSuggestedBends: 0,
47
- maxStretch: null,
48
- routesOverSuggestedStretch: 0,
49
- minSegmentPx: null,
50
- minInteriorSegmentPx: null,
51
- shortSegmentCount: 0,
52
- shortEndpointSegmentCount: 0,
53
- shortInteriorSegmentCount: 0,
54
- microSegmentCount: 0,
55
- desktopReadabilityIssues: 0,
56
- minProjectedNodeTextPx: null,
57
- },
58
- suggestedLimits: { bendsPerRelationship: 2, stretch: 1.35, segmentPx: 16, microSegmentPx: 8 },
59
- issues: [],
60
- };
61
-
62
- function addCheck(name, ok, details = []) {
63
- checks.push({ name, ok, details });
64
- }
65
-
66
- const svgMatches = [...html.matchAll(/<svg\b[\s\S]*?<\/svg>/gi)];
67
- addCheck('single_svg', svgMatches.length === 1, [`found ${svgMatches.length} <svg> block(s)`]);
68
-
69
- if (svgMatches.length === 1) {
70
- const svg = svgMatches[0][0];
71
- const svgRoot = svg.match(/<svg\b[^>]*>/i)?.[0] || '';
72
- const svgAttrs = parseAttrs(svgRoot);
73
- const qualityProfile = svgAttrs['data-quality-profile'] || 'standard';
74
- const qualityGatesEnforced = svgAttrs['data-quality-gates'] !== 'advisory';
75
- addCheck('finite_svg', !/\b(?:NaN|undefined|Infinity|-Infinity)\b/.test(svg));
76
- const legendStart = svg.indexOf('<!-- Legend -->');
77
- const beforeLegend = legendStart >= 0 ? svg.slice(0, legendStart) : svg;
78
- const desktopReadabilityIssue = collectDesktopReadability(svgAttrs, beforeLegend);
79
- const arrows = collectArrows(beforeLegend);
80
- const diagonal = arrows.flatMap((arrow) => diagonalStraightSegments(arrow).map((segment) => ({ arrow, ...segment })));
81
- addCheck(
82
- 'orthogonal_arrows',
83
- diagonal.length === 0,
84
- diagonal.map(({ arrow, segmentIndex }) => `${arrow.kind} ${arrow.index} segment ${segmentIndex + 1}: ${arrow.raw}`),
85
- );
86
- const relationshipCrossings = collectRelationshipCrossings(arrows);
87
- const compositionFrames = collectCompositionFrames(beforeLegend);
88
- const containerBorderRuns = collectBorderRuns({
89
- routedRelations: arrows
90
- .filter((arrow) => arrow.from && arrow.to && arrow.borderSegments.length)
91
- .map((arrow) => ({
92
- relation: arrow,
93
- relationIndex: arrow.index,
94
- segments: arrow.borderSegments,
95
- })),
96
- frames: compositionFrames,
97
- });
98
- const routedRelationships = arrows
99
- .filter((arrow) => arrow.from && arrow.to && arrow.routePoints.length)
100
- .map((arrow) => ({ relation: arrow, relationIndex: arrow.index, points: arrow.routePoints }));
101
- const routeMetrics = routeBudgetMetrics({ routedRelations: routedRelationships });
102
- const routeRhythmIssues = collectRouteRhythmIssues({ routedRelations: routedRelationships });
103
- const ambiguousCorridors = collectAmbiguousCorridors({ routedRelations: routedRelationships });
104
- const relationshipLabels = collectRelationshipLabelMasks(beforeLegend, arrows);
105
- const labelClearanceThreshold = qualityProfile === 'showcase' ? 4 : 2;
106
- const labelRouteMeasurements = collectLabelRouteClearance({
107
- labels: relationshipLabels,
108
- routedRelations: arrows.map((arrow) => ({ relation: arrow, relationIndex: arrow.index, points: arrow.routePoints })),
109
- threshold: Number.MAX_VALUE,
110
- });
111
- const labelRouteClearance = collectLabelRouteClearance({
112
- labels: relationshipLabels,
113
- routedRelations: arrows.map((arrow) => ({ relation: arrow, relationIndex: arrow.index, points: arrow.routePoints })),
114
- threshold: labelClearanceThreshold,
115
- });
116
- const crossingIsError = qualityProfile === 'showcase';
117
- const corridorIsError = qualityProfile === 'showcase';
118
- const rhythmIsError = qualityProfile === 'showcase';
119
- const labelClearanceIsError = qualityProfile === 'showcase';
120
- const desktopReadabilityIsError = qualityProfile === 'showcase';
121
- const compositionErrors = (qualityGatesEnforced ? containerBorderRuns.length : 0)
122
- + (crossingIsError ? relationshipCrossings.length : 0)
123
- + (corridorIsError ? ambiguousCorridors.length : 0)
124
- + (labelClearanceIsError ? labelRouteClearance.length : 0)
125
- + (rhythmIsError ? routeRhythmIssues.length : 0)
126
- + (desktopReadabilityIsError && desktopReadabilityIssue ? 1 : 0);
127
- const compositionWarnings = (qualityGatesEnforced ? 0 : containerBorderRuns.length)
128
- + (crossingIsError ? 0 : relationshipCrossings.length)
129
- + (corridorIsError ? 0 : ambiguousCorridors.length)
130
- + (labelClearanceIsError ? 0 : labelRouteClearance.length)
131
- + (rhythmIsError ? 0 : routeRhythmIssues.length)
132
- + (desktopReadabilityIsError || !desktopReadabilityIssue ? 0 : 1);
133
- composition = {
134
- schemaVersion: 1,
135
- profile: qualityProfile,
136
- status: compositionErrors ? 'fail' : 'pass',
137
- summary: {
138
- errors: compositionErrors,
139
- warnings: compositionWarnings,
140
- },
141
- metrics: {
142
- properCrossings: relationshipCrossings.length,
143
- ambiguousCorridors: ambiguousCorridors.length,
144
- containerBorderRuns: containerBorderRuns.length,
145
- labelRouteClearanceIssues: labelRouteClearance.length,
146
- minLabelRouteClearance: labelRouteMeasurements.length
147
- ? Math.round(Math.min(...labelRouteMeasurements.map((hit) => hit.clearance)) * 10) / 10
148
- : null,
149
- desktopReadabilityIssues: desktopReadabilityIssue ? 1 : 0,
150
- minProjectedNodeTextPx: desktopReadabilityIssue?.projectedFontPx ?? null,
151
- ...roundedRouteMetrics(routeMetrics),
152
- },
153
- suggestedLimits: { bendsPerRelationship: 2, stretch: 1.35, segmentPx: 16, microSegmentPx: 8 },
154
- issues: [
155
- ...containerBorderRuns.map((hit) => ({
156
- severity: qualityGatesEnforced ? 'error' : 'warning',
157
- code: 'composition/container-border-run',
158
- relationship: relationshipRecord(hit.relation),
159
- frame: frameRecord(hit.frame),
160
- side: hit.side,
161
- segmentIndex: hit.segmentIndex,
162
- overlapLength: Math.round(hit.overlapLength * 10) / 10,
163
- from: hit.overlapStart.map((value) => Math.round(value * 10) / 10),
164
- to: hit.overlapEnd.map((value) => Math.round(value * 10) / 10),
165
- })),
166
- ...labelRouteClearance.map((hit) => ({
167
- severity: labelClearanceIsError ? 'error' : 'warning',
168
- code: 'composition/label-route-clearance',
169
- label: hit.label?.label || hit.labelRelation?.label || '',
170
- labelRelationship: relationshipRecord(hit.labelRelation),
171
- otherRelationship: relationshipRecord(hit.otherRelation),
172
- segmentIndex: hit.segmentIndex,
173
- labelRect: roundedRect(hit.rect),
174
- clearance: Math.round(hit.clearance * 10) / 10,
175
- intersectionLength: Math.round((hit.intersectionLength || 0) * 10) / 10,
176
- threshold: hit.threshold,
177
- from: hit.start.map((value) => Math.round(value * 10) / 10),
178
- to: hit.end.map((value) => Math.round(value * 10) / 10),
179
- })),
180
- ...relationshipCrossings.map((hit) => ({
181
- severity: crossingIsError ? 'error' : 'warning',
182
- code: 'composition/proper-crossing',
183
- relationship: relationshipRecord(hit.left),
184
- otherRelationship: relationshipRecord(hit.right),
185
- point: hit.point.map((value) => Math.round(value * 10) / 10),
186
- })),
187
- ...ambiguousCorridors.map((hit) => ({
188
- severity: corridorIsError ? 'error' : 'warning',
189
- code: 'composition/ambiguous-corridor',
190
- relationship: relationshipRecord(hit.left.relation),
191
- otherRelationship: relationshipRecord(hit.right.relation),
192
- segmentIndex: hit.leftSegment,
193
- otherSegmentIndex: hit.rightSegment,
194
- overlapLength: Math.round(hit.overlapLength * 10) / 10,
195
- from: hit.overlapStart.map((value) => Math.round(value * 10) / 10),
196
- to: hit.overlapEnd.map((value) => Math.round(value * 10) / 10),
197
- })),
198
- ...routeRhythmIssues.map((hit) => ({
199
- severity: rhythmIsError ? 'error' : 'warning',
200
- code: hit.code,
201
- relationship: relationshipRecord(hit.relation),
202
- segmentIndex: hit.segmentIndex,
203
- position: hit.position,
204
- length: Math.round(hit.length * 10) / 10,
205
- from: hit.start.map((value) => Math.round(value * 10) / 10),
206
- to: hit.end.map((value) => Math.round(value * 10) / 10),
207
- })),
208
- ...(desktopReadabilityIssue ? [{
209
- severity: desktopReadabilityIsError ? 'error' : 'warning',
210
- code: 'composition/desktop-readability',
211
- viewportWidth: DESKTOP_READABILITY_VIEWPORT.width,
212
- viewportHeight: DESKTOP_READABILITY_VIEWPORT.height,
213
- availableDiagramWidth: DESKTOP_READER_DIAGRAM_WIDTH,
214
- viewBoxWidth: desktopReadabilityIssue.viewBoxWidth,
215
- scale: desktopReadabilityIssue.scale,
216
- text: desktopReadabilityIssue.text,
217
- detail: desktopReadabilityIssue.detail,
218
- sourceFontPx: desktopReadabilityIssue.sourceFontPx,
219
- projectedFontPx: desktopReadabilityIssue.projectedFontPx,
220
- minimumProjectedFontPx: MIN_PROJECTED_NODE_TEXT_PX,
221
- }] : []),
222
- ],
223
- };
224
- addCheck(
225
- 'label_route_clearance',
226
- !labelClearanceIsError || labelRouteClearance.length === 0,
227
- labelRouteClearance.map((hit) => (
228
- `[composition/label-route-clearance] ${qualityProfile} label "${hit.label?.label || hit.labelRelation?.label || ''}" on ${relationshipName(hit.labelRelation)} is ${Math.round(hit.clearance * 10) / 10}px from ${relationshipName(hit.otherRelation)} segment ${hit.segmentIndex} [${formatPoint(hit.start)}] -> [${formatPoint(hit.end)}]${hit.intersectionLength > 0 ? ` with ${Math.round(hit.intersectionLength * 10) / 10}px hidden by the mask` : ''} (minimum ${hit.threshold}px) — use renderer-supported label controls (message y for sequence; otherwise labelAt, labelDx, labelDy, or labelSegment), or adjust the other relationship route/via/channel.`
229
- )),
230
- );
231
- addCheck(
232
- 'relationship_crossings',
233
- !crossingIsError || relationshipCrossings.length === 0,
234
- relationshipCrossings.map((hit) => (
235
- `[composition/proper-crossing] ${qualityProfile} ${relationshipName(hit.left)} crosses ${relationshipName(hit.right)} at [${formatPoint(hit.point)}]`
236
- )),
237
- );
238
- addCheck(
239
- 'relationship_corridors',
240
- !corridorIsError || ambiguousCorridors.length === 0,
241
- ambiguousCorridors.map((hit) => (
242
- `[composition/ambiguous-corridor] ${qualityProfile} ${relationshipName(hit.left.relation)} shares a ${Math.round(hit.overlapLength * 10) / 10}px corridor with ${relationshipName(hit.right.relation)} at [${formatPoint(hit.overlapStart)}] -> [${formatPoint(hit.overlapEnd)}]`
243
- )),
244
- );
245
- addCheck(
246
- 'container_border_runs',
247
- !qualityGatesEnforced || containerBorderRuns.length === 0,
248
- containerBorderRuns.map((hit) => (
249
- `[composition/container-border-run] ${relationshipName(hit.relation)} follows ${frameName(hit.frame)} ${hit.side} border for ${Math.round(hit.overlapLength * 10) / 10}px on segment ${hit.segmentIndex} [${formatPoint(hit.overlapStart)}] -> [${formatPoint(hit.overlapEnd)}]`
250
- )),
251
- );
252
- addCheck(
253
- 'route_rhythm',
254
- !rhythmIsError || routeRhythmIssues.length === 0,
255
- routeRhythmIssues.map((hit) => (
256
- `[${hit.code}] ${qualityProfile} ${relationshipName(hit.relation)} has a ${Math.round(hit.length * 10) / 10}px ${hit.position} segment ${hit.segmentIndex} [${formatPoint(hit.start)}] -> [${formatPoint(hit.end)}]`
257
- )),
258
- );
259
-
260
- if (legendStart >= 0) {
261
- const legendFragment = svg.slice(legendStart);
262
- const legendBoxes = collectLegendBoxes(legendFragment);
263
- const collisions = collectLegendCollisions(arrows, legendBoxes);
264
- addCheck(
265
- 'legend_clearance',
266
- collisions.length === 0,
267
- collisions.map((hit) => `${hit.arrow.kind} ${hit.arrow.index} crosses legend ${hit.box.label}`),
268
- );
269
- } else {
270
- addCheck('legend_clearance', true, ['no legend marker found']);
271
- }
272
- }
273
-
274
- const ok = checks.every((check) => check.ok) && composition.status !== 'fail';
275
- console.log(JSON.stringify({ ok, file: htmlPath, checks, composition }, null, 2));
276
- process.exit(ok ? 0 : 1);
277
-
278
- function collectArrows(fragment) {
279
- const arrows = [];
280
- let index = 0;
281
-
282
- for (const tag of fragment.matchAll(/<(path|line)\b[^>]*>/gi)) {
283
- const raw = tag[0];
284
- if (!/\bclass="[^"]*\ba-(?:default|emphasis|security|dashed)\b/.test(raw)) continue;
285
- if (!/\bmarker-end=/.test(raw)) continue;
286
- const attrs = parseAttrs(raw);
287
- const segments = tag[1].toLowerCase() === 'line'
288
- ? lineSegments(attrs)
289
- : pathSegments(attrs.d || '');
290
- const borderSegments = tag[1].toLowerCase() === 'line'
291
- ? segments
292
- : straightPathSegments(attrs.d || '');
293
- arrows.push({
294
- kind: tag[1].toLowerCase(),
295
- index: index += 1,
296
- raw,
297
- segments,
298
- borderSegments,
299
- routePoints: parseRoutePoints(attrs['data-composition-points']) || (
300
- borderSegments.length ? [borderSegments[0].start, ...borderSegments.map((segment) => segment.end)] : []
301
- ),
302
- from: attrs['data-edge-from'] || attrs['data-composition-edge-from'],
303
- to: attrs['data-edge-to'] || attrs['data-composition-edge-to'],
304
- id: attrs['data-edge-id'] || attrs['data-composition-edge-id'],
305
- key: attrs['data-edge-key'],
306
- label: attrs['data-edge-label'],
307
- offset: tag.index,
308
- });
309
- }
310
-
311
- return arrows;
312
- }
313
-
314
- function collectRelationshipLabelMasks(fragment, arrows) {
315
- const labels = [];
316
- for (const match of fragment.matchAll(/<g\b[^>]*\bdata-edge-(?:key|id|from)="[^"]*"[^>]*>[\s\S]*?<\/g>/gi)) {
317
- const group = match[0];
318
- const groupAttrs = parseAttrs(group.match(/<g\b[^>]*>/i)?.[0] || '');
319
- const rectTag = [...group.matchAll(/<rect\b[^>]*>/gi)]
320
- .map((item) => item[0])
321
- .find((tag) => /\bclass="[^"]*\bc-mask\b/.test(tag));
322
- if (!rectTag) continue;
323
- const attrs = parseAttrs(rectTag);
324
- const rect = {
325
- x: numberAttr(attrs, 'x'),
326
- y: numberAttr(attrs, 'y'),
327
- width: numberAttr(attrs, 'width'),
328
- height: numberAttr(attrs, 'height'),
329
- };
330
- if (![rect.x, rect.y, rect.width, rect.height].every(Number.isFinite)) continue;
331
- const groupStart = match.index;
332
- const groupEnd = groupStart + group.length;
333
- const containedOwner = arrows.find((arrow) => (
334
- arrow.offset > groupStart
335
- && arrow.offset < groupEnd
336
- && arrow.from === groupAttrs['data-edge-from']
337
- && arrow.to === groupAttrs['data-edge-to']
338
- && (!groupAttrs['data-edge-id'] || !arrow.id || arrow.id === groupAttrs['data-edge-id'])
339
- ));
340
- const owner = arrows.find((arrow) => (
341
- groupAttrs['data-edge-key'] !== undefined && arrow.key === groupAttrs['data-edge-key']
342
- )) || containedOwner || arrows.find((arrow) => (
343
- arrow.id === groupAttrs['data-edge-id']
344
- && arrow.from === groupAttrs['data-edge-from']
345
- && arrow.to === groupAttrs['data-edge-to']
346
- ));
347
- if (!owner) continue;
348
- if (owner.key === undefined && groupAttrs['data-edge-key'] !== undefined) owner.key = groupAttrs['data-edge-key'];
349
- if (!owner.id && groupAttrs['data-edge-id']) owner.id = groupAttrs['data-edge-id'];
350
- if (!owner.label && groupAttrs['data-edge-label']) owner.label = groupAttrs['data-edge-label'];
351
- labels.push({
352
- relation: owner,
353
- relationIndex: owner.index,
354
- label: groupAttrs['data-edge-label'] || '',
355
- rect,
356
- });
357
- }
358
- return labels;
359
- }
360
-
361
- function roundedRect(rect) {
362
- return Object.fromEntries(Object.entries(rect).map(([key, value]) => [key, Math.round(value * 10) / 10]));
363
- }
364
-
365
- function roundedRouteMetrics(metrics) {
366
- return {
367
- ...metrics,
368
- maxStretch: metrics.maxStretch == null ? null : Math.round(metrics.maxStretch * 1000) / 1000,
369
- minSegmentPx: metrics.minSegmentPx == null ? null : Math.round(metrics.minSegmentPx * 10) / 10,
370
- minInteriorSegmentPx: metrics.minInteriorSegmentPx == null ? null : Math.round(metrics.minInteriorSegmentPx * 10) / 10,
371
- };
372
- }
373
-
374
- function parseRoutePoints(value) {
375
- if (!value) return null;
376
- const points = value.split(';').map((pair) => pair.split(',').map(Number));
377
- return points.length >= 2 && points.every(isPoint) ? points : null;
378
- }
379
-
380
- function collectRelationshipCrossings(arrows) {
381
- const relationships = arrows.filter((arrow) => arrow.from && arrow.to && arrow.segments.length);
382
- const crossings = [];
383
- for (let leftIndex = 0; leftIndex < relationships.length; leftIndex += 1) {
384
- const left = relationships[leftIndex];
385
- for (let rightIndex = leftIndex + 1; rightIndex < relationships.length; rightIndex += 1) {
386
- const right = relationships[rightIndex];
387
- if ([left.from, left.to].some((id) => id === right.from || id === right.to)) continue;
388
- let point = null;
389
- for (const leftSegment of left.segments) {
390
- for (const rightSegment of right.segments) {
391
- point = properSegmentIntersection(leftSegment.start, leftSegment.end, rightSegment.start, rightSegment.end);
392
- if (point) break;
393
- }
394
- if (point) break;
395
- }
396
- if (point) crossings.push({ left, right, point });
397
- }
398
- }
399
- return crossings;
400
- }
401
-
402
- function relationshipName(arrow) {
403
- return arrow.id
404
- ? `relationship id "${arrow.id}" ("${arrow.from}" -> "${arrow.to}")`
405
- : `relationship "${arrow.from}" -> "${arrow.to}"`;
406
- }
407
-
408
- function relationshipRecord(arrow) {
409
- const stableIndex = Number(arrow.key);
410
- return {
411
- id: arrow.id,
412
- from: arrow.from,
413
- to: arrow.to,
414
- label: arrow.label || '',
415
- collectionIndex: Number.isInteger(stableIndex) && stableIndex >= 0 ? stableIndex : arrow.index - 1,
416
- artifactIndex: arrow.index,
417
- };
418
- }
419
-
420
- function collectCompositionFrames(fragment) {
421
- const frames = [];
422
- for (const match of fragment.matchAll(/<(rect|path|line)\b[^>]*>/gi)) {
423
- const attrs = parseAttrs(match[0]);
424
- const kind = attrs['data-composition-frame-kind'];
425
- if (!kind) continue;
426
- const identity = attrs['data-composition-frame-id'] || frames.length;
427
- if (match[1].toLowerCase() === 'rect') {
428
- const frame = {
429
- kind,
430
- id: identity,
431
- x: numberAttr(attrs, 'x'),
432
- y: numberAttr(attrs, 'y'),
433
- width: numberAttr(attrs, 'width'),
434
- height: numberAttr(attrs, 'height'),
435
- radius: numberAttr(attrs, 'rx') || 0,
436
- };
437
- if ([frame.x, frame.y, frame.width, frame.height].every(Number.isFinite)) frames.push(frame);
438
- continue;
439
- }
440
- const segments = match[1].toLowerCase() === 'line'
441
- ? lineSegments(attrs)
442
- : pathSegments(attrs.d || '');
443
- for (const [segmentIndex, segment] of segments.entries()) {
444
- frames.push({
445
- kind,
446
- id: segments.length > 1 ? `${identity}:${segmentIndex}` : identity,
447
- shape: 'line',
448
- start: segment.start,
449
- end: segment.end,
450
- });
451
- }
452
- }
453
- return frames;
454
- }
455
-
456
- function frameName(frame) {
457
- return `${frame.kind || 'frame'} "${frame.id}"`;
458
- }
459
-
460
- function frameRecord(frame) {
461
- return { kind: frame.kind, id: frame.id };
462
- }
463
-
464
- function formatPoint(point) {
465
- return point.map((value) => Math.round(value * 10) / 10).join(', ');
466
- }
467
-
468
- function lineSegments(attrs) {
469
- const start = [numberAttr(attrs, 'x1'), numberAttr(attrs, 'y1')];
470
- const end = [numberAttr(attrs, 'x2'), numberAttr(attrs, 'y2')];
471
- if (!isPoint(start) || !isPoint(end)) return [];
472
- return [{ start, end }];
473
- }
474
-
475
- function pathSegments(d) {
476
- const points = pointsFromPath(d);
477
- const segments = [];
478
- for (let i = 1; i < points.length; i += 1) {
479
- segments.push({ start: points[i - 1], end: points[i] });
480
- }
481
- return segments;
482
- }
483
-
484
- // Border runs use exact visible primitives. Non-collinear Q curves are never
485
- // flattened into chords here: a tangent or sampled near-horizontal curve is
486
- // not a structural border run. A fully collinear Q remains a straight visible
487
- // primitive and is included.
488
- function straightPathSegments(d) {
489
- const tokens = d.match(/[MLHVQZmlhvqz]|[-+]?(?:\d*\.)?\d+(?:e[-+]?\d+)?/g) || [];
490
- const segments = [];
491
- let i = 0;
492
- let command = '';
493
- let current = [0, 0];
494
- let start = null;
495
- while (i < tokens.length) {
496
- if (isCommand(tokens[i])) command = tokens[i++];
497
- if (!command) break;
498
- const absolute = command === command.toUpperCase();
499
- switch (command.toUpperCase()) {
500
- case 'M':
501
- case 'L': {
502
- let first = true;
503
- while (i + 1 < tokens.length && !isCommand(tokens[i])) {
504
- const point = [Number.parseFloat(tokens[i++]), Number.parseFloat(tokens[i++])];
505
- if (!point.every(Number.isFinite)) break;
506
- const next = absolute ? point : [current[0] + point[0], current[1] + point[1]];
507
- if (command.toUpperCase() === 'L' || !first) segments.push({ start: current, end: next });
508
- current = next;
509
- if (!start) start = current;
510
- first = false;
511
- }
512
- break;
513
- }
514
- case 'H': {
515
- while (i < tokens.length && !isCommand(tokens[i])) {
516
- const value = Number.parseFloat(tokens[i++]);
517
- if (!Number.isFinite(value)) break;
518
- const next = [absolute ? value : current[0] + value, current[1]];
519
- segments.push({ start: current, end: next });
520
- current = next;
521
- }
522
- break;
523
- }
524
- case 'V': {
525
- while (i < tokens.length && !isCommand(tokens[i])) {
526
- const value = Number.parseFloat(tokens[i++]);
527
- if (!Number.isFinite(value)) break;
528
- const next = [current[0], absolute ? value : current[1] + value];
529
- segments.push({ start: current, end: next });
530
- current = next;
531
- }
532
- break;
533
- }
534
- case 'Q': {
535
- while (i + 3 < tokens.length && !isCommand(tokens[i])) {
536
- const values = [0, 0, 0, 0].map(() => Number.parseFloat(tokens[i++]));
537
- if (!values.every(Number.isFinite)) break;
538
- const control = absolute ? values.slice(0, 2) : [current[0] + values[0], current[1] + values[1]];
539
- const end = absolute ? values.slice(2, 4) : [current[0] + values[2], current[1] + values[3]];
540
- if (Math.abs(crossProduct(current, control, end)) <= 1e-9) segments.push({ start: current, end });
541
- current = end;
542
- }
543
- break;
544
- }
545
- case 'Z':
546
- if (start) segments.push({ start: current, end: start });
547
- current = start || current;
548
- command = '';
549
- break;
550
- default:
551
- return [];
552
- }
553
- }
554
- return segments.filter(({ start: a, end: b }) => isPoint(a) && isPoint(b));
555
- }
556
-
557
- function diagonalStraightSegments(arrow) {
558
- return arrow.borderSegments.flatMap(({ start, end }, segmentIndex) => (
559
- Math.abs(start[0] - end[0]) > 0.01 && Math.abs(start[1] - end[1]) > 0.01
560
- ? [{ segmentIndex, start, end }]
561
- : []
562
- ));
563
- }
564
-
565
- function collectLegendBoxes(fragment) {
566
- const boxes = [];
567
-
568
- for (const match of fragment.matchAll(/<rect\b[^>]*>/gi)) {
569
- const attrs = parseAttrs(match[0]);
570
- const x = numberAttr(attrs, 'x');
571
- const y = numberAttr(attrs, 'y');
572
- const width = numberAttr(attrs, 'width');
573
- const height = numberAttr(attrs, 'height');
574
- if ([x, y, width, height].every(Number.isFinite)) {
575
- boxes.push({ x1: x, y1: y, x2: x + width, y2: y + height, label: `rect@${x},${y}` });
576
- }
577
- }
578
-
579
- for (const match of fragment.matchAll(/<text\b([^>]*)>([\s\S]*?)<\/text>/gi)) {
580
- const attrs = parseAttrs(match[1]);
581
- const box = textBox(attrs, stripTags(match[2]).trim());
582
- if (box) boxes.push(box);
583
- }
584
-
585
- return boxes;
586
- }
587
-
588
- function collectLegendCollisions(arrows, boxes) {
589
- const collisions = [];
590
- for (const arrow of arrows) {
591
- for (const segment of arrow.segments) {
592
- for (const box of boxes) {
593
- if (segmentIntersectsBox(segment, padBox(box, 2))) {
594
- collisions.push({ arrow, box });
595
- }
596
- }
597
- }
598
- }
599
- return collisions;
600
- }
601
-
602
- function textBox(attrs, text) {
603
- const x = numberAttr(attrs, 'x');
604
- const y = numberAttr(attrs, 'y');
605
- const fontSize = Number.parseFloat(attrs['font-size'] || '10');
606
- if (!Number.isFinite(x) || !Number.isFinite(y) || !Number.isFinite(fontSize)) return null;
607
- const width = estimatedTextWidth(text, fontSize);
608
- const anchor = attrs['text-anchor'] || 'start';
609
- let x1 = x;
610
- if (anchor === 'middle') x1 = x - width / 2;
611
- if (anchor === 'end') x1 = x - width;
612
- return {
613
- x1,
614
- y1: y - fontSize,
615
- x2: x1 + width,
616
- y2: y + fontSize * 0.25,
617
- label: text || `text@${x},${y}`,
618
- };
619
- }
620
-
621
- function collectDesktopReadability(svgAttrs, fragment) {
622
- const viewBox = String(svgAttrs.viewBox || '').trim().split(/[\s,]+/).map(Number);
623
- const viewBoxWidth = viewBox.length === 4 ? viewBox[2] : Number.NaN;
624
- if (!Number.isFinite(viewBoxWidth) || viewBoxWidth <= 0) return null;
625
- const scale = Math.min(1, DESKTOP_READER_DIAGRAM_WIDTH / viewBoxWidth);
626
- let worst = null;
627
- for (const match of fragment.matchAll(/<text\b([^>]*)>([\s\S]*?)<\/text>/gi)) {
628
- const primary = /\bdata-node-label(?:\s*=|\s|$)/i.test(match[1]);
629
- const boundary = /\bdata-boundary-label(?:\s*=|\s|$)/i.test(match[1]);
630
- const context = /\bdata-detail\s*=\s*"context"/i.test(match[1]);
631
- if (!primary && !boundary && !context) continue;
632
- const attrs = parseAttrs(match[1]);
633
- const fontSize = Number.parseFloat(attrs['font-size'] || '');
634
- if (!Number.isFinite(fontSize)) continue;
635
- const projected = projectedNodeTextPx(fontSize, viewBoxWidth);
636
- if (projected >= MIN_PROJECTED_NODE_TEXT_PX) continue;
637
- const candidate = {
638
- viewBoxWidth,
639
- scale,
640
- text: stripTags(match[2]).trim(),
641
- detail: primary
642
- ? 'primary'
643
- : boundary ? 'boundary' : 'context',
644
- sourceFontPx: fontSize,
645
- projectedFontPx: projected,
646
- };
647
- if (!worst || candidate.projectedFontPx < worst.projectedFontPx) worst = candidate;
648
- }
649
- return worst;
650
- }
651
-
652
- function estimatedTextWidth(text, fontSize) {
653
- let units = 0;
654
- for (const char of text) units += char.charCodeAt(0) > 255 ? 1.8 : 0.62;
655
- return Math.max(fontSize, units * fontSize);
656
- }
657
-
658
- function pointsFromPath(d) {
659
- const tokens = d.match(/[MLHVQZmlhvqz]|[-+]?(?:\d*\.)?\d+(?:e[-+]?\d+)?/g) || [];
660
- const points = [];
661
- let i = 0;
662
- let command = '';
663
- let current = [0, 0];
664
- let start = null;
665
-
666
- while (i < tokens.length) {
667
- if (isCommand(tokens[i])) command = tokens[i++];
668
- if (!command) break;
669
-
670
- const absolute = command === command.toUpperCase();
671
- switch (command.toUpperCase()) {
672
- case 'M':
673
- case 'L': {
674
- while (i + 1 < tokens.length && !isCommand(tokens[i])) {
675
- const x = Number.parseFloat(tokens[i++]);
676
- const y = Number.parseFloat(tokens[i++]);
677
- if (!Number.isFinite(x) || !Number.isFinite(y)) break;
678
- current = absolute ? [x, y] : [current[0] + x, current[1] + y];
679
- points.push(current);
680
- if (!start) start = current;
681
- }
682
- break;
683
- }
684
- case 'H': {
685
- while (i < tokens.length && !isCommand(tokens[i])) {
686
- const x = Number.parseFloat(tokens[i++]);
687
- if (!Number.isFinite(x)) break;
688
- current = absolute ? [x, current[1]] : [current[0] + x, current[1]];
689
- points.push(current);
690
- }
691
- break;
692
- }
693
- case 'V': {
694
- while (i < tokens.length && !isCommand(tokens[i])) {
695
- const y = Number.parseFloat(tokens[i++]);
696
- if (!Number.isFinite(y)) break;
697
- current = absolute ? [current[0], y] : [current[0], current[1] + y];
698
- points.push(current);
699
- }
700
- break;
701
- }
702
- case 'Q': {
703
- while (i + 3 < tokens.length && !isCommand(tokens[i])) {
704
- const controlX = Number.parseFloat(tokens[i++]);
705
- const controlY = Number.parseFloat(tokens[i++]);
706
- const endX = Number.parseFloat(tokens[i++]);
707
- const endY = Number.parseFloat(tokens[i++]);
708
- if (![controlX, controlY, endX, endY].every(Number.isFinite)) break;
709
- const control = absolute
710
- ? [controlX, controlY]
711
- : [current[0] + controlX, current[1] + controlY];
712
- const end = absolute
713
- ? [endX, endY]
714
- : [current[0] + endX, current[1] + endY];
715
- const startPoint = current;
716
- for (let step = 1; step <= 8; step += 1) {
717
- const amount = step / 8;
718
- const remaining = 1 - amount;
719
- points.push([
720
- remaining * remaining * startPoint[0] + 2 * remaining * amount * control[0] + amount * amount * end[0],
721
- remaining * remaining * startPoint[1] + 2 * remaining * amount * control[1] + amount * amount * end[1],
722
- ]);
723
- }
724
- current = end;
725
- }
726
- break;
727
- }
728
- case 'Z': {
729
- if (start) points.push(start);
730
- break;
731
- }
732
- default:
733
- return [];
734
- }
735
- }
736
-
737
- return points.filter(isPoint);
738
- }
739
-
740
- function properSegmentIntersection(a, b, c, d) {
741
- const abC = crossProduct(a, b, c);
742
- const abD = crossProduct(a, b, d);
743
- const cdA = crossProduct(c, d, a);
744
- const cdB = crossProduct(c, d, b);
745
- const epsilon = 1e-9;
746
- const opposite = (left, right) => (left > epsilon && right < -epsilon) || (left < -epsilon && right > epsilon);
747
- if (!opposite(abC, abD) || !opposite(cdA, cdB)) return null;
748
- const denominator = (a[0] - b[0]) * (c[1] - d[1]) - (a[1] - b[1]) * (c[0] - d[0]);
749
- if (Math.abs(denominator) < epsilon) return null;
750
- const ab = a[0] * b[1] - a[1] * b[0];
751
- const cd = c[0] * d[1] - c[1] * d[0];
752
- return [
753
- (ab * (c[0] - d[0]) - (a[0] - b[0]) * cd) / denominator,
754
- (ab * (c[1] - d[1]) - (a[1] - b[1]) * cd) / denominator,
755
- ];
756
- }
757
-
758
- function crossProduct(a, b, c) {
759
- return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);
760
- }
761
-
762
- function segmentIntersectsBox(segment, box) {
763
- const { start, end } = segment;
764
- if (pointInsideBox(start, box) || pointInsideBox(end, box)) return true;
765
- const edges = [
766
- [[box.x1, box.y1], [box.x2, box.y1]],
767
- [[box.x2, box.y1], [box.x2, box.y2]],
768
- [[box.x2, box.y2], [box.x1, box.y2]],
769
- [[box.x1, box.y2], [box.x1, box.y1]],
770
- ];
771
- return edges.some(([a, b]) => segmentsIntersect(start, end, a, b));
772
- }
773
-
774
- function segmentsIntersect(a, b, c, d) {
775
- const o1 = orientation(a, b, c);
776
- const o2 = orientation(a, b, d);
777
- const o3 = orientation(c, d, a);
778
- const o4 = orientation(c, d, b);
779
-
780
- if (o1 !== o2 && o3 !== o4) return true;
781
- if (o1 === 0 && onSegment(a, c, b)) return true;
782
- if (o2 === 0 && onSegment(a, d, b)) return true;
783
- if (o3 === 0 && onSegment(c, a, d)) return true;
784
- if (o4 === 0 && onSegment(c, b, d)) return true;
785
- return false;
786
- }
787
-
788
- function orientation(a, b, c) {
789
- const value = (b[1] - a[1]) * (c[0] - b[0]) - (b[0] - a[0]) * (c[1] - b[1]);
790
- if (Math.abs(value) < 1e-9) return 0;
791
- return value > 0 ? 1 : 2;
792
- }
793
-
794
- function onSegment(a, b, c) {
795
- return b[0] <= Math.max(a[0], c[0]) + 1e-9
796
- && b[0] + 1e-9 >= Math.min(a[0], c[0])
797
- && b[1] <= Math.max(a[1], c[1]) + 1e-9
798
- && b[1] + 1e-9 >= Math.min(a[1], c[1]);
799
- }
800
-
801
- function pointInsideBox(point, box) {
802
- return point[0] >= box.x1 && point[0] <= box.x2 && point[1] >= box.y1 && point[1] <= box.y2;
803
- }
804
-
805
- function padBox(box, padding) {
806
- return {
807
- ...box,
808
- x1: box.x1 - padding,
809
- y1: box.y1 - padding,
810
- x2: box.x2 + padding,
811
- y2: box.y2 + padding,
812
- };
813
- }
814
-
815
- function parseAttrs(tag) {
816
- const attrs = {};
817
- for (const match of tag.matchAll(/([\w:-]+)\s*=\s*"([^"]*)"/g)) attrs[match[1]] = match[2];
818
- return attrs;
819
- }
820
-
821
- function numberAttr(attrs, name) {
822
- return Number.parseFloat(attrs[name]);
823
- }
824
-
825
- function isCommand(token) {
826
- return /^[A-Za-z]$/.test(token);
827
- }
828
-
829
- function isPoint(point) {
830
- return Array.isArray(point) && point.length === 2 && point.every(Number.isFinite);
831
- }
832
-
833
- function stripTags(value) {
834
- return value.replace(/<[^>]*>/g, '');
835
- }