create-yss-spec 3.0.0 → 3.1.0

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 (2463) hide show
  1. package/README.md +2 -2
  2. package/package.json +1 -1
  3. package/src/cli.js +0 -1
  4. package/template/.agents/rules/yss-ai-skills.md +3 -55
  5. package/template/.agents/skills/.strategic-design-skills-manifest.json +40 -0
  6. package/template/.agents/skills/.yss-skills-manifest.json +1 -5
  7. package/template/.agents/skills/alibaba-java-code-style/SKILL.md +1 -0
  8. package/template/.agents/skills/code-review/SKILL.md +1 -1
  9. package/template/.agents/skills/code-review/references/yss-review-standards.md +2 -2
  10. package/template/.agents/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
  11. package/template/.agents/skills/domain-modeling/SKILL.md +10 -26
  12. package/template/.agents/skills/grill-with-docs/SKILL.md +6 -5
  13. package/template/.agents/skills/lombok/SKILL.md +3 -2
  14. package/template/.agents/skills/mapstruct/SKILL.md +4 -3
  15. package/template/.agents/skills/prototype-review/SKILL.md +7 -6
  16. package/template/.agents/skills/setup-matt-pocock-skills/SKILL.md +5 -6
  17. package/template/.agents/skills/setup-matt-pocock-skills/domain.md +6 -20
  18. package/template/.agents/skills/wait-what/SKILL.md +1 -1
  19. package/template/.agents/skills/yss-antd-design/SKILL.md +8 -7
  20. package/template/.agents/skills/yss-antd-design/references/evidence.md +11 -6
  21. package/template/.agents/skills/yss-antdv-next-design/SKILL.md +48 -0
  22. package/template/.agents/skills/yss-antdv-next-design/references/boundaries.md +25 -0
  23. package/template/.agents/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
  24. package/template/.agents/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
  25. package/template/.agents/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
  26. package/template/.agents/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
  27. package/template/.agents/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
  28. package/template/.agents/skills/yss-api-integration/SKILL.md +2 -2
  29. package/template/.agents/skills/yss-application/SKILL.md +8 -2
  30. package/template/.agents/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
  31. package/template/.agents/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
  32. package/template/.agents/skills/yss-application/references/profiles/target-domain-model.md +3 -0
  33. package/template/.agents/skills/yss-audit-log/SKILL.md +2 -2
  34. package/template/.agents/skills/yss-audit-log/references/source-index.md +1 -1
  35. package/template/.agents/skills/yss-cache/SKILL.md +2 -2
  36. package/template/.agents/skills/yss-cache/references/source-index.md +1 -1
  37. package/template/.agents/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  38. package/template/.agents/skills/yss-components/SKILL.md +1 -1
  39. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +8 -9
  40. package/template/.agents/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  41. package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
  42. package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
  43. package/template/.agents/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +1 -1
  44. package/template/.agents/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +15 -6
  45. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +2 -2
  46. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +23 -9
  47. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +3 -3
  48. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +43 -21
  49. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +23 -11
  50. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +15 -3
  51. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +44 -15
  52. package/template/.agents/skills/yss-design-system/SKILL.md +27 -24
  53. package/template/.agents/skills/yss-design-system/references/design-qa-theme.md +22 -24
  54. package/template/.agents/skills/yss-design-system/references/design-system.md +39 -56
  55. package/template/.agents/skills/yss-distributed-id/SKILL.md +2 -2
  56. package/template/.agents/skills/yss-distributed-id/references/source-index.md +1 -1
  57. package/template/.agents/skills/yss-domain/SKILL.md +2 -2
  58. package/template/.agents/skills/yss-dto/SKILL.md +3 -2
  59. package/template/.agents/skills/yss-dto/references/source-index.md +1 -1
  60. package/template/.agents/skills/yss-excel-mvc/SKILL.md +2 -2
  61. package/template/.agents/skills/yss-excel-mvc/references/source-index.md +1 -1
  62. package/template/.agents/skills/yss-exception/SKILL.md +2 -1
  63. package/template/.agents/skills/yss-exception/references/source-index.md +1 -1
  64. package/template/.agents/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
  65. package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +61 -0
  66. package/template/.agents/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  67. package/template/.agents/skills/yss-implementation-contract-compiler/references/boundaries.md +142 -0
  68. package/template/.agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +367 -0
  69. package/template/.agents/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +201 -0
  70. package/template/.agents/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +71 -0
  71. package/template/.agents/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
  72. package/template/.agents/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +91 -0
  73. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
  74. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
  75. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
  76. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
  77. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
  78. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
  79. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
  80. package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
  81. package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
  82. package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
  83. package/template/.agents/skills/yss-mvc-scaffold-generator/SKILL.md +8 -0
  84. package/template/.agents/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  85. package/template/.agents/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  86. package/template/.agents/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  87. package/template/.agents/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  88. package/template/.agents/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
  89. package/template/.agents/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
  90. package/template/.agents/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
  91. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +3 -0
  92. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +9 -0
  93. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +74 -0
  94. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
  95. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  96. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  97. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  98. package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  99. package/template/.agents/skills/yss-mybatis/SKILL.md +4 -4
  100. package/template/.agents/skills/yss-mybatis/references/source-index.md +1 -1
  101. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +35 -11
  102. package/template/.agents/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
  103. package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +9 -11
  104. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +136 -55
  105. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +12 -6
  106. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +7 -2
  107. package/template/.agents/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
  108. package/template/.agents/skills/yss-prototype-stage/SKILL.md +35 -24
  109. package/template/.agents/skills/yss-prototype-stage/references/product-design-adapter.md +66 -38
  110. package/template/.agents/skills/yss-prototype-stage/references/prototype-profile-routing.md +69 -0
  111. package/template/.agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs +299 -103
  112. package/template/.agents/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
  113. package/template/.agents/skills/yss-prototype-stage/tests/run-scenarios.mjs +164 -132
  114. package/template/.agents/skills/yss-repository/SKILL.md +8 -2
  115. package/template/.agents/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
  116. package/template/.agents/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
  117. package/template/.agents/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
  118. package/template/.agents/skills/yss-resilience4j/SKILL.md +1 -1
  119. package/template/.agents/skills/yss-resilience4j/references/source-index.md +1 -1
  120. package/template/.agents/skills/yss-security-algorithm/SKILL.md +1 -1
  121. package/template/.agents/skills/yss-security-algorithm/references/source-index.md +1 -1
  122. package/template/.agents/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
  123. package/template/.agents/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  124. package/template/.agents/skills/yss-skill-source-index-refresh/references/source-map-config.md +29 -0
  125. package/template/.agents/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
  126. package/template/.agents/skills/yss-stage-decision/SKILL.md +16 -12
  127. package/template/.agents/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
  128. package/template/.agents/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
  129. package/template/.agents/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
  130. package/template/.agents/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
  131. package/template/.agents/skills/yss-stage-decision/references/validation-rules.md +1 -1
  132. package/template/.agents/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
  133. package/template/.agents/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
  134. package/template/.agents/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
  135. package/template/.agents/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
  136. package/template/.agents/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
  137. package/template/.agents/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
  138. package/template/.agents/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
  139. package/template/.agents/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
  140. package/template/.agents/skills/yss-tactical-design/SKILL.md +8 -2
  141. package/template/.agents/skills/yss-tactical-design/references/output-template.md +3 -0
  142. package/template/.agents/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
  143. package/template/.agents/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
  144. package/template/.agents/skills/yss-ui/SKILL.md +2 -2
  145. package/template/.agents/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  146. package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +3 -3
  147. package/template/.agents/skills/yss-up-springboot3/SKILL.md +1 -1
  148. package/template/.agents/skills/yss-userinfo/SKILL.md +1 -1
  149. package/template/.agents/skills/yss-userinfo/references/source-index.md +1 -1
  150. package/template/.agents/skills/yss-validation/SKILL.md +2 -1
  151. package/template/.agents/skills/yss-validation/references/source-index.md +1 -1
  152. package/template/.agents/skills/yss-web-controller/SKILL.md +8 -2
  153. package/template/.agents/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
  154. package/template/.agents/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
  155. package/template/.agents/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
  156. package/template/.agents/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
  157. package/template/.agents/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
  158. package/template/.agents/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
  159. package/template/.claude/skills/alibaba-java-code-style/SKILL.md +1 -0
  160. package/template/.claude/skills/code-review/SKILL.md +1 -1
  161. package/template/.claude/skills/code-review/references/yss-review-standards.md +2 -2
  162. package/template/.claude/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
  163. package/template/.claude/skills/domain-modeling/SKILL.md +10 -26
  164. package/template/.claude/skills/grill-with-docs/SKILL.md +6 -5
  165. package/template/.claude/skills/lombok/SKILL.md +3 -2
  166. package/template/.claude/skills/mapstruct/SKILL.md +4 -3
  167. package/template/.claude/skills/prototype-review/SKILL.md +7 -6
  168. package/template/.claude/skills/setup-matt-pocock-skills/SKILL.md +5 -6
  169. package/template/.claude/skills/setup-matt-pocock-skills/domain.md +6 -20
  170. package/template/.claude/skills/wait-what/SKILL.md +1 -1
  171. package/template/.claude/skills/yss-antd-design/SKILL.md +8 -7
  172. package/template/.claude/skills/yss-antd-design/references/evidence.md +11 -6
  173. package/template/.claude/skills/yss-antdv-next-design/SKILL.md +48 -0
  174. package/template/.claude/skills/yss-antdv-next-design/references/boundaries.md +25 -0
  175. package/template/.claude/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
  176. package/template/.claude/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
  177. package/template/.claude/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
  178. package/template/.claude/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
  179. package/template/.claude/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
  180. package/template/.claude/skills/yss-api-integration/SKILL.md +2 -2
  181. package/template/.claude/skills/yss-application/SKILL.md +8 -2
  182. package/template/.claude/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
  183. package/template/.claude/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
  184. package/template/.claude/skills/yss-application/references/profiles/target-domain-model.md +3 -0
  185. package/template/.claude/skills/yss-audit-log/SKILL.md +2 -2
  186. package/template/.claude/skills/yss-audit-log/references/source-index.md +1 -1
  187. package/template/.claude/skills/yss-cache/SKILL.md +2 -2
  188. package/template/.claude/skills/yss-cache/references/source-index.md +1 -1
  189. package/template/.claude/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  190. package/template/.claude/skills/yss-components/SKILL.md +1 -1
  191. package/template/.claude/skills/yss-ddd-scaffold-generator/SKILL.md +8 -9
  192. package/template/.claude/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  193. package/template/.claude/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
  194. package/template/.claude/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
  195. package/template/.claude/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +1 -1
  196. package/template/.claude/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +15 -6
  197. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +2 -2
  198. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +23 -9
  199. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +3 -3
  200. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +43 -21
  201. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +23 -11
  202. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +15 -3
  203. package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +44 -15
  204. package/template/.claude/skills/yss-design-system/SKILL.md +27 -24
  205. package/template/.claude/skills/yss-design-system/references/design-qa-theme.md +22 -24
  206. package/template/.claude/skills/yss-design-system/references/design-system.md +39 -56
  207. package/template/.claude/skills/yss-distributed-id/SKILL.md +2 -2
  208. package/template/.claude/skills/yss-distributed-id/references/source-index.md +1 -1
  209. package/template/.claude/skills/yss-domain/SKILL.md +2 -2
  210. package/template/.claude/skills/yss-dto/SKILL.md +3 -2
  211. package/template/.claude/skills/yss-dto/references/source-index.md +1 -1
  212. package/template/.claude/skills/yss-excel-mvc/SKILL.md +2 -2
  213. package/template/.claude/skills/yss-excel-mvc/references/source-index.md +1 -1
  214. package/template/.claude/skills/yss-exception/SKILL.md +2 -1
  215. package/template/.claude/skills/yss-exception/references/source-index.md +1 -1
  216. package/template/.claude/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
  217. package/template/.claude/skills/yss-implementation-contract-compiler/SKILL.md +61 -0
  218. package/template/.claude/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  219. package/template/.claude/skills/yss-implementation-contract-compiler/references/boundaries.md +142 -0
  220. package/template/.claude/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +367 -0
  221. package/template/.claude/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +201 -0
  222. package/template/.claude/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +71 -0
  223. package/template/.claude/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
  224. package/template/.claude/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +91 -0
  225. package/template/.claude/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
  226. package/template/.claude/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
  227. package/template/.claude/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
  228. package/template/.claude/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
  229. package/template/.claude/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
  230. package/template/.claude/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
  231. package/template/.claude/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
  232. package/template/.claude/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
  233. package/template/.claude/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
  234. package/template/.claude/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
  235. package/template/.claude/skills/yss-mvc-scaffold-generator/SKILL.md +8 -0
  236. package/template/.claude/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  237. package/template/.claude/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  238. package/template/.claude/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  239. package/template/.claude/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  240. package/template/.claude/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
  241. package/template/.claude/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
  242. package/template/.claude/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
  243. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +3 -0
  244. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +9 -0
  245. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +74 -0
  246. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
  247. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  248. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  249. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  250. package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  251. package/template/.claude/skills/yss-mybatis/SKILL.md +4 -4
  252. package/template/.claude/skills/yss-mybatis/references/source-index.md +1 -1
  253. package/template/.claude/skills/yss-product-lifecycle/SKILL.md +35 -11
  254. package/template/.claude/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
  255. package/template/.claude/skills/yss-product-lifecycle/references/matt-yss-adapter.md +9 -11
  256. package/template/.claude/skills/yss-product-lifecycle/references/orchestration-contract.yaml +136 -55
  257. package/template/.claude/skills/yss-product-lifecycle/references/orchestration.md +12 -6
  258. package/template/.claude/skills/yss-product-lifecycle/references/state-model.md +7 -2
  259. package/template/.claude/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
  260. package/template/.claude/skills/yss-prototype-stage/SKILL.md +35 -24
  261. package/template/.claude/skills/yss-prototype-stage/references/product-design-adapter.md +66 -38
  262. package/template/.claude/skills/yss-prototype-stage/references/prototype-profile-routing.md +69 -0
  263. package/template/.claude/skills/yss-prototype-stage/scripts/prototype-contract.mjs +299 -103
  264. package/template/.claude/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
  265. package/template/.claude/skills/yss-prototype-stage/tests/run-scenarios.mjs +164 -132
  266. package/template/.claude/skills/yss-repository/SKILL.md +8 -2
  267. package/template/.claude/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
  268. package/template/.claude/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
  269. package/template/.claude/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
  270. package/template/.claude/skills/yss-resilience4j/SKILL.md +1 -1
  271. package/template/.claude/skills/yss-resilience4j/references/source-index.md +1 -1
  272. package/template/.claude/skills/yss-security-algorithm/SKILL.md +1 -1
  273. package/template/.claude/skills/yss-security-algorithm/references/source-index.md +1 -1
  274. package/template/.claude/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
  275. package/template/.claude/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  276. package/template/.claude/skills/yss-skill-source-index-refresh/references/source-map-config.md +29 -0
  277. package/template/.claude/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
  278. package/template/.claude/skills/yss-stage-decision/SKILL.md +16 -12
  279. package/template/.claude/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
  280. package/template/.claude/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
  281. package/template/.claude/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
  282. package/template/.claude/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
  283. package/template/.claude/skills/yss-stage-decision/references/validation-rules.md +1 -1
  284. package/template/.claude/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
  285. package/template/.claude/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
  286. package/template/.claude/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
  287. package/template/.claude/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
  288. package/template/.claude/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
  289. package/template/.claude/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
  290. package/template/.claude/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
  291. package/template/.claude/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
  292. package/template/.claude/skills/yss-tactical-design/SKILL.md +8 -2
  293. package/template/.claude/skills/yss-tactical-design/references/output-template.md +3 -0
  294. package/template/.claude/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
  295. package/template/.claude/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
  296. package/template/.claude/skills/yss-ui/SKILL.md +2 -2
  297. package/template/.claude/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  298. package/template/.claude/skills/yss-ui-business-page-generation/SKILL.md +3 -3
  299. package/template/.claude/skills/yss-up-springboot3/SKILL.md +1 -1
  300. package/template/.claude/skills/yss-userinfo/SKILL.md +1 -1
  301. package/template/.claude/skills/yss-userinfo/references/source-index.md +1 -1
  302. package/template/.claude/skills/yss-validation/SKILL.md +2 -1
  303. package/template/.claude/skills/yss-validation/references/source-index.md +1 -1
  304. package/template/.claude/skills/yss-web-controller/SKILL.md +8 -2
  305. package/template/.claude/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
  306. package/template/.claude/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
  307. package/template/.claude/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
  308. package/template/.claude/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
  309. package/template/.claude/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
  310. package/template/.claude/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
  311. package/template/.codex/skills/alibaba-java-code-style/SKILL.md +1 -0
  312. package/template/.codex/skills/code-review/SKILL.md +1 -1
  313. package/template/.codex/skills/code-review/references/yss-review-standards.md +2 -2
  314. package/template/.codex/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
  315. package/template/.codex/skills/domain-modeling/SKILL.md +10 -26
  316. package/template/.codex/skills/grill-with-docs/SKILL.md +6 -5
  317. package/template/.codex/skills/lombok/SKILL.md +3 -2
  318. package/template/.codex/skills/mapstruct/SKILL.md +4 -3
  319. package/template/.codex/skills/prototype-review/SKILL.md +7 -6
  320. package/template/.codex/skills/setup-matt-pocock-skills/SKILL.md +5 -6
  321. package/template/.codex/skills/setup-matt-pocock-skills/domain.md +6 -20
  322. package/template/.codex/skills/wait-what/SKILL.md +1 -1
  323. package/template/.codex/skills/yss-antd-design/SKILL.md +8 -7
  324. package/template/.codex/skills/yss-antd-design/references/evidence.md +11 -6
  325. package/template/.codex/skills/yss-antdv-next-design/SKILL.md +48 -0
  326. package/template/.codex/skills/yss-antdv-next-design/references/boundaries.md +25 -0
  327. package/template/.codex/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
  328. package/template/.codex/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
  329. package/template/.codex/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
  330. package/template/.codex/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
  331. package/template/.codex/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
  332. package/template/.codex/skills/yss-api-integration/SKILL.md +2 -2
  333. package/template/.codex/skills/yss-application/SKILL.md +8 -2
  334. package/template/.codex/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
  335. package/template/.codex/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
  336. package/template/.codex/skills/yss-application/references/profiles/target-domain-model.md +3 -0
  337. package/template/.codex/skills/yss-audit-log/SKILL.md +2 -2
  338. package/template/.codex/skills/yss-audit-log/references/source-index.md +1 -1
  339. package/template/.codex/skills/yss-cache/SKILL.md +2 -2
  340. package/template/.codex/skills/yss-cache/references/source-index.md +1 -1
  341. package/template/.codex/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  342. package/template/.codex/skills/yss-components/SKILL.md +1 -1
  343. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +8 -9
  344. package/template/.codex/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  345. package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
  346. package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
  347. package/template/.codex/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +1 -1
  348. package/template/.codex/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +15 -6
  349. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +2 -2
  350. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +23 -9
  351. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +3 -3
  352. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +43 -21
  353. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +23 -11
  354. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +15 -3
  355. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +44 -15
  356. package/template/.codex/skills/yss-design-system/SKILL.md +27 -24
  357. package/template/.codex/skills/yss-design-system/references/design-qa-theme.md +22 -24
  358. package/template/.codex/skills/yss-design-system/references/design-system.md +39 -56
  359. package/template/.codex/skills/yss-distributed-id/SKILL.md +2 -2
  360. package/template/.codex/skills/yss-distributed-id/references/source-index.md +1 -1
  361. package/template/.codex/skills/yss-domain/SKILL.md +2 -2
  362. package/template/.codex/skills/yss-dto/SKILL.md +3 -2
  363. package/template/.codex/skills/yss-dto/references/source-index.md +1 -1
  364. package/template/.codex/skills/yss-excel-mvc/SKILL.md +2 -2
  365. package/template/.codex/skills/yss-excel-mvc/references/source-index.md +1 -1
  366. package/template/.codex/skills/yss-exception/SKILL.md +2 -1
  367. package/template/.codex/skills/yss-exception/references/source-index.md +1 -1
  368. package/template/.codex/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
  369. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +61 -0
  370. package/template/.codex/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  371. package/template/.codex/skills/yss-implementation-contract-compiler/references/boundaries.md +142 -0
  372. package/template/.codex/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +367 -0
  373. package/template/.codex/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +201 -0
  374. package/template/.codex/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +71 -0
  375. package/template/.codex/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
  376. package/template/.codex/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +91 -0
  377. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
  378. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
  379. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
  380. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
  381. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
  382. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
  383. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
  384. package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
  385. package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
  386. package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
  387. package/template/.codex/skills/yss-mvc-scaffold-generator/SKILL.md +8 -0
  388. package/template/.codex/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  389. package/template/.codex/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  390. package/template/.codex/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  391. package/template/.codex/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  392. package/template/.codex/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
  393. package/template/.codex/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
  394. package/template/.codex/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
  395. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +3 -0
  396. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +9 -0
  397. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +74 -0
  398. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
  399. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  400. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  401. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  402. package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  403. package/template/.codex/skills/yss-mybatis/SKILL.md +4 -4
  404. package/template/.codex/skills/yss-mybatis/references/source-index.md +1 -1
  405. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +35 -11
  406. package/template/.codex/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
  407. package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +9 -11
  408. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +136 -55
  409. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +12 -6
  410. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +7 -2
  411. package/template/.codex/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
  412. package/template/.codex/skills/yss-prototype-stage/SKILL.md +35 -24
  413. package/template/.codex/skills/yss-prototype-stage/references/product-design-adapter.md +66 -38
  414. package/template/.codex/skills/yss-prototype-stage/references/prototype-profile-routing.md +69 -0
  415. package/template/.codex/skills/yss-prototype-stage/scripts/prototype-contract.mjs +299 -103
  416. package/template/.codex/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
  417. package/template/.codex/skills/yss-prototype-stage/tests/run-scenarios.mjs +164 -132
  418. package/template/.codex/skills/yss-repository/SKILL.md +8 -2
  419. package/template/.codex/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
  420. package/template/.codex/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
  421. package/template/.codex/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
  422. package/template/.codex/skills/yss-resilience4j/SKILL.md +1 -1
  423. package/template/.codex/skills/yss-resilience4j/references/source-index.md +1 -1
  424. package/template/.codex/skills/yss-security-algorithm/SKILL.md +1 -1
  425. package/template/.codex/skills/yss-security-algorithm/references/source-index.md +1 -1
  426. package/template/.codex/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
  427. package/template/.codex/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  428. package/template/.codex/skills/yss-skill-source-index-refresh/references/source-map-config.md +29 -0
  429. package/template/.codex/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
  430. package/template/.codex/skills/yss-stage-decision/SKILL.md +16 -12
  431. package/template/.codex/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
  432. package/template/.codex/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
  433. package/template/.codex/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
  434. package/template/.codex/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
  435. package/template/.codex/skills/yss-stage-decision/references/validation-rules.md +1 -1
  436. package/template/.codex/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
  437. package/template/.codex/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
  438. package/template/.codex/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
  439. package/template/.codex/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
  440. package/template/.codex/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
  441. package/template/.codex/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
  442. package/template/.codex/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
  443. package/template/.codex/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
  444. package/template/.codex/skills/yss-tactical-design/SKILL.md +8 -2
  445. package/template/.codex/skills/yss-tactical-design/references/output-template.md +3 -0
  446. package/template/.codex/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
  447. package/template/.codex/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
  448. package/template/.codex/skills/yss-ui/SKILL.md +2 -2
  449. package/template/.codex/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  450. package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +3 -3
  451. package/template/.codex/skills/yss-up-springboot3/SKILL.md +1 -1
  452. package/template/.codex/skills/yss-userinfo/SKILL.md +1 -1
  453. package/template/.codex/skills/yss-userinfo/references/source-index.md +1 -1
  454. package/template/.codex/skills/yss-validation/SKILL.md +2 -1
  455. package/template/.codex/skills/yss-validation/references/source-index.md +1 -1
  456. package/template/.codex/skills/yss-web-controller/SKILL.md +8 -2
  457. package/template/.codex/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
  458. package/template/.codex/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
  459. package/template/.codex/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
  460. package/template/.codex/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
  461. package/template/.codex/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
  462. package/template/.codex/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
  463. package/template/.cursor/skills/alibaba-java-code-style/SKILL.md +1 -0
  464. package/template/.cursor/skills/code-review/SKILL.md +1 -1
  465. package/template/.cursor/skills/code-review/references/yss-review-standards.md +2 -2
  466. package/template/.cursor/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
  467. package/template/.cursor/skills/domain-modeling/SKILL.md +10 -26
  468. package/template/.cursor/skills/grill-with-docs/SKILL.md +6 -5
  469. package/template/.cursor/skills/lombok/SKILL.md +3 -2
  470. package/template/.cursor/skills/mapstruct/SKILL.md +4 -3
  471. package/template/.cursor/skills/prototype-review/SKILL.md +7 -6
  472. package/template/.cursor/skills/setup-matt-pocock-skills/SKILL.md +5 -6
  473. package/template/.cursor/skills/setup-matt-pocock-skills/domain.md +6 -20
  474. package/template/.cursor/skills/wait-what/SKILL.md +1 -1
  475. package/template/.cursor/skills/yss-antd-design/SKILL.md +8 -7
  476. package/template/.cursor/skills/yss-antd-design/references/evidence.md +11 -6
  477. package/template/.cursor/skills/yss-antdv-next-design/SKILL.md +48 -0
  478. package/template/.cursor/skills/yss-antdv-next-design/references/boundaries.md +25 -0
  479. package/template/.cursor/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
  480. package/template/.cursor/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
  481. package/template/.cursor/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
  482. package/template/.cursor/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
  483. package/template/.cursor/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
  484. package/template/.cursor/skills/yss-api-integration/SKILL.md +2 -2
  485. package/template/.cursor/skills/yss-application/SKILL.md +8 -2
  486. package/template/.cursor/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
  487. package/template/.cursor/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
  488. package/template/.cursor/skills/yss-application/references/profiles/target-domain-model.md +3 -0
  489. package/template/.cursor/skills/yss-audit-log/SKILL.md +2 -2
  490. package/template/.cursor/skills/yss-audit-log/references/source-index.md +1 -1
  491. package/template/.cursor/skills/yss-cache/SKILL.md +2 -2
  492. package/template/.cursor/skills/yss-cache/references/source-index.md +1 -1
  493. package/template/.cursor/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  494. package/template/.cursor/skills/yss-components/SKILL.md +1 -1
  495. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +8 -9
  496. package/template/.cursor/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  497. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
  498. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
  499. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +1 -1
  500. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +15 -6
  501. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +2 -2
  502. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +23 -9
  503. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +3 -3
  504. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +43 -21
  505. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +23 -11
  506. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +15 -3
  507. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +44 -15
  508. package/template/.cursor/skills/yss-design-system/SKILL.md +27 -24
  509. package/template/.cursor/skills/yss-design-system/references/design-qa-theme.md +22 -24
  510. package/template/.cursor/skills/yss-design-system/references/design-system.md +39 -56
  511. package/template/.cursor/skills/yss-distributed-id/SKILL.md +2 -2
  512. package/template/.cursor/skills/yss-distributed-id/references/source-index.md +1 -1
  513. package/template/.cursor/skills/yss-domain/SKILL.md +2 -2
  514. package/template/.cursor/skills/yss-dto/SKILL.md +3 -2
  515. package/template/.cursor/skills/yss-dto/references/source-index.md +1 -1
  516. package/template/.cursor/skills/yss-excel-mvc/SKILL.md +2 -2
  517. package/template/.cursor/skills/yss-excel-mvc/references/source-index.md +1 -1
  518. package/template/.cursor/skills/yss-exception/SKILL.md +2 -1
  519. package/template/.cursor/skills/yss-exception/references/source-index.md +1 -1
  520. package/template/.cursor/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
  521. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +61 -0
  522. package/template/.cursor/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  523. package/template/.cursor/skills/yss-implementation-contract-compiler/references/boundaries.md +142 -0
  524. package/template/.cursor/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +367 -0
  525. package/template/.cursor/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +201 -0
  526. package/template/.cursor/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +71 -0
  527. package/template/.cursor/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
  528. package/template/.cursor/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +91 -0
  529. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
  530. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
  531. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
  532. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
  533. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
  534. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
  535. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
  536. package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
  537. package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
  538. package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
  539. package/template/.cursor/skills/yss-mvc-scaffold-generator/SKILL.md +8 -0
  540. package/template/.cursor/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  541. package/template/.cursor/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  542. package/template/.cursor/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  543. package/template/.cursor/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  544. package/template/.cursor/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
  545. package/template/.cursor/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
  546. package/template/.cursor/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
  547. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +3 -0
  548. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +9 -0
  549. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +74 -0
  550. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
  551. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  552. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  553. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  554. package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  555. package/template/.cursor/skills/yss-mybatis/SKILL.md +4 -4
  556. package/template/.cursor/skills/yss-mybatis/references/source-index.md +1 -1
  557. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +35 -11
  558. package/template/.cursor/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
  559. package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +9 -11
  560. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +136 -55
  561. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +12 -6
  562. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +7 -2
  563. package/template/.cursor/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
  564. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +35 -24
  565. package/template/.cursor/skills/yss-prototype-stage/references/product-design-adapter.md +66 -38
  566. package/template/.cursor/skills/yss-prototype-stage/references/prototype-profile-routing.md +69 -0
  567. package/template/.cursor/skills/yss-prototype-stage/scripts/prototype-contract.mjs +299 -103
  568. package/template/.cursor/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
  569. package/template/.cursor/skills/yss-prototype-stage/tests/run-scenarios.mjs +164 -132
  570. package/template/.cursor/skills/yss-repository/SKILL.md +8 -2
  571. package/template/.cursor/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
  572. package/template/.cursor/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
  573. package/template/.cursor/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
  574. package/template/.cursor/skills/yss-resilience4j/SKILL.md +1 -1
  575. package/template/.cursor/skills/yss-resilience4j/references/source-index.md +1 -1
  576. package/template/.cursor/skills/yss-security-algorithm/SKILL.md +1 -1
  577. package/template/.cursor/skills/yss-security-algorithm/references/source-index.md +1 -1
  578. package/template/.cursor/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
  579. package/template/.cursor/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  580. package/template/.cursor/skills/yss-skill-source-index-refresh/references/source-map-config.md +29 -0
  581. package/template/.cursor/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
  582. package/template/.cursor/skills/yss-stage-decision/SKILL.md +16 -12
  583. package/template/.cursor/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
  584. package/template/.cursor/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
  585. package/template/.cursor/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
  586. package/template/.cursor/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
  587. package/template/.cursor/skills/yss-stage-decision/references/validation-rules.md +1 -1
  588. package/template/.cursor/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
  589. package/template/.cursor/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
  590. package/template/.cursor/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
  591. package/template/.cursor/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
  592. package/template/.cursor/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
  593. package/template/.cursor/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
  594. package/template/.cursor/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
  595. package/template/.cursor/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
  596. package/template/.cursor/skills/yss-tactical-design/SKILL.md +8 -2
  597. package/template/.cursor/skills/yss-tactical-design/references/output-template.md +3 -0
  598. package/template/.cursor/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
  599. package/template/.cursor/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
  600. package/template/.cursor/skills/yss-ui/SKILL.md +2 -2
  601. package/template/.cursor/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  602. package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +3 -3
  603. package/template/.cursor/skills/yss-up-springboot3/SKILL.md +1 -1
  604. package/template/.cursor/skills/yss-userinfo/SKILL.md +1 -1
  605. package/template/.cursor/skills/yss-userinfo/references/source-index.md +1 -1
  606. package/template/.cursor/skills/yss-validation/SKILL.md +2 -1
  607. package/template/.cursor/skills/yss-validation/references/source-index.md +1 -1
  608. package/template/.cursor/skills/yss-web-controller/SKILL.md +8 -2
  609. package/template/.cursor/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
  610. package/template/.cursor/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
  611. package/template/.cursor/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
  612. package/template/.cursor/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
  613. package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
  614. package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
  615. package/template/.cursorrules +6 -34
  616. package/template/.pi/skills/alibaba-java-code-style/SKILL.md +1 -0
  617. package/template/.pi/skills/code-review/SKILL.md +1 -1
  618. package/template/.pi/skills/code-review/references/yss-review-standards.md +2 -2
  619. package/template/.pi/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
  620. package/template/.pi/skills/domain-modeling/SKILL.md +10 -26
  621. package/template/.pi/skills/grill-with-docs/SKILL.md +6 -5
  622. package/template/.pi/skills/lombok/SKILL.md +3 -2
  623. package/template/.pi/skills/mapstruct/SKILL.md +4 -3
  624. package/template/.pi/skills/prototype-review/SKILL.md +7 -6
  625. package/template/.pi/skills/setup-matt-pocock-skills/SKILL.md +5 -6
  626. package/template/.pi/skills/setup-matt-pocock-skills/domain.md +6 -20
  627. package/template/.pi/skills/wait-what/SKILL.md +1 -1
  628. package/template/.pi/skills/yss-antd-design/SKILL.md +8 -7
  629. package/template/.pi/skills/yss-antd-design/references/evidence.md +11 -6
  630. package/template/.pi/skills/yss-antdv-next-design/SKILL.md +48 -0
  631. package/template/.pi/skills/yss-antdv-next-design/references/boundaries.md +25 -0
  632. package/template/.pi/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
  633. package/template/.pi/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
  634. package/template/.pi/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
  635. package/template/.pi/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
  636. package/template/.pi/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
  637. package/template/.pi/skills/yss-api-integration/SKILL.md +2 -2
  638. package/template/.pi/skills/yss-application/SKILL.md +8 -2
  639. package/template/.pi/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
  640. package/template/.pi/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
  641. package/template/.pi/skills/yss-application/references/profiles/target-domain-model.md +3 -0
  642. package/template/.pi/skills/yss-audit-log/SKILL.md +2 -2
  643. package/template/.pi/skills/yss-audit-log/references/source-index.md +1 -1
  644. package/template/.pi/skills/yss-cache/SKILL.md +2 -2
  645. package/template/.pi/skills/yss-cache/references/source-index.md +1 -1
  646. package/template/.pi/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  647. package/template/.pi/skills/yss-components/SKILL.md +1 -1
  648. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +8 -9
  649. package/template/.pi/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  650. package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
  651. package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
  652. package/template/.pi/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +1 -1
  653. package/template/.pi/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +15 -6
  654. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +2 -2
  655. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +23 -9
  656. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +3 -3
  657. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +43 -21
  658. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +23 -11
  659. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +15 -3
  660. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +44 -15
  661. package/template/.pi/skills/yss-design-system/SKILL.md +27 -24
  662. package/template/.pi/skills/yss-design-system/references/design-qa-theme.md +22 -24
  663. package/template/.pi/skills/yss-design-system/references/design-system.md +39 -56
  664. package/template/.pi/skills/yss-distributed-id/SKILL.md +2 -2
  665. package/template/.pi/skills/yss-distributed-id/references/source-index.md +1 -1
  666. package/template/.pi/skills/yss-domain/SKILL.md +2 -2
  667. package/template/.pi/skills/yss-dto/SKILL.md +3 -2
  668. package/template/.pi/skills/yss-dto/references/source-index.md +1 -1
  669. package/template/.pi/skills/yss-excel-mvc/SKILL.md +2 -2
  670. package/template/.pi/skills/yss-excel-mvc/references/source-index.md +1 -1
  671. package/template/.pi/skills/yss-exception/SKILL.md +2 -1
  672. package/template/.pi/skills/yss-exception/references/source-index.md +1 -1
  673. package/template/.pi/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
  674. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +61 -0
  675. package/template/.pi/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  676. package/template/.pi/skills/yss-implementation-contract-compiler/references/boundaries.md +142 -0
  677. package/template/.pi/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +367 -0
  678. package/template/.pi/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +201 -0
  679. package/template/.pi/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +71 -0
  680. package/template/.pi/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
  681. package/template/.pi/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +91 -0
  682. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
  683. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
  684. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
  685. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
  686. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
  687. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
  688. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
  689. package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
  690. package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
  691. package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
  692. package/template/.pi/skills/yss-mvc-scaffold-generator/SKILL.md +8 -0
  693. package/template/.pi/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  694. package/template/.pi/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  695. package/template/.pi/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  696. package/template/.pi/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  697. package/template/.pi/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
  698. package/template/.pi/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
  699. package/template/.pi/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
  700. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +3 -0
  701. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +9 -0
  702. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +74 -0
  703. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
  704. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  705. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  706. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  707. package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  708. package/template/.pi/skills/yss-mybatis/SKILL.md +4 -4
  709. package/template/.pi/skills/yss-mybatis/references/source-index.md +1 -1
  710. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +35 -11
  711. package/template/.pi/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
  712. package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +9 -11
  713. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +136 -55
  714. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +12 -6
  715. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +7 -2
  716. package/template/.pi/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
  717. package/template/.pi/skills/yss-prototype-stage/SKILL.md +35 -24
  718. package/template/.pi/skills/yss-prototype-stage/references/product-design-adapter.md +66 -38
  719. package/template/.pi/skills/yss-prototype-stage/references/prototype-profile-routing.md +69 -0
  720. package/template/.pi/skills/yss-prototype-stage/scripts/prototype-contract.mjs +299 -103
  721. package/template/.pi/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
  722. package/template/.pi/skills/yss-prototype-stage/tests/run-scenarios.mjs +164 -132
  723. package/template/.pi/skills/yss-repository/SKILL.md +8 -2
  724. package/template/.pi/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
  725. package/template/.pi/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
  726. package/template/.pi/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
  727. package/template/.pi/skills/yss-resilience4j/SKILL.md +1 -1
  728. package/template/.pi/skills/yss-resilience4j/references/source-index.md +1 -1
  729. package/template/.pi/skills/yss-security-algorithm/SKILL.md +1 -1
  730. package/template/.pi/skills/yss-security-algorithm/references/source-index.md +1 -1
  731. package/template/.pi/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
  732. package/template/.pi/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  733. package/template/.pi/skills/yss-skill-source-index-refresh/references/source-map-config.md +29 -0
  734. package/template/.pi/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
  735. package/template/.pi/skills/yss-stage-decision/SKILL.md +16 -12
  736. package/template/.pi/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
  737. package/template/.pi/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
  738. package/template/.pi/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
  739. package/template/.pi/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
  740. package/template/.pi/skills/yss-stage-decision/references/validation-rules.md +1 -1
  741. package/template/.pi/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
  742. package/template/.pi/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
  743. package/template/.pi/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
  744. package/template/.pi/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
  745. package/template/.pi/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
  746. package/template/.pi/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
  747. package/template/.pi/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
  748. package/template/.pi/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
  749. package/template/.pi/skills/yss-tactical-design/SKILL.md +8 -2
  750. package/template/.pi/skills/yss-tactical-design/references/output-template.md +3 -0
  751. package/template/.pi/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
  752. package/template/.pi/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
  753. package/template/.pi/skills/yss-ui/SKILL.md +2 -2
  754. package/template/.pi/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  755. package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +3 -3
  756. package/template/.pi/skills/yss-up-springboot3/SKILL.md +1 -1
  757. package/template/.pi/skills/yss-userinfo/SKILL.md +1 -1
  758. package/template/.pi/skills/yss-userinfo/references/source-index.md +1 -1
  759. package/template/.pi/skills/yss-validation/SKILL.md +2 -1
  760. package/template/.pi/skills/yss-validation/references/source-index.md +1 -1
  761. package/template/.pi/skills/yss-web-controller/SKILL.md +8 -2
  762. package/template/.pi/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
  763. package/template/.pi/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
  764. package/template/.pi/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
  765. package/template/.pi/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
  766. package/template/.pi/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
  767. package/template/.pi/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
  768. package/template/.qoder/skills/alibaba-java-code-style/SKILL.md +1 -0
  769. package/template/.qoder/skills/code-review/SKILL.md +1 -1
  770. package/template/.qoder/skills/code-review/references/yss-review-standards.md +2 -2
  771. package/template/.qoder/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
  772. package/template/.qoder/skills/domain-modeling/SKILL.md +10 -26
  773. package/template/.qoder/skills/grill-with-docs/SKILL.md +6 -5
  774. package/template/.qoder/skills/lombok/SKILL.md +3 -2
  775. package/template/.qoder/skills/mapstruct/SKILL.md +4 -3
  776. package/template/.qoder/skills/prototype-review/SKILL.md +7 -6
  777. package/template/.qoder/skills/setup-matt-pocock-skills/SKILL.md +5 -6
  778. package/template/.qoder/skills/setup-matt-pocock-skills/domain.md +6 -20
  779. package/template/.qoder/skills/wait-what/SKILL.md +1 -1
  780. package/template/.qoder/skills/yss-antd-design/SKILL.md +8 -7
  781. package/template/.qoder/skills/yss-antd-design/references/evidence.md +11 -6
  782. package/template/.qoder/skills/yss-antdv-next-design/SKILL.md +48 -0
  783. package/template/.qoder/skills/yss-antdv-next-design/references/boundaries.md +25 -0
  784. package/template/.qoder/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
  785. package/template/.qoder/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
  786. package/template/.qoder/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
  787. package/template/.qoder/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
  788. package/template/.qoder/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
  789. package/template/.qoder/skills/yss-api-integration/SKILL.md +2 -2
  790. package/template/.qoder/skills/yss-application/SKILL.md +8 -2
  791. package/template/.qoder/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
  792. package/template/.qoder/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
  793. package/template/.qoder/skills/yss-application/references/profiles/target-domain-model.md +3 -0
  794. package/template/.qoder/skills/yss-audit-log/SKILL.md +2 -2
  795. package/template/.qoder/skills/yss-audit-log/references/source-index.md +1 -1
  796. package/template/.qoder/skills/yss-cache/SKILL.md +2 -2
  797. package/template/.qoder/skills/yss-cache/references/source-index.md +1 -1
  798. package/template/.qoder/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  799. package/template/.qoder/skills/yss-components/SKILL.md +1 -1
  800. package/template/.qoder/skills/yss-ddd-scaffold-generator/SKILL.md +8 -9
  801. package/template/.qoder/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  802. package/template/.qoder/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
  803. package/template/.qoder/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
  804. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +1 -1
  805. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +15 -6
  806. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +2 -2
  807. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +23 -9
  808. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +3 -3
  809. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +43 -21
  810. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +23 -11
  811. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +15 -3
  812. package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +44 -15
  813. package/template/.qoder/skills/yss-design-system/SKILL.md +27 -24
  814. package/template/.qoder/skills/yss-design-system/references/design-qa-theme.md +22 -24
  815. package/template/.qoder/skills/yss-design-system/references/design-system.md +39 -56
  816. package/template/.qoder/skills/yss-distributed-id/SKILL.md +2 -2
  817. package/template/.qoder/skills/yss-distributed-id/references/source-index.md +1 -1
  818. package/template/.qoder/skills/yss-domain/SKILL.md +2 -2
  819. package/template/.qoder/skills/yss-dto/SKILL.md +3 -2
  820. package/template/.qoder/skills/yss-dto/references/source-index.md +1 -1
  821. package/template/.qoder/skills/yss-excel-mvc/SKILL.md +2 -2
  822. package/template/.qoder/skills/yss-excel-mvc/references/source-index.md +1 -1
  823. package/template/.qoder/skills/yss-exception/SKILL.md +2 -1
  824. package/template/.qoder/skills/yss-exception/references/source-index.md +1 -1
  825. package/template/.qoder/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
  826. package/template/.qoder/skills/yss-implementation-contract-compiler/SKILL.md +61 -0
  827. package/template/.qoder/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  828. package/template/.qoder/skills/yss-implementation-contract-compiler/references/boundaries.md +142 -0
  829. package/template/.qoder/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +367 -0
  830. package/template/.qoder/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +201 -0
  831. package/template/.qoder/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +71 -0
  832. package/template/.qoder/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
  833. package/template/.qoder/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +91 -0
  834. package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
  835. package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
  836. package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
  837. package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
  838. package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
  839. package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
  840. package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
  841. package/template/.qoder/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
  842. package/template/.qoder/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
  843. package/template/.qoder/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
  844. package/template/.qoder/skills/yss-mvc-scaffold-generator/SKILL.md +8 -0
  845. package/template/.qoder/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  846. package/template/.qoder/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  847. package/template/.qoder/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  848. package/template/.qoder/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  849. package/template/.qoder/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
  850. package/template/.qoder/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
  851. package/template/.qoder/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
  852. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +3 -0
  853. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +9 -0
  854. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +74 -0
  855. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
  856. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  857. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  858. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  859. package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  860. package/template/.qoder/skills/yss-mybatis/SKILL.md +4 -4
  861. package/template/.qoder/skills/yss-mybatis/references/source-index.md +1 -1
  862. package/template/.qoder/skills/yss-product-lifecycle/SKILL.md +35 -11
  863. package/template/.qoder/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
  864. package/template/.qoder/skills/yss-product-lifecycle/references/matt-yss-adapter.md +9 -11
  865. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration-contract.yaml +136 -55
  866. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration.md +12 -6
  867. package/template/.qoder/skills/yss-product-lifecycle/references/state-model.md +7 -2
  868. package/template/.qoder/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
  869. package/template/.qoder/skills/yss-prototype-stage/SKILL.md +35 -24
  870. package/template/.qoder/skills/yss-prototype-stage/references/product-design-adapter.md +66 -38
  871. package/template/.qoder/skills/yss-prototype-stage/references/prototype-profile-routing.md +69 -0
  872. package/template/.qoder/skills/yss-prototype-stage/scripts/prototype-contract.mjs +299 -103
  873. package/template/.qoder/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
  874. package/template/.qoder/skills/yss-prototype-stage/tests/run-scenarios.mjs +164 -132
  875. package/template/.qoder/skills/yss-repository/SKILL.md +8 -2
  876. package/template/.qoder/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
  877. package/template/.qoder/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
  878. package/template/.qoder/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
  879. package/template/.qoder/skills/yss-resilience4j/SKILL.md +1 -1
  880. package/template/.qoder/skills/yss-resilience4j/references/source-index.md +1 -1
  881. package/template/.qoder/skills/yss-security-algorithm/SKILL.md +1 -1
  882. package/template/.qoder/skills/yss-security-algorithm/references/source-index.md +1 -1
  883. package/template/.qoder/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
  884. package/template/.qoder/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  885. package/template/.qoder/skills/yss-skill-source-index-refresh/references/source-map-config.md +29 -0
  886. package/template/.qoder/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
  887. package/template/.qoder/skills/yss-stage-decision/SKILL.md +16 -12
  888. package/template/.qoder/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
  889. package/template/.qoder/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
  890. package/template/.qoder/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
  891. package/template/.qoder/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
  892. package/template/.qoder/skills/yss-stage-decision/references/validation-rules.md +1 -1
  893. package/template/.qoder/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
  894. package/template/.qoder/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
  895. package/template/.qoder/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
  896. package/template/.qoder/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
  897. package/template/.qoder/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
  898. package/template/.qoder/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
  899. package/template/.qoder/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
  900. package/template/.qoder/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
  901. package/template/.qoder/skills/yss-tactical-design/SKILL.md +8 -2
  902. package/template/.qoder/skills/yss-tactical-design/references/output-template.md +3 -0
  903. package/template/.qoder/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
  904. package/template/.qoder/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
  905. package/template/.qoder/skills/yss-ui/SKILL.md +2 -2
  906. package/template/.qoder/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  907. package/template/.qoder/skills/yss-ui-business-page-generation/SKILL.md +3 -3
  908. package/template/.qoder/skills/yss-up-springboot3/SKILL.md +1 -1
  909. package/template/.qoder/skills/yss-userinfo/SKILL.md +1 -1
  910. package/template/.qoder/skills/yss-userinfo/references/source-index.md +1 -1
  911. package/template/.qoder/skills/yss-validation/SKILL.md +2 -1
  912. package/template/.qoder/skills/yss-validation/references/source-index.md +1 -1
  913. package/template/.qoder/skills/yss-web-controller/SKILL.md +8 -2
  914. package/template/.qoder/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
  915. package/template/.qoder/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
  916. package/template/.qoder/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
  917. package/template/.qoder/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
  918. package/template/.qoder/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
  919. package/template/.qoder/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
  920. package/template/.trae/skills/alibaba-java-code-style/SKILL.md +1 -0
  921. package/template/.trae/skills/code-review/SKILL.md +1 -1
  922. package/template/.trae/skills/code-review/references/yss-review-standards.md +2 -2
  923. package/template/.trae/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
  924. package/template/.trae/skills/domain-modeling/SKILL.md +10 -26
  925. package/template/.trae/skills/grill-with-docs/SKILL.md +6 -5
  926. package/template/.trae/skills/lombok/SKILL.md +3 -2
  927. package/template/.trae/skills/mapstruct/SKILL.md +4 -3
  928. package/template/.trae/skills/prototype-review/SKILL.md +7 -6
  929. package/template/.trae/skills/setup-matt-pocock-skills/SKILL.md +5 -6
  930. package/template/.trae/skills/setup-matt-pocock-skills/domain.md +6 -20
  931. package/template/.trae/skills/wait-what/SKILL.md +1 -1
  932. package/template/.trae/skills/yss-antd-design/SKILL.md +8 -7
  933. package/template/.trae/skills/yss-antd-design/references/evidence.md +11 -6
  934. package/template/.trae/skills/yss-antdv-next-design/SKILL.md +48 -0
  935. package/template/.trae/skills/yss-antdv-next-design/references/boundaries.md +25 -0
  936. package/template/.trae/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
  937. package/template/.trae/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
  938. package/template/.trae/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
  939. package/template/.trae/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
  940. package/template/.trae/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
  941. package/template/.trae/skills/yss-api-integration/SKILL.md +2 -2
  942. package/template/.trae/skills/yss-application/SKILL.md +8 -2
  943. package/template/.trae/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
  944. package/template/.trae/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
  945. package/template/.trae/skills/yss-application/references/profiles/target-domain-model.md +3 -0
  946. package/template/.trae/skills/yss-audit-log/SKILL.md +2 -2
  947. package/template/.trae/skills/yss-audit-log/references/source-index.md +1 -1
  948. package/template/.trae/skills/yss-cache/SKILL.md +2 -2
  949. package/template/.trae/skills/yss-cache/references/source-index.md +1 -1
  950. package/template/.trae/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
  951. package/template/.trae/skills/yss-components/SKILL.md +1 -1
  952. package/template/.trae/skills/yss-ddd-scaffold-generator/SKILL.md +8 -9
  953. package/template/.trae/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
  954. package/template/.trae/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
  955. package/template/.trae/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
  956. package/template/.trae/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +1 -1
  957. package/template/.trae/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +15 -6
  958. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +2 -2
  959. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +23 -9
  960. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +3 -3
  961. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +43 -21
  962. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +23 -11
  963. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +15 -3
  964. package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +44 -15
  965. package/template/.trae/skills/yss-design-system/SKILL.md +27 -24
  966. package/template/.trae/skills/yss-design-system/references/design-qa-theme.md +22 -24
  967. package/template/.trae/skills/yss-design-system/references/design-system.md +39 -56
  968. package/template/.trae/skills/yss-distributed-id/SKILL.md +2 -2
  969. package/template/.trae/skills/yss-distributed-id/references/source-index.md +1 -1
  970. package/template/.trae/skills/yss-domain/SKILL.md +2 -2
  971. package/template/.trae/skills/yss-dto/SKILL.md +3 -2
  972. package/template/.trae/skills/yss-dto/references/source-index.md +1 -1
  973. package/template/.trae/skills/yss-excel-mvc/SKILL.md +2 -2
  974. package/template/.trae/skills/yss-excel-mvc/references/source-index.md +1 -1
  975. package/template/.trae/skills/yss-exception/SKILL.md +2 -1
  976. package/template/.trae/skills/yss-exception/references/source-index.md +1 -1
  977. package/template/.trae/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
  978. package/template/.trae/skills/yss-implementation-contract-compiler/SKILL.md +61 -0
  979. package/template/.trae/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
  980. package/template/.trae/skills/yss-implementation-contract-compiler/references/boundaries.md +142 -0
  981. package/template/.trae/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +367 -0
  982. package/template/.trae/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +201 -0
  983. package/template/.trae/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +71 -0
  984. package/template/.trae/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
  985. package/template/.trae/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +91 -0
  986. package/template/.trae/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
  987. package/template/.trae/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
  988. package/template/.trae/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
  989. package/template/.trae/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
  990. package/template/.trae/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
  991. package/template/.trae/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
  992. package/template/.trae/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
  993. package/template/.trae/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
  994. package/template/.trae/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
  995. package/template/.trae/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
  996. package/template/.trae/skills/yss-mvc-scaffold-generator/SKILL.md +8 -0
  997. package/template/.trae/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
  998. package/template/.trae/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
  999. package/template/.trae/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
  1000. package/template/.trae/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
  1001. package/template/.trae/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
  1002. package/template/.trae/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
  1003. package/template/.trae/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
  1004. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +3 -0
  1005. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +9 -0
  1006. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +74 -0
  1007. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
  1008. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
  1009. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
  1010. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
  1011. package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
  1012. package/template/.trae/skills/yss-mybatis/SKILL.md +4 -4
  1013. package/template/.trae/skills/yss-mybatis/references/source-index.md +1 -1
  1014. package/template/.trae/skills/yss-product-lifecycle/SKILL.md +35 -11
  1015. package/template/.trae/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
  1016. package/template/.trae/skills/yss-product-lifecycle/references/matt-yss-adapter.md +9 -11
  1017. package/template/.trae/skills/yss-product-lifecycle/references/orchestration-contract.yaml +136 -55
  1018. package/template/.trae/skills/yss-product-lifecycle/references/orchestration.md +12 -6
  1019. package/template/.trae/skills/yss-product-lifecycle/references/state-model.md +7 -2
  1020. package/template/.trae/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
  1021. package/template/.trae/skills/yss-prototype-stage/SKILL.md +35 -24
  1022. package/template/.trae/skills/yss-prototype-stage/references/product-design-adapter.md +66 -38
  1023. package/template/.trae/skills/yss-prototype-stage/references/prototype-profile-routing.md +69 -0
  1024. package/template/.trae/skills/yss-prototype-stage/scripts/prototype-contract.mjs +299 -103
  1025. package/template/.trae/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
  1026. package/template/.trae/skills/yss-prototype-stage/tests/run-scenarios.mjs +164 -132
  1027. package/template/.trae/skills/yss-repository/SKILL.md +8 -2
  1028. package/template/.trae/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
  1029. package/template/.trae/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
  1030. package/template/.trae/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
  1031. package/template/.trae/skills/yss-resilience4j/SKILL.md +1 -1
  1032. package/template/.trae/skills/yss-resilience4j/references/source-index.md +1 -1
  1033. package/template/.trae/skills/yss-security-algorithm/SKILL.md +1 -1
  1034. package/template/.trae/skills/yss-security-algorithm/references/source-index.md +1 -1
  1035. package/template/.trae/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
  1036. package/template/.trae/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
  1037. package/template/.trae/skills/yss-skill-source-index-refresh/references/source-map-config.md +29 -0
  1038. package/template/.trae/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
  1039. package/template/.trae/skills/yss-stage-decision/SKILL.md +16 -12
  1040. package/template/.trae/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
  1041. package/template/.trae/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
  1042. package/template/.trae/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
  1043. package/template/.trae/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
  1044. package/template/.trae/skills/yss-stage-decision/references/validation-rules.md +1 -1
  1045. package/template/.trae/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
  1046. package/template/.trae/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
  1047. package/template/.trae/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
  1048. package/template/.trae/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
  1049. package/template/.trae/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
  1050. package/template/.trae/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
  1051. package/template/.trae/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
  1052. package/template/.trae/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
  1053. package/template/.trae/skills/yss-tactical-design/SKILL.md +8 -2
  1054. package/template/.trae/skills/yss-tactical-design/references/output-template.md +3 -0
  1055. package/template/.trae/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
  1056. package/template/.trae/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
  1057. package/template/.trae/skills/yss-ui/SKILL.md +2 -2
  1058. package/template/.trae/skills/yss-ui/assets/docs/guide/llms.md +0 -61
  1059. package/template/.trae/skills/yss-ui-business-page-generation/SKILL.md +3 -3
  1060. package/template/.trae/skills/yss-up-springboot3/SKILL.md +1 -1
  1061. package/template/.trae/skills/yss-userinfo/SKILL.md +1 -1
  1062. package/template/.trae/skills/yss-userinfo/references/source-index.md +1 -1
  1063. package/template/.trae/skills/yss-validation/SKILL.md +2 -1
  1064. package/template/.trae/skills/yss-validation/references/source-index.md +1 -1
  1065. package/template/.trae/skills/yss-web-controller/SKILL.md +8 -2
  1066. package/template/.trae/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
  1067. package/template/.trae/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
  1068. package/template/.trae/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
  1069. package/template/.trae/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
  1070. package/template/.trae/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
  1071. package/template/.trae/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
  1072. package/template/AGENTS.md +52 -91
  1073. package/template/CONTEXT.md +23 -12
  1074. package/template/DESIGN.md +85 -41
  1075. package/template/README.md +0 -1
  1076. package/template/__yss_dotfile__.gitignore +1 -0
  1077. package/template/docs/agents/backend-architecture-profiles.md +25 -0
  1078. package/template/docs/agents/digital-human-roles.md +6 -6
  1079. package/template/docs/agents/digital-human-roles.yaml +48 -15
  1080. package/template/docs/agents/domain.md +7 -6
  1081. package/template/docs/agents/skill-migrations.md +36 -5
  1082. package/template/docs/agents/skills-maintenance.md +5 -5
  1083. package/template/docs/agents/strategic-design-skills-integration.md +46 -0
  1084. package/template/docs/agents/yss-skill-registry.yaml +199 -109
  1085. package/template/docs/agents/yss-ui-skills-integration.md +3 -3
  1086. package/template/docs/api/templates/openapi-draft-review-checklist.md +3 -3
  1087. package/template/docs/architecture/templates/engineering-baseline-review-template.md +20 -8
  1088. package/template/docs/design/README.md +11 -8
  1089. package/template/docs/design/design-system-sync.yaml +1 -1
  1090. package/template/docs/design/design.md +108 -132
  1091. package/template/docs/design/facts/antdv-next/1.5.2/cli-help.txt +38 -0
  1092. package/template/docs/design/facts/antdv-next/1.5.2/component-list.json +434 -0
  1093. package/template/docs/design/facts/antdv-next/1.5.2/components/Alert/demo-basic.json +7 -0
  1094. package/template/docs/design/facts/antdv-next/1.5.2/components/Alert/info.json +246 -0
  1095. package/template/docs/design/facts/antdv-next/1.5.2/components/Alert/semantic.json +40 -0
  1096. package/template/docs/design/facts/antdv-next/1.5.2/components/Alert/token.json +32 -0
  1097. package/template/docs/design/facts/antdv-next/1.5.2/components/Button/demo-basic.json +7 -0
  1098. package/template/docs/design/facts/antdv-next/1.5.2/components/Button/info.json +190 -0
  1099. package/template/docs/design/facts/antdv-next/1.5.2/components/Button/semantic.json +20 -0
  1100. package/template/docs/design/facts/antdv-next/1.5.2/components/Button/token.json +256 -0
  1101. package/template/docs/design/facts/antdv-next/1.5.2/components/Input/demo-basic.json +7 -0
  1102. package/template/docs/design/facts/antdv-next/1.5.2/components/Input/info.json +460 -0
  1103. package/template/docs/design/facts/antdv-next/1.5.2/components/Input/semantic.json +70 -0
  1104. package/template/docs/design/facts/antdv-next/1.5.2/components/Input/token.json +123 -0
  1105. package/template/docs/design/facts/antdv-next/1.5.2/components/Modal/demo-basic.json +7 -0
  1106. package/template/docs/design/facts/antdv-next/1.5.2/components/Modal/info.json +646 -0
  1107. package/template/docs/design/facts/antdv-next/1.5.2/components/Modal/semantic.json +50 -0
  1108. package/template/docs/design/facts/antdv-next/1.5.2/components/Modal/token.json +130 -0
  1109. package/template/docs/design/facts/antdv-next/1.5.2/components/Select/demo-basic.json +7 -0
  1110. package/template/docs/design/facts/antdv-next/1.5.2/components/Select/info.json +640 -0
  1111. package/template/docs/design/facts/antdv-next/1.5.2/components/Select/semantic.json +70 -0
  1112. package/template/docs/design/facts/antdv-next/1.5.2/components/Select/token.json +172 -0
  1113. package/template/docs/design/facts/antdv-next/1.5.2/components/Table/demo-basic.json +7 -0
  1114. package/template/docs/design/facts/antdv-next/1.5.2/components/Table/info.json +1010 -0
  1115. package/template/docs/design/facts/antdv-next/1.5.2/components/Table/semantic.json +70 -0
  1116. package/template/docs/design/facts/antdv-next/1.5.2/components/Table/token.json +263 -0
  1117. package/template/docs/design/facts/antdv-next/1.5.2/components/Tag/demo-basic.json +7 -0
  1118. package/template/docs/design/facts/antdv-next/1.5.2/components/Tag/info.json +321 -0
  1119. package/template/docs/design/facts/antdv-next/1.5.2/components/Tag/semantic.json +25 -0
  1120. package/template/docs/design/facts/antdv-next/1.5.2/components/Tag/token.json +25 -0
  1121. package/template/docs/design/facts/antdv-next/1.5.2/design-md.json +3 -0
  1122. package/template/docs/design/facts/antdv-next/1.5.2/manifest.json +215 -0
  1123. package/template/docs/design/facts/antdv-next/1.5.2/resolution-probe.json +5 -0
  1124. package/template/docs/design/preview-dark.html +170 -7
  1125. package/template/docs/design/preview.css +730 -0
  1126. package/template/docs/design/preview.html +168 -10
  1127. package/template/docs/design/preview.js +71 -0
  1128. package/template/docs/design/schemas/visual-baseline.schema.json +66 -0
  1129. package/template/docs/design/templates/interaction-spec-template.md +4 -4
  1130. package/template/docs/design/templates/product-overview-design-template.md +6 -6
  1131. package/template/docs/design/templates/prototype-confirmation-template.md +13 -15
  1132. package/template/docs/design/templates/prototype-evidence-template.yaml +112 -75
  1133. package/template/docs/design/templates/prototype-review-checklist.md +5 -4
  1134. package/template/docs/design/templates/state-matrix-template.md +11 -0
  1135. package/template/docs/design/templates/visual-baseline-template.yaml +70 -0
  1136. package/template/docs/design/tokens/.design-md-projection.json +3 -3
  1137. package/template/docs/design/tokens/theme.json +2 -2
  1138. package/template/docs/design/tokens/variables.css +5 -0
  1139. package/template/docs/discovery/reports/agent-governance-options.md +8 -8
  1140. package/template/docs/process/MATT-POCOCK-ENGINEERING-SKILLS.md +1 -1
  1141. package/template/docs/process/harness-executive-blueprint.md +1 -1
  1142. package/template/docs/process/harness-process-tailoring.md +1 -0
  1143. package/template/docs/process/implementation-repo-integration.md +1 -1
  1144. package/template/docs/process/lifecycle-artifact-map.md +9 -6
  1145. package/template/docs/process/lifecycle-registry-baseline.json +9 -4
  1146. package/template/docs/process/lifecycle-registry.yaml +37 -9
  1147. package/template/docs/process/schemas/backend-architecture-identity.schema.json +19 -0
  1148. package/template/docs/process/schemas/context-reconciliation.schema.json +57 -0
  1149. package/template/docs/process/schemas/digital-human-task-package.schema.json +10 -0
  1150. package/template/docs/process/schemas/frontend-implementation-evidence.schema.json +62 -29
  1151. package/template/docs/process/schemas/lifecycle-checkpoint.schema.json +16 -2
  1152. package/template/docs/process/schemas/lifecycle-registry.schema.json +4 -4
  1153. package/template/docs/process/schemas/scaffold-architecture-decisions.schema.json +68 -0
  1154. package/template/docs/process/schemas/strategic-design-handoff.schema.json +670 -0
  1155. package/template/docs/process/schemas/strategic-handoff-domain-strategy.schema.json +146 -0
  1156. package/template/docs/process/schemas/strategic-handoff-export.schema.json +295 -0
  1157. package/template/docs/process/schemas/strategic-handoff-package.schema.json +97 -0
  1158. package/template/docs/process/schemas/strategic-handoff-stage-decision-package.schema.json +98 -0
  1159. package/template/docs/process/schemas/user-decision.schema.json +357 -0
  1160. package/template/docs/process/strategic-handoff-package.md +56 -0
  1161. package/template/docs/process/template-engineering-overview.md +2 -2
  1162. package/template/docs/process/template-verification-profiles.yaml +87 -7
  1163. package/template/docs/process/templates/context-reconciliation-template.yaml +18 -0
  1164. package/template/docs/process/templates/frontend-implementation-plan-template.yaml +11 -5
  1165. package/template/docs/process/templates/frontend-implementation-verification-template.yaml +25 -5
  1166. package/template/docs/process/templates/lifecycle-checkpoint-template.yaml +9 -0
  1167. package/template/docs/process/templates/scaffold-architecture-decisions-template.yaml +32 -0
  1168. package/template/docs/process/templates/stage-checkpoint-template.md +5 -0
  1169. package/template/docs/process/templates/user-decision-template.yaml +30 -0
  1170. package/template/docs/templates/approval-record-template.yaml +4 -0
  1171. package/template/docs/templates/build-architecture-checklist-template.md +7 -7
  1172. package/template/docs/templates/implementation-repo-registry-template.md +3 -1
  1173. package/template/docs/templates/implementation-routing-template.md +14 -12
  1174. package/template/docs/templates/requirement-freeze-template.md +2 -2
  1175. package/template/docs/templates/review-report-template.md +5 -5
  1176. package/template/docs/templates/spec-template.md +6 -6
  1177. package/template/docs/templates/vertical-slice-ticket-template.md +4 -4
  1178. package/template/docs/user-guide/yss-ui-mcp.md +0 -2
  1179. 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 +5 -3
  1180. package/template/docs/user-guide//347/224/250/346/210/267/346/211/213/345/206/214.md +5 -5
  1181. 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
  1182. package/template/scripts/audit-yss-backend-skills +56 -0
  1183. package/template/scripts/fixtures/strategic-handoff/base-stage.json +91 -0
  1184. package/template/scripts/fixtures/strategic-handoff/base-strategy.json +205 -0
  1185. package/template/scripts/fixtures/strategic-handoff/fixture.mjs +57 -0
  1186. package/template/scripts/fixtures/strategic-handoff/source-roles.json +528 -0
  1187. package/template/scripts/fixtures/user-decision/build-fixture.mjs +61 -0
  1188. package/template/scripts/generate-yss-skill-boundaries +67 -0
  1189. package/template/scripts/lib/approval-record.mjs +32 -1
  1190. package/template/scripts/lib/backend-architecture.mjs +43 -0
  1191. package/template/scripts/lib/context-contract.mjs +203 -0
  1192. package/template/scripts/lib/digital-human-roles.mjs +21 -3
  1193. package/template/scripts/lib/export-skills.mjs +4 -4
  1194. package/template/scripts/lib/first-slice-architecture.mjs +23 -0
  1195. package/template/scripts/lib/implementation-contract-compiler.mjs +227 -0
  1196. package/template/scripts/lib/lifecycle-registry.mjs +14 -6
  1197. package/template/scripts/lib/lifecycle-transition.mjs +19 -4
  1198. package/template/scripts/lib/scaffold-local-database.mjs +26 -0
  1199. package/template/scripts/lib/scenario-checks.mjs +34 -18
  1200. package/template/scripts/lib/skill-governance.mjs +46 -9
  1201. package/template/scripts/lib/skill-registry.mjs +107 -63
  1202. package/template/scripts/lib/skill-supply-chain.mjs +45 -5
  1203. package/template/scripts/lib/strategic-handoff-consumption.mjs +76 -0
  1204. package/template/scripts/lib/strategic-handoff-io.mjs +75 -0
  1205. package/template/scripts/lib/strategic-handoff-rules.mjs +37 -0
  1206. package/template/scripts/lib/strategic-handoff-zip.py +52 -0
  1207. package/template/scripts/lib/strategic-handoff.mjs +259 -0
  1208. package/template/scripts/lib/task-package.mjs +10 -2
  1209. package/template/scripts/lib/user-decision.mjs +210 -0
  1210. package/template/scripts/strategic-handoff +14 -0
  1211. package/template/scripts/sync-strategic-handoff-tools +18 -0
  1212. package/template/scripts/verify-approval-record +5 -4
  1213. package/template/scripts/verify-business-language-scenarios +59 -0
  1214. package/template/scripts/verify-context-contract +15 -0
  1215. package/template/scripts/verify-context-contract-scenarios +105 -0
  1216. package/template/scripts/verify-context-reconciliation +58 -0
  1217. package/template/scripts/verify-context-reconciliation-scenarios +69 -0
  1218. package/template/scripts/verify-digital-human-roles-scenarios +1 -1
  1219. package/template/scripts/verify-frontend-implementation-evidence +31 -8
  1220. package/template/scripts/verify-frontend-implementation-evidence-scenarios +56 -0
  1221. package/template/scripts/verify-grill-with-docs-context-scenarios +15 -0
  1222. package/template/scripts/verify-lifecycle-checkpoint +9 -1
  1223. package/template/scripts/verify-lifecycle-transition-scenarios +13 -3
  1224. package/template/scripts/verify-repository-scope-scenarios +2 -2
  1225. package/template/scripts/verify-retired-skill-ids +63 -0
  1226. package/template/scripts/verify-scaffold-architecture-decision-scenarios +30 -0
  1227. package/template/scripts/verify-scaffold-architecture-decisions +61 -0
  1228. package/template/scripts/verify-scaffold-generator-scenarios +92 -21
  1229. package/template/scripts/verify-strategic-context-import +65 -0
  1230. package/template/scripts/verify-strategic-context-import-scenarios +50 -0
  1231. package/template/scripts/verify-strategic-handoff-consumption +10 -0
  1232. package/template/scripts/verify-strategic-handoff-package-scenarios +102 -0
  1233. package/template/scripts/verify-subagent-task-package-scenarios +17 -3
  1234. package/template/scripts/verify-template-verification-scenarios +10 -2
  1235. package/template/scripts/verify-user-decision +17 -0
  1236. package/template/scripts/verify-user-decision-scenarios +103 -0
  1237. package/template/scripts/verify-yss-implementation-contract-compiler-scenarios +14 -0
  1238. package/template/skills-lock.json +130 -393
  1239. package/template/yss-public-skills.json +8 -8
  1240. package/template.manifest.json +0 -3
  1241. package/template.snapshot.json +5 -5
  1242. package/template/.agents/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
  1243. package/template/.agents/skills/ask-matt/SKILL.md +0 -95
  1244. package/template/.agents/skills/ask-matt/agents/openai.yaml +0 -5
  1245. package/template/.agents/skills/dispatching-parallel-agents/SKILL.md +0 -185
  1246. package/template/.agents/skills/loop-me/SKILL.md +0 -32
  1247. package/template/.agents/skills/loop-me/agents/openai.yaml +0 -5
  1248. package/template/.agents/skills/migrate-to-shoehorn/SKILL.md +0 -118
  1249. package/template/.agents/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
  1250. package/template/.agents/skills/prototype-page-acceptance/SKILL.md +0 -62
  1251. package/template/.agents/skills/scaffold-exercises/SKILL.md +0 -106
  1252. package/template/.agents/skills/scaffold-exercises/agents/openai.yaml +0 -3
  1253. package/template/.agents/skills/setup-pre-commit/SKILL.md +0 -91
  1254. package/template/.agents/skills/setup-pre-commit/agents/openai.yaml +0 -3
  1255. package/template/.agents/skills/setup-ts-deep-modules/SKILL.md +0 -102
  1256. package/template/.agents/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
  1257. package/template/.agents/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
  1258. package/template/.agents/skills/teach/GLOSSARY-FORMAT.md +0 -35
  1259. package/template/.agents/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
  1260. package/template/.agents/skills/teach/MISSION-FORMAT.md +0 -31
  1261. package/template/.agents/skills/teach/RESOURCES-FORMAT.md +0 -32
  1262. package/template/.agents/skills/teach/SKILL.md +0 -140
  1263. package/template/.agents/skills/teach/agents/openai.yaml +0 -5
  1264. package/template/.agents/skills/writing-beats/SKILL.md +0 -67
  1265. package/template/.agents/skills/writing-beats/agents/openai.yaml +0 -5
  1266. package/template/.agents/skills/writing-fragments/SKILL.md +0 -79
  1267. package/template/.agents/skills/writing-fragments/agents/openai.yaml +0 -5
  1268. package/template/.agents/skills/writing-shape/SKILL.md +0 -79
  1269. package/template/.agents/skills/writing-shape/agents/openai.yaml +0 -5
  1270. package/template/.agents/skills/yss-microapp-commit/SKILL.md +0 -201
  1271. package/template/.agents/skills/yss-microapp-commit/agents/openai.yaml +0 -5
  1272. package/template/.agents/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
  1273. package/template/.agents/skills/yss-page-module-development/SKILL.md +0 -165
  1274. package/template/.agents/skills/yss-page-module-development/agents/openai.yaml +0 -5
  1275. package/template/.agents/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
  1276. package/template/.agents/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
  1277. package/template/.agents/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
  1278. package/template/.agents/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  1279. package/template/.agents/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
  1280. package/template/.agents/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
  1281. package/template/.agents/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
  1282. package/template/.agents/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
  1283. package/template/.agents/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
  1284. package/template/.agents/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
  1285. package/template/.agents/skills/yss-page-module-development/references/component-map.md +0 -34
  1286. package/template/.agents/skills/yss-page-module-development/references/frontend-docs.md +0 -11
  1287. package/template/.agents/skills/yss-page-module-development/references/hooks-map.md +0 -11
  1288. package/template/.agents/skills/yss-page-module-development/references/utils-map.md +0 -14
  1289. package/template/.agents/skills/yss-router/SKILL.md +0 -51
  1290. package/template/.agents/skills/yss-router/agents/openai.yaml +0 -4
  1291. package/template/.agents/skills/yss-router/references/boundaries.md +0 -50
  1292. package/template/.agents/skills/yss-router/references/router-contract.yaml +0 -349
  1293. package/template/.agents/skills/yss-router/references/slice-implementation-contract.md +0 -185
  1294. package/template/.agents/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  1295. package/template/.agents/skills/yss-source-index/SKILL.md +0 -63
  1296. package/template/.agents/skills/yss-source-index/agents/openai.yaml +0 -4
  1297. package/template/.agents/skills/yss-source-index/references/source-map-config.md +0 -30
  1298. package/template/.agents/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  1299. package/template/.claude/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
  1300. package/template/.claude/skills/ask-matt/SKILL.md +0 -95
  1301. package/template/.claude/skills/ask-matt/agents/openai.yaml +0 -5
  1302. package/template/.claude/skills/dispatching-parallel-agents/SKILL.md +0 -185
  1303. package/template/.claude/skills/loop-me/SKILL.md +0 -32
  1304. package/template/.claude/skills/loop-me/agents/openai.yaml +0 -5
  1305. package/template/.claude/skills/migrate-to-shoehorn/SKILL.md +0 -118
  1306. package/template/.claude/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
  1307. package/template/.claude/skills/prototype-page-acceptance/SKILL.md +0 -62
  1308. package/template/.claude/skills/scaffold-exercises/SKILL.md +0 -106
  1309. package/template/.claude/skills/scaffold-exercises/agents/openai.yaml +0 -3
  1310. package/template/.claude/skills/setup-pre-commit/SKILL.md +0 -91
  1311. package/template/.claude/skills/setup-pre-commit/agents/openai.yaml +0 -3
  1312. package/template/.claude/skills/setup-ts-deep-modules/SKILL.md +0 -102
  1313. package/template/.claude/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
  1314. package/template/.claude/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
  1315. package/template/.claude/skills/teach/GLOSSARY-FORMAT.md +0 -35
  1316. package/template/.claude/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
  1317. package/template/.claude/skills/teach/MISSION-FORMAT.md +0 -31
  1318. package/template/.claude/skills/teach/RESOURCES-FORMAT.md +0 -32
  1319. package/template/.claude/skills/teach/SKILL.md +0 -140
  1320. package/template/.claude/skills/teach/agents/openai.yaml +0 -5
  1321. package/template/.claude/skills/writing-beats/SKILL.md +0 -67
  1322. package/template/.claude/skills/writing-beats/agents/openai.yaml +0 -5
  1323. package/template/.claude/skills/writing-fragments/SKILL.md +0 -79
  1324. package/template/.claude/skills/writing-fragments/agents/openai.yaml +0 -5
  1325. package/template/.claude/skills/writing-shape/SKILL.md +0 -79
  1326. package/template/.claude/skills/writing-shape/agents/openai.yaml +0 -5
  1327. package/template/.claude/skills/yss-microapp-commit/SKILL.md +0 -201
  1328. package/template/.claude/skills/yss-microapp-commit/agents/openai.yaml +0 -5
  1329. package/template/.claude/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
  1330. package/template/.claude/skills/yss-page-module-development/SKILL.md +0 -165
  1331. package/template/.claude/skills/yss-page-module-development/agents/openai.yaml +0 -5
  1332. package/template/.claude/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
  1333. package/template/.claude/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
  1334. package/template/.claude/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
  1335. package/template/.claude/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  1336. package/template/.claude/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
  1337. package/template/.claude/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
  1338. package/template/.claude/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
  1339. package/template/.claude/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
  1340. package/template/.claude/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
  1341. package/template/.claude/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
  1342. package/template/.claude/skills/yss-page-module-development/references/component-map.md +0 -34
  1343. package/template/.claude/skills/yss-page-module-development/references/frontend-docs.md +0 -11
  1344. package/template/.claude/skills/yss-page-module-development/references/hooks-map.md +0 -11
  1345. package/template/.claude/skills/yss-page-module-development/references/utils-map.md +0 -14
  1346. package/template/.claude/skills/yss-router/SKILL.md +0 -51
  1347. package/template/.claude/skills/yss-router/agents/openai.yaml +0 -4
  1348. package/template/.claude/skills/yss-router/references/boundaries.md +0 -50
  1349. package/template/.claude/skills/yss-router/references/router-contract.yaml +0 -349
  1350. package/template/.claude/skills/yss-router/references/slice-implementation-contract.md +0 -185
  1351. package/template/.claude/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  1352. package/template/.claude/skills/yss-source-index/SKILL.md +0 -63
  1353. package/template/.claude/skills/yss-source-index/agents/openai.yaml +0 -4
  1354. package/template/.claude/skills/yss-source-index/references/source-map-config.md +0 -30
  1355. package/template/.claude/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  1356. package/template/.codex/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
  1357. package/template/.codex/skills/ask-matt/SKILL.md +0 -95
  1358. package/template/.codex/skills/ask-matt/agents/openai.yaml +0 -5
  1359. package/template/.codex/skills/dispatching-parallel-agents/SKILL.md +0 -185
  1360. package/template/.codex/skills/loop-me/SKILL.md +0 -32
  1361. package/template/.codex/skills/loop-me/agents/openai.yaml +0 -5
  1362. package/template/.codex/skills/migrate-to-shoehorn/SKILL.md +0 -118
  1363. package/template/.codex/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
  1364. package/template/.codex/skills/prototype-page-acceptance/SKILL.md +0 -62
  1365. package/template/.codex/skills/scaffold-exercises/SKILL.md +0 -106
  1366. package/template/.codex/skills/scaffold-exercises/agents/openai.yaml +0 -3
  1367. package/template/.codex/skills/setup-pre-commit/SKILL.md +0 -91
  1368. package/template/.codex/skills/setup-pre-commit/agents/openai.yaml +0 -3
  1369. package/template/.codex/skills/setup-ts-deep-modules/SKILL.md +0 -102
  1370. package/template/.codex/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
  1371. package/template/.codex/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
  1372. package/template/.codex/skills/teach/GLOSSARY-FORMAT.md +0 -35
  1373. package/template/.codex/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
  1374. package/template/.codex/skills/teach/MISSION-FORMAT.md +0 -31
  1375. package/template/.codex/skills/teach/RESOURCES-FORMAT.md +0 -32
  1376. package/template/.codex/skills/teach/SKILL.md +0 -140
  1377. package/template/.codex/skills/teach/agents/openai.yaml +0 -5
  1378. package/template/.codex/skills/writing-beats/SKILL.md +0 -67
  1379. package/template/.codex/skills/writing-beats/agents/openai.yaml +0 -5
  1380. package/template/.codex/skills/writing-fragments/SKILL.md +0 -79
  1381. package/template/.codex/skills/writing-fragments/agents/openai.yaml +0 -5
  1382. package/template/.codex/skills/writing-shape/SKILL.md +0 -79
  1383. package/template/.codex/skills/writing-shape/agents/openai.yaml +0 -5
  1384. package/template/.codex/skills/yss-microapp-commit/SKILL.md +0 -201
  1385. package/template/.codex/skills/yss-microapp-commit/agents/openai.yaml +0 -5
  1386. package/template/.codex/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
  1387. package/template/.codex/skills/yss-page-module-development/SKILL.md +0 -165
  1388. package/template/.codex/skills/yss-page-module-development/agents/openai.yaml +0 -5
  1389. package/template/.codex/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
  1390. package/template/.codex/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
  1391. package/template/.codex/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
  1392. package/template/.codex/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  1393. package/template/.codex/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
  1394. package/template/.codex/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
  1395. package/template/.codex/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
  1396. package/template/.codex/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
  1397. package/template/.codex/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
  1398. package/template/.codex/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
  1399. package/template/.codex/skills/yss-page-module-development/references/component-map.md +0 -34
  1400. package/template/.codex/skills/yss-page-module-development/references/frontend-docs.md +0 -11
  1401. package/template/.codex/skills/yss-page-module-development/references/hooks-map.md +0 -11
  1402. package/template/.codex/skills/yss-page-module-development/references/utils-map.md +0 -14
  1403. package/template/.codex/skills/yss-router/SKILL.md +0 -51
  1404. package/template/.codex/skills/yss-router/agents/openai.yaml +0 -4
  1405. package/template/.codex/skills/yss-router/references/boundaries.md +0 -50
  1406. package/template/.codex/skills/yss-router/references/router-contract.yaml +0 -349
  1407. package/template/.codex/skills/yss-router/references/slice-implementation-contract.md +0 -185
  1408. package/template/.codex/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  1409. package/template/.codex/skills/yss-source-index/SKILL.md +0 -63
  1410. package/template/.codex/skills/yss-source-index/agents/openai.yaml +0 -4
  1411. package/template/.codex/skills/yss-source-index/references/source-map-config.md +0 -30
  1412. package/template/.codex/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  1413. package/template/.cursor/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
  1414. package/template/.cursor/skills/ask-matt/SKILL.md +0 -95
  1415. package/template/.cursor/skills/ask-matt/agents/openai.yaml +0 -5
  1416. package/template/.cursor/skills/dispatching-parallel-agents/SKILL.md +0 -185
  1417. package/template/.cursor/skills/loop-me/SKILL.md +0 -32
  1418. package/template/.cursor/skills/loop-me/agents/openai.yaml +0 -5
  1419. package/template/.cursor/skills/migrate-to-shoehorn/SKILL.md +0 -118
  1420. package/template/.cursor/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
  1421. package/template/.cursor/skills/prototype-page-acceptance/SKILL.md +0 -62
  1422. package/template/.cursor/skills/scaffold-exercises/SKILL.md +0 -106
  1423. package/template/.cursor/skills/scaffold-exercises/agents/openai.yaml +0 -3
  1424. package/template/.cursor/skills/setup-pre-commit/SKILL.md +0 -91
  1425. package/template/.cursor/skills/setup-pre-commit/agents/openai.yaml +0 -3
  1426. package/template/.cursor/skills/setup-ts-deep-modules/SKILL.md +0 -102
  1427. package/template/.cursor/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
  1428. package/template/.cursor/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
  1429. package/template/.cursor/skills/teach/GLOSSARY-FORMAT.md +0 -35
  1430. package/template/.cursor/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
  1431. package/template/.cursor/skills/teach/MISSION-FORMAT.md +0 -31
  1432. package/template/.cursor/skills/teach/RESOURCES-FORMAT.md +0 -32
  1433. package/template/.cursor/skills/teach/SKILL.md +0 -140
  1434. package/template/.cursor/skills/teach/agents/openai.yaml +0 -5
  1435. package/template/.cursor/skills/writing-beats/SKILL.md +0 -67
  1436. package/template/.cursor/skills/writing-beats/agents/openai.yaml +0 -5
  1437. package/template/.cursor/skills/writing-fragments/SKILL.md +0 -79
  1438. package/template/.cursor/skills/writing-fragments/agents/openai.yaml +0 -5
  1439. package/template/.cursor/skills/writing-shape/SKILL.md +0 -79
  1440. package/template/.cursor/skills/writing-shape/agents/openai.yaml +0 -5
  1441. package/template/.cursor/skills/yss-microapp-commit/SKILL.md +0 -201
  1442. package/template/.cursor/skills/yss-microapp-commit/agents/openai.yaml +0 -5
  1443. package/template/.cursor/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
  1444. package/template/.cursor/skills/yss-page-module-development/SKILL.md +0 -165
  1445. package/template/.cursor/skills/yss-page-module-development/agents/openai.yaml +0 -5
  1446. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
  1447. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
  1448. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
  1449. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  1450. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
  1451. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
  1452. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
  1453. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
  1454. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
  1455. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
  1456. package/template/.cursor/skills/yss-page-module-development/references/component-map.md +0 -34
  1457. package/template/.cursor/skills/yss-page-module-development/references/frontend-docs.md +0 -11
  1458. package/template/.cursor/skills/yss-page-module-development/references/hooks-map.md +0 -11
  1459. package/template/.cursor/skills/yss-page-module-development/references/utils-map.md +0 -14
  1460. package/template/.cursor/skills/yss-router/SKILL.md +0 -51
  1461. package/template/.cursor/skills/yss-router/agents/openai.yaml +0 -4
  1462. package/template/.cursor/skills/yss-router/references/boundaries.md +0 -50
  1463. package/template/.cursor/skills/yss-router/references/router-contract.yaml +0 -349
  1464. package/template/.cursor/skills/yss-router/references/slice-implementation-contract.md +0 -185
  1465. package/template/.cursor/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  1466. package/template/.cursor/skills/yss-source-index/SKILL.md +0 -63
  1467. package/template/.cursor/skills/yss-source-index/agents/openai.yaml +0 -4
  1468. package/template/.cursor/skills/yss-source-index/references/source-map-config.md +0 -30
  1469. package/template/.cursor/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  1470. package/template/.gemini/settings.json +0 -8
  1471. package/template/.hermes/skills/alibaba-java-code-style/SKILL.md +0 -51
  1472. package/template/.hermes/skills/alibaba-java-code-style/agents/openai.yaml +0 -4
  1473. package/template/.hermes/skills/alibaba-java-code-style/references/database-engineering-design.md +0 -147
  1474. package/template/.hermes/skills/alibaba-java-code-style/references/java-programming.md +0 -178
  1475. package/template/.hermes/skills/alibaba-java-code-style/references/reliability-test-security.md +0 -89
  1476. package/template/.hermes/skills/archify/LICENSE +0 -22
  1477. package/template/.hermes/skills/archify/SKILL.md +0 -156
  1478. package/template/.hermes/skills/archify/assets/template.html +0 -14787
  1479. package/template/.hermes/skills/archify/bin/archify.mjs +0 -1990
  1480. package/template/.hermes/skills/archify/bin/open-artifact.mjs +0 -86
  1481. package/template/.hermes/skills/archify/bin/preview.mjs +0 -648
  1482. package/template/.hermes/skills/archify/bin/visual-check.mjs +0 -829
  1483. package/template/.hermes/skills/archify/brand-marks/README.md +0 -31
  1484. package/template/.hermes/skills/archify/brand-marks/catalog.json +0 -131
  1485. package/template/.hermes/skills/archify/delta/architecture-delta.mjs +0 -1214
  1486. package/template/.hermes/skills/archify/examples/agent-run.lifecycle.json +0 -71
  1487. package/template/.hermes/skills/archify/examples/agent-tool-call.workflow.json +0 -94
  1488. package/template/.hermes/skills/archify/examples/async-job-roundtrip.sequence.json +0 -61
  1489. package/template/.hermes/skills/archify/examples/brand-aware-delivery.architecture.json +0 -47
  1490. package/template/.hermes/skills/archify/examples/cache-miss-request.sequence.json +0 -81
  1491. package/template/.hermes/skills/archify/examples/checkout-platform.base.architecture.json +0 -31
  1492. package/template/.hermes/skills/archify/examples/checkout-platform.head.architecture.json +0 -31
  1493. package/template/.hermes/skills/archify/examples/dataflow-product-analytics.html +0 -14898
  1494. package/template/.hermes/skills/archify/examples/deployment-release.lifecycle.json +0 -49
  1495. package/template/.hermes/skills/archify/examples/event-stream.dataflow.json +0 -57
  1496. package/template/.hermes/skills/archify/examples/incident-response.workflow.json +0 -64
  1497. package/template/.hermes/skills/archify/examples/lifecycle-agent-run.html +0 -14847
  1498. package/template/.hermes/skills/archify/examples/product-analytics.dataflow.json +0 -76
  1499. package/template/.hermes/skills/archify/examples/production-deployment.architecture.json +0 -71
  1500. package/template/.hermes/skills/archify/examples/release-delivery.workflow.json +0 -62
  1501. package/template/.hermes/skills/archify/examples/sequence-cache-miss-request.html +0 -14913
  1502. package/template/.hermes/skills/archify/examples/web-app-rendered.html +0 -14862
  1503. package/template/.hermes/skills/archify/examples/web-app.architecture.json +0 -46
  1504. package/template/.hermes/skills/archify/examples/workflow-agent-tool-call-rendered.html +0 -14904
  1505. package/template/.hermes/skills/archify/migrations/workflow-v2.mjs +0 -279
  1506. package/template/.hermes/skills/archify/package-lock.json +0 -149
  1507. package/template/.hermes/skills/archify/package.json +0 -37
  1508. package/template/.hermes/skills/archify/recipes/scenarios.mjs +0 -391
  1509. package/template/.hermes/skills/archify/references/authoring-contract.md +0 -191
  1510. package/template/.hermes/skills/archify/references/brand-marks.md +0 -65
  1511. package/template/.hermes/skills/archify/references/delivery-contract.md +0 -112
  1512. package/template/.hermes/skills/archify/references/viewer-runtime.md +0 -45
  1513. package/template/.hermes/skills/archify/renderers/architecture/grid.mjs +0 -62
  1514. package/template/.hermes/skills/archify/renderers/architecture/render-architecture.mjs +0 -1078
  1515. package/template/.hermes/skills/archify/renderers/dataflow/README.md +0 -104
  1516. package/template/.hermes/skills/archify/renderers/dataflow/render-dataflow.mjs +0 -483
  1517. package/template/.hermes/skills/archify/renderers/lifecycle/README.md +0 -115
  1518. package/template/.hermes/skills/archify/renderers/lifecycle/render-lifecycle.mjs +0 -561
  1519. package/template/.hermes/skills/archify/renderers/sequence/README.md +0 -114
  1520. package/template/.hermes/skills/archify/renderers/sequence/render-sequence.mjs +0 -453
  1521. package/template/.hermes/skills/archify/renderers/shared/brand-marks.mjs +0 -563
  1522. package/template/.hermes/skills/archify/renderers/shared/cli.mjs +0 -218
  1523. package/template/.hermes/skills/archify/renderers/shared/desktop-readability.mjs +0 -26
  1524. package/template/.hermes/skills/archify/renderers/shared/diagnostics.mjs +0 -127
  1525. package/template/.hermes/skills/archify/renderers/shared/engineering-profiles.mjs +0 -157
  1526. package/template/.hermes/skills/archify/renderers/shared/generated-brand-marks.mjs +0 -2003
  1527. package/template/.hermes/skills/archify/renderers/shared/generated-validators.mjs +0 -13
  1528. package/template/.hermes/skills/archify/renderers/shared/geometry.mjs +0 -1423
  1529. package/template/.hermes/skills/archify/renderers/shared/i18n.mjs +0 -594
  1530. package/template/.hermes/skills/archify/renderers/shared/layout-report.mjs +0 -40
  1531. package/template/.hermes/skills/archify/renderers/shared/legend.mjs +0 -217
  1532. package/template/.hermes/skills/archify/renderers/shared/output-path.mjs +0 -321
  1533. package/template/.hermes/skills/archify/renderers/shared/repository-evidence.mjs +0 -235
  1534. package/template/.hermes/skills/archify/renderers/shared/text-fit.mjs +0 -49
  1535. package/template/.hermes/skills/archify/renderers/shared/utils.mjs +0 -232
  1536. package/template/.hermes/skills/archify/renderers/shared/validator.mjs +0 -86
  1537. package/template/.hermes/skills/archify/renderers/workflow/README.md +0 -223
  1538. package/template/.hermes/skills/archify/renderers/workflow/render-workflow.mjs +0 -35
  1539. package/template/.hermes/skills/archify/renderers/workflow/workflow-compiler.mjs +0 -4400
  1540. package/template/.hermes/skills/archify/renderers/workflow/workflow-migration-geometry.mjs +0 -144
  1541. package/template/.hermes/skills/archify/schemas/README.md +0 -211
  1542. package/template/.hermes/skills/archify/schemas/architecture.schema.json +0 -176
  1543. package/template/.hermes/skills/archify/schemas/common.schema.json +0 -115
  1544. package/template/.hermes/skills/archify/schemas/dataflow.schema.json +0 -243
  1545. package/template/.hermes/skills/archify/schemas/lifecycle.schema.json +0 -266
  1546. package/template/.hermes/skills/archify/schemas/sequence.schema.json +0 -223
  1547. package/template/.hermes/skills/archify/schemas/workflow.schema.json +0 -428
  1548. package/template/.hermes/skills/archify/scripts/check-render-output.mjs +0 -835
  1549. package/template/.hermes/skills/archify/scripts/check-update.mjs +0 -1667
  1550. package/template/.hermes/skills/archify/scripts/generate-brand-marks.mjs +0 -141
  1551. package/template/.hermes/skills/archify/scripts/generate-validators.mjs +0 -66
  1552. package/template/.hermes/skills/archify/scripts/render-examples.mjs +0 -26
  1553. package/template/.hermes/skills/archify/scripts/update-contract.mjs +0 -182
  1554. package/template/.hermes/skills/archify/scripts/yss-safe-deliver.mjs +0 -214
  1555. package/template/.hermes/skills/archify/skill-release.json +0 -10
  1556. package/template/.hermes/skills/archify/test/adaptive-reader-layout.test.mjs +0 -86
  1557. package/template/.hermes/skills/archify/test/animation.test.mjs +0 -179
  1558. package/template/.hermes/skills/archify/test/architecture-delta.test.mjs +0 -518
  1559. package/template/.hermes/skills/archify/test/authored-reachability.test.mjs +0 -95
  1560. package/template/.hermes/skills/archify/test/authoring-safety-contract.test.mjs +0 -54
  1561. package/template/.hermes/skills/archify/test/automatic-port-spread.test.mjs +0 -376
  1562. package/template/.hermes/skills/archify/test/base-input-compatibility.test.mjs +0 -42
  1563. package/template/.hermes/skills/archify/test/brand-marks.test.mjs +0 -654
  1564. package/template/.hermes/skills/archify/test/chapter-delta-preview.test.mjs +0 -157
  1565. package/template/.hermes/skills/archify/test/chapter-handoff.test.mjs +0 -97
  1566. package/template/.hermes/skills/archify/test/chapter-rail.test.mjs +0 -86
  1567. package/template/.hermes/skills/archify/test/checkout-line-endings.test.mjs +0 -72
  1568. package/template/.hermes/skills/archify/test/clean-skill-staging.test.mjs +0 -244
  1569. package/template/.hermes/skills/archify/test/cli.test.mjs +0 -809
  1570. package/template/.hermes/skills/archify/test/community-proof-intake.test.mjs +0 -104
  1571. package/template/.hermes/skills/archify/test/cursor-onboarding.test.mjs +0 -74
  1572. package/template/.hermes/skills/archify/test/degraded.test.mjs +0 -161
  1573. package/template/.hermes/skills/archify/test/delivery-contract.test.mjs +0 -52
  1574. package/template/.hermes/skills/archify/test/desktop-reader-browser.test.mjs +0 -58
  1575. package/template/.hermes/skills/archify/test/diagram-guide.test.mjs +0 -92
  1576. package/template/.hermes/skills/archify/test/engineering-profile.test.mjs +0 -209
  1577. package/template/.hermes/skills/archify/test/finder.test.mjs +0 -104
  1578. package/template/.hermes/skills/archify/test/fixtures/automatic-routing-node-border-clearance.workflow.json +0 -40
  1579. package/template/.hermes/skills/archify/test/fixtures/fail-migration-cleanup.mjs +0 -17
  1580. package/template/.hermes/skills/archify/test/fixtures/issue-126/custom-widths.workflow.json +0 -18
  1581. package/template/.hermes/skills/archify/test/fixtures/issue-126/explicit-route.workflow.json +0 -28
  1582. package/template/.hermes/skills/archify/test/fixtures/issue-126/explicit-viewbox.workflow.json +0 -19
  1583. package/template/.hermes/skills/archify/test/fixtures/issue-126/labels.workflow.json +0 -18
  1584. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/agent-run.lifecycle.json +0 -64
  1585. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/agent-tool-call.workflow.json +0 -88
  1586. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/cache-miss-request.sequence.json +0 -75
  1587. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/event-stream.dataflow.json +0 -57
  1588. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/product-analytics.dataflow.json +0 -70
  1589. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/production-deployment.architecture.json +0 -71
  1590. package/template/.hermes/skills/archify/test/fixtures/v1-baseline/web-app.architecture.json +0 -41
  1591. package/template/.hermes/skills/archify/test/fixtures/v1-workflow-700x400.workflow.json +0 -22
  1592. package/template/.hermes/skills/archify/test/fixtures/v1-workflow-explicit-coordinates.workflow.json +0 -47
  1593. package/template/.hermes/skills/archify/test/gallery.test.mjs +0 -130
  1594. package/template/.hermes/skills/archify/test/generate-validators.test.mjs +0 -59
  1595. package/template/.hermes/skills/archify/test/generated-artifact-xml.test.mjs +0 -88
  1596. package/template/.hermes/skills/archify/test/geometry.test.mjs +0 -739
  1597. package/template/.hermes/skills/archify/test/golden.mjs +0 -207
  1598. package/template/.hermes/skills/archify/test/grid.test.mjs +0 -47
  1599. package/template/.hermes/skills/archify/test/guide-page.test.mjs +0 -59
  1600. package/template/.hermes/skills/archify/test/guide.test.mjs +0 -81
  1601. package/template/.hermes/skills/archify/test/guided-views.test.mjs +0 -144
  1602. package/template/.hermes/skills/archify/test/helpers/xml.mjs +0 -37
  1603. package/template/.hermes/skills/archify/test/i18n.test.mjs +0 -422
  1604. package/template/.hermes/skills/archify/test/intent-trace.test.mjs +0 -111
  1605. package/template/.hermes/skills/archify/test/landing.test.mjs +0 -97
  1606. package/template/.hermes/skills/archify/test/layout-rules.test.mjs +0 -1449
  1607. package/template/.hermes/skills/archify/test/legend-contract.test.mjs +0 -404
  1608. package/template/.hermes/skills/archify/test/motion-governor.test.mjs +0 -111
  1609. package/template/.hermes/skills/archify/test/open-artifact.test.mjs +0 -118
  1610. package/template/.hermes/skills/archify/test/ordinary-model-floor.test.mjs +0 -1024
  1611. package/template/.hermes/skills/archify/test/output-path.test.mjs +0 -587
  1612. package/template/.hermes/skills/archify/test/presentation.test.mjs +0 -71
  1613. package/template/.hermes/skills/archify/test/preset-tryon.test.mjs +0 -113
  1614. package/template/.hermes/skills/archify/test/preview-contract.test.mjs +0 -40
  1615. package/template/.hermes/skills/archify/test/preview.test.mjs +0 -499
  1616. package/template/.hermes/skills/archify/test/proof-aperture.test.mjs +0 -78
  1617. package/template/.hermes/skills/archify/test/reach-share-card.test.mjs +0 -149
  1618. package/template/.hermes/skills/archify/test/readme-showcase.test.mjs +0 -318
  1619. package/template/.hermes/skills/archify/test/real-repository-proof.test.mjs +0 -209
  1620. package/template/.hermes/skills/archify/test/relationship-direct-explorer.test.mjs +0 -115
  1621. package/template/.hermes/skills/archify/test/relationship-lens.test.mjs +0 -128
  1622. package/template/.hermes/skills/archify/test/relationship-permalink.test.mjs +0 -130
  1623. package/template/.hermes/skills/archify/test/relationship-pulse.test.mjs +0 -122
  1624. package/template/.hermes/skills/archify/test/release-identity.test.mjs +0 -504
  1625. package/template/.hermes/skills/archify/test/release-package-gates.test.mjs +0 -508
  1626. package/template/.hermes/skills/archify/test/render-output-checks.test.mjs +0 -435
  1627. package/template/.hermes/skills/archify/test/repair-receipt.test.mjs +0 -181
  1628. package/template/.hermes/skills/archify/test/repository-evidence.test.mjs +0 -217
  1629. package/template/.hermes/skills/archify/test/repository-language-metadata.test.mjs +0 -52
  1630. package/template/.hermes/skills/archify/test/route-journey.test.mjs +0 -123
  1631. package/template/.hermes/skills/archify/test/route-probe.test.mjs +0 -114
  1632. package/template/.hermes/skills/archify/test/route-share-card.test.mjs +0 -163
  1633. package/template/.hermes/skills/archify/test/semantic-camera.test.mjs +0 -88
  1634. package/template/.hermes/skills/archify/test/semantic-flow.test.mjs +0 -90
  1635. package/template/.hermes/skills/archify/test/semantic-legend-gateway.test.mjs +0 -156
  1636. package/template/.hermes/skills/archify/test/semantic-lens.test.mjs +0 -103
  1637. package/template/.hermes/skills/archify/test/semantic-passport.test.mjs +0 -99
  1638. package/template/.hermes/skills/archify/test/semantic-radar.test.mjs +0 -575
  1639. package/template/.hermes/skills/archify/test/semantic-zoom.test.mjs +0 -86
  1640. package/template/.hermes/skills/archify/test/sequence-column-fit.test.mjs +0 -137
  1641. package/template/.hermes/skills/archify/test/settled-flow.test.mjs +0 -97
  1642. package/template/.hermes/skills/archify/test/share-card-export.test.mjs +0 -132
  1643. package/template/.hermes/skills/archify/test/site-language-continuity.test.mjs +0 -562
  1644. package/template/.hermes/skills/archify/test/site-language-integration.mjs +0 -9
  1645. package/template/.hermes/skills/archify/test/skill-metadata.test.mjs +0 -84
  1646. package/template/.hermes/skills/archify/test/stable-update-manifest.test.mjs +0 -167
  1647. package/template/.hermes/skills/archify/test/start-page.test.mjs +0 -312
  1648. package/template/.hermes/skills/archify/test/story-beat-navigator.test.mjs +0 -103
  1649. package/template/.hermes/skills/archify/test/story-carrier.test.mjs +0 -90
  1650. package/template/.hermes/skills/archify/test/story-director-strip.test.mjs +0 -91
  1651. package/template/.hermes/skills/archify/test/story-follow-camera.test.mjs +0 -103
  1652. package/template/.hermes/skills/archify/test/story-horizon.test.mjs +0 -89
  1653. package/template/.hermes/skills/archify/test/story-moment-link.test.mjs +0 -93
  1654. package/template/.hermes/skills/archify/test/story-shelf.test.mjs +0 -84
  1655. package/template/.hermes/skills/archify/test/story-trail.test.mjs +0 -81
  1656. package/template/.hermes/skills/archify/test/toolbar-polish.test.mjs +0 -57
  1657. package/template/.hermes/skills/archify/test/update-contract.test.mjs +0 -133
  1658. package/template/.hermes/skills/archify/test/update-notifier.test.mjs +0 -3317
  1659. package/template/.hermes/skills/archify/test/v1-compatibility.test.mjs +0 -329
  1660. package/template/.hermes/skills/archify/test/vertical-edge.test.mjs +0 -68
  1661. package/template/.hermes/skills/archify/test/viewer-chrome-layout.test.mjs +0 -872
  1662. package/template/.hermes/skills/archify/test/visual-check.test.mjs +0 -400
  1663. package/template/.hermes/skills/archify/test/webm-artifact.smoke.mjs +0 -1840
  1664. package/template/.hermes/skills/archify/test/workflow-compiler-hard-contract.test.mjs +0 -2135
  1665. package/template/.hermes/skills/archify/test/workflow-compiler.test.mjs +0 -1163
  1666. package/template/.hermes/skills/archify/test/workflow-migration.test.mjs +0 -620
  1667. package/template/.hermes/skills/archify/test/workflow-semantic-contract.test.mjs +0 -131
  1668. package/template/.hermes/skills/archify/test/yss-safe-deliver.test.mjs +0 -153
  1669. package/template/.hermes/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
  1670. package/template/.hermes/skills/ask-matt/SKILL.md +0 -95
  1671. package/template/.hermes/skills/ask-matt/agents/openai.yaml +0 -5
  1672. package/template/.hermes/skills/code-review/SKILL.md +0 -122
  1673. package/template/.hermes/skills/code-review/agents/openai.yaml +0 -3
  1674. package/template/.hermes/skills/code-review/references/yss-review-standards.md +0 -54
  1675. package/template/.hermes/skills/codebase-design/DEEPENING.md +0 -37
  1676. package/template/.hermes/skills/codebase-design/DESIGN-IT-TWICE.md +0 -44
  1677. package/template/.hermes/skills/codebase-design/SKILL.md +0 -118
  1678. package/template/.hermes/skills/codebase-design/agents/openai.yaml +0 -3
  1679. package/template/.hermes/skills/competitive-intelligence/SKILL.md +0 -94
  1680. package/template/.hermes/skills/component-selection-imports/SKILL.md +0 -64
  1681. package/template/.hermes/skills/cross-repo-implementation-routing/SKILL.md +0 -51
  1682. package/template/.hermes/skills/diagnosing-bugs/SKILL.md +0 -138
  1683. package/template/.hermes/skills/diagnosing-bugs/agents/openai.yaml +0 -3
  1684. package/template/.hermes/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +0 -44
  1685. package/template/.hermes/skills/dispatching-parallel-agents/SKILL.md +0 -185
  1686. package/template/.hermes/skills/domain-modeling/ADR-FORMAT.md +0 -47
  1687. package/template/.hermes/skills/domain-modeling/CONTEXT-FORMAT.md +0 -60
  1688. package/template/.hermes/skills/domain-modeling/SKILL.md +0 -74
  1689. package/template/.hermes/skills/domain-modeling/agents/openai.yaml +0 -3
  1690. package/template/.hermes/skills/file-export-download/SKILL.md +0 -160
  1691. package/template/.hermes/skills/file-export-download/agents/openai.yaml +0 -4
  1692. package/template/.hermes/skills/formily-foundation/SKILL.md +0 -176
  1693. package/template/.hermes/skills/formily-foundation/references/examples.md +0 -486
  1694. package/template/.hermes/skills/formily-linkage-effects/SKILL.md +0 -167
  1695. package/template/.hermes/skills/formily-mode-slot-detail/SKILL.md +0 -137
  1696. package/template/.hermes/skills/formily-step-flow/SKILL.md +0 -194
  1697. package/template/.hermes/skills/frontend-commit/SKILL.md +0 -118
  1698. package/template/.hermes/skills/frontend-commit/agents/openai.yaml +0 -7
  1699. package/template/.hermes/skills/frontend-commit/references/scope-and-examples.md +0 -111
  1700. package/template/.hermes/skills/grill-me/SKILL.md +0 -7
  1701. package/template/.hermes/skills/grill-me/agents/openai.yaml +0 -5
  1702. package/template/.hermes/skills/grill-with-docs/SKILL.md +0 -19
  1703. package/template/.hermes/skills/grill-with-docs/agents/openai.yaml +0 -5
  1704. package/template/.hermes/skills/grilling/SKILL.md +0 -28
  1705. package/template/.hermes/skills/grilling/agents/openai.yaml +0 -3
  1706. package/template/.hermes/skills/handoff/SKILL.md +0 -16
  1707. package/template/.hermes/skills/handoff/agents/openai.yaml +0 -5
  1708. package/template/.hermes/skills/implement/SKILL.md +0 -15
  1709. package/template/.hermes/skills/implement/agents/openai.yaml +0 -5
  1710. package/template/.hermes/skills/implementation-repo-onboarding/SKILL.md +0 -50
  1711. package/template/.hermes/skills/improve-codebase-architecture/HTML-REPORT.md +0 -123
  1712. package/template/.hermes/skills/improve-codebase-architecture/SKILL.md +0 -71
  1713. package/template/.hermes/skills/improve-codebase-architecture/agents/openai.yaml +0 -5
  1714. package/template/.hermes/skills/java-backend-commit/SKILL.md +0 -121
  1715. package/template/.hermes/skills/java-backend-commit/agents/openai.yaml +0 -7
  1716. package/template/.hermes/skills/java-backend-commit/references/scope-and-examples.md +0 -118
  1717. package/template/.hermes/skills/llm-wiki/SKILL.md +0 -60
  1718. package/template/.hermes/skills/llm-wiki/assets/CLAUDE.md.template +0 -26
  1719. package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +0 -3
  1720. package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +0 -5
  1721. package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +0 -1
  1722. 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
  1723. package/template/.hermes/skills/llm-wiki/references/compile.md +0 -126
  1724. package/template/.hermes/skills/llm-wiki/references/discover.md +0 -42
  1725. package/template/.hermes/skills/llm-wiki/references/ingest.md +0 -36
  1726. package/template/.hermes/skills/llm-wiki/references/lint.md +0 -54
  1727. package/template/.hermes/skills/llm-wiki/references/query.md +0 -21
  1728. package/template/.hermes/skills/llm-wiki/references/schema.md +0 -45
  1729. package/template/.hermes/skills/llm-wiki/references/writing.md +0 -35
  1730. package/template/.hermes/skills/llm-wiki/scripts/advise.mjs +0 -196
  1731. package/template/.hermes/skills/llm-wiki/scripts/advise.test.mjs +0 -91
  1732. package/template/.hermes/skills/llm-wiki/scripts/extract.mjs +0 -55
  1733. package/template/.hermes/skills/llm-wiki/scripts/extract.test.mjs +0 -34
  1734. package/template/.hermes/skills/llm-wiki/scripts/inventory.mjs +0 -174
  1735. package/template/.hermes/skills/llm-wiki/scripts/inventory.test.mjs +0 -98
  1736. package/template/.hermes/skills/llm-wiki/scripts/lint-wikilinks.mjs +0 -177
  1737. package/template/.hermes/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +0 -212
  1738. package/template/.hermes/skills/lombok/SKILL.md +0 -351
  1739. package/template/.hermes/skills/loop-me/SKILL.md +0 -32
  1740. package/template/.hermes/skills/loop-me/agents/openai.yaml +0 -5
  1741. package/template/.hermes/skills/maintaining-skills/SKILL.md +0 -27
  1742. package/template/.hermes/skills/mapstruct/SKILL.md +0 -334
  1743. package/template/.hermes/skills/migrate-to-shoehorn/SKILL.md +0 -118
  1744. package/template/.hermes/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
  1745. package/template/.hermes/skills/page-form-module/SKILL.md +0 -168
  1746. package/template/.hermes/skills/page-list-module/SKILL.md +0 -137
  1747. package/template/.hermes/skills/page-skeleton/SKILL.md +0 -76
  1748. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +0 -34
  1749. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -75
  1750. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/index.vue +0 -107
  1751. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  1752. package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/style.less +0 -30
  1753. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/constant.ts +0 -28
  1754. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -58
  1755. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +0 -65
  1756. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/index.vue +0 -91
  1757. package/template/.hermes/skills/page-skeleton/examples/StandardListPage/style.less +0 -49
  1758. package/template/.hermes/skills/prototype/LOGIC.md +0 -67
  1759. package/template/.hermes/skills/prototype/SKILL.md +0 -26
  1760. package/template/.hermes/skills/prototype/UI.md +0 -112
  1761. package/template/.hermes/skills/prototype/agents/openai.yaml +0 -3
  1762. package/template/.hermes/skills/prototype-page-acceptance/SKILL.md +0 -62
  1763. package/template/.hermes/skills/prototype-review/SKILL.md +0 -74
  1764. package/template/.hermes/skills/prototype-review/agents/openai.yaml +0 -4
  1765. package/template/.hermes/skills/resolving-merge-conflicts/SKILL.md +0 -14
  1766. package/template/.hermes/skills/resolving-merge-conflicts/agents/openai.yaml +0 -3
  1767. package/template/.hermes/skills/scaffold-exercises/SKILL.md +0 -106
  1768. package/template/.hermes/skills/scaffold-exercises/agents/openai.yaml +0 -3
  1769. package/template/.hermes/skills/setup-matt-pocock-skills/SKILL.md +0 -125
  1770. package/template/.hermes/skills/setup-matt-pocock-skills/agents/openai.yaml +0 -5
  1771. package/template/.hermes/skills/setup-matt-pocock-skills/domain.md +0 -51
  1772. package/template/.hermes/skills/setup-matt-pocock-skills/issue-tracker-github.md +0 -45
  1773. package/template/.hermes/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +0 -46
  1774. package/template/.hermes/skills/setup-matt-pocock-skills/issue-tracker-local.md +0 -66
  1775. package/template/.hermes/skills/setup-matt-pocock-skills/triage-labels.md +0 -15
  1776. package/template/.hermes/skills/setup-pre-commit/SKILL.md +0 -91
  1777. package/template/.hermes/skills/setup-pre-commit/agents/openai.yaml +0 -3
  1778. package/template/.hermes/skills/setup-ts-deep-modules/SKILL.md +0 -102
  1779. package/template/.hermes/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
  1780. package/template/.hermes/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
  1781. package/template/.hermes/skills/tdd/SKILL.md +0 -38
  1782. package/template/.hermes/skills/tdd/agents/openai.yaml +0 -3
  1783. package/template/.hermes/skills/tdd/mocking.md +0 -59
  1784. package/template/.hermes/skills/tdd/tests.md +0 -77
  1785. package/template/.hermes/skills/teach/GLOSSARY-FORMAT.md +0 -35
  1786. package/template/.hermes/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
  1787. package/template/.hermes/skills/teach/MISSION-FORMAT.md +0 -31
  1788. package/template/.hermes/skills/teach/RESOURCES-FORMAT.md +0 -32
  1789. package/template/.hermes/skills/teach/SKILL.md +0 -140
  1790. package/template/.hermes/skills/teach/agents/openai.yaml +0 -5
  1791. package/template/.hermes/skills/theme-token-usage/SKILL.md +0 -123
  1792. package/template/.hermes/skills/theme-token-usage/agents/openai.yaml +0 -4
  1793. package/template/.hermes/skills/to-questionnaire/SKILL.md +0 -53
  1794. package/template/.hermes/skills/to-questionnaire/agents/openai.yaml +0 -5
  1795. package/template/.hermes/skills/to-spec/SKILL.md +0 -75
  1796. package/template/.hermes/skills/to-spec/agents/openai.yaml +0 -5
  1797. package/template/.hermes/skills/to-tickets/SKILL.md +0 -105
  1798. package/template/.hermes/skills/to-tickets/agents/openai.yaml +0 -5
  1799. package/template/.hermes/skills/triage/AGENT-BRIEF.md +0 -207
  1800. package/template/.hermes/skills/triage/OUT-OF-SCOPE.md +0 -105
  1801. package/template/.hermes/skills/triage/SKILL.md +0 -112
  1802. package/template/.hermes/skills/triage/agents/openai.yaml +0 -5
  1803. package/template/.hermes/skills/using-git-worktrees/SKILL.md +0 -202
  1804. package/template/.hermes/skills/vue3-best-practices/SKILL.md +0 -68
  1805. package/template/.hermes/skills/wait-what/SKILL.md +0 -7
  1806. package/template/.hermes/skills/wait-what/agents/openai.yaml +0 -5
  1807. package/template/.hermes/skills/wayfinder/SKILL.md +0 -128
  1808. package/template/.hermes/skills/wayfinder/agents/openai.yaml +0 -5
  1809. package/template/.hermes/skills/writing-beats/SKILL.md +0 -67
  1810. package/template/.hermes/skills/writing-beats/agents/openai.yaml +0 -5
  1811. package/template/.hermes/skills/writing-for-agents/SKILL-MECHANICS.md +0 -22
  1812. package/template/.hermes/skills/writing-for-agents/SKILL.md +0 -81
  1813. package/template/.hermes/skills/writing-for-agents/agents/openai.yaml +0 -3
  1814. package/template/.hermes/skills/writing-fragments/SKILL.md +0 -79
  1815. package/template/.hermes/skills/writing-fragments/agents/openai.yaml +0 -5
  1816. package/template/.hermes/skills/writing-shape/SKILL.md +0 -79
  1817. package/template/.hermes/skills/writing-shape/agents/openai.yaml +0 -5
  1818. package/template/.hermes/skills/yedit-table-usage/SKILL.md +0 -227
  1819. package/template/.hermes/skills/yss-antd-design/SKILL.md +0 -34
  1820. package/template/.hermes/skills/yss-antd-design/references/boundaries.md +0 -30
  1821. package/template/.hermes/skills/yss-antd-design/references/cli-matrix.md +0 -38
  1822. package/template/.hermes/skills/yss-antd-design/references/evidence.md +0 -30
  1823. package/template/.hermes/skills/yss-antd-design/scripts/validate-frontmatter.mjs +0 -46
  1824. package/template/.hermes/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +0 -27
  1825. package/template/.hermes/skills/yss-api-integration/SKILL.md +0 -185
  1826. package/template/.hermes/skills/yss-api-integration/agents/openai.yaml +0 -5
  1827. package/template/.hermes/skills/yss-application/SKILL.md +0 -54
  1828. package/template/.hermes/skills/yss-application/agents/openai.yaml +0 -5
  1829. package/template/.hermes/skills/yss-application/references/application-layer-guide.md +0 -87
  1830. package/template/.hermes/skills/yss-audit-log/SKILL.md +0 -67
  1831. package/template/.hermes/skills/yss-audit-log/agents/openai.yaml +0 -5
  1832. package/template/.hermes/skills/yss-audit-log/assets/AuditLogAspect.java +0 -262
  1833. package/template/.hermes/skills/yss-audit-log/assets/YssAuditLogPrintSubscriberImpl.java +0 -37
  1834. package/template/.hermes/skills/yss-audit-log/assets/YssAuditLogSysManagerSubscriberImpl.java +0 -18
  1835. package/template/.hermes/skills/yss-audit-log/assets/YssAuditPublishService.java +0 -69
  1836. package/template/.hermes/skills/yss-audit-log/references/README.md +0 -69
  1837. package/template/.hermes/skills/yss-audit-log/references/source-index.md +0 -43
  1838. package/template/.hermes/skills/yss-cache/SKILL.md +0 -44
  1839. package/template/.hermes/skills/yss-cache/agents/openai.yaml +0 -5
  1840. package/template/.hermes/skills/yss-cache/references/annotations.md +0 -39
  1841. package/template/.hermes/skills/yss-cache/references/architecture.md +0 -25
  1842. package/template/.hermes/skills/yss-cache/references/configuration.md +0 -34
  1843. package/template/.hermes/skills/yss-cache/references/redis-fallback.md +0 -23
  1844. package/template/.hermes/skills/yss-cache/references/redis-topology.md +0 -62
  1845. package/template/.hermes/skills/yss-cache/references/serialization.md +0 -17
  1846. package/template/.hermes/skills/yss-cache/references/source-index.md +0 -67
  1847. package/template/.hermes/skills/yss-cache/references/troubleshooting.md +0 -33
  1848. package/template/.hermes/skills/yss-cache/references/verification.md +0 -34
  1849. package/template/.hermes/skills/yss-cache/scripts/check-skill-freshness.sh +0 -84
  1850. package/template/.hermes/skills/yss-cache/scripts/inspect-cache-usage.sh +0 -96
  1851. package/template/.hermes/skills/yss-cache/scripts/verify-cache-component.sh +0 -101
  1852. package/template/.hermes/skills/yss-components/SKILL.md +0 -386
  1853. package/template/.hermes/skills/yss-components/agents/openai.yaml +0 -5
  1854. package/template/.hermes/skills/yss-components/references/frontend-docs.md +0 -9
  1855. package/template/.hermes/skills/yss-ddd-scaffold-generator/SKILL.md +0 -121
  1856. package/template/.hermes/skills/yss-ddd-scaffold-generator/agents/openai.yaml +0 -5
  1857. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/config/application-local.yml.template +0 -8
  1858. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -36
  1859. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/config/logback-spring.xml.template +0 -15
  1860. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/java/architecture-rules-test.java.template +0 -36
  1861. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/java/bootstrap-application.java.template +0 -15
  1862. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/adapter-pom.xml.template +0 -19
  1863. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +0 -52
  1864. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +0 -70
  1865. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/domain-pom.xml.template +0 -22
  1866. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/infrastructure-pom.xml.template +0 -54
  1867. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +0 -155
  1868. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +0 -58
  1869. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/jvm.config +0 -1
  1870. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/maven.config +0 -2
  1871. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/settings.xml +0 -41
  1872. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/MavenWrapperDownloader.java +0 -117
  1873. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/maven-wrapper.jar +0 -0
  1874. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/maven-wrapper.properties +0 -20
  1875. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/mvnw +0 -316
  1876. package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/mvnw.cmd +0 -188
  1877. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +0 -116
  1878. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +0 -125
  1879. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/SKILL.md +0 -31
  1880. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/agents/openai.yaml +0 -5
  1881. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +0 -8
  1882. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  1883. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +0 -8
  1884. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  1885. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +0 -8
  1886. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  1887. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +0 -58
  1888. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +0 -5
  1889. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +0 -8
  1890. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  1891. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +0 -225
  1892. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +0 -164
  1893. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +0 -126
  1894. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +0 -363
  1895. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +0 -172
  1896. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +0 -112
  1897. package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +0 -401
  1898. package/template/.hermes/skills/yss-design-system/SKILL.md +0 -105
  1899. package/template/.hermes/skills/yss-design-system/agents/openai.yaml +0 -5
  1900. package/template/.hermes/skills/yss-design-system/references/design-qa-theme.md +0 -64
  1901. package/template/.hermes/skills/yss-design-system/references/design-system.md +0 -245
  1902. package/template/.hermes/skills/yss-design-system/scripts/validate-frontmatter.mjs +0 -36
  1903. package/template/.hermes/skills/yss-design-system/scripts/validate-frontmatter.test.mjs +0 -12
  1904. package/template/.hermes/skills/yss-distributed-id/SKILL.md +0 -69
  1905. package/template/.hermes/skills/yss-distributed-id/agents/openai.yaml +0 -5
  1906. package/template/.hermes/skills/yss-distributed-id/assets/AutoIdInterceptor.java +0 -246
  1907. package/template/.hermes/skills/yss-distributed-id/assets/EnableDistributedId.java +0 -25
  1908. package/template/.hermes/skills/yss-distributed-id/assets/LeafConf.java +0 -36
  1909. package/template/.hermes/skills/yss-distributed-id/references/README.md +0 -51
  1910. package/template/.hermes/skills/yss-distributed-id/references/source-index.md +0 -86
  1911. package/template/.hermes/skills/yss-domain/SKILL.md +0 -70
  1912. package/template/.hermes/skills/yss-domain/agents/openai.yaml +0 -5
  1913. package/template/.hermes/skills/yss-domain/references/domain-layer-guide.md +0 -101
  1914. package/template/.hermes/skills/yss-dto/SKILL.md +0 -92
  1915. package/template/.hermes/skills/yss-dto/agents/openai.yaml +0 -5
  1916. package/template/.hermes/skills/yss-dto/assets/CommandDTO.java +0 -8
  1917. package/template/.hermes/skills/yss-dto/assets/PageQuery.java +0 -133
  1918. package/template/.hermes/skills/yss-dto/assets/QueryDTO.java +0 -6
  1919. package/template/.hermes/skills/yss-dto/assets/Result.java +0 -105
  1920. package/template/.hermes/skills/yss-dto/references/README.md +0 -67
  1921. package/template/.hermes/skills/yss-dto/references/openapi-wire-profile.yaml +0 -187
  1922. package/template/.hermes/skills/yss-dto/references/source-index.md +0 -55
  1923. package/template/.hermes/skills/yss-excel-mvc/SKILL.md +0 -66
  1924. package/template/.hermes/skills/yss-excel-mvc/agents/openai.yaml +0 -5
  1925. package/template/.hermes/skills/yss-excel-mvc/assets/ExcelDynamicData.java +0 -66
  1926. package/template/.hermes/skills/yss-excel-mvc/assets/RequestExcel.java +0 -33
  1927. package/template/.hermes/skills/yss-excel-mvc/assets/RequestFastExcelArgumentResolver.java +0 -272
  1928. package/template/.hermes/skills/yss-excel-mvc/assets/ResponseExcel.java +0 -46
  1929. package/template/.hermes/skills/yss-excel-mvc/assets/ResponseFastExcelReturnValueHandler.java +0 -154
  1930. package/template/.hermes/skills/yss-excel-mvc/references/README.md +0 -5
  1931. package/template/.hermes/skills/yss-excel-mvc/references/source-index.md +0 -74
  1932. package/template/.hermes/skills/yss-exception/SKILL.md +0 -57
  1933. package/template/.hermes/skills/yss-exception/agents/openai.yaml +0 -4
  1934. package/template/.hermes/skills/yss-exception/references/source-index.md +0 -35
  1935. package/template/.hermes/skills/yss-formily/SKILL.md +0 -272
  1936. package/template/.hermes/skills/yss-formily-schema-generator/SKILL.md +0 -189
  1937. package/template/.hermes/skills/yss-formily-schema-generator/agents/openai.yaml +0 -5
  1938. package/template/.hermes/skills/yss-formily-schema-generator/assets/java-sdk/ExampleUsage.java +0 -111
  1939. package/template/.hermes/skills/yss-formily-schema-generator/assets/java-sdk/YssFormilyDsl.java +0 -1219
  1940. package/template/.hermes/skills/yss-formily-schema-generator/references/workflow.md +0 -240
  1941. package/template/.hermes/skills/yss-frontend-scaffold-generator/SKILL.md +0 -76
  1942. package/template/.hermes/skills/yss-hook/SKILL.md +0 -200
  1943. package/template/.hermes/skills/yss-hook/agents/openai.yaml +0 -5
  1944. package/template/.hermes/skills/yss-hook/references/frontend-docs.md +0 -10
  1945. package/template/.hermes/skills/yss-microapp-commit/SKILL.md +0 -201
  1946. package/template/.hermes/skills/yss-microapp-commit/agents/openai.yaml +0 -5
  1947. package/template/.hermes/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
  1948. package/template/.hermes/skills/yss-mybatis/SKILL.md +0 -77
  1949. package/template/.hermes/skills/yss-mybatis/agents/openai.yaml +0 -5
  1950. package/template/.hermes/skills/yss-mybatis/assets/BaseRepository.java +0 -112
  1951. package/template/.hermes/skills/yss-mybatis/assets/EntityQueryAspect.java +0 -37
  1952. package/template/.hermes/skills/yss-mybatis/assets/MybatisBaseConfiguration.java +0 -18
  1953. package/template/.hermes/skills/yss-mybatis/assets/PageQueryEntityConfigration.java +0 -18
  1954. package/template/.hermes/skills/yss-mybatis/references/README.md +0 -57
  1955. package/template/.hermes/skills/yss-mybatis/references/source-index.md +0 -93
  1956. package/template/.hermes/skills/yss-openapi-draft-review/SKILL.md +0 -82
  1957. package/template/.hermes/skills/yss-openapi-governance/SKILL.md +0 -130
  1958. package/template/.hermes/skills/yss-openapi-governance/agents/openai.yaml +0 -4
  1959. package/template/.hermes/skills/yss-page-module-development/SKILL.md +0 -165
  1960. package/template/.hermes/skills/yss-page-module-development/agents/openai.yaml +0 -5
  1961. package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
  1962. package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
  1963. package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
  1964. package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  1965. package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
  1966. package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
  1967. package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
  1968. package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
  1969. package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
  1970. package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
  1971. package/template/.hermes/skills/yss-page-module-development/references/component-map.md +0 -34
  1972. package/template/.hermes/skills/yss-page-module-development/references/frontend-docs.md +0 -11
  1973. package/template/.hermes/skills/yss-page-module-development/references/hooks-map.md +0 -11
  1974. package/template/.hermes/skills/yss-page-module-development/references/utils-map.md +0 -14
  1975. package/template/.hermes/skills/yss-product-lifecycle/SKILL.md +0 -52
  1976. package/template/.hermes/skills/yss-product-lifecycle/agents/openai.yaml +0 -4
  1977. package/template/.hermes/skills/yss-product-lifecycle/references/artifact-dependencies.md +0 -36
  1978. package/template/.hermes/skills/yss-product-lifecycle/references/matt-yss-adapter.md +0 -122
  1979. package/template/.hermes/skills/yss-product-lifecycle/references/orchestration-contract.yaml +0 -865
  1980. package/template/.hermes/skills/yss-product-lifecycle/references/orchestration.md +0 -116
  1981. package/template/.hermes/skills/yss-product-lifecycle/references/state-model.md +0 -112
  1982. package/template/.hermes/skills/yss-prototype-stage/SKILL.md +0 -47
  1983. package/template/.hermes/skills/yss-prototype-stage/references/product-design-adapter.md +0 -54
  1984. package/template/.hermes/skills/yss-prototype-stage/scripts/prototype-contract.mjs +0 -207
  1985. package/template/.hermes/skills/yss-prototype-stage/tests/run-scenarios.mjs +0 -154
  1986. package/template/.hermes/skills/yss-repository/SKILL.md +0 -80
  1987. package/template/.hermes/skills/yss-repository/agents/openai.yaml +0 -5
  1988. package/template/.hermes/skills/yss-repository/references/infrastructure-layer-guide.md +0 -107
  1989. package/template/.hermes/skills/yss-research/SKILL.md +0 -73
  1990. package/template/.hermes/skills/yss-research/agents/openai.yaml +0 -3
  1991. package/template/.hermes/skills/yss-research/assets/evidence-template.yaml +0 -68
  1992. package/template/.hermes/skills/yss-research/assets/research-brief-template.md +0 -36
  1993. package/template/.hermes/skills/yss-research/references/evidence-contract.md +0 -42
  1994. package/template/.hermes/skills/yss-research/scripts/validate-research-package.mjs +0 -128
  1995. package/template/.hermes/skills/yss-research/tests/run-scenarios.mjs +0 -81
  1996. package/template/.hermes/skills/yss-resilience4j/SKILL.md +0 -46
  1997. package/template/.hermes/skills/yss-resilience4j/agents/openai.yaml +0 -4
  1998. package/template/.hermes/skills/yss-resilience4j/references/source-index.md +0 -33
  1999. package/template/.hermes/skills/yss-router/SKILL.md +0 -51
  2000. package/template/.hermes/skills/yss-router/agents/openai.yaml +0 -4
  2001. package/template/.hermes/skills/yss-router/references/boundaries.md +0 -50
  2002. package/template/.hermes/skills/yss-router/references/router-contract.yaml +0 -349
  2003. package/template/.hermes/skills/yss-router/references/slice-implementation-contract.md +0 -185
  2004. package/template/.hermes/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  2005. package/template/.hermes/skills/yss-security-algorithm/SKILL.md +0 -52
  2006. package/template/.hermes/skills/yss-security-algorithm/agents/openai.yaml +0 -4
  2007. package/template/.hermes/skills/yss-security-algorithm/references/source-index.md +0 -35
  2008. package/template/.hermes/skills/yss-source-index/SKILL.md +0 -63
  2009. package/template/.hermes/skills/yss-source-index/agents/openai.yaml +0 -4
  2010. package/template/.hermes/skills/yss-source-index/references/source-map-config.md +0 -30
  2011. package/template/.hermes/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  2012. package/template/.hermes/skills/yss-stage-decision/SKILL.md +0 -51
  2013. package/template/.hermes/skills/yss-stage-decision/references/domain-strategy-contract.md +0 -26
  2014. package/template/.hermes/skills/yss-stage-decision/references/domain-strategy.schema.json +0 -128
  2015. package/template/.hermes/skills/yss-stage-decision/references/stage-decision-package-contract.md +0 -19
  2016. package/template/.hermes/skills/yss-stage-decision/references/stage-decision-package.schema.json +0 -86
  2017. package/template/.hermes/skills/yss-stage-decision/references/validation-rules.md +0 -18
  2018. package/template/.hermes/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +0 -169
  2019. package/template/.hermes/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +0 -100
  2020. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +0 -15
  2021. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +0 -58
  2022. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +0 -44
  2023. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +0 -15
  2024. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +0 -49
  2025. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +0 -108
  2026. package/template/.hermes/skills/yss-stage-decision/tests/run-scenarios.mjs +0 -68
  2027. package/template/.hermes/skills/yss-tactical-design/SKILL.md +0 -35
  2028. package/template/.hermes/skills/yss-tactical-design/agents/openai.yaml +0 -4
  2029. package/template/.hermes/skills/yss-tactical-design/references/output-template.md +0 -28
  2030. package/template/.hermes/skills/yss-tactical-design/references/tactical-design-contract.md +0 -41
  2031. package/template/.hermes/skills/yss-tactical-design/references/tactical-design.schema.json +0 -31
  2032. package/template/.hermes/skills/yss-tactical-design/references/validation-rules.md +0 -13
  2033. package/template/.hermes/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +0 -213
  2034. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +0 -21
  2035. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +0 -21
  2036. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +0 -21
  2037. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +0 -21
  2038. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +0 -21
  2039. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +0 -80
  2040. package/template/.hermes/skills/yss-tactical-design/tests/run-scenarios.mjs +0 -47
  2041. package/template/.hermes/skills/yss-ui/SKILL.md +0 -170
  2042. package/template/.hermes/skills/yss-ui/agents/openai.yaml +0 -5
  2043. package/template/.hermes/skills/yss-ui/assets/demos/button/auth-basic.vue +0 -24
  2044. package/template/.hermes/skills/yss-ui/assets/demos/button/auth-dropdown.vue +0 -29
  2045. package/template/.hermes/skills/yss-ui/assets/demos/button/permission.vue +0 -10
  2046. package/template/.hermes/skills/yss-ui/assets/demos/button/size.vue +0 -12
  2047. package/template/.hermes/skills/yss-ui/assets/demos/button/states.vue +0 -12
  2048. package/template/.hermes/skills/yss-ui/assets/demos/card/basic/index.vue +0 -54
  2049. package/template/.hermes/skills/yss-ui/assets/demos/card/basic/style.less +0 -41
  2050. package/template/.hermes/skills/yss-ui/assets/demos/card/cover/index.vue +0 -25
  2051. package/template/.hermes/skills/yss-ui/assets/demos/card/flexible-layout/index.vue +0 -122
  2052. package/template/.hermes/skills/yss-ui/assets/demos/card/flexible-layout/style.less +0 -191
  2053. package/template/.hermes/skills/yss-ui/assets/demos/card/header-extra/index.vue +0 -260
  2054. package/template/.hermes/skills/yss-ui/assets/demos/card/header-extra/style.less +0 -124
  2055. package/template/.hermes/skills/yss-ui/assets/demos/card/layout-metrics/constants.ts +0 -61
  2056. package/template/.hermes/skills/yss-ui/assets/demos/card/layout-metrics/index.vue +0 -72
  2057. package/template/.hermes/skills/yss-ui/assets/demos/card/layout-metrics/metrics-cards.vue +0 -70
  2058. package/template/.hermes/skills/yss-ui/assets/demos/card/layout-metrics/style.less +0 -232
  2059. package/template/.hermes/skills/yss-ui/assets/demos/card/loading/index.vue +0 -19
  2060. package/template/.hermes/skills/yss-ui/assets/demos/card/meta/index.vue +0 -19
  2061. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/basic/constants.ts +0 -44
  2062. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/basic/hooks/useConditionBasic.ts +0 -18
  2063. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/basic/index.vue +0 -100
  2064. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/linked/constants.ts +0 -51
  2065. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/linked/hooks/useConditionLinked.ts +0 -29
  2066. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/linked/index.vue +0 -23
  2067. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/nesting-between/constants.ts +0 -35
  2068. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/nesting-between/hooks/useConditionNesting.ts +0 -25
  2069. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/nesting-between/index.vue +0 -24
  2070. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/remote/constants.ts +0 -7
  2071. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/remote/hooks/useConditionRemote.ts +0 -75
  2072. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/remote/index.vue +0 -23
  2073. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation/constants.ts +0 -42
  2074. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation/hooks/useConditionBasic.ts +0 -22
  2075. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation/index.vue +0 -138
  2076. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation-custom/constants.ts +0 -42
  2077. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation-custom/hooks/useConditionBasic.ts +0 -22
  2078. package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation-custom/index.vue +0 -134
  2079. package/template/.hermes/skills/yss-ui/assets/demos/cron/basic/index.vue +0 -54
  2080. package/template/.hermes/skills/yss-ui/assets/demos/cron/select/index.vue +0 -145
  2081. package/template/.hermes/skills/yss-ui/assets/demos/echarts/basic.vue +0 -30
  2082. package/template/.hermes/skills/yss-ui/assets/demos/echarts/calendar-heatmap.vue +0 -49
  2083. package/template/.hermes/skills/yss-ui/assets/demos/echarts/candlestick.vue +0 -30
  2084. package/template/.hermes/skills/yss-ui/assets/demos/echarts/dark.vue +0 -40
  2085. package/template/.hermes/skills/yss-ui/assets/demos/echarts/expose-methods.vue +0 -97
  2086. package/template/.hermes/skills/yss-ui/assets/demos/echarts/funnel.vue +0 -42
  2087. package/template/.hermes/skills/yss-ui/assets/demos/echarts/gauge.vue +0 -25
  2088. package/template/.hermes/skills/yss-ui/assets/demos/echarts/line.vue +0 -24
  2089. package/template/.hermes/skills/yss-ui/assets/demos/echarts/mix.vue +0 -33
  2090. package/template/.hermes/skills/yss-ui/assets/demos/echarts/pie.vue +0 -34
  2091. package/template/.hermes/skills/yss-ui/assets/demos/echarts/radar.vue +0 -38
  2092. package/template/.hermes/skills/yss-ui/assets/demos/echarts/ring-segment.vue +0 -77
  2093. package/template/.hermes/skills/yss-ui/assets/demos/echarts/scatter.vue +0 -23
  2094. package/template/.hermes/skills/yss-ui/assets/demos/echarts/stacked-area.vue +0 -55
  2095. package/template/.hermes/skills/yss-ui/assets/demos/echarts/stacked-bar.vue +0 -52
  2096. package/template/.hermes/skills/yss-ui/assets/demos/echarts/treemap.vue +0 -30
  2097. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/all-types/hooks/useAllTypes.ts +0 -259
  2098. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/all-types/index.vue +0 -33
  2099. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/async-remote/hooks/useAsyncRemote.ts +0 -201
  2100. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/async-remote/index.vue +0 -45
  2101. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/basic/index.vue +0 -104
  2102. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/big-data/index.vue +0 -82
  2103. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/custom-rule/index.vue +0 -114
  2104. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/direct-editable/index.vue +0 -94
  2105. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/drag/index.vue +0 -125
  2106. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/filter/index.vue +0 -107
  2107. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/linkage/index.vue +0 -181
  2108. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/pagination-action/index.vue +0 -131
  2109. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/required/index.vue +0 -95
  2110. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/row-edit/index.vue +0 -220
  2111. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/row-options/index.vue +0 -165
  2112. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/slot-linkage/index.vue +0 -184
  2113. package/template/.hermes/skills/yss-ui/assets/demos/edit-table/submit-view/index.vue +0 -107
  2114. package/template/.hermes/skills/yss-ui/assets/demos/file-import/basic.vue +0 -54
  2115. package/template/.hermes/skills/yss-ui/assets/demos/file-import/formily.vue +0 -42
  2116. package/template/.hermes/skills/yss-ui/assets/demos/file-import/multiple.vue +0 -33
  2117. package/template/.hermes/skills/yss-ui/assets/demos/file-import/result-slot.vue +0 -30
  2118. package/template/.hermes/skills/yss-ui/assets/demos/formily/actions.vue +0 -61
  2119. package/template/.hermes/skills/yss-ui/assets/demos/formily/align.vue +0 -56
  2120. package/template/.hermes/skills/yss-ui/assets/demos/formily/async-validate.vue +0 -69
  2121. package/template/.hermes/skills/yss-ui/assets/demos/formily/basic.vue +0 -317
  2122. package/template/.hermes/skills/yss-ui/assets/demos/formily/collapse.vue +0 -104
  2123. package/template/.hermes/skills/yss-ui/assets/demos/formily/custom-component.vue +0 -75
  2124. package/template/.hermes/skills/yss-ui/assets/demos/formily/disabled.vue +0 -71
  2125. package/template/.hermes/skills/yss-ui/assets/demos/formily/dynamic-array.vue +0 -74
  2126. package/template/.hermes/skills/yss-ui/assets/demos/formily/dynamic.vue +0 -59
  2127. package/template/.hermes/skills/yss-ui/assets/demos/formily/effects.vue +0 -117
  2128. package/template/.hermes/skills/yss-ui/assets/demos/formily/events-inline.vue +0 -82
  2129. package/template/.hermes/skills/yss-ui/assets/demos/formily/events-scope.vue +0 -101
  2130. package/template/.hermes/skills/yss-ui/assets/demos/formily/grid.vue +0 -71
  2131. package/template/.hermes/skills/yss-ui/assets/demos/formily/group.vue +0 -102
  2132. package/template/.hermes/skills/yss-ui/assets/demos/formily/helper-slot.vue +0 -50
  2133. package/template/.hermes/skills/yss-ui/assets/demos/formily/label-tip.vue +0 -42
  2134. package/template/.hermes/skills/yss-ui/assets/demos/formily/linkage-multi.vue +0 -127
  2135. package/template/.hermes/skills/yss-ui/assets/demos/formily/linkage.vue +0 -78
  2136. package/template/.hermes/skills/yss-ui/assets/demos/formily/modes.vue +0 -72
  2137. package/template/.hermes/skills/yss-ui/assets/demos/formily/remote-enum.vue +0 -88
  2138. package/template/.hermes/skills/yss-ui/assets/demos/formily/slot.vue +0 -54
  2139. package/template/.hermes/skills/yss-ui/assets/demos/formily/steps.vue +0 -135
  2140. package/template/.hermes/skills/yss-ui/assets/demos/formily/submit-failed.vue +0 -72
  2141. package/template/.hermes/skills/yss-ui/assets/demos/monaco/basic.vue +0 -40
  2142. package/template/.hermes/skills/yss-ui/assets/demos/monaco/diff-basic.vue +0 -143
  2143. package/template/.hermes/skills/yss-ui/assets/demos/monaco/fullscreen.vue +0 -84
  2144. package/template/.hermes/skills/yss-ui/assets/demos/monaco/history-log-viewer.vue +0 -586
  2145. package/template/.hermes/skills/yss-ui/assets/demos/monaco/log-viewer.vue +0 -260
  2146. package/template/.hermes/skills/yss-ui/assets/demos/monaco/mock/mockLogApi.ts +0 -199
  2147. package/template/.hermes/skills/yss-ui/assets/demos/monaco/monaco.vue +0 -66
  2148. package/template/.hermes/skills/yss-ui/assets/demos/monaco/readonly.vue +0 -20
  2149. package/template/.hermes/skills/yss-ui/assets/demos/monaco/resizable.vue +0 -22
  2150. package/template/.hermes/skills/yss-ui/assets/demos/monaco/sql-schema.vue +0 -20
  2151. package/template/.hermes/skills/yss-ui/assets/demos/monaco/switch-lang-theme.vue +0 -48
  2152. package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table/constant.ts +0 -18
  2153. package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table/index.vue +0 -60
  2154. package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table/style.less +0 -39
  2155. package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table-layout/hooks/useTreeTable.ts +0 -158
  2156. package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table-layout/index.vue +0 -88
  2157. package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table-layout/style.less +0 -73
  2158. package/template/.hermes/skills/yss-ui/assets/demos/table/action/index.vue +0 -83
  2159. package/template/.hermes/skills/yss-ui/assets/demos/table/action/style.less +0 -3
  2160. package/template/.hermes/skills/yss-ui/assets/demos/table/action-auth/index.vue +0 -41
  2161. package/template/.hermes/skills/yss-ui/assets/demos/table/action-slot/index.vue +0 -62
  2162. package/template/.hermes/skills/yss-ui/assets/demos/table/action-slot/style.less +0 -36
  2163. package/template/.hermes/skills/yss-ui/assets/demos/table/basic/hooks/useBasicTable.ts +0 -205
  2164. package/template/.hermes/skills/yss-ui/assets/demos/table/basic/index.vue +0 -89
  2165. package/template/.hermes/skills/yss-ui/assets/demos/table/basic/style.less +0 -28
  2166. package/template/.hermes/skills/yss-ui/assets/demos/table/column-custom-search/hooks/useColumnCustomSearch.ts +0 -236
  2167. package/template/.hermes/skills/yss-ui/assets/demos/table/column-custom-search/index.vue +0 -141
  2168. package/template/.hermes/skills/yss-ui/assets/demos/table/column-custom-search/style.less +0 -48
  2169. package/template/.hermes/skills/yss-ui/assets/demos/table/drag/index.vue +0 -42
  2170. package/template/.hermes/skills/yss-ui/assets/demos/table/expand/action-expand.vue +0 -142
  2171. package/template/.hermes/skills/yss-ui/assets/demos/table/expand/index.vue +0 -35
  2172. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-async/index.vue +0 -93
  2173. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-auto/index.vue +0 -99
  2174. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-custom/index.vue +0 -72
  2175. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-local/index.vue +0 -112
  2176. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-mixed/index.vue +0 -142
  2177. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-remote/constant.ts +0 -129
  2178. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-remote/hooks/useTableData.ts +0 -186
  2179. package/template/.hermes/skills/yss-ui/assets/demos/table/filter-remote/index.vue +0 -73
  2180. package/template/.hermes/skills/yss-ui/assets/demos/table/group-header/index.vue +0 -86
  2181. package/template/.hermes/skills/yss-ui/assets/demos/table/group-header/style.less +0 -3
  2182. package/template/.hermes/skills/yss-ui/assets/demos/table/header-height/index.vue +0 -29
  2183. package/template/.hermes/skills/yss-ui/assets/demos/table/header-height/style.less +0 -9
  2184. package/template/.hermes/skills/yss-ui/assets/demos/table/merge-cells/hooks/useMergeCells.ts +0 -183
  2185. package/template/.hermes/skills/yss-ui/assets/demos/table/merge-cells/index.vue +0 -17
  2186. package/template/.hermes/skills/yss-ui/assets/demos/table/merge-cells/style.less +0 -3
  2187. package/template/.hermes/skills/yss-ui/assets/demos/table/pagination-remote/hooks/usePaginationRemote.ts +0 -106
  2188. package/template/.hermes/skills/yss-ui/assets/demos/table/pagination-remote/index.vue +0 -24
  2189. package/template/.hermes/skills/yss-ui/assets/demos/table/renderers/index.vue +0 -64
  2190. package/template/.hermes/skills/yss-ui/assets/demos/table/selection-checkbox/index.vue +0 -88
  2191. package/template/.hermes/skills/yss-ui/assets/demos/table/selection-checkbox/style.less +0 -9
  2192. package/template/.hermes/skills/yss-ui/assets/demos/table/selection-radio/index.vue +0 -57
  2193. package/template/.hermes/skills/yss-ui/assets/demos/table/selection-radio/style.less +0 -9
  2194. package/template/.hermes/skills/yss-ui/assets/demos/table/transform/index.vue +0 -32
  2195. package/template/.hermes/skills/yss-ui/assets/demos/tree/basic-left/index.vue +0 -124
  2196. package/template/.hermes/skills/yss-ui/assets/demos/tree/datasource-group/index.vue +0 -31
  2197. package/template/.hermes/skills/yss-ui/assets/demos/tree/multi-checkable/index.vue +0 -86
  2198. package/template/.hermes/skills/yss-ui/assets/demos/tree/multiple-select/index.vue +0 -76
  2199. package/template/.hermes/skills/yss-ui/assets/demos/tree/resource-list/index.vue +0 -41
  2200. package/template/.hermes/skills/yss-ui/assets/demos/tree/search-toolbar/index.vue +0 -156
  2201. package/template/.hermes/skills/yss-ui/assets/demos/tree/slot-icon/index.vue +0 -36
  2202. package/template/.hermes/skills/yss-ui/assets/demos/tree/slot-switcher-icon/index.vue +0 -34
  2203. package/template/.hermes/skills/yss-ui/assets/docs/components/button.md +0 -79
  2204. package/template/.hermes/skills/yss-ui/assets/docs/components/card.md +0 -162
  2205. package/template/.hermes/skills/yss-ui/assets/docs/components/conditionBuilder.md +0 -114
  2206. package/template/.hermes/skills/yss-ui/assets/docs/components/cron.md +0 -77
  2207. package/template/.hermes/skills/yss-ui/assets/docs/components/echarts.md +0 -110
  2208. package/template/.hermes/skills/yss-ui/assets/docs/components/editTable.md +0 -212
  2209. package/template/.hermes/skills/yss-ui/assets/docs/components/fileImport.md +0 -85
  2210. package/template/.hermes/skills/yss-ui/assets/docs/components/formily.md +0 -370
  2211. package/template/.hermes/skills/yss-ui/assets/docs/components/monaco.md +0 -369
  2212. package/template/.hermes/skills/yss-ui/assets/docs/components/sheet.md +0 -169
  2213. package/template/.hermes/skills/yss-ui/assets/docs/components/split-pane.md +0 -45
  2214. package/template/.hermes/skills/yss-ui/assets/docs/components/table.md +0 -398
  2215. package/template/.hermes/skills/yss-ui/assets/docs/components/tree.md +0 -102
  2216. package/template/.hermes/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +0 -166
  2217. package/template/.hermes/skills/yss-ui/assets/docs/guide/index.md +0 -132
  2218. package/template/.hermes/skills/yss-ui/assets/docs/guide/installation.md +0 -97
  2219. package/template/.hermes/skills/yss-ui/assets/docs/guide/jsp.md +0 -227
  2220. package/template/.hermes/skills/yss-ui/assets/docs/guide/llms.md +0 -295
  2221. package/template/.hermes/skills/yss-ui/assets/docs/guide/monorepo-versioning.md +0 -149
  2222. package/template/.hermes/skills/yss-ui/assets/docs/guide/release-workflow.md +0 -251
  2223. package/template/.hermes/skills/yss-ui/assets/docs/hooks/use-table-height.md +0 -101
  2224. package/template/.hermes/skills/yss-ui/assets/docs/hooks/use-tree-height.md +0 -115
  2225. package/template/.hermes/skills/yss-ui/assets/docs/hooks/useFullscreen.md +0 -130
  2226. package/template/.hermes/skills/yss-ui/assets/docs/hooks/useLoading.md +0 -97
  2227. package/template/.hermes/skills/yss-ui/assets/docs/root/resources.md +0 -18
  2228. package/template/.hermes/skills/yss-ui/assets/keyword-index.json +0 -53
  2229. package/template/.hermes/skills/yss-ui/assets/keyword-index.md +0 -47
  2230. package/template/.hermes/skills/yss-ui/assets/reference-index.json +0 -55
  2231. package/template/.hermes/skills/yss-ui/assets/reference-index.md +0 -74
  2232. package/template/.hermes/skills/yss-ui/assets/scenario-index.json +0 -50
  2233. package/template/.hermes/skills/yss-ui/assets/scenario-index.md +0 -41
  2234. package/template/.hermes/skills/yss-ui/references/accessibility.md +0 -23
  2235. package/template/.hermes/skills/yss-ui/references/antdv-compatibility.md +0 -39
  2236. package/template/.hermes/skills/yss-ui/references/checklist.md +0 -110
  2237. package/template/.hermes/skills/yss-ui/references/component-routing.md +0 -31
  2238. package/template/.hermes/skills/yss-ui/references/frontend-docs.md +0 -11
  2239. package/template/.hermes/skills/yss-ui/references/migration-antdv-to-yss.md +0 -20
  2240. package/template/.hermes/skills/yss-ui/references/quick-recipes.md +0 -280
  2241. package/template/.hermes/skills/yss-ui/references/theme-locale-overlay.md +0 -25
  2242. package/template/.hermes/skills/yss-ui/references/verification.md +0 -20
  2243. package/template/.hermes/skills/yss-ui-business-page-generation/SKILL.md +0 -159
  2244. package/template/.hermes/skills/yss-ui-business-page-generation/references/component-map.md +0 -39
  2245. package/template/.hermes/skills/yss-ui-business-page-generation/references/hooks-map.md +0 -70
  2246. package/template/.hermes/skills/yss-ui-business-page-generation/references/utils-map.md +0 -51
  2247. package/template/.hermes/skills/yss-up-springboot3/SKILL.md +0 -40
  2248. package/template/.hermes/skills/yss-up-springboot3/agents/openai.yaml +0 -4
  2249. package/template/.hermes/skills/yss-use-table-height/SKILL.md +0 -130
  2250. package/template/.hermes/skills/yss-use-table-height/agents/openai.yaml +0 -5
  2251. package/template/.hermes/skills/yss-use-table-height/references/frontend-docs.md +0 -9
  2252. package/template/.hermes/skills/yss-use-tree-height/SKILL.md +0 -98
  2253. package/template/.hermes/skills/yss-use-tree-height/agents/openai.yaml +0 -5
  2254. package/template/.hermes/skills/yss-use-tree-height/references/frontend-docs.md +0 -9
  2255. package/template/.hermes/skills/yss-userinfo/SKILL.md +0 -49
  2256. package/template/.hermes/skills/yss-userinfo/agents/openai.yaml +0 -4
  2257. package/template/.hermes/skills/yss-userinfo/references/source-index.md +0 -34
  2258. package/template/.hermes/skills/yss-validation/SKILL.md +0 -56
  2259. package/template/.hermes/skills/yss-validation/agents/openai.yaml +0 -4
  2260. package/template/.hermes/skills/yss-validation/references/source-index.md +0 -33
  2261. package/template/.hermes/skills/yss-web-controller/SKILL.md +0 -85
  2262. package/template/.hermes/skills/yss-web-controller/agents/openai.yaml +0 -5
  2263. package/template/.hermes/skills/yss-web-controller/assets/templates/Controller.java.template +0 -72
  2264. package/template/.hermes/skills/yss-web-controller/assets/templates/WebConvertor.java.template +0 -30
  2265. package/template/.hermes/skills/yss-web-controller/assets/templates/web/dto/CreateRequest.java.template +0 -19
  2266. package/template/.hermes/skills/yss-web-controller/assets/templates/web/dto/PageRequest.java.template +0 -21
  2267. package/template/.hermes/skills/yss-web-controller/assets/templates/web/dto/Response.java.template +0 -18
  2268. package/template/.hermes/skills/yss-web-controller/assets/templates/web/dto/UpdateRequest.java.template +0 -19
  2269. package/template/.hermes/skills/yss-web-controller/references/web-adapter-layer-guide.md +0 -86
  2270. package/template/.hermes/skills/yss-web-controller/references/web-generation-contract.schema.json +0 -97
  2271. package/template/.hermes/skills/yss-web-controller/scripts/generate_controller.mjs +0 -226
  2272. package/template/.hermes/skills/yss-web-controller/scripts/generate_controller.test.mjs +0 -156
  2273. package/template/.hermes/skills/ytable-usage/SKILL.md +0 -251
  2274. package/template/.hermes/skills/ytree-usage/SKILL.md +0 -132
  2275. package/template/.kiro/settings/mcp.json +0 -8
  2276. package/template/.pi/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
  2277. package/template/.pi/skills/ask-matt/SKILL.md +0 -95
  2278. package/template/.pi/skills/ask-matt/agents/openai.yaml +0 -5
  2279. package/template/.pi/skills/dispatching-parallel-agents/SKILL.md +0 -185
  2280. package/template/.pi/skills/loop-me/SKILL.md +0 -32
  2281. package/template/.pi/skills/loop-me/agents/openai.yaml +0 -5
  2282. package/template/.pi/skills/migrate-to-shoehorn/SKILL.md +0 -118
  2283. package/template/.pi/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
  2284. package/template/.pi/skills/prototype-page-acceptance/SKILL.md +0 -62
  2285. package/template/.pi/skills/scaffold-exercises/SKILL.md +0 -106
  2286. package/template/.pi/skills/scaffold-exercises/agents/openai.yaml +0 -3
  2287. package/template/.pi/skills/setup-pre-commit/SKILL.md +0 -91
  2288. package/template/.pi/skills/setup-pre-commit/agents/openai.yaml +0 -3
  2289. package/template/.pi/skills/setup-ts-deep-modules/SKILL.md +0 -102
  2290. package/template/.pi/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
  2291. package/template/.pi/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
  2292. package/template/.pi/skills/teach/GLOSSARY-FORMAT.md +0 -35
  2293. package/template/.pi/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
  2294. package/template/.pi/skills/teach/MISSION-FORMAT.md +0 -31
  2295. package/template/.pi/skills/teach/RESOURCES-FORMAT.md +0 -32
  2296. package/template/.pi/skills/teach/SKILL.md +0 -140
  2297. package/template/.pi/skills/teach/agents/openai.yaml +0 -5
  2298. package/template/.pi/skills/writing-beats/SKILL.md +0 -67
  2299. package/template/.pi/skills/writing-beats/agents/openai.yaml +0 -5
  2300. package/template/.pi/skills/writing-fragments/SKILL.md +0 -79
  2301. package/template/.pi/skills/writing-fragments/agents/openai.yaml +0 -5
  2302. package/template/.pi/skills/writing-shape/SKILL.md +0 -79
  2303. package/template/.pi/skills/writing-shape/agents/openai.yaml +0 -5
  2304. package/template/.pi/skills/yss-microapp-commit/SKILL.md +0 -201
  2305. package/template/.pi/skills/yss-microapp-commit/agents/openai.yaml +0 -5
  2306. package/template/.pi/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
  2307. package/template/.pi/skills/yss-page-module-development/SKILL.md +0 -165
  2308. package/template/.pi/skills/yss-page-module-development/agents/openai.yaml +0 -5
  2309. package/template/.pi/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
  2310. package/template/.pi/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
  2311. package/template/.pi/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
  2312. package/template/.pi/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  2313. package/template/.pi/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
  2314. package/template/.pi/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
  2315. package/template/.pi/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
  2316. package/template/.pi/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
  2317. package/template/.pi/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
  2318. package/template/.pi/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
  2319. package/template/.pi/skills/yss-page-module-development/references/component-map.md +0 -34
  2320. package/template/.pi/skills/yss-page-module-development/references/frontend-docs.md +0 -11
  2321. package/template/.pi/skills/yss-page-module-development/references/hooks-map.md +0 -11
  2322. package/template/.pi/skills/yss-page-module-development/references/utils-map.md +0 -14
  2323. package/template/.pi/skills/yss-router/SKILL.md +0 -51
  2324. package/template/.pi/skills/yss-router/agents/openai.yaml +0 -4
  2325. package/template/.pi/skills/yss-router/references/boundaries.md +0 -50
  2326. package/template/.pi/skills/yss-router/references/router-contract.yaml +0 -349
  2327. package/template/.pi/skills/yss-router/references/slice-implementation-contract.md +0 -185
  2328. package/template/.pi/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  2329. package/template/.pi/skills/yss-source-index/SKILL.md +0 -63
  2330. package/template/.pi/skills/yss-source-index/agents/openai.yaml +0 -4
  2331. package/template/.pi/skills/yss-source-index/references/source-map-config.md +0 -30
  2332. package/template/.pi/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  2333. package/template/.qoder/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
  2334. package/template/.qoder/skills/ask-matt/SKILL.md +0 -95
  2335. package/template/.qoder/skills/ask-matt/agents/openai.yaml +0 -5
  2336. package/template/.qoder/skills/dispatching-parallel-agents/SKILL.md +0 -185
  2337. package/template/.qoder/skills/loop-me/SKILL.md +0 -32
  2338. package/template/.qoder/skills/loop-me/agents/openai.yaml +0 -5
  2339. package/template/.qoder/skills/migrate-to-shoehorn/SKILL.md +0 -118
  2340. package/template/.qoder/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
  2341. package/template/.qoder/skills/prototype-page-acceptance/SKILL.md +0 -62
  2342. package/template/.qoder/skills/scaffold-exercises/SKILL.md +0 -106
  2343. package/template/.qoder/skills/scaffold-exercises/agents/openai.yaml +0 -3
  2344. package/template/.qoder/skills/setup-pre-commit/SKILL.md +0 -91
  2345. package/template/.qoder/skills/setup-pre-commit/agents/openai.yaml +0 -3
  2346. package/template/.qoder/skills/setup-ts-deep-modules/SKILL.md +0 -102
  2347. package/template/.qoder/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
  2348. package/template/.qoder/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
  2349. package/template/.qoder/skills/teach/GLOSSARY-FORMAT.md +0 -35
  2350. package/template/.qoder/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
  2351. package/template/.qoder/skills/teach/MISSION-FORMAT.md +0 -31
  2352. package/template/.qoder/skills/teach/RESOURCES-FORMAT.md +0 -32
  2353. package/template/.qoder/skills/teach/SKILL.md +0 -140
  2354. package/template/.qoder/skills/teach/agents/openai.yaml +0 -5
  2355. package/template/.qoder/skills/writing-beats/SKILL.md +0 -67
  2356. package/template/.qoder/skills/writing-beats/agents/openai.yaml +0 -5
  2357. package/template/.qoder/skills/writing-fragments/SKILL.md +0 -79
  2358. package/template/.qoder/skills/writing-fragments/agents/openai.yaml +0 -5
  2359. package/template/.qoder/skills/writing-shape/SKILL.md +0 -79
  2360. package/template/.qoder/skills/writing-shape/agents/openai.yaml +0 -5
  2361. package/template/.qoder/skills/yss-microapp-commit/SKILL.md +0 -201
  2362. package/template/.qoder/skills/yss-microapp-commit/agents/openai.yaml +0 -5
  2363. package/template/.qoder/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
  2364. package/template/.qoder/skills/yss-page-module-development/SKILL.md +0 -165
  2365. package/template/.qoder/skills/yss-page-module-development/agents/openai.yaml +0 -5
  2366. package/template/.qoder/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
  2367. package/template/.qoder/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
  2368. package/template/.qoder/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
  2369. package/template/.qoder/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  2370. package/template/.qoder/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
  2371. package/template/.qoder/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
  2372. package/template/.qoder/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
  2373. package/template/.qoder/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
  2374. package/template/.qoder/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
  2375. package/template/.qoder/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
  2376. package/template/.qoder/skills/yss-page-module-development/references/component-map.md +0 -34
  2377. package/template/.qoder/skills/yss-page-module-development/references/frontend-docs.md +0 -11
  2378. package/template/.qoder/skills/yss-page-module-development/references/hooks-map.md +0 -11
  2379. package/template/.qoder/skills/yss-page-module-development/references/utils-map.md +0 -14
  2380. package/template/.qoder/skills/yss-router/SKILL.md +0 -51
  2381. package/template/.qoder/skills/yss-router/agents/openai.yaml +0 -4
  2382. package/template/.qoder/skills/yss-router/references/boundaries.md +0 -50
  2383. package/template/.qoder/skills/yss-router/references/router-contract.yaml +0 -349
  2384. package/template/.qoder/skills/yss-router/references/slice-implementation-contract.md +0 -185
  2385. package/template/.qoder/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  2386. package/template/.qoder/skills/yss-source-index/SKILL.md +0 -63
  2387. package/template/.qoder/skills/yss-source-index/agents/openai.yaml +0 -4
  2388. package/template/.qoder/skills/yss-source-index/references/source-map-config.md +0 -30
  2389. package/template/.qoder/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  2390. package/template/.trae/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
  2391. package/template/.trae/skills/ask-matt/SKILL.md +0 -95
  2392. package/template/.trae/skills/ask-matt/agents/openai.yaml +0 -5
  2393. package/template/.trae/skills/dispatching-parallel-agents/SKILL.md +0 -185
  2394. package/template/.trae/skills/loop-me/SKILL.md +0 -32
  2395. package/template/.trae/skills/loop-me/agents/openai.yaml +0 -5
  2396. package/template/.trae/skills/migrate-to-shoehorn/SKILL.md +0 -118
  2397. package/template/.trae/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
  2398. package/template/.trae/skills/prototype-page-acceptance/SKILL.md +0 -62
  2399. package/template/.trae/skills/scaffold-exercises/SKILL.md +0 -106
  2400. package/template/.trae/skills/scaffold-exercises/agents/openai.yaml +0 -3
  2401. package/template/.trae/skills/setup-pre-commit/SKILL.md +0 -91
  2402. package/template/.trae/skills/setup-pre-commit/agents/openai.yaml +0 -3
  2403. package/template/.trae/skills/setup-ts-deep-modules/SKILL.md +0 -102
  2404. package/template/.trae/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
  2405. package/template/.trae/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
  2406. package/template/.trae/skills/teach/GLOSSARY-FORMAT.md +0 -35
  2407. package/template/.trae/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
  2408. package/template/.trae/skills/teach/MISSION-FORMAT.md +0 -31
  2409. package/template/.trae/skills/teach/RESOURCES-FORMAT.md +0 -32
  2410. package/template/.trae/skills/teach/SKILL.md +0 -140
  2411. package/template/.trae/skills/teach/agents/openai.yaml +0 -5
  2412. package/template/.trae/skills/writing-beats/SKILL.md +0 -67
  2413. package/template/.trae/skills/writing-beats/agents/openai.yaml +0 -5
  2414. package/template/.trae/skills/writing-fragments/SKILL.md +0 -79
  2415. package/template/.trae/skills/writing-fragments/agents/openai.yaml +0 -5
  2416. package/template/.trae/skills/writing-shape/SKILL.md +0 -79
  2417. package/template/.trae/skills/writing-shape/agents/openai.yaml +0 -5
  2418. package/template/.trae/skills/yss-microapp-commit/SKILL.md +0 -201
  2419. package/template/.trae/skills/yss-microapp-commit/agents/openai.yaml +0 -5
  2420. package/template/.trae/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
  2421. package/template/.trae/skills/yss-page-module-development/SKILL.md +0 -165
  2422. package/template/.trae/skills/yss-page-module-development/agents/openai.yaml +0 -5
  2423. package/template/.trae/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
  2424. package/template/.trae/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
  2425. package/template/.trae/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
  2426. package/template/.trae/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
  2427. package/template/.trae/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
  2428. package/template/.trae/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
  2429. package/template/.trae/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
  2430. package/template/.trae/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
  2431. package/template/.trae/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
  2432. package/template/.trae/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
  2433. package/template/.trae/skills/yss-page-module-development/references/component-map.md +0 -34
  2434. package/template/.trae/skills/yss-page-module-development/references/frontend-docs.md +0 -11
  2435. package/template/.trae/skills/yss-page-module-development/references/hooks-map.md +0 -11
  2436. package/template/.trae/skills/yss-page-module-development/references/utils-map.md +0 -14
  2437. package/template/.trae/skills/yss-router/SKILL.md +0 -51
  2438. package/template/.trae/skills/yss-router/agents/openai.yaml +0 -4
  2439. package/template/.trae/skills/yss-router/references/boundaries.md +0 -50
  2440. package/template/.trae/skills/yss-router/references/router-contract.yaml +0 -349
  2441. package/template/.trae/skills/yss-router/references/slice-implementation-contract.md +0 -185
  2442. package/template/.trae/skills/yss-router/references/yss-skill-execution-result.md +0 -67
  2443. package/template/.trae/skills/yss-source-index/SKILL.md +0 -63
  2444. package/template/.trae/skills/yss-source-index/agents/openai.yaml +0 -4
  2445. package/template/.trae/skills/yss-source-index/references/source-location.md +0 -18
  2446. package/template/.trae/skills/yss-source-index/references/source-map-config.md +0 -30
  2447. package/template/.trae/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
  2448. package/template/.trae/skills/yss-source-index/scripts/refresh-yss-skill-index.test.mjs +0 -15
  2449. package/template/scripts/verify-yss-router-scenarios +0 -3
  2450. /package/template/.agents/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-location.md +0 -0
  2451. /package/template/.agents/skills/{yss-source-index → yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
  2452. /package/template/.claude/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-location.md +0 -0
  2453. /package/template/.claude/skills/{yss-source-index → yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
  2454. /package/template/.codex/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-location.md +0 -0
  2455. /package/template/.codex/skills/{yss-source-index → yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
  2456. /package/template/.cursor/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-location.md +0 -0
  2457. /package/template/.cursor/skills/{yss-source-index → yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
  2458. /package/template/{.hermes/skills/yss-source-index → .pi/skills/yss-skill-source-index-refresh}/references/source-location.md +0 -0
  2459. /package/template/{.hermes/skills/yss-source-index → .pi/skills/yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
  2460. /package/template/{.pi/skills/yss-source-index → .qoder/skills/yss-skill-source-index-refresh}/references/source-location.md +0 -0
  2461. /package/template/{.pi/skills/yss-source-index → .qoder/skills/yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
  2462. /package/template/{.qoder/skills/yss-source-index → .trae/skills/yss-skill-source-index-refresh}/references/source-location.md +0 -0
  2463. /package/template/{.qoder/skills/yss-source-index → .trae/skills/yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
@@ -1,1423 +0,0 @@
1
- // Geometry helpers shared by all typed renderers. Every function here is
2
- // pure; renderers own their layout tables and pass measured rects
3
- // ({x, y, width, height, cx, cy}) in.
4
-
5
- import { recordDiagnostic } from './diagnostics.mjs';
6
-
7
- // In degraded mode (no ajv) a type-wrong top-level field reaches the renderer.
8
- // Coerce non-arrays to [] so the module-level Maps build without throwing and
9
- // the friendly validator checks (which run later) report the real problem.
10
- export function asArray(value) {
11
- return Array.isArray(value) ? value : [];
12
- }
13
-
14
- // A computed coordinate must be a finite number; NaN/undefined would silently
15
- // write `<rect x="NaN">` into the output. Used by the validators as a backstop.
16
- export function isFinitePoint(...coords) {
17
- return coords.every((c) => Number.isFinite(c));
18
- }
19
-
20
- export function rectsOverlap(a, b, gap = 0) {
21
- // Non-finite geometry means "unknown", not "overlapping". Every comparison
22
- // below is false for NaN, so without this guard the negation reports a
23
- // collision for every pair. Callers surface non-finite pos/size through their
24
- // own diagnostic; reporting it again as an overlap buries that message under
25
- // one bogus separation hint per pair.
26
- if (!isFinitePoint(a.x, a.y, a.width, a.height, b.x, b.y, b.width, b.height)) {
27
- return false;
28
- }
29
- return !(
30
- a.x + a.width + gap <= b.x ||
31
- b.x + b.width + gap <= a.x ||
32
- a.y + a.height + gap <= b.y ||
33
- b.y + b.height + gap <= a.y
34
- );
35
- }
36
-
37
- export function segmentIntersectsRect(segment, rect, gap = 0) {
38
- const box = {
39
- x1: rect.x - gap,
40
- y1: rect.y - gap,
41
- x2: rect.x + rect.width + gap,
42
- y2: rect.y + rect.height + gap
43
- };
44
- const [a, b] = [segment.start, segment.end];
45
- if (pointInBox(a, box) || pointInBox(b, box)) return true;
46
- return (
47
- segmentsIntersect(a, b, [box.x1, box.y1], [box.x2, box.y1]) ||
48
- segmentsIntersect(a, b, [box.x2, box.y1], [box.x2, box.y2]) ||
49
- segmentsIntersect(a, b, [box.x2, box.y2], [box.x1, box.y2]) ||
50
- segmentsIntersect(a, b, [box.x1, box.y2], [box.x1, box.y1])
51
- );
52
- }
53
-
54
- export function segmentRectClearance(segment, rect) {
55
- if (!segment || !rect) return null;
56
- const { start, end } = segment;
57
- if (!Array.isArray(start) || !Array.isArray(end) || start.length !== 2 || end.length !== 2) return null;
58
- if (!isFinitePoint(...start, ...end, rect.x, rect.y, rect.width, rect.height)) return null;
59
- if (rect.width < 0 || rect.height < 0) return null;
60
- if (segmentIntersectsRect(segment, rect)) return 0;
61
-
62
- const corners = [
63
- [rect.x, rect.y],
64
- [rect.x + rect.width, rect.y],
65
- [rect.x + rect.width, rect.y + rect.height],
66
- [rect.x, rect.y + rect.height],
67
- ];
68
- return Math.min(
69
- pointRectDistance(start, rect),
70
- pointRectDistance(end, rect),
71
- ...corners.map((corner) => pointSegmentDistance(corner, start, end)),
72
- );
73
- }
74
-
75
- export function segmentRectIntersectionLength(segment, rect) {
76
- if (!segment || !rect) return null;
77
- const { start, end } = segment;
78
- if (!Array.isArray(start) || !Array.isArray(end) || start.length !== 2 || end.length !== 2) return null;
79
- if (!isFinitePoint(...start, ...end, rect.x, rect.y, rect.width, rect.height)) return null;
80
- if (rect.width < 0 || rect.height < 0) return null;
81
-
82
- const dx = end[0] - start[0];
83
- const dy = end[1] - start[1];
84
- const length = Math.hypot(dx, dy);
85
- if (length <= 0.0000001) return 0;
86
- const bounds = [
87
- [-dx, start[0] - rect.x],
88
- [dx, rect.x + rect.width - start[0]],
89
- [-dy, start[1] - rect.y],
90
- [dy, rect.y + rect.height - start[1]],
91
- ];
92
- let enter = 0;
93
- let leave = 1;
94
- for (const [direction, distance] of bounds) {
95
- if (Math.abs(direction) <= 0.0000001) {
96
- if (distance < -0.0000001) return 0;
97
- continue;
98
- }
99
- const ratio = distance / direction;
100
- if (direction < 0) enter = Math.max(enter, ratio);
101
- else leave = Math.min(leave, ratio);
102
- if (enter > leave + 0.0000001) return 0;
103
- }
104
- return length * Math.max(0, leave - enter);
105
- }
106
-
107
- export function collectLabelRouteClearance({ labels, routedRelations, threshold }) {
108
- if (!Number.isFinite(threshold) || threshold < 0) return [];
109
- const routeCandidates = asArray(routedRelations).map((entry, fallbackIndex) => {
110
- const relation = entry?.relation || entry;
111
- const points = normalizeRoutePoints(entry?.points || relation?.routePoints);
112
- if (!relation || points.length < 2) return null;
113
- return {
114
- relation,
115
- relationIndex: Number.isInteger(entry?.relationIndex) ? entry.relationIndex : fallbackIndex,
116
- points,
117
- };
118
- }).filter(Boolean);
119
- const seenRoutes = new Set();
120
- const routes = routeCandidates.filter((route) => {
121
- const identity = relationshipIdentity(route.relation, route.relationIndex);
122
- if (seenRoutes.has(identity)) return false;
123
- seenRoutes.add(identity);
124
- return true;
125
- });
126
- const hits = [];
127
- const seenLabels = new Set();
128
-
129
- for (const [fallbackIndex, label] of asArray(labels).entries()) {
130
- const rect = label?.rect || label;
131
- if (!rect || !isFinitePoint(rect.x, rect.y, rect.width, rect.height) || rect.width < 0 || rect.height < 0) continue;
132
- const relationIndex = Number.isInteger(label?.relationIndex) ? label.relationIndex : fallbackIndex;
133
- const labelIdentity = relationshipIdentity(label?.relation, relationIndex);
134
- if (seenLabels.has(labelIdentity)) continue;
135
- seenLabels.add(labelIdentity);
136
- for (const route of routes) {
137
- if (relationIndex === route.relationIndex || sameRelationship(label?.relation, route.relation)) continue;
138
- let nearest = null;
139
- for (let segmentIndex = 0; segmentIndex < route.points.length - 1; segmentIndex += 1) {
140
- const start = route.points[segmentIndex];
141
- const end = route.points[segmentIndex + 1];
142
- const clearance = segmentRectClearance({ start, end }, rect);
143
- if (clearance == null) continue;
144
- if (!nearest || clearance < nearest.clearance) {
145
- nearest = {
146
- clearance,
147
- intersectionLength: segmentRectIntersectionLength({ start, end }, rect),
148
- segmentIndex,
149
- start,
150
- end,
151
- };
152
- }
153
- }
154
- if (!nearest || nearest.clearance + 0.0001 >= threshold) continue;
155
- hits.push({
156
- label,
157
- labelRelation: label?.relation,
158
- labelRelationIndex: relationIndex,
159
- otherRelation: route.relation,
160
- otherRelationIndex: route.relationIndex,
161
- rect,
162
- ...nearest,
163
- threshold,
164
- });
165
- }
166
- }
167
- return hits;
168
- }
169
-
170
- function relationshipIdentity(relation, relationIndex) {
171
- if (relation?.key !== undefined) return `key:${relation.key}`;
172
- if (relation?.id) return `id:${relation.from || ''}\u0000${relation.to || ''}\u0000${relation.id}`;
173
- return `index:${relationIndex}`;
174
- }
175
-
176
- function sameRelationship(left, right) {
177
- if (!left || !right) return false;
178
- if (left === right) return true;
179
- if (left.key !== undefined && right.key !== undefined) return left.key === right.key;
180
- return Boolean(left.id && right.id && left.id === right.id && left.from === right.from && left.to === right.to);
181
- }
182
-
183
- function relationshipSubject(diagramType, relationCollection, relationIndex, relation) {
184
- return {
185
- diagramType,
186
- collection: relationCollection,
187
- index: relationIndex,
188
- ...(relation?.id ? { id: relation.id } : {}),
189
- ...(relation?.from ? { from: relation.from } : {}),
190
- ...(relation?.to ? { to: relation.to } : {}),
191
- };
192
- }
193
-
194
- const ENDPOINT_SIDE_RULES = {
195
- left: {
196
- axis: 'horizontal',
197
- sourceSign: -1,
198
- targetSign: 1,
199
- sourceDirection: 'leftward',
200
- targetDirection: 'rightward from the left',
201
- },
202
- right: {
203
- axis: 'horizontal',
204
- sourceSign: 1,
205
- targetSign: -1,
206
- sourceDirection: 'rightward',
207
- targetDirection: 'leftward from the right',
208
- },
209
- top: {
210
- axis: 'vertical',
211
- sourceSign: -1,
212
- targetSign: 1,
213
- sourceDirection: 'upward',
214
- targetDirection: 'downward from above',
215
- },
216
- bottom: {
217
- axis: 'vertical',
218
- sourceSign: 1,
219
- targetSign: -1,
220
- sourceDirection: 'downward',
221
- targetDirection: 'upward from below',
222
- },
223
- };
224
-
225
- function endpointSideIssue(points, endpoint, side) {
226
- const rule = ENDPOINT_SIDE_RULES[side];
227
- if (!rule) return null;
228
- const normalized = normalizeRoutePoints(points);
229
- if (normalized.length < 2) return null;
230
- const segmentIndex = endpoint === 'source' ? 0 : normalized.length - 2;
231
- const start = normalized[segmentIndex];
232
- const end = normalized[segmentIndex + 1];
233
- const dx = end[0] - start[0];
234
- const dy = end[1] - start[1];
235
- const along = rule.axis === 'horizontal' ? dx : dy;
236
- const across = rule.axis === 'horizontal' ? dy : dx;
237
- const expectedSign = endpoint === 'source' ? rule.sourceSign : rule.targetSign;
238
- if (Math.abs(across) <= 0.0001 && along * expectedSign > 0.0001) return null;
239
- return {
240
- endpoint,
241
- side,
242
- segmentIndex,
243
- start,
244
- end,
245
- expectedAxis: rule.axis,
246
- expectedDirection: endpoint === 'source' ? rule.sourceDirection : rule.targetDirection,
247
- };
248
- }
249
-
250
- // A side is a direction contract, not just a point on a box border. This pure
251
- // predicate lets automatic routers prefer a dogleg whose first and final
252
- // segments leave/enter the chosen sides perpendicularly.
253
- export function routeHonorsEndpointSides(points, fromSide, toSide) {
254
- return !endpointSideIssue(points, 'source', fromSide)
255
- && !endpointSideIssue(points, 'target', toSide);
256
- }
257
-
258
- // Explicit fromSide/toSide are authored geometry, so a tangent or backwards
259
- // endpoint segment changes their meaning. Fail this universally instead of
260
- // leaving a malformed arrow for visual review to discover. Named routes and
261
- // authored via points already carry their own geometry semantics: when they
262
- // omit endpoint sides, do not invent a relative-position side and then reject
263
- // the route for disagreeing with that invention. Pure automatic routes may
264
- // still be checked against renderer-inferred sides.
265
- export function cleanEndpointSideProblems({
266
- relations,
267
- endpointIds,
268
- pathFor,
269
- diagramType,
270
- relationCollection,
271
- fromSideFor,
272
- toSideFor,
273
- shouldCheckRelation = () => true,
274
- routeHint = 'align the first/final via segment with fromSide/toSide, change the side, or remove explicit routing so auto can choose a perpendicular approach',
275
- }) {
276
- const problems = [];
277
- for (const [relationIndex, relation] of asArray(relations).entries()) {
278
- if (!relation || !endpointIds?.has(relation.from) || !endpointIds?.has(relation.to)) continue;
279
- if (!shouldCheckRelation(relation, relationIndex)) continue;
280
- const points = pathFor(relation)?.points;
281
- if (!Array.isArray(points) || points.length < 2) continue;
282
- const authoredFromSide = relation.fromSide && relation.fromSide !== 'auto' ? relation.fromSide : null;
283
- const authoredToSide = relation.toSide && relation.toSide !== 'auto' ? relation.toSide : null;
284
- const hasAuthoredRouteGeometry = Boolean(
285
- (relation.route && relation.route !== 'auto') || Array.isArray(relation.via),
286
- );
287
- const inferredFromSide = !hasAuthoredRouteGeometry && typeof fromSideFor === 'function'
288
- ? fromSideFor(relation)
289
- : null;
290
- const inferredToSide = !hasAuthoredRouteGeometry && typeof toSideFor === 'function'
291
- ? toSideFor(relation)
292
- : null;
293
- const fromSide = authoredFromSide ?? inferredFromSide;
294
- const toSide = authoredToSide ?? inferredToSide;
295
- const checks = [
296
- fromSide
297
- ? { ...endpointSideIssue(points, 'source', fromSide), sideOrigin: authoredFromSide ? 'authored' : 'inferred' }
298
- : null,
299
- toSide
300
- ? { ...endpointSideIssue(points, 'target', toSide), sideOrigin: authoredToSide ? 'authored' : 'inferred' }
301
- : null,
302
- ].filter((issue) => issue?.endpoint);
303
- for (const issue of checks) {
304
- const relationId = relation.id ? ` id "${relation.id}"` : '';
305
- const authoredField = issue.endpoint === 'source' ? 'fromSide' : 'toSide';
306
- const sideField = issue.sideOrigin === 'inferred' ? `inferred ${authoredField}` : authoredField;
307
- const segmentRole = issue.endpoint === 'source' ? 'first' : 'final';
308
- const from = issue.start.map((value) => Math.round(value * 10) / 10).join(', ');
309
- const to = issue.end.map((value) => Math.round(value * 10) / 10).join(', ');
310
- const message = `[clean-flow/endpoint-side-direction] ${diagramType} ${relationCollection}[${relationIndex}]${relationId} "${relation.from}" -> "${relation.to}" ${segmentRole} segment ${issue.segmentIndex} [${from}] -> [${to}] does not honor ${sideField} "${issue.side}" — it must run ${issue.expectedAxis} ${issue.expectedDirection}; ${routeHint}.`;
311
- recordDiagnostic({
312
- code: 'clean-flow/endpoint-side-direction',
313
- severity: 'error',
314
- message,
315
- subject: relationshipSubject(diagramType, relationCollection, relationIndex, relation),
316
- evidence: {
317
- endpoint: issue.endpoint,
318
- authoredField,
319
- sideOrigin: issue.sideOrigin,
320
- side: issue.side,
321
- segmentIndex: issue.segmentIndex,
322
- from: issue.start,
323
- to: issue.end,
324
- expectedAxis: issue.expectedAxis,
325
- expectedDirection: issue.expectedDirection,
326
- },
327
- supportedFixes: [routeHint],
328
- });
329
- problems.push(message);
330
- }
331
- }
332
- return problems;
333
- }
334
-
335
- // One mechanical quality gate for every renderer-owned relationship path.
336
- // A renderer supplies its semantic obstacle set; source/target boxes are
337
- // always exempt because paths are expected to terminate on their boundaries.
338
- // Containers, lifelines, and other intentionally pass-through geometry should
339
- // simply not be supplied as obstacles.
340
- export function cleanFlowProblems({
341
- relations,
342
- obstacles,
343
- pathFor,
344
- diagramType,
345
- relationCollection,
346
- obstacleKind,
347
- clearance = 2,
348
- routeHint = 'adjust fromSide/toSide, set route/via or channel coordinates, or move the obstacle'
349
- }) {
350
- // A relationship hidden behind an unrelated opaque node changes the
351
- // diagram's meaning, so this is a correctness invariant rather than an
352
- // opt-in composition preference. Keep it active even when the author omits
353
- // quality_profile; standard/showcase still control stricter visual budgets.
354
- const problems = [];
355
- const obstacleList = [...obstacles];
356
- const obstacleIds = new Set(obstacleList.map((obstacle) => obstacle?.id));
357
- for (const [relationIndex, relation] of asArray(relations).entries()) {
358
- if (!relation || typeof relation.from !== 'string' || typeof relation.to !== 'string') continue;
359
- if (!obstacleIds.has(relation.from) || !obstacleIds.has(relation.to)) continue;
360
- const points = pathFor(relation)?.points;
361
- if (!Array.isArray(points) || points.length < 2) continue;
362
- if (!points.every((point) => Array.isArray(point) && point.length === 2 && isFinitePoint(...point))) continue;
363
-
364
- const endpointIds = new Set([relation.from, relation.to]);
365
- for (const obstacle of obstacleList) {
366
- if (!obstacle || endpointIds.has(obstacle.id)) continue;
367
- if (!isFinitePoint(obstacle.x, obstacle.y, obstacle.width, obstacle.height)) continue;
368
- let hitSegment = -1;
369
- for (let segmentIndex = 0; segmentIndex < points.length - 1; segmentIndex += 1) {
370
- if (segmentIntersectsRect({ start: points[segmentIndex], end: points[segmentIndex + 1] }, obstacle, clearance)) {
371
- hitSegment = segmentIndex;
372
- break;
373
- }
374
- }
375
- if (hitSegment === -1) continue;
376
- const from = points[hitSegment].map(Math.round).join(', ');
377
- const to = points[hitSegment + 1].map(Math.round).join(', ');
378
- const relationId = relation.id ? ` id "${relation.id}"` : '';
379
- const message = `[clean-flow/edge-through-node] ${diagramType} ${relationCollection}[${relationIndex}]${relationId} "${relation.from}" -> "${relation.to}" crosses ${obstacleKind} "${obstacle.id}" (unrelated to this relationship) on segment ${hitSegment} [${from}] -> [${to}] (${clearance}px clearance) — ${routeHint}.`;
380
- recordDiagnostic({
381
- code: 'clean-flow/edge-through-node',
382
- severity: 'error',
383
- message,
384
- subject: relationshipSubject(diagramType, relationCollection, relationIndex, relation),
385
- evidence: {
386
- obstacleKind,
387
- obstacleId: obstacle.id,
388
- segmentIndex: hitSegment,
389
- from: points[hitSegment],
390
- to: points[hitSegment + 1],
391
- clearancePx: clearance,
392
- },
393
- supportedFixes: [routeHint],
394
- });
395
- problems.push(message);
396
- }
397
- }
398
- return problems;
399
- }
400
-
401
- // Build a read-only analysis copy of a polyline with straight-through
402
- // waypoints removed. A waypoint on a forward-collinear run is not a visual
403
- // endpoint, so treating it as one would hide a proper X that lands exactly on
404
- // that waypoint. Reversals and real bends stay split: their shared point can
405
- // still be an authored touch rather than a crossing. The source points are
406
- // retained on every merged segment so diagnostics can name the authored
407
- // segment that contains a hit without changing rendered/receipt geometry.
408
- export function forwardCollinearAnalysisSegments(points) {
409
- const segments = [];
410
- for (let segmentIndex = 0; segmentIndex < asArray(points).length - 1; segmentIndex += 1) {
411
- const authoredStart = points[segmentIndex];
412
- const authoredEnd = points[segmentIndex + 1];
413
- const start = Array.isArray(authoredStart) ? [...authoredStart] : authoredStart;
414
- const end = Array.isArray(authoredEnd) ? [...authoredEnd] : authoredEnd;
415
- const sourceSegment = { start, end, segmentIndex };
416
- const previous = segments.at(-1);
417
- if (previous && segmentsContinueForward(previous.start, previous.end, start, end)) {
418
- previous.end = end;
419
- previous.sourceSegments.push(sourceSegment);
420
- continue;
421
- }
422
- segments.push({
423
- start,
424
- end,
425
- segmentIndex,
426
- sourceSegments: [sourceSegment],
427
- });
428
- }
429
- return segments;
430
- }
431
-
432
- export function sourceSegmentIndexAtPoint(segment, point) {
433
- const source = asArray(segment?.sourceSegments).find(({ start, end }) => (
434
- pointLiesOnSegment(point, start, end)
435
- ));
436
- return source?.segmentIndex ?? segment?.segmentIndex ?? 0;
437
- }
438
-
439
- function authoredAnalysisSegments(points) {
440
- return asArray(points).slice(0, -1).map((start, segmentIndex) => ({
441
- start,
442
- end: points[segmentIndex + 1],
443
- segmentIndex,
444
- sourceSegments: [{ start, end: points[segmentIndex + 1], segmentIndex }],
445
- }));
446
- }
447
-
448
- function segmentsContinueForward(firstStart, firstEnd, secondStart, secondEnd) {
449
- if (![firstStart, firstEnd, secondStart, secondEnd].every((point) => (
450
- Array.isArray(point) && point.length === 2 && isFinitePoint(...point)
451
- ))) return false;
452
- const epsilon = 0.0001;
453
- if (Math.abs(firstEnd[0] - secondStart[0]) > epsilon
454
- || Math.abs(firstEnd[1] - secondStart[1]) > epsilon) return false;
455
- const firstVector = [firstEnd[0] - firstStart[0], firstEnd[1] - firstStart[1]];
456
- const secondVector = [secondEnd[0] - secondStart[0], secondEnd[1] - secondStart[1]];
457
- const firstLength = Math.hypot(...firstVector);
458
- const secondLength = Math.hypot(...secondVector);
459
- if (firstLength <= epsilon || secondLength <= epsilon) return false;
460
- const cross = firstVector[0] * secondVector[1] - firstVector[1] * secondVector[0];
461
- if (Math.abs(cross) > epsilon) return false;
462
- const dot = firstVector[0] * secondVector[0] + firstVector[1] * secondVector[1];
463
- return dot > epsilon;
464
- }
465
-
466
- function pointLiesOnSegment(point, start, end) {
467
- if (![point, start, end].every((candidate) => (
468
- Array.isArray(candidate) && candidate.length === 2 && isFinitePoint(...candidate)
469
- ))) return false;
470
- const epsilon = 0.0001;
471
- const length = Math.hypot(end[0] - start[0], end[1] - start[1]);
472
- if (length <= epsilon) return Math.hypot(point[0] - start[0], point[1] - start[1]) <= epsilon;
473
- if (Math.abs(crossProduct(start, end, point)) > epsilon * length) return false;
474
- return point[0] >= Math.min(start[0], end[0]) - epsilon
475
- && point[0] <= Math.max(start[0], end[0]) + epsilon
476
- && point[1] >= Math.min(start[1], end[1]) - epsilon
477
- && point[1] <= Math.max(start[1], end[1]) + epsilon;
478
- }
479
-
480
- // Reject only a proper interior X between relationships that share no semantic
481
- // endpoint. Endpoint touches, branch/merge ports, and collinear shared
482
- // corridors are intentionally outside this contract because geometry alone
483
- // cannot tell whether those are authored junctions.
484
- export function cleanCrossingProblems({
485
- relations,
486
- endpointIds,
487
- pathFor,
488
- diagramType,
489
- relationCollection,
490
- profile = 'standard',
491
- profileIsAuthoritative = false,
492
- mergeForwardCollinearWaypoints = false,
493
- routeHint = 'adjust route/via or channel coordinates so the relationships use separate corridors'
494
- }) {
495
- if (qualityProfileForGate(profile, profileIsAuthoritative) !== 'showcase') return [];
496
- const routed = asArray(relations).map((relation, index) => {
497
- if (!relation || !endpointIds.has(relation.from) || !endpointIds.has(relation.to)) return null;
498
- const points = pathFor(relation)?.points;
499
- if (!Array.isArray(points) || points.length < 2) return null;
500
- if (!points.every((point) => Array.isArray(point) && point.length === 2 && isFinitePoint(...point))) return null;
501
- return {
502
- relation,
503
- index,
504
- points,
505
- analysisSegments: mergeForwardCollinearWaypoints
506
- ? forwardCollinearAnalysisSegments(points)
507
- : authoredAnalysisSegments(points),
508
- };
509
- }).filter(Boolean);
510
- const problems = [];
511
-
512
- for (let leftIndex = 0; leftIndex < routed.length; leftIndex += 1) {
513
- const left = routed[leftIndex];
514
- for (let rightIndex = leftIndex + 1; rightIndex < routed.length; rightIndex += 1) {
515
- const right = routed[rightIndex];
516
- if ([left.relation.from, left.relation.to].some((id) => id === right.relation.from || id === right.relation.to)) continue;
517
-
518
- let hit = null;
519
- for (const leftSegment of left.analysisSegments) {
520
- if (hit) break;
521
- for (const rightSegment of right.analysisSegments) {
522
- const point = properSegmentIntersection(
523
- leftSegment.start,
524
- leftSegment.end,
525
- rightSegment.start,
526
- rightSegment.end
527
- );
528
- if (point) {
529
- hit = {
530
- point,
531
- leftSegment: sourceSegmentIndexAtPoint(leftSegment, point),
532
- rightSegment: sourceSegmentIndexAtPoint(rightSegment, point),
533
- };
534
- break;
535
- }
536
- }
537
- }
538
- if (!hit) continue;
539
-
540
- const describe = ({ relation, index }) => {
541
- const id = relation.id ? ` id "${relation.id}"` : '';
542
- return `${relationCollection}[${index}]${id} "${relation.from}" -> "${relation.to}"`;
543
- };
544
- const point = hit.point.map((value) => Math.round(value * 10) / 10).join(', ');
545
- const message = `[composition/proper-crossing] showcase ${diagramType} ${describe(left)} crosses ${describe(right)} at [${point}] (segments ${hit.leftSegment} and ${hit.rightSegment}) — ${routeHint}.`;
546
- recordDiagnostic({
547
- code: 'composition/proper-crossing',
548
- severity: 'error',
549
- message,
550
- subject: relationshipSubject(diagramType, relationCollection, left.index, left.relation),
551
- evidence: {
552
- otherRelationship: relationshipSubject(diagramType, relationCollection, right.index, right.relation),
553
- point: hit.point,
554
- segmentIndex: hit.leftSegment,
555
- otherSegmentIndex: hit.rightSegment,
556
- },
557
- supportedFixes: [routeHint],
558
- });
559
- problems.push(message);
560
- }
561
- }
562
- return problems;
563
- }
564
-
565
- // Two unrelated relationships that occupy the same visible corridor can read
566
- // as one authored branch or merge even when neither relationship crosses a
567
- // node or forms a proper X. Keep shared semantic endpoints exempt: their
568
- // initial/final fan-out is real topology. Tiny overlaps below the route rhythm
569
- // floor are ignored to avoid turning sub-pixel rounding into a quality debt.
570
- export function collectAmbiguousCorridors({
571
- routedRelations,
572
- minOverlapPx = 8,
573
- }) {
574
- const routed = asArray(routedRelations).map((entry, fallbackIndex) => {
575
- const relation = entry?.relation;
576
- if (!relation || typeof relation.from !== 'string' || typeof relation.to !== 'string') return null;
577
- const points = normalizeRoutePoints(entry?.points);
578
- if (points.length < 2) return null;
579
- return {
580
- relation,
581
- relationIndex: Number.isInteger(entry.relationIndex) ? entry.relationIndex : fallbackIndex,
582
- points,
583
- };
584
- }).filter(Boolean);
585
- const hits = [];
586
-
587
- for (let leftIndex = 0; leftIndex < routed.length; leftIndex += 1) {
588
- const left = routed[leftIndex];
589
- for (let rightIndex = leftIndex + 1; rightIndex < routed.length; rightIndex += 1) {
590
- const right = routed[rightIndex];
591
- if ([left.relation.from, left.relation.to].some((id) => id === right.relation.from || id === right.relation.to)) continue;
592
-
593
- let longest = null;
594
- for (let leftSegment = 0; leftSegment < left.points.length - 1; leftSegment += 1) {
595
- for (let rightSegment = 0; rightSegment < right.points.length - 1; rightSegment += 1) {
596
- const overlap = collinearAxisOverlap(
597
- left.points[leftSegment],
598
- left.points[leftSegment + 1],
599
- right.points[rightSegment],
600
- right.points[rightSegment + 1],
601
- );
602
- if (!overlap || overlap.length + 0.0001 < minOverlapPx) continue;
603
- if (!longest || overlap.length > longest.overlapLength + 0.0001) {
604
- longest = {
605
- left,
606
- right,
607
- leftSegment,
608
- rightSegment,
609
- overlapLength: overlap.length,
610
- overlapStart: overlap.start,
611
- overlapEnd: overlap.end,
612
- };
613
- }
614
- }
615
- }
616
- if (longest) hits.push(longest);
617
- }
618
- }
619
- return hits;
620
- }
621
-
622
- export function cleanAmbiguousCorridorProblems({
623
- relations,
624
- endpointIds,
625
- pathFor,
626
- diagramType,
627
- relationCollection,
628
- profile = 'standard',
629
- profileIsAuthoritative = false,
630
- routeHint = 'adjust route/via or channel coordinates so the relationships use separate corridors',
631
- minOverlapPx = 8,
632
- }) {
633
- if (qualityProfileForGate(profile, profileIsAuthoritative) !== 'showcase') return [];
634
- const routedRelations = collectEligibleRoutedRelations({ relations, endpointIds, pathFor });
635
-
636
- return collectAmbiguousCorridors({ routedRelations, minOverlapPx }).map((hit) => {
637
- const describe = ({ relation, relationIndex }) => {
638
- const id = relation.id ? ` id "${relation.id}"` : '';
639
- return `${relationCollection}[${relationIndex}]${id} "${relation.from}" -> "${relation.to}"`;
640
- };
641
- const length = Math.round(hit.overlapLength * 10) / 10;
642
- const from = hit.overlapStart.map((value) => Math.round(value * 10) / 10).join(', ');
643
- const to = hit.overlapEnd.map((value) => Math.round(value * 10) / 10).join(', ');
644
- const message = `[composition/ambiguous-corridor] showcase ${diagramType} ${describe(hit.left)} shares a ${length}px corridor with ${describe(hit.right)} at [${from}] -> [${to}] (segments ${hit.leftSegment} and ${hit.rightSegment}; minimum ${minOverlapPx}px) — ${routeHint}.`;
645
- recordDiagnostic({
646
- code: 'composition/ambiguous-corridor',
647
- severity: 'error',
648
- message,
649
- subject: relationshipSubject(diagramType, relationCollection, hit.left.relationIndex, hit.left.relation),
650
- evidence: {
651
- otherRelationship: relationshipSubject(diagramType, relationCollection, hit.right.relationIndex, hit.right.relation),
652
- overlapLengthPx: length,
653
- minimumPx: minOverlapPx,
654
- from: hit.overlapStart,
655
- to: hit.overlapEnd,
656
- segmentIndex: hit.leftSegment,
657
- otherSegmentIndex: hit.rightSegment,
658
- },
659
- supportedFixes: [routeHint],
660
- });
661
- return message;
662
- });
663
- }
664
-
665
- // Relationship paths may cross a structural frame, but they must not borrow a
666
- // frame side as a routing corridor. Rounded rectangle corners are trimmed from
667
- // the modeled straight sides so a short corner touch is not mistaken for a
668
- // border run. Any positive straight overlap beyond the numeric epsilon is a
669
- // hard failure in every quality profile; 16px belongs only to the separate,
670
- // neutral short-segment metric and is not a corridor exemption.
671
- export function collectBorderRuns({ routedRelations, frames }) {
672
- const hits = [];
673
- for (const routed of asArray(routedRelations)) {
674
- const routeSegments = Array.isArray(routed?.segments)
675
- ? routed.segments
676
- : asArray(routed?.points).slice(0, -1).map((start, index) => ({ start, end: routed.points[index + 1] }));
677
- if (!routeSegments.length) continue;
678
- if (!routeSegments.every((segment) => (
679
- Array.isArray(segment?.start) && segment.start.length === 2 && isFinitePoint(...segment.start)
680
- && Array.isArray(segment?.end) && segment.end.length === 2 && isFinitePoint(...segment.end)
681
- ))) continue;
682
- for (const [frameIndex, frame] of asArray(frames).entries()) {
683
- for (const border of frameBorderSegments(frame)) {
684
- const overlaps = [];
685
- for (let segmentIndex = 0; segmentIndex < routeSegments.length; segmentIndex += 1) {
686
- const segment = routeSegments[segmentIndex];
687
- const overlap = collinearAxisOverlap(
688
- segment.start,
689
- segment.end,
690
- border.start,
691
- border.end,
692
- );
693
- if (!overlap || overlap.length <= 0.0001) continue;
694
- overlaps.push({ ...overlap, segmentIndex });
695
- }
696
- if (!overlaps.length) continue;
697
- const merged = mergeBorderOverlaps(overlaps, border);
698
- const longest = [...merged].sort((left, right) => right.length - left.length || left.low - right.low)[0];
699
- hits.push({
700
- ...routed,
701
- frame,
702
- frameIndex,
703
- side: border.side,
704
- segmentIndex: Math.min(...overlaps.map((overlap) => overlap.segmentIndex)),
705
- overlapLength: merged.reduce((total, overlap) => total + overlap.length, 0),
706
- overlapStart: longest.start,
707
- overlapEnd: longest.end,
708
- });
709
- }
710
- }
711
- }
712
- return hits;
713
- }
714
-
715
- export function cleanBorderRunProblems({
716
- relations,
717
- endpointIds,
718
- frames,
719
- pathFor,
720
- diagramType,
721
- relationCollection,
722
- profile,
723
- profileIsAuthoritative = false,
724
- routeHint = 'adjust route/via or channel coordinates so the relationship crosses the frame perpendicularly through a clear opening'
725
- }) {
726
- if (!qualityProfileForGate(profile, profileIsAuthoritative)) return [];
727
- const routedRelations = collectEligibleRoutedRelations({ relations, endpointIds, pathFor });
728
- return collectBorderRuns({ routedRelations, frames }).map((hit) => {
729
- const relation = hit.relation || {};
730
- const relationId = relation.id ? ` id "${relation.id}"` : '';
731
- const frameKind = hit.frame?.kind || hit.frame?.shape || 'frame';
732
- const frameIdentity = hit.frame?.label || hit.frame?.id || hit.frameIndex;
733
- const length = Math.round(hit.overlapLength * 10) / 10;
734
- const from = hit.overlapStart.map((value) => Math.round(value * 10) / 10).join(', ');
735
- const to = hit.overlapEnd.map((value) => Math.round(value * 10) / 10).join(', ');
736
- const message = `[composition/container-border-run] ${diagramType} ${relationCollection}[${hit.relationIndex}]${relationId} "${relation.from}" -> "${relation.to}" follows ${frameKind} "${frameIdentity}" ${hit.side} border for ${length}px on segment ${hit.segmentIndex} [${from}] -> [${to}] — ${routeHint}.`;
737
- recordDiagnostic({
738
- code: 'composition/container-border-run',
739
- severity: 'error',
740
- message,
741
- subject: relationshipSubject(diagramType, relationCollection, hit.relationIndex, relation),
742
- evidence: {
743
- frameKind,
744
- frameId: hit.frame?.id,
745
- frameLabel: hit.frame?.label,
746
- side: hit.side,
747
- segmentIndex: hit.segmentIndex,
748
- overlapLengthPx: length,
749
- from: hit.overlapStart,
750
- to: hit.overlapEnd,
751
- },
752
- supportedFixes: [routeHint],
753
- });
754
- return message;
755
- });
756
- }
757
-
758
- export function routeBudgetMetrics({
759
- routedRelations,
760
- bendsPerRelationship = 2,
761
- stretch = 1.35,
762
- segmentPx = 16,
763
- microSegmentPx = 8,
764
- }) {
765
- let maxBends = 0;
766
- let routesOverSuggestedBends = 0;
767
- let maxStretch = null;
768
- let routesOverSuggestedStretch = 0;
769
- let minSegmentPx = null;
770
- let minInteriorSegmentPx = null;
771
- let shortSegmentCount = 0;
772
- let shortEndpointSegmentCount = 0;
773
- let shortInteriorSegmentCount = 0;
774
- let microSegmentCount = 0;
775
-
776
- for (const routed of asArray(routedRelations)) {
777
- const points = normalizeRoutePoints(routed?.points);
778
- if (points.length < 2) continue;
779
- const bends = Math.max(0, points.length - 2);
780
- maxBends = Math.max(maxBends, bends);
781
- if (bends > bendsPerRelationship) routesOverSuggestedBends += 1;
782
-
783
- let routeLength = 0;
784
- for (let index = 0; index < points.length - 1; index += 1) {
785
- const length = Math.abs(points[index + 1][0] - points[index][0]) + Math.abs(points[index + 1][1] - points[index][1]);
786
- if (length <= 0.0001) continue;
787
- const position = segmentPosition(index, points.length - 1);
788
- routeLength += length;
789
- minSegmentPx = minSegmentPx == null ? length : Math.min(minSegmentPx, length);
790
- if (position === 'interior') {
791
- minInteriorSegmentPx = minInteriorSegmentPx == null ? length : Math.min(minInteriorSegmentPx, length);
792
- }
793
- if (length < segmentPx) {
794
- shortSegmentCount += 1;
795
- if (position === 'interior') shortInteriorSegmentCount += 1;
796
- else shortEndpointSegmentCount += 1;
797
- }
798
- if (length < microSegmentPx) microSegmentCount += 1;
799
- }
800
- const direct = Math.abs(points.at(-1)[0] - points[0][0]) + Math.abs(points.at(-1)[1] - points[0][1]);
801
- if (direct > 0.0001) {
802
- const routeStretch = routeLength / direct;
803
- maxStretch = maxStretch == null ? routeStretch : Math.max(maxStretch, routeStretch);
804
- if (routeStretch > stretch + 0.0001) routesOverSuggestedStretch += 1;
805
- }
806
- }
807
-
808
- return {
809
- maxBends,
810
- routesOverSuggestedBends,
811
- maxStretch,
812
- routesOverSuggestedStretch,
813
- minSegmentPx,
814
- minInteriorSegmentPx,
815
- shortSegmentCount,
816
- shortEndpointSegmentCount,
817
- shortInteriorSegmentCount,
818
- microSegmentCount,
819
- };
820
- }
821
-
822
- export function collectRouteRhythmIssues({
823
- routedRelations,
824
- interiorSegmentPx = 16,
825
- microSegmentPx = 8,
826
- }) {
827
- const issues = [];
828
- for (const [fallbackIndex, routed] of asArray(routedRelations).entries()) {
829
- const points = normalizeRoutePoints(routed?.points);
830
- if (points.length < 2) continue;
831
- for (let segmentIndex = 0; segmentIndex < points.length - 1; segmentIndex += 1) {
832
- const start = points[segmentIndex];
833
- const end = points[segmentIndex + 1];
834
- const length = Math.abs(end[0] - start[0]) + Math.abs(end[1] - start[1]);
835
- if (length <= 0.0001) continue;
836
- const position = segmentPosition(segmentIndex, points.length - 1);
837
- const code = length < microSegmentPx - 0.0001
838
- ? 'composition/micro-segment'
839
- : position === 'interior' && length < interiorSegmentPx - 0.0001
840
- ? 'composition/short-interior-segment'
841
- : null;
842
- if (!code) continue;
843
- issues.push({
844
- code,
845
- relation: routed.relation,
846
- relationIndex: Number.isInteger(routed.relationIndex) ? routed.relationIndex : fallbackIndex,
847
- segmentIndex,
848
- position,
849
- length,
850
- start,
851
- end,
852
- });
853
- }
854
- }
855
- return issues;
856
- }
857
-
858
- export function cleanRouteRhythmProblems({
859
- relations,
860
- endpointIds,
861
- pathFor,
862
- diagramType,
863
- relationCollection,
864
- profile,
865
- profileIsAuthoritative = false,
866
- routeHint = 'move the channel/via point to remove the cramped turn or give the route more corridor space',
867
- interiorSegmentPx = 16,
868
- microSegmentPx = 8,
869
- }) {
870
- if (qualityProfileForGate(profile, profileIsAuthoritative) !== 'showcase') return [];
871
- const routedRelations = collectEligibleRoutedRelations({ relations, endpointIds, pathFor });
872
- return collectRouteRhythmIssues({ routedRelations, interiorSegmentPx, microSegmentPx }).map((hit) => {
873
- const relation = hit.relation || {};
874
- const relationId = relation.id ? ` id "${relation.id}"` : '';
875
- const length = Math.round(hit.length * 10) / 10;
876
- const from = hit.start.map((value) => Math.round(value * 10) / 10).join(', ');
877
- const to = hit.end.map((value) => Math.round(value * 10) / 10).join(', ');
878
- const rule = hit.code === 'composition/micro-segment'
879
- ? `is below the ${microSegmentPx}px micro-segment floor`
880
- : `is below the ${interiorSegmentPx}px interior-segment floor`;
881
- const message = `[${hit.code}] showcase ${diagramType} ${relationCollection}[${hit.relationIndex}]${relationId} "${relation.from}" -> "${relation.to}" has a ${length}px ${hit.position} segment ${hit.segmentIndex} [${from}] -> [${to}] that ${rule} — ${routeHint}.`;
882
- recordDiagnostic({
883
- code: hit.code,
884
- severity: 'error',
885
- message,
886
- subject: relationshipSubject(diagramType, relationCollection, hit.relationIndex, relation),
887
- evidence: {
888
- segmentIndex: hit.segmentIndex,
889
- position: hit.position,
890
- lengthPx: length,
891
- minimumPx: hit.code === 'composition/micro-segment' ? microSegmentPx : interiorSegmentPx,
892
- from: hit.start,
893
- to: hit.end,
894
- },
895
- supportedFixes: [routeHint],
896
- });
897
- return message;
898
- });
899
- }
900
-
901
- export function cleanLabelRouteClearanceProblems({
902
- relations,
903
- labels,
904
- endpointIds,
905
- pathFor,
906
- diagramType,
907
- relationCollection,
908
- profile,
909
- profileIsAuthoritative = false,
910
- threshold = 4,
911
- routeHint = 'adjust labelAt, labelDx, labelDy, or labelSegment; otherwise adjust the other relationship route/via/channel',
912
- }) {
913
- if (qualityProfileForGate(profile, profileIsAuthoritative) !== 'showcase') return [];
914
- const routedRelations = collectEligibleRoutedRelations({ relations, endpointIds, pathFor });
915
- return collectLabelRouteClearance({ labels, routedRelations, threshold }).map((hit) => {
916
- const describe = (relation, relationIndex) => {
917
- const relationId = relation?.id ? ` id "${relation.id}"` : '';
918
- const relationLabel = relation?.label ? ` label "${relation.label}"` : '';
919
- return `${relationCollection}[${relationIndex}]${relationId} "${relation?.from}" -> "${relation?.to}"${relationLabel}`;
920
- };
921
- const clearance = Math.round(hit.clearance * 10) / 10;
922
- const from = hit.start.map((value) => Math.round(value * 10) / 10).join(', ');
923
- const to = hit.end.map((value) => Math.round(value * 10) / 10).join(', ');
924
- const message = `[composition/label-route-clearance] showcase ${diagramType} label "${hit.label?.label || hit.labelRelation?.label || ''}" on ${describe(hit.labelRelation, hit.labelRelationIndex)} is ${clearance}px from ${describe(hit.otherRelation, hit.otherRelationIndex)} segment ${hit.segmentIndex} [${from}] -> [${to}] (label rect ${formatRect(hit.rect)}; minimum ${threshold}px) — ${routeHint}.`;
925
- recordDiagnostic({
926
- code: 'composition/label-route-clearance',
927
- severity: 'error',
928
- message,
929
- subject: relationshipSubject(diagramType, relationCollection, hit.labelRelationIndex, hit.labelRelation),
930
- evidence: {
931
- label: hit.label?.label || hit.labelRelation?.label || '',
932
- otherRelationship: relationshipSubject(diagramType, relationCollection, hit.otherRelationIndex, hit.otherRelation),
933
- segmentIndex: hit.segmentIndex,
934
- clearancePx: clearance,
935
- minimumPx: threshold,
936
- labelRect: hit.rect,
937
- from: hit.start,
938
- to: hit.end,
939
- },
940
- supportedFixes: [routeHint],
941
- });
942
- return message;
943
- });
944
- }
945
-
946
- function qualityProfileForGate(profile, profileIsAuthoritative) {
947
- return profileIsAuthoritative
948
- ? profile
949
- : process.env.ARCHIFY_QUALITY_PROFILE || profile;
950
- }
951
-
952
- function collectEligibleRoutedRelations({ relations, endpointIds, pathFor }) {
953
- return asArray(relations).map((relation, relationIndex) => {
954
- if (!relation || typeof relation.from !== 'string' || typeof relation.to !== 'string') return null;
955
- if (endpointIds && (!endpointIds.has(relation.from) || !endpointIds.has(relation.to))) return null;
956
- return { relation, relationIndex, points: pathFor(relation)?.points };
957
- }).filter(Boolean);
958
- }
959
-
960
- function segmentPosition(index, segmentCount) {
961
- if (index === 0) return 'source-stub';
962
- if (index === segmentCount - 1) return 'target-stub';
963
- return 'interior';
964
- }
965
-
966
- export function normalizeRoutePoints(points) {
967
- const finite = asArray(points).filter((point) => Array.isArray(point) && point.length === 2 && isFinitePoint(...point));
968
- const deduped = [];
969
- for (const point of finite) {
970
- const previous = deduped.at(-1);
971
- if (!previous || Math.abs(point[0] - previous[0]) > 0.0001 || Math.abs(point[1] - previous[1]) > 0.0001) deduped.push(point);
972
- }
973
- const normalized = [];
974
- for (const point of deduped) {
975
- while (normalized.length >= 2 && collinearForward(normalized.at(-2), normalized.at(-1), point)) normalized.pop();
976
- normalized.push(point);
977
- }
978
- return normalized;
979
- }
980
-
981
- function pointRectDistance(point, rect) {
982
- const dx = Math.max(rect.x - point[0], 0, point[0] - (rect.x + rect.width));
983
- const dy = Math.max(rect.y - point[1], 0, point[1] - (rect.y + rect.height));
984
- return Math.hypot(dx, dy);
985
- }
986
-
987
- function pointSegmentDistance(point, start, end) {
988
- const dx = end[0] - start[0];
989
- const dy = end[1] - start[1];
990
- const lengthSquared = dx * dx + dy * dy;
991
- if (lengthSquared <= 0.0000001) return Math.hypot(point[0] - start[0], point[1] - start[1]);
992
- const projection = Math.max(0, Math.min(1, ((point[0] - start[0]) * dx + (point[1] - start[1]) * dy) / lengthSquared));
993
- return Math.hypot(point[0] - (start[0] + projection * dx), point[1] - (start[1] + projection * dy));
994
- }
995
-
996
- function collinearForward(a, b, c) {
997
- if (Math.abs(crossProduct(a, b, c)) > 0.0001) return false;
998
- return (b[0] - a[0]) * (c[0] - b[0]) + (b[1] - a[1]) * (c[1] - b[1]) >= -0.0001;
999
- }
1000
-
1001
- function frameBorderSegments(frame) {
1002
- if (!frame || typeof frame !== 'object') return [];
1003
- if (frame.shape === 'line') {
1004
- const start = frame.start || [frame.x1, frame.y1];
1005
- const end = frame.end || [frame.x2, frame.y2];
1006
- return isFinitePoint(...start, ...end) ? [{ side: 'line', start, end }] : [];
1007
- }
1008
- if (!isFinitePoint(frame.x, frame.y, frame.width, frame.height) || frame.width <= 0 || frame.height <= 0) return [];
1009
- const radius = Math.max(0, Math.min(Number(frame.radius) || 0, frame.width / 2, frame.height / 2));
1010
- const left = frame.x;
1011
- const right = frame.x + frame.width;
1012
- const top = frame.y;
1013
- const bottom = frame.y + frame.height;
1014
- return [
1015
- { side: 'top', start: [left + radius, top], end: [right - radius, top] },
1016
- { side: 'right', start: [right, top + radius], end: [right, bottom - radius] },
1017
- { side: 'bottom', start: [right - radius, bottom], end: [left + radius, bottom] },
1018
- { side: 'left', start: [left, bottom - radius], end: [left, top + radius] },
1019
- ].filter(({ start, end }) => Math.hypot(end[0] - start[0], end[1] - start[1]) > 0.0001);
1020
- }
1021
-
1022
- function mergeBorderOverlaps(overlaps, border) {
1023
- const horizontal = Math.abs(border.start[1] - border.end[1]) <= 0.0001;
1024
- const axis = horizontal ? 0 : 1;
1025
- const fixed = horizontal ? border.start[1] : border.start[0];
1026
- const sorted = overlaps.map((overlap) => ({
1027
- low: Math.min(overlap.start[axis], overlap.end[axis]),
1028
- high: Math.max(overlap.start[axis], overlap.end[axis]),
1029
- })).sort((left, right) => left.low - right.low || left.high - right.high);
1030
- const merged = [];
1031
- for (const interval of sorted) {
1032
- const previous = merged.at(-1);
1033
- if (previous && interval.low <= previous.high + 0.0001) previous.high = Math.max(previous.high, interval.high);
1034
- else merged.push({ ...interval });
1035
- }
1036
- return merged.map((interval) => ({
1037
- ...interval,
1038
- length: interval.high - interval.low,
1039
- start: horizontal ? [interval.low, fixed] : [fixed, interval.low],
1040
- end: horizontal ? [interval.high, fixed] : [fixed, interval.high],
1041
- }));
1042
- }
1043
-
1044
- function collinearAxisOverlap(a, b, c, d) {
1045
- const epsilon = 0.0001;
1046
- const horizontal = Math.abs(a[1] - b[1]) <= epsilon
1047
- && Math.abs(c[1] - d[1]) <= epsilon
1048
- && Math.abs(a[1] - c[1]) <= epsilon;
1049
- const vertical = Math.abs(a[0] - b[0]) <= epsilon
1050
- && Math.abs(c[0] - d[0]) <= epsilon
1051
- && Math.abs(a[0] - c[0]) <= epsilon;
1052
- if (!horizontal && !vertical) return null;
1053
- const axis = horizontal ? 0 : 1;
1054
- const low = Math.max(Math.min(a[axis], b[axis]), Math.min(c[axis], d[axis]));
1055
- const high = Math.min(Math.max(a[axis], b[axis]), Math.max(c[axis], d[axis]));
1056
- if (high - low <= epsilon) return null;
1057
- const fixed = horizontal ? a[1] : a[0];
1058
- return {
1059
- length: high - low,
1060
- start: horizontal ? [low, fixed] : [fixed, low],
1061
- end: horizontal ? [high, fixed] : [fixed, high],
1062
- };
1063
- }
1064
-
1065
- function properSegmentIntersection(a, b, c, d) {
1066
- const abC = crossProduct(a, b, c);
1067
- const abD = crossProduct(a, b, d);
1068
- const cdA = crossProduct(c, d, a);
1069
- const cdB = crossProduct(c, d, b);
1070
- const epsilon = 0.0001;
1071
- const opposite = (left, right) => (left > epsilon && right < -epsilon) || (left < -epsilon && right > epsilon);
1072
- if (!opposite(abC, abD) || !opposite(cdA, cdB)) return null;
1073
-
1074
- const denominator = (a[0] - b[0]) * (c[1] - d[1]) - (a[1] - b[1]) * (c[0] - d[0]);
1075
- if (Math.abs(denominator) < epsilon) return null;
1076
- const ab = a[0] * b[1] - a[1] * b[0];
1077
- const cd = c[0] * d[1] - c[1] * d[0];
1078
- return [
1079
- (ab * (c[0] - d[0]) - (a[0] - b[0]) * cd) / denominator,
1080
- (ab * (c[1] - d[1]) - (a[1] - b[1]) * cd) / denominator
1081
- ];
1082
- }
1083
-
1084
- function crossProduct(a, b, c) {
1085
- return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);
1086
- }
1087
-
1088
- function pointInBox(point, box) {
1089
- return point[0] >= box.x1 && point[0] <= box.x2 && point[1] >= box.y1 && point[1] <= box.y2;
1090
- }
1091
-
1092
- function segmentsIntersect(a, b, c, d) {
1093
- const o1 = orientation(a, b, c);
1094
- const o2 = orientation(a, b, d);
1095
- const o3 = orientation(c, d, a);
1096
- const o4 = orientation(c, d, b);
1097
-
1098
- if (o1 === 0 && onSegment(a, c, b)) return true;
1099
- if (o2 === 0 && onSegment(a, d, b)) return true;
1100
- if (o3 === 0 && onSegment(c, a, d)) return true;
1101
- if (o4 === 0 && onSegment(c, b, d)) return true;
1102
-
1103
- return o1 !== o2 && o3 !== o4;
1104
- }
1105
-
1106
- function orientation(a, b, c) {
1107
- const value = (b[1] - a[1]) * (c[0] - b[0]) - (b[0] - a[0]) * (c[1] - b[1]);
1108
- if (Math.abs(value) < 0.0001) return 0;
1109
- return value > 0 ? 1 : 2;
1110
- }
1111
-
1112
- function onSegment(a, b, c) {
1113
- return (
1114
- b[0] <= Math.max(a[0], c[0]) &&
1115
- b[0] >= Math.min(a[0], c[0]) &&
1116
- b[1] <= Math.max(a[1], c[1]) &&
1117
- b[1] >= Math.min(a[1], c[1])
1118
- );
1119
- }
1120
-
1121
- export function anchor(rect, side) {
1122
- switch (side) {
1123
- case 'left': return [rect.x, rect.cy];
1124
- case 'right': return [rect.x + rect.width, rect.cy];
1125
- case 'top': return [rect.cx, rect.y];
1126
- case 'bottom': return [rect.cx, rect.y + rect.height];
1127
- default:
1128
- return [rect.x + rect.width, rect.cy];
1129
- }
1130
- }
1131
-
1132
- const PORT_OUTWARD_VECTOR = {
1133
- left: [-1, 0],
1134
- right: [1, 0],
1135
- top: [0, -1],
1136
- bottom: [0, 1],
1137
- };
1138
-
1139
- // Automatic port spreading can put otherwise parallel anchors only a few
1140
- // pixels apart. A conventional midpoint dogleg then violates the renderer's
1141
- // own 8px/16px route-rhythm floors. Return a full outside-channel route when
1142
- // that happens, or null when the normal automatic route remains appropriate.
1143
- export function automaticPortRhythmBridge(
1144
- start,
1145
- end,
1146
- fromSide,
1147
- toSide,
1148
- { endpointStubPx = 24, interiorSegmentPx = 16, accept } = {},
1149
- ) {
1150
- if (!Array.isArray(start) || !Array.isArray(end)
1151
- || start.length !== 2 || end.length !== 2
1152
- || !isFinitePoint(...start, ...end)) return null;
1153
- const fromVector = PORT_OUTWARD_VECTOR[fromSide];
1154
- const toVector = PORT_OUTWARD_VECTOR[toSide];
1155
- if (!fromVector || !toVector) return null;
1156
-
1157
- const startStub = [
1158
- start[0] + fromVector[0] * endpointStubPx,
1159
- start[1] + fromVector[1] * endpointStubPx,
1160
- ];
1161
- const endStub = [
1162
- end[0] + toVector[0] * endpointStubPx,
1163
- end[1] + toVector[1] * endpointStubPx,
1164
- ];
1165
- const candidates = [];
1166
- const verticalSides = new Set(['top', 'bottom']);
1167
- const horizontalSides = new Set(['left', 'right']);
1168
-
1169
- if (verticalSides.has(fromSide) && verticalSides.has(toSide)
1170
- && Math.abs(start[0] - end[0]) < interiorSegmentPx) {
1171
- for (const channelX of [
1172
- Math.max(start[0], end[0]) + interiorSegmentPx,
1173
- Math.min(start[0], end[0]) - interiorSegmentPx,
1174
- ]) {
1175
- candidates.push([
1176
- start,
1177
- startStub,
1178
- [channelX, startStub[1]],
1179
- [channelX, endStub[1]],
1180
- endStub,
1181
- end,
1182
- ]);
1183
- }
1184
- }
1185
- if (horizontalSides.has(fromSide) && horizontalSides.has(toSide)
1186
- && Math.abs(start[1] - end[1]) < interiorSegmentPx) {
1187
- for (const channelY of [
1188
- Math.max(start[1], end[1]) + interiorSegmentPx,
1189
- Math.min(start[1], end[1]) - interiorSegmentPx,
1190
- ]) {
1191
- candidates.push([
1192
- start,
1193
- startStub,
1194
- [startStub[0], channelY],
1195
- [endStub[0], channelY],
1196
- endStub,
1197
- end,
1198
- ]);
1199
- }
1200
- }
1201
-
1202
- return candidates
1203
- .map((points) => normalizeRoutePoints(points))
1204
- .find((points) => (
1205
- routeHonorsEndpointSides(points, fromSide, toSide)
1206
- && collectRouteRhythmIssues({ routedRelations: [{ points }], interiorSegmentPx }).length === 0
1207
- && (typeof accept !== 'function' || accept(points))
1208
- )) || null;
1209
- }
1210
-
1211
- // Keep conservative auto-routed fan-out/fan-in relationships visually
1212
- // distinct without changing authored route controls. The returned map only
1213
- // contains endpoints that belong to a shared automatic midpoint anchor.
1214
- export function automaticPortSpread(relations, boxes, { gutter = 16, maxSpacing = 14, sideFor } = {}) {
1215
- const groups = new Map();
1216
- const spread = new Map();
1217
-
1218
- const add = (relation, endpoint, rect, side, counterpart) => {
1219
- const key = `${rect.id}\u0000${side}`;
1220
- const items = groups.get(key) || [];
1221
- items.push({ relation, endpoint, rect, side, counterpart });
1222
- groups.set(key, items);
1223
- };
1224
-
1225
- for (const relation of asArray(relations)) {
1226
- if (!relation || (relation.route && relation.route !== 'auto')) continue;
1227
- if (relation.via || relation.channelX !== undefined || relation.channelY !== undefined || relation.labelAt) continue;
1228
- const from = boxes.get(relation.from);
1229
- const to = boxes.get(relation.to);
1230
- if (!from || !to) continue;
1231
- const fromSide = chosenSide(
1232
- relation.fromSide,
1233
- sideFor?.(relation, 'source') || defaultFromSide(from, to),
1234
- );
1235
- const toSide = chosenSide(
1236
- relation.toSide,
1237
- sideFor?.(relation, 'target') || defaultToSide(from, to),
1238
- );
1239
- add(relation, 'from', from, fromSide, to);
1240
- add(relation, 'to', to, toSide, from);
1241
- }
1242
-
1243
- for (const items of groups.values()) {
1244
- if (items.length < 2) continue;
1245
- const verticalSide = items[0].side === 'left' || items[0].side === 'right';
1246
- items.sort((a, b) => {
1247
- const aCoordinate = verticalSide ? a.counterpart.cy : a.counterpart.cx;
1248
- const bCoordinate = verticalSide ? b.counterpart.cy : b.counterpart.cx;
1249
- if (aCoordinate !== bCoordinate) return aCoordinate - bCoordinate;
1250
- const aKey = `${a.relation.id || ''}\u0000${a.relation.from}\u0000${a.relation.to}\u0000${a.relation.label || ''}`;
1251
- const bKey = `${b.relation.id || ''}\u0000${b.relation.from}\u0000${b.relation.to}\u0000${b.relation.label || ''}`;
1252
- return aKey < bKey ? -1 : aKey > bKey ? 1 : 0;
1253
- });
1254
-
1255
- const extent = verticalSide ? items[0].rect.height : items[0].rect.width;
1256
- const usable = Math.max(0, extent - gutter * 2);
1257
- const spacing = Math.min(maxSpacing, usable / (items.length - 1));
1258
- if (!(spacing > 0)) continue;
1259
-
1260
- for (const [index, item] of items.entries()) {
1261
- const offset = (index - (items.length - 1) / 2) * spacing;
1262
- const point = anchor(item.rect, item.side);
1263
- if (verticalSide) point[1] += offset;
1264
- else point[0] += offset;
1265
- const endpoints = spread.get(item.relation) || {};
1266
- endpoints[item.endpoint] = point;
1267
- spread.set(item.relation, endpoints);
1268
- }
1269
- }
1270
-
1271
- return spread;
1272
- }
1273
-
1274
- export function defaultFromSide(from, to) {
1275
- if (to.cx < from.cx) return 'left';
1276
- if (to.cx > from.cx) return 'right';
1277
- if (to.cy > from.cy) return 'bottom';
1278
- return 'top';
1279
- }
1280
-
1281
- export function defaultToSide(from, to) {
1282
- if (to.cx < from.cx) return 'right';
1283
- if (to.cx > from.cx) return 'left';
1284
- if (to.cy > from.cy) return 'top';
1285
- return 'bottom';
1286
- }
1287
-
1288
- export function chosenSide(side, fallback) {
1289
- return side && side !== 'auto' ? side : fallback;
1290
- }
1291
-
1292
- export function polylinePath(points) {
1293
- return points.map(([x, y], index) => `${index === 0 ? 'M' : 'L'} ${x} ${y}`).join(' ');
1294
- }
1295
-
1296
- export function routePointsValue(points) {
1297
- return asArray(points)
1298
- .filter((point) => Array.isArray(point) && point.length === 2 && isFinitePoint(...point))
1299
- .map(([x, y]) => `${x},${y}`)
1300
- .join(';');
1301
- }
1302
-
1303
- export function roundedPath(points, radius) {
1304
- if (points.length < 3 || radius <= 0) {
1305
- return polylinePath(points);
1306
- }
1307
-
1308
- const commands = [`M ${points[0][0]} ${points[0][1]}`];
1309
- for (let i = 1; i < points.length - 1; i += 1) {
1310
- const [px, py] = points[i - 1];
1311
- const [cx, cy] = points[i];
1312
- const [nx, ny] = points[i + 1];
1313
- const prevLen = Math.hypot(cx - px, cy - py);
1314
- const nextLen = Math.hypot(nx - cx, ny - cy);
1315
- const r = Math.min(radius, prevLen / 2, nextLen / 2);
1316
- if (r < 1) {
1317
- commands.push(`L ${cx} ${cy}`);
1318
- continue;
1319
- }
1320
- const before = [cx - ((cx - px) / prevLen) * r, cy - ((cy - py) / prevLen) * r];
1321
- const after = [cx + ((nx - cx) / nextLen) * r, cy + ((ny - cy) / nextLen) * r];
1322
- commands.push(`L ${before[0]} ${before[1]}`);
1323
- commands.push(`Q ${cx} ${cy} ${after[0]} ${after[1]}`);
1324
- }
1325
- const [endX, endY] = points[points.length - 1];
1326
- commands.push(`L ${endX} ${endY}`);
1327
- return commands.join(' ');
1328
- }
1329
-
1330
- // Shared by edges/flows/transitions: all carry the same optional
1331
- // labelAt/labelDx/labelDy/labelSegment knobs.
1332
- export function labelPoint(item, points) {
1333
- if (item.labelAt) return item.labelAt;
1334
- if (points.length === 2) {
1335
- return [
1336
- (points[0][0] + points[1][0]) / 2 + (item.labelDx || 0),
1337
- points[0][1] - 10 + (item.labelDy || 0)
1338
- ];
1339
- }
1340
- const segmentIndex = Math.min(points.length - 2, Math.max(0, item.labelSegment ?? 1));
1341
- const a = points[segmentIndex];
1342
- const b = points[segmentIndex + 1];
1343
- return [(a[0] + b[0]) / 2 + (item.labelDx || 0), (a[1] + b[1]) / 2 - 10 + (item.labelDy || 0)];
1344
- }
1345
-
1346
- export const componentFill = {
1347
- frontend: 'c-frontend',
1348
- backend: 'c-backend',
1349
- database: 'c-database',
1350
- cloud: 'c-cloud',
1351
- security: 'c-security',
1352
- messagebus: 'c-messagebus',
1353
- external: 'c-external'
1354
- };
1355
-
1356
- export const componentText = {
1357
- frontend: 't-frontend',
1358
- backend: 't-backend',
1359
- database: 't-database',
1360
- cloud: 't-cloud',
1361
- security: 't-security',
1362
- messagebus: 't-messagebus',
1363
- external: 't-external'
1364
- };
1365
-
1366
- export const arrowClassMap = {
1367
- default: ['a-default', 'arrowhead'],
1368
- emphasis: ['a-emphasis', 'arrowhead-emphasis'],
1369
- security: ['a-security', 'arrowhead-security'],
1370
- dashed: ['a-dashed', 'arrowhead-dashed']
1371
- };
1372
-
1373
- // Label accent per edge variant. Workflow colors dashed (async trace) labels
1374
- // like the trace store it points at; the other renderers use the bus color.
1375
- export function variantAccent(variant, { dashed = 't-messagebus' } = {}) {
1376
- return variant === 'security'
1377
- ? 't-security'
1378
- : variant === 'emphasis'
1379
- ? 't-backend'
1380
- : variant === 'dashed'
1381
- ? dashed
1382
- : 't-muted';
1383
- }
1384
-
1385
- export function formatRect(r) {
1386
- return `[${Math.round(r.x)}, ${Math.round(r.y)}, ${Math.round(r.width)}, ${Math.round(r.height)}]`;
1387
- }
1388
-
1389
- function formatDelta(n) {
1390
- const v = Math.round(n);
1391
- return v >= 0 ? `+${v}` : String(v);
1392
- }
1393
-
1394
- /** Actionable hint when an edge label rect hits a node/component box (#7). */
1395
- export function suggestLabelObstacleFix(labelRect, lx, ly, obstacle, obstacleKind = 'component') {
1396
- const lxR = Math.round(lx);
1397
- const lyR = Math.round(ly);
1398
- const belowY = Math.round(obstacle.y + obstacle.height + 14);
1399
- const aboveY = Math.round(obstacle.y - 4);
1400
- return [
1401
- ` label rect: ${formatRect(labelRect)}`,
1402
- ` ${obstacleKind} "${obstacle.id}" rect: ${formatRect(obstacle)}`,
1403
- ` Suggested fix: labelAt [${lxR}, ${belowY}] or labelDy ${formatDelta(belowY - lyR)} (below); or labelAt [${lxR}, ${aboveY}] or labelDy ${formatDelta(aboveY - lyR)} (above)`,
1404
- ].join('\n');
1405
- }
1406
-
1407
- /** Hint when two edge labels collide. */
1408
- export function suggestLabelPairFix(a, b) {
1409
- return [
1410
- ` "${a.label}" ${formatRect(a)}; "${b.label}" ${formatRect(b)}`,
1411
- ' Suggested fix: adjust labelDx/labelDy/labelSegment, or route one relationship through a separate corridor',
1412
- ].join('\n');
1413
- }
1414
-
1415
- /** Hint when two components/nodes are too close. */
1416
- export function suggestComponentSeparation(a, b, minGap = 8) {
1417
- const rightX = Math.round(a.x + a.width + minGap);
1418
- const belowY = Math.round(a.y + a.height + minGap);
1419
- return [
1420
- ` "${a.id}" ${formatRect(a)}; "${b.id}" ${formatRect(b)}`,
1421
- ` Suggested fix: move "${b.id}" pos to [${rightX}, ${Math.round(b.y)}] (right of "${a.id}") or [${Math.round(b.x)}, ${belowY}] (below)`,
1422
- ].join('\n');
1423
- }