create-yss-spec 2.1.9 → 2.1.11

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 (1016) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/src/cli.js +82 -15
  4. package/template/.agents/skills/ask-matt/SKILL.md +8 -2
  5. package/template/.agents/skills/code-review/SKILL.md +6 -4
  6. package/template/.agents/skills/diagnosing-bugs/SKILL.md +2 -4
  7. package/template/.agents/skills/domain-modeling/SKILL.md +1 -1
  8. package/template/.agents/skills/grilling/SKILL.md +7 -1
  9. package/template/.agents/skills/high-fidelity-html-prototype/SKILL.md +1 -1
  10. package/template/.agents/skills/implement/SKILL.md +1 -1
  11. package/template/.agents/skills/to-spec/SKILL.md +1 -1
  12. package/template/.agents/skills/triage/SKILL.md +2 -2
  13. package/template/.agents/skills/wait-what/SKILL.md +2 -2
  14. package/template/.agents/skills/wayfinder/SKILL.md +1 -1
  15. package/template/.agents/skills/yss-api-integration/SKILL.md +2 -0
  16. package/template/.agents/skills/yss-application/SKILL.md +52 -0
  17. package/template/.agents/skills/yss-application/agents/openai.yaml +5 -0
  18. package/template/.agents/skills/{yss-backend-scaffold-application/SKILL.md → yss-application/references/application-layer-guide.md} +0 -7
  19. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  20. package/template/.agents/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
  21. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
  22. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
  23. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
  24. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
  25. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
  26. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
  27. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
  28. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
  29. package/template/.agents/skills/yss-domain/SKILL.md +5 -0
  30. package/template/{.claude/skills/yss-backend-scaffold-domain/SKILL.md → .agents/skills/yss-domain/references/domain-layer-guide.md} +0 -7
  31. package/template/.agents/skills/yss-microapp-commit/SKILL.md +2 -0
  32. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +43 -91
  33. package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -5
  34. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +88 -22
  35. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +5 -4
  36. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +4 -1
  37. package/template/.agents/skills/yss-prototype-stage/SKILL.md +1 -1
  38. package/template/.agents/skills/yss-repository/SKILL.md +5 -0
  39. package/template/{.codex/skills/yss-backend-scaffold-infrastructure/SKILL.md → .agents/skills/yss-repository/references/infrastructure-layer-guide.md} +0 -7
  40. package/template/.agents/skills/yss-router/references/boundaries.md +2 -6
  41. package/template/.agents/skills/yss-router/references/router-contract.yaml +8 -12
  42. package/template/.agents/skills/yss-source-index/references/source-map-config.md +0 -4
  43. package/template/.agents/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
  44. package/template/.agents/skills/yss-web-controller/SKILL.md +1 -0
  45. package/template/{.codex/skills/yss-backend-scaffold-web/SKILL.md → .agents/skills/yss-web-controller/references/web-adapter-layer-guide.md} +0 -7
  46. package/template/.claude/skills/ask-matt/SKILL.md +8 -2
  47. package/template/.claude/skills/code-review/SKILL.md +6 -4
  48. package/template/.claude/skills/diagnosing-bugs/SKILL.md +2 -4
  49. package/template/.claude/skills/domain-modeling/SKILL.md +1 -1
  50. package/template/.claude/skills/grilling/SKILL.md +7 -1
  51. package/template/.claude/skills/high-fidelity-html-prototype/SKILL.md +1 -1
  52. package/template/.claude/skills/implement/SKILL.md +1 -1
  53. package/template/.claude/skills/to-spec/SKILL.md +1 -1
  54. package/template/.claude/skills/triage/SKILL.md +2 -2
  55. package/template/.claude/skills/wait-what/SKILL.md +2 -2
  56. package/template/.claude/skills/wayfinder/SKILL.md +1 -1
  57. package/template/.claude/skills/yss-api-integration/SKILL.md +2 -0
  58. package/template/.claude/skills/yss-application/SKILL.md +52 -0
  59. package/template/.claude/skills/yss-application/agents/openai.yaml +5 -0
  60. package/template/{.codex/skills/yss-backend-scaffold-application/SKILL.md → .claude/skills/yss-application/references/application-layer-guide.md} +0 -7
  61. package/template/.claude/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  62. package/template/.claude/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
  63. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
  64. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
  65. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
  66. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
  67. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
  68. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
  69. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
  70. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
  71. package/template/.claude/skills/yss-domain/SKILL.md +5 -0
  72. package/template/{.agents/skills/yss-backend-scaffold-domain/SKILL.md → .claude/skills/yss-domain/references/domain-layer-guide.md} +0 -7
  73. package/template/.claude/skills/yss-microapp-commit/SKILL.md +2 -0
  74. package/template/.claude/skills/yss-product-lifecycle/SKILL.md +43 -91
  75. package/template/.claude/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -5
  76. package/template/.claude/skills/yss-product-lifecycle/references/orchestration-contract.yaml +88 -22
  77. package/template/.claude/skills/yss-product-lifecycle/references/orchestration.md +5 -4
  78. package/template/.claude/skills/yss-product-lifecycle/references/state-model.md +4 -1
  79. package/template/.claude/skills/yss-prototype-stage/SKILL.md +1 -1
  80. package/template/.claude/skills/yss-repository/SKILL.md +5 -0
  81. package/template/.claude/skills/{yss-backend-scaffold-infrastructure/SKILL.md → yss-repository/references/infrastructure-layer-guide.md} +0 -7
  82. package/template/.claude/skills/yss-router/references/boundaries.md +2 -6
  83. package/template/.claude/skills/yss-router/references/router-contract.yaml +8 -12
  84. package/template/.claude/skills/yss-source-index/references/source-map-config.md +0 -4
  85. package/template/.claude/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
  86. package/template/.claude/skills/yss-web-controller/SKILL.md +1 -0
  87. package/template/{.hermes/skills/yss-backend-scaffold-web/SKILL.md → .claude/skills/yss-web-controller/references/web-adapter-layer-guide.md} +0 -7
  88. package/template/.codex/skills/ask-matt/SKILL.md +8 -2
  89. package/template/.codex/skills/code-review/SKILL.md +6 -4
  90. package/template/.codex/skills/diagnosing-bugs/SKILL.md +2 -4
  91. package/template/.codex/skills/domain-modeling/SKILL.md +1 -1
  92. package/template/.codex/skills/grilling/SKILL.md +7 -1
  93. package/template/.codex/skills/high-fidelity-html-prototype/SKILL.md +1 -1
  94. package/template/.codex/skills/implement/SKILL.md +1 -1
  95. package/template/.codex/skills/to-spec/SKILL.md +1 -1
  96. package/template/.codex/skills/triage/SKILL.md +2 -2
  97. package/template/.codex/skills/wait-what/SKILL.md +2 -2
  98. package/template/.codex/skills/wayfinder/SKILL.md +1 -1
  99. package/template/.codex/skills/yss-api-integration/SKILL.md +2 -0
  100. package/template/.codex/skills/yss-application/SKILL.md +52 -0
  101. package/template/.codex/skills/yss-application/agents/openai.yaml +5 -0
  102. package/template/{.claude/skills/yss-backend-scaffold-application/SKILL.md → .codex/skills/yss-application/references/application-layer-guide.md} +0 -7
  103. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  104. package/template/.codex/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
  105. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
  106. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
  107. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
  108. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
  109. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
  110. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
  111. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
  112. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
  113. package/template/.codex/skills/yss-domain/SKILL.md +5 -0
  114. package/template/.codex/skills/{yss-backend-scaffold-domain/SKILL.md → yss-domain/references/domain-layer-guide.md} +0 -7
  115. package/template/.codex/skills/yss-microapp-commit/SKILL.md +2 -0
  116. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +43 -91
  117. package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -5
  118. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +88 -22
  119. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +5 -4
  120. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +4 -1
  121. package/template/.codex/skills/yss-prototype-stage/SKILL.md +1 -1
  122. package/template/.codex/skills/yss-repository/SKILL.md +5 -0
  123. package/template/{.hermes/skills/yss-backend-scaffold-infrastructure/SKILL.md → .codex/skills/yss-repository/references/infrastructure-layer-guide.md} +0 -7
  124. package/template/.codex/skills/yss-router/references/boundaries.md +2 -6
  125. package/template/.codex/skills/yss-router/references/router-contract.yaml +8 -12
  126. package/template/.codex/skills/yss-source-index/references/source-map-config.md +0 -4
  127. package/template/.codex/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
  128. package/template/.codex/skills/yss-web-controller/SKILL.md +1 -0
  129. package/template/{.agents/skills/yss-backend-scaffold-web/SKILL.md → .codex/skills/yss-web-controller/references/web-adapter-layer-guide.md} +0 -7
  130. package/template/.cursor/environment.json +5 -0
  131. package/template/.cursor/skills/alibaba-java-code-style/SKILL.md +51 -0
  132. package/template/.cursor/skills/alibaba-java-code-style/agents/openai.yaml +4 -0
  133. package/template/.cursor/skills/alibaba-java-code-style/references/database-engineering-design.md +147 -0
  134. package/template/.cursor/skills/alibaba-java-code-style/references/java-programming.md +178 -0
  135. package/template/.cursor/skills/alibaba-java-code-style/references/reliability-test-security.md +89 -0
  136. package/template/.cursor/skills/ask-matt/PHASE-BOUNDARIES.md +55 -0
  137. package/template/.cursor/skills/ask-matt/SKILL.md +95 -0
  138. package/template/.cursor/skills/ask-matt/agents/openai.yaml +5 -0
  139. package/template/.cursor/skills/code-review/SKILL.md +117 -0
  140. package/template/.cursor/skills/code-review/agents/openai.yaml +3 -0
  141. package/template/.cursor/skills/codebase-design/DEEPENING.md +37 -0
  142. package/template/.cursor/skills/codebase-design/DESIGN-IT-TWICE.md +44 -0
  143. package/template/.cursor/skills/codebase-design/SKILL.md +114 -0
  144. package/template/.cursor/skills/codebase-design/agents/openai.yaml +3 -0
  145. package/template/.cursor/skills/competitive-intelligence/SKILL.md +94 -0
  146. package/template/.cursor/skills/cross-repo-implementation-routing/SKILL.md +51 -0
  147. package/template/.cursor/skills/diagnosing-bugs/SKILL.md +138 -0
  148. package/template/.cursor/skills/diagnosing-bugs/agents/openai.yaml +3 -0
  149. package/template/.cursor/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +44 -0
  150. package/template/.cursor/skills/dispatching-parallel-agents/SKILL.md +185 -0
  151. package/template/.cursor/skills/domain-modeling/ADR-FORMAT.md +47 -0
  152. package/template/.cursor/skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
  153. package/template/.cursor/skills/domain-modeling/SKILL.md +74 -0
  154. package/template/.cursor/skills/domain-modeling/agents/openai.yaml +3 -0
  155. package/template/.cursor/skills/grill-me/SKILL.md +7 -0
  156. package/template/.cursor/skills/grill-me/agents/openai.yaml +5 -0
  157. package/template/.cursor/skills/grill-with-docs/SKILL.md +19 -0
  158. package/template/.cursor/skills/grill-with-docs/agents/openai.yaml +5 -0
  159. package/template/{.agents/skills/batch-grill-me → .cursor/skills/grilling}/SKILL.md +19 -6
  160. package/template/.cursor/skills/grilling/agents/openai.yaml +3 -0
  161. package/template/.cursor/skills/handoff/SKILL.md +16 -0
  162. package/template/.cursor/skills/handoff/agents/openai.yaml +5 -0
  163. package/template/.cursor/skills/high-fidelity-html-prototype/SKILL.md +106 -0
  164. package/template/.cursor/skills/high-fidelity-html-prototype/agents/openai.yaml +5 -0
  165. package/template/.cursor/skills/implement/SKILL.md +15 -0
  166. package/template/.cursor/skills/implement/agents/openai.yaml +5 -0
  167. package/template/.cursor/skills/implementation-repo-onboarding/SKILL.md +50 -0
  168. package/template/.cursor/skills/improve-codebase-architecture/HTML-REPORT.md +123 -0
  169. package/template/.cursor/skills/improve-codebase-architecture/SKILL.md +71 -0
  170. package/template/.cursor/skills/improve-codebase-architecture/agents/openai.yaml +5 -0
  171. package/template/.cursor/skills/lombok/SKILL.md +351 -0
  172. package/template/.cursor/skills/loop-me/SKILL.md +32 -0
  173. package/template/.cursor/skills/loop-me/agents/openai.yaml +5 -0
  174. package/template/.cursor/skills/maintaining-skills/SKILL.md +25 -0
  175. package/template/.cursor/skills/mapstruct/SKILL.md +334 -0
  176. package/template/.cursor/skills/migrate-to-shoehorn/SKILL.md +118 -0
  177. package/template/.cursor/skills/migrate-to-shoehorn/agents/openai.yaml +3 -0
  178. package/template/.cursor/skills/prototype/LOGIC.md +67 -0
  179. package/template/.cursor/skills/prototype/SKILL.md +26 -0
  180. package/template/.cursor/skills/prototype/UI.md +112 -0
  181. package/template/.cursor/skills/prototype/agents/openai.yaml +3 -0
  182. package/template/.cursor/skills/prototype-review/SKILL.md +74 -0
  183. package/template/.cursor/skills/prototype-review/agents/openai.yaml +4 -0
  184. package/template/.cursor/skills/research/SKILL.md +12 -0
  185. package/template/.cursor/skills/research/agents/openai.yaml +3 -0
  186. package/template/.cursor/skills/resolving-merge-conflicts/SKILL.md +14 -0
  187. package/template/.cursor/skills/resolving-merge-conflicts/agents/openai.yaml +3 -0
  188. package/template/.cursor/skills/scaffold-exercises/SKILL.md +106 -0
  189. package/template/.cursor/skills/scaffold-exercises/agents/openai.yaml +3 -0
  190. package/template/.cursor/skills/setup-matt-pocock-skills/SKILL.md +125 -0
  191. package/template/.cursor/skills/setup-matt-pocock-skills/agents/openai.yaml +5 -0
  192. package/template/.cursor/skills/setup-matt-pocock-skills/domain.md +51 -0
  193. package/template/.cursor/skills/setup-matt-pocock-skills/issue-tracker-github.md +45 -0
  194. package/template/.cursor/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +46 -0
  195. package/template/.cursor/skills/setup-matt-pocock-skills/issue-tracker-local.md +66 -0
  196. package/template/.cursor/skills/setup-matt-pocock-skills/triage-labels.md +15 -0
  197. package/template/.cursor/skills/setup-pre-commit/SKILL.md +91 -0
  198. package/template/.cursor/skills/setup-pre-commit/agents/openai.yaml +3 -0
  199. package/template/.cursor/skills/setup-ts-deep-modules/SKILL.md +102 -0
  200. package/template/.cursor/skills/setup-ts-deep-modules/agents/openai.yaml +5 -0
  201. package/template/.cursor/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +95 -0
  202. package/template/.cursor/skills/tdd/SKILL.md +38 -0
  203. package/template/.cursor/skills/tdd/agents/openai.yaml +3 -0
  204. package/template/.cursor/skills/tdd/mocking.md +59 -0
  205. package/template/.cursor/skills/tdd/tests.md +77 -0
  206. package/template/.cursor/skills/teach/GLOSSARY-FORMAT.md +35 -0
  207. package/template/.cursor/skills/teach/LEARNING-RECORD-FORMAT.md +46 -0
  208. package/template/.cursor/skills/teach/MISSION-FORMAT.md +31 -0
  209. package/template/.cursor/skills/teach/RESOURCES-FORMAT.md +32 -0
  210. package/template/.cursor/skills/teach/SKILL.md +140 -0
  211. package/template/.cursor/skills/teach/agents/openai.yaml +5 -0
  212. package/template/.cursor/skills/to-questionnaire/SKILL.md +53 -0
  213. package/template/.cursor/skills/to-questionnaire/agents/openai.yaml +5 -0
  214. package/template/.cursor/skills/to-spec/SKILL.md +75 -0
  215. package/template/.cursor/skills/to-spec/agents/openai.yaml +5 -0
  216. package/template/.cursor/skills/to-tickets/SKILL.md +105 -0
  217. package/template/.cursor/skills/to-tickets/agents/openai.yaml +5 -0
  218. package/template/.cursor/skills/triage/AGENT-BRIEF.md +207 -0
  219. package/template/.cursor/skills/triage/OUT-OF-SCOPE.md +105 -0
  220. package/template/.cursor/skills/triage/SKILL.md +112 -0
  221. package/template/.cursor/skills/triage/agents/openai.yaml +5 -0
  222. package/template/.cursor/skills/using-git-worktrees/SKILL.md +202 -0
  223. package/template/.cursor/skills/wait-what/SKILL.md +7 -0
  224. package/template/.cursor/skills/wait-what/agents/openai.yaml +5 -0
  225. package/template/.cursor/skills/wayfinder/SKILL.md +128 -0
  226. package/template/.cursor/skills/wayfinder/agents/openai.yaml +5 -0
  227. package/template/.cursor/skills/writing-beats/SKILL.md +67 -0
  228. package/template/.cursor/skills/writing-beats/agents/openai.yaml +5 -0
  229. package/template/.cursor/skills/writing-for-agents/SKILL-MECHANICS.md +22 -0
  230. package/template/.cursor/skills/writing-for-agents/SKILL.md +81 -0
  231. package/template/.cursor/skills/writing-for-agents/agents/openai.yaml +3 -0
  232. package/template/.cursor/skills/writing-fragments/SKILL.md +79 -0
  233. package/template/.cursor/skills/writing-fragments/agents/openai.yaml +5 -0
  234. package/template/.cursor/skills/writing-shape/SKILL.md +79 -0
  235. package/template/.cursor/skills/writing-shape/agents/openai.yaml +5 -0
  236. package/template/.cursor/skills/yss-api-integration/SKILL.md +429 -0
  237. package/template/.cursor/skills/yss-api-integration/agents/openai.yaml +5 -0
  238. package/template/.cursor/skills/yss-application/SKILL.md +52 -0
  239. package/template/.cursor/skills/yss-application/agents/openai.yaml +5 -0
  240. package/template/{.hermes/skills/yss-backend-scaffold-application/SKILL.md → .cursor/skills/yss-application/references/application-layer-guide.md} +0 -7
  241. package/template/.cursor/skills/yss-audit-log/SKILL.md +67 -0
  242. package/template/.cursor/skills/yss-audit-log/agents/openai.yaml +5 -0
  243. package/template/.cursor/skills/yss-audit-log/assets/AuditLogAspect.java +262 -0
  244. package/template/.cursor/skills/yss-audit-log/assets/YssAuditLogPrintSubscriberImpl.java +37 -0
  245. package/template/.cursor/skills/yss-audit-log/assets/YssAuditLogSysManagerSubscriberImpl.java +18 -0
  246. package/template/.cursor/skills/yss-audit-log/assets/YssAuditPublishService.java +69 -0
  247. package/template/.cursor/skills/yss-audit-log/references/README.md +69 -0
  248. package/template/.cursor/skills/yss-audit-log/references/source-index.md +43 -0
  249. package/template/.cursor/skills/yss-cache/SKILL.md +44 -0
  250. package/template/.cursor/skills/yss-cache/agents/openai.yaml +5 -0
  251. package/template/.cursor/skills/yss-cache/references/annotations.md +39 -0
  252. package/template/.cursor/skills/yss-cache/references/architecture.md +25 -0
  253. package/template/.cursor/skills/yss-cache/references/configuration.md +34 -0
  254. package/template/.cursor/skills/yss-cache/references/redis-fallback.md +23 -0
  255. package/template/.cursor/skills/yss-cache/references/redis-topology.md +62 -0
  256. package/template/.cursor/skills/yss-cache/references/serialization.md +17 -0
  257. package/template/.cursor/skills/yss-cache/references/source-index.md +67 -0
  258. package/template/.cursor/skills/yss-cache/references/troubleshooting.md +33 -0
  259. package/template/.cursor/skills/yss-cache/references/verification.md +34 -0
  260. package/template/.cursor/skills/yss-cache/scripts/check-skill-freshness.sh +84 -0
  261. package/template/.cursor/skills/yss-cache/scripts/inspect-cache-usage.sh +96 -0
  262. package/template/.cursor/skills/yss-cache/scripts/verify-cache-component.sh +101 -0
  263. package/template/.cursor/skills/yss-components/SKILL.md +386 -0
  264. package/template/.cursor/skills/yss-components/agents/openai.yaml +5 -0
  265. package/template/.cursor/skills/yss-components/references/frontend-docs.md +9 -0
  266. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +96 -0
  267. package/template/.cursor/skills/yss-ddd-scaffold-generator/agents/openai.yaml +5 -0
  268. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +37 -0
  269. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/config/logback-spring.xml.template +15 -0
  270. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/config/parent-pom.xml.template +84 -0
  271. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/adapter-pom.xml.template +19 -0
  272. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +43 -0
  273. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +50 -0
  274. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/domain-pom.xml.template +36 -0
  275. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/infrastructure-pom.xml.template +34 -0
  276. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +95 -0
  277. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +44 -0
  278. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/jvm.config +1 -0
  279. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/maven.config +3 -0
  280. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/settings.xml +128 -0
  281. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/MavenWrapperDownloader.java +117 -0
  282. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/maven-wrapper.jar +0 -0
  283. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/maven-wrapper.properties +18 -0
  284. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/mvnw +316 -0
  285. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/mvnw.cmd +188 -0
  286. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +194 -0
  287. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +420 -0
  288. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/SKILL.md +199 -0
  289. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/agents/openai.yaml +5 -0
  290. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +8 -0
  291. package/template/{.agents/skills → .cursor/skills/yss-ddd-scaffold-generator/references}/yss-backend-scaffold-application/agents/openai.yaml +1 -1
  292. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +8 -0
  293. package/template/{.claude/skills → .cursor/skills/yss-ddd-scaffold-generator/references}/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
  294. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +8 -0
  295. package/template/{.claude/skills → .cursor/skills/yss-ddd-scaffold-generator/references}/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
  296. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +138 -0
  297. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +5 -0
  298. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +8 -0
  299. package/template/{.claude/skills → .cursor/skills/yss-ddd-scaffold-generator/references}/yss-backend-scaffold-web/agents/openai.yaml +1 -1
  300. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +225 -0
  301. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +32 -0
  302. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +26 -0
  303. package/template/.cursor/skills/yss-design-system/SKILL.md +99 -0
  304. package/template/.cursor/skills/yss-design-system/agents/openai.yaml +5 -0
  305. package/template/.cursor/skills/yss-design-system/references/design-system.md +237 -0
  306. package/template/.cursor/skills/yss-design-system/scripts/validate-frontmatter.mjs +36 -0
  307. package/template/.cursor/skills/yss-design-system/scripts/validate-frontmatter.test.mjs +12 -0
  308. package/template/.cursor/skills/yss-distributed-id/SKILL.md +69 -0
  309. package/template/.cursor/skills/yss-distributed-id/agents/openai.yaml +5 -0
  310. package/template/.cursor/skills/yss-distributed-id/assets/AutoIdInterceptor.java +246 -0
  311. package/template/.cursor/skills/yss-distributed-id/assets/EnableDistributedId.java +25 -0
  312. package/template/.cursor/skills/yss-distributed-id/assets/LeafConf.java +36 -0
  313. package/template/.cursor/skills/yss-distributed-id/references/README.md +51 -0
  314. package/template/.cursor/skills/yss-distributed-id/references/source-index.md +86 -0
  315. package/template/.cursor/skills/yss-domain/SKILL.md +68 -0
  316. package/template/.cursor/skills/yss-domain/agents/openai.yaml +5 -0
  317. package/template/{.hermes/skills/yss-backend-scaffold-domain/SKILL.md → .cursor/skills/yss-domain/references/domain-layer-guide.md} +0 -7
  318. package/template/.cursor/skills/yss-dto/SKILL.md +86 -0
  319. package/template/.cursor/skills/yss-dto/agents/openai.yaml +5 -0
  320. package/template/.cursor/skills/yss-dto/assets/CommandDTO.java +8 -0
  321. package/template/.cursor/skills/yss-dto/assets/PageQuery.java +133 -0
  322. package/template/.cursor/skills/yss-dto/assets/QueryDTO.java +6 -0
  323. package/template/.cursor/skills/yss-dto/assets/Result.java +105 -0
  324. package/template/.cursor/skills/yss-dto/references/README.md +67 -0
  325. package/template/.cursor/skills/yss-dto/references/openapi-wire-profile.yaml +181 -0
  326. package/template/.cursor/skills/yss-dto/references/source-index.md +55 -0
  327. package/template/.cursor/skills/yss-excel-mvc/SKILL.md +66 -0
  328. package/template/.cursor/skills/yss-excel-mvc/agents/openai.yaml +5 -0
  329. package/template/.cursor/skills/yss-excel-mvc/assets/ExcelDynamicData.java +66 -0
  330. package/template/.cursor/skills/yss-excel-mvc/assets/RequestExcel.java +33 -0
  331. package/template/.cursor/skills/yss-excel-mvc/assets/RequestFastExcelArgumentResolver.java +272 -0
  332. package/template/.cursor/skills/yss-excel-mvc/assets/ResponseExcel.java +46 -0
  333. package/template/.cursor/skills/yss-excel-mvc/assets/ResponseFastExcelReturnValueHandler.java +154 -0
  334. package/template/.cursor/skills/yss-excel-mvc/references/README.md +5 -0
  335. package/template/.cursor/skills/yss-excel-mvc/references/source-index.md +74 -0
  336. package/template/.cursor/skills/yss-exception/SKILL.md +55 -0
  337. package/template/.cursor/skills/yss-exception/agents/openai.yaml +4 -0
  338. package/template/{.claude/skills/yss-log → .cursor/skills/yss-exception}/references/source-index.md +8 -7
  339. package/template/.cursor/skills/yss-formily/SKILL.md +304 -0
  340. package/template/.cursor/skills/yss-formily/agents/openai.yaml +5 -0
  341. package/template/.cursor/skills/yss-formily/references/examples.md +65 -0
  342. package/template/.cursor/skills/yss-formily-schema-generator/SKILL.md +189 -0
  343. package/template/.cursor/skills/yss-formily-schema-generator/agents/openai.yaml +5 -0
  344. package/template/.cursor/skills/yss-formily-schema-generator/assets/java-sdk/ExampleUsage.java +111 -0
  345. package/template/.cursor/skills/yss-formily-schema-generator/assets/java-sdk/YssFormilyDsl.java +1219 -0
  346. package/template/.cursor/skills/yss-formily-schema-generator/references/workflow.md +240 -0
  347. package/template/.cursor/skills/yss-frontend-scaffold-generator/SKILL.md +76 -0
  348. package/template/.cursor/skills/yss-hook/SKILL.md +200 -0
  349. package/template/.cursor/skills/yss-hook/agents/openai.yaml +5 -0
  350. package/template/.cursor/skills/yss-hook/references/frontend-docs.md +10 -0
  351. package/template/.cursor/skills/yss-microapp-commit/SKILL.md +201 -0
  352. package/template/.cursor/skills/yss-microapp-commit/agents/openai.yaml +5 -0
  353. package/template/.cursor/skills/yss-microapp-commit/references/scope-mapping.md +204 -0
  354. package/template/.cursor/skills/yss-mybatis/SKILL.md +77 -0
  355. package/template/.cursor/skills/yss-mybatis/agents/openai.yaml +5 -0
  356. package/template/.cursor/skills/yss-mybatis/assets/BaseRepository.java +112 -0
  357. package/template/.cursor/skills/yss-mybatis/assets/EntityQueryAspect.java +37 -0
  358. package/template/.cursor/skills/yss-mybatis/assets/MybatisBaseConfiguration.java +18 -0
  359. package/template/.cursor/skills/yss-mybatis/assets/PageQueryEntityConfigration.java +18 -0
  360. package/template/.cursor/skills/yss-mybatis/references/README.md +57 -0
  361. package/template/.cursor/skills/yss-mybatis/references/source-index.md +93 -0
  362. package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +82 -0
  363. package/template/.cursor/skills/yss-openapi-governance/SKILL.md +130 -0
  364. package/template/.cursor/skills/yss-openapi-governance/agents/openai.yaml +4 -0
  365. package/template/.cursor/skills/yss-page-module-development/SKILL.md +153 -0
  366. package/template/.cursor/skills/yss-page-module-development/agents/openai.yaml +5 -0
  367. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +32 -0
  368. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +158 -0
  369. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +188 -0
  370. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +256 -0
  371. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +76 -0
  372. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/constant.ts +128 -0
  373. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +144 -0
  374. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +141 -0
  375. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/index.vue +175 -0
  376. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/style.less +83 -0
  377. package/template/.cursor/skills/yss-page-module-development/references/frontend-docs.md +11 -0
  378. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +49 -0
  379. package/template/.cursor/skills/yss-product-lifecycle/agents/openai.yaml +4 -0
  380. package/template/.cursor/skills/yss-product-lifecycle/references/artifact-dependencies.md +32 -0
  381. package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +122 -0
  382. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +521 -0
  383. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +103 -0
  384. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +107 -0
  385. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +40 -0
  386. package/template/.cursor/skills/yss-repository/SKILL.md +76 -0
  387. package/template/.cursor/skills/yss-repository/agents/openai.yaml +5 -0
  388. package/template/{.agents/skills/yss-backend-scaffold-infrastructure/SKILL.md → .cursor/skills/yss-repository/references/infrastructure-layer-guide.md} +0 -7
  389. package/template/.cursor/skills/yss-resilience4j/SKILL.md +46 -0
  390. package/template/.cursor/skills/yss-resilience4j/agents/openai.yaml +4 -0
  391. package/template/{.codex/skills/yss-jdbc → .cursor/skills/yss-resilience4j}/references/source-index.md +6 -6
  392. package/template/.cursor/skills/yss-router/SKILL.md +49 -0
  393. package/template/.cursor/skills/yss-router/agents/openai.yaml +4 -0
  394. package/template/.cursor/skills/yss-router/references/boundaries.md +50 -0
  395. package/template/.cursor/skills/yss-router/references/router-contract.yaml +245 -0
  396. package/template/.cursor/skills/yss-router/references/slice-implementation-contract.md +113 -0
  397. package/template/.cursor/skills/yss-router/references/yss-skill-execution-result.md +62 -0
  398. package/template/.cursor/skills/yss-security-algorithm/SKILL.md +52 -0
  399. package/template/.cursor/skills/yss-security-algorithm/agents/openai.yaml +4 -0
  400. package/template/{.hermes/skills/yss-jdbc → .cursor/skills/yss-security-algorithm}/references/source-index.md +7 -5
  401. package/template/.cursor/skills/yss-source-index/SKILL.md +63 -0
  402. package/template/.cursor/skills/yss-source-index/agents/openai.yaml +4 -0
  403. package/template/.cursor/skills/yss-source-index/references/source-location.md +18 -0
  404. package/template/.cursor/skills/yss-source-index/references/source-map-config.md +30 -0
  405. package/template/.cursor/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +24 -0
  406. package/template/.cursor/skills/yss-source-index/scripts/refresh-yss-skill-index.test.mjs +15 -0
  407. package/template/.cursor/skills/yss-ui/SKILL.md +169 -0
  408. package/template/.cursor/skills/yss-ui/agents/openai.yaml +5 -0
  409. package/template/.cursor/skills/yss-ui/assets/demos/button/auth-basic.vue +24 -0
  410. package/template/.cursor/skills/yss-ui/assets/demos/button/auth-dropdown.vue +29 -0
  411. package/template/.cursor/skills/yss-ui/assets/demos/button/permission.vue +10 -0
  412. package/template/.cursor/skills/yss-ui/assets/demos/button/size.vue +12 -0
  413. package/template/.cursor/skills/yss-ui/assets/demos/button/states.vue +12 -0
  414. package/template/.cursor/skills/yss-ui/assets/demos/card/basic/index.vue +54 -0
  415. package/template/.cursor/skills/yss-ui/assets/demos/card/basic/style.less +41 -0
  416. package/template/.cursor/skills/yss-ui/assets/demos/card/cover/index.vue +25 -0
  417. package/template/.cursor/skills/yss-ui/assets/demos/card/flexible-layout/index.vue +122 -0
  418. package/template/.cursor/skills/yss-ui/assets/demos/card/flexible-layout/style.less +191 -0
  419. package/template/.cursor/skills/yss-ui/assets/demos/card/header-extra/index.vue +260 -0
  420. package/template/.cursor/skills/yss-ui/assets/demos/card/header-extra/style.less +124 -0
  421. package/template/.cursor/skills/yss-ui/assets/demos/card/layout-metrics/constants.ts +61 -0
  422. package/template/.cursor/skills/yss-ui/assets/demos/card/layout-metrics/index.vue +72 -0
  423. package/template/.cursor/skills/yss-ui/assets/demos/card/layout-metrics/metrics-cards.vue +70 -0
  424. package/template/.cursor/skills/yss-ui/assets/demos/card/layout-metrics/style.less +232 -0
  425. package/template/.cursor/skills/yss-ui/assets/demos/card/loading/index.vue +19 -0
  426. package/template/.cursor/skills/yss-ui/assets/demos/card/meta/index.vue +19 -0
  427. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/basic/constants.ts +44 -0
  428. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/basic/hooks/useConditionBasic.ts +18 -0
  429. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/basic/index.vue +100 -0
  430. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/linked/constants.ts +51 -0
  431. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/linked/hooks/useConditionLinked.ts +29 -0
  432. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/linked/index.vue +23 -0
  433. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/nesting-between/constants.ts +35 -0
  434. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/nesting-between/hooks/useConditionNesting.ts +25 -0
  435. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/nesting-between/index.vue +24 -0
  436. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/remote/constants.ts +7 -0
  437. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/remote/hooks/useConditionRemote.ts +75 -0
  438. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/remote/index.vue +23 -0
  439. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/validation/constants.ts +42 -0
  440. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/validation/hooks/useConditionBasic.ts +22 -0
  441. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/validation/index.vue +138 -0
  442. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/validation-custom/constants.ts +42 -0
  443. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/validation-custom/hooks/useConditionBasic.ts +22 -0
  444. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/validation-custom/index.vue +134 -0
  445. package/template/.cursor/skills/yss-ui/assets/demos/cron/basic/index.vue +54 -0
  446. package/template/.cursor/skills/yss-ui/assets/demos/cron/select/index.vue +145 -0
  447. package/template/.cursor/skills/yss-ui/assets/demos/echarts/basic.vue +30 -0
  448. package/template/.cursor/skills/yss-ui/assets/demos/echarts/calendar-heatmap.vue +49 -0
  449. package/template/.cursor/skills/yss-ui/assets/demos/echarts/candlestick.vue +30 -0
  450. package/template/.cursor/skills/yss-ui/assets/demos/echarts/dark.vue +40 -0
  451. package/template/.cursor/skills/yss-ui/assets/demos/echarts/expose-methods.vue +97 -0
  452. package/template/.cursor/skills/yss-ui/assets/demos/echarts/funnel.vue +42 -0
  453. package/template/.cursor/skills/yss-ui/assets/demos/echarts/gauge.vue +25 -0
  454. package/template/.cursor/skills/yss-ui/assets/demos/echarts/line.vue +24 -0
  455. package/template/.cursor/skills/yss-ui/assets/demos/echarts/mix.vue +33 -0
  456. package/template/.cursor/skills/yss-ui/assets/demos/echarts/pie.vue +34 -0
  457. package/template/.cursor/skills/yss-ui/assets/demos/echarts/radar.vue +38 -0
  458. package/template/.cursor/skills/yss-ui/assets/demos/echarts/ring-segment.vue +77 -0
  459. package/template/.cursor/skills/yss-ui/assets/demos/echarts/scatter.vue +23 -0
  460. package/template/.cursor/skills/yss-ui/assets/demos/echarts/stacked-area.vue +55 -0
  461. package/template/.cursor/skills/yss-ui/assets/demos/echarts/stacked-bar.vue +52 -0
  462. package/template/.cursor/skills/yss-ui/assets/demos/echarts/treemap.vue +30 -0
  463. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/all-types/hooks/useAllTypes.ts +259 -0
  464. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/all-types/index.vue +33 -0
  465. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/async-remote/hooks/useAsyncRemote.ts +201 -0
  466. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/async-remote/index.vue +45 -0
  467. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/basic/index.vue +104 -0
  468. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/big-data/index.vue +82 -0
  469. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/custom-rule/index.vue +114 -0
  470. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/direct-editable/index.vue +94 -0
  471. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/drag/index.vue +125 -0
  472. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/filter/index.vue +107 -0
  473. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/linkage/index.vue +181 -0
  474. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/pagination-action/index.vue +131 -0
  475. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/required/index.vue +95 -0
  476. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/row-edit/index.vue +220 -0
  477. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/row-options/index.vue +165 -0
  478. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/slot-linkage/index.vue +184 -0
  479. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/submit-view/index.vue +107 -0
  480. package/template/.cursor/skills/yss-ui/assets/demos/file-import/basic.vue +54 -0
  481. package/template/.cursor/skills/yss-ui/assets/demos/file-import/formily.vue +42 -0
  482. package/template/.cursor/skills/yss-ui/assets/demos/file-import/multiple.vue +33 -0
  483. package/template/.cursor/skills/yss-ui/assets/demos/file-import/result-slot.vue +30 -0
  484. package/template/.cursor/skills/yss-ui/assets/demos/formily/actions.vue +61 -0
  485. package/template/.cursor/skills/yss-ui/assets/demos/formily/align.vue +56 -0
  486. package/template/.cursor/skills/yss-ui/assets/demos/formily/async-validate.vue +69 -0
  487. package/template/.cursor/skills/yss-ui/assets/demos/formily/basic.vue +317 -0
  488. package/template/.cursor/skills/yss-ui/assets/demos/formily/collapse.vue +104 -0
  489. package/template/.cursor/skills/yss-ui/assets/demos/formily/custom-component.vue +75 -0
  490. package/template/.cursor/skills/yss-ui/assets/demos/formily/disabled.vue +71 -0
  491. package/template/.cursor/skills/yss-ui/assets/demos/formily/dynamic-array.vue +74 -0
  492. package/template/.cursor/skills/yss-ui/assets/demos/formily/dynamic.vue +59 -0
  493. package/template/.cursor/skills/yss-ui/assets/demos/formily/effects.vue +117 -0
  494. package/template/.cursor/skills/yss-ui/assets/demos/formily/events-inline.vue +82 -0
  495. package/template/.cursor/skills/yss-ui/assets/demos/formily/events-scope.vue +101 -0
  496. package/template/.cursor/skills/yss-ui/assets/demos/formily/grid.vue +71 -0
  497. package/template/.cursor/skills/yss-ui/assets/demos/formily/group.vue +102 -0
  498. package/template/.cursor/skills/yss-ui/assets/demos/formily/helper-slot.vue +50 -0
  499. package/template/.cursor/skills/yss-ui/assets/demos/formily/label-tip.vue +42 -0
  500. package/template/.cursor/skills/yss-ui/assets/demos/formily/linkage-multi.vue +127 -0
  501. package/template/.cursor/skills/yss-ui/assets/demos/formily/linkage.vue +78 -0
  502. package/template/.cursor/skills/yss-ui/assets/demos/formily/modes.vue +72 -0
  503. package/template/.cursor/skills/yss-ui/assets/demos/formily/remote-enum.vue +88 -0
  504. package/template/.cursor/skills/yss-ui/assets/demos/formily/slot.vue +54 -0
  505. package/template/.cursor/skills/yss-ui/assets/demos/formily/steps.vue +135 -0
  506. package/template/.cursor/skills/yss-ui/assets/demos/formily/submit-failed.vue +72 -0
  507. package/template/.cursor/skills/yss-ui/assets/demos/monaco/basic.vue +40 -0
  508. package/template/.cursor/skills/yss-ui/assets/demos/monaco/diff-basic.vue +143 -0
  509. package/template/.cursor/skills/yss-ui/assets/demos/monaco/fullscreen.vue +84 -0
  510. package/template/.cursor/skills/yss-ui/assets/demos/monaco/history-log-viewer.vue +586 -0
  511. package/template/.cursor/skills/yss-ui/assets/demos/monaco/log-viewer.vue +260 -0
  512. package/template/.cursor/skills/yss-ui/assets/demos/monaco/mock/mockLogApi.ts +199 -0
  513. package/template/.cursor/skills/yss-ui/assets/demos/monaco/monaco.vue +66 -0
  514. package/template/.cursor/skills/yss-ui/assets/demos/monaco/readonly.vue +20 -0
  515. package/template/.cursor/skills/yss-ui/assets/demos/monaco/resizable.vue +22 -0
  516. package/template/.cursor/skills/yss-ui/assets/demos/monaco/sql-schema.vue +20 -0
  517. package/template/.cursor/skills/yss-ui/assets/demos/monaco/switch-lang-theme.vue +48 -0
  518. package/template/.cursor/skills/yss-ui/assets/demos/split-pane/tree-table/constant.ts +18 -0
  519. package/template/.cursor/skills/yss-ui/assets/demos/split-pane/tree-table/index.vue +60 -0
  520. package/template/.cursor/skills/yss-ui/assets/demos/split-pane/tree-table/style.less +39 -0
  521. package/template/.cursor/skills/yss-ui/assets/demos/split-pane/tree-table-layout/hooks/useTreeTable.ts +158 -0
  522. package/template/.cursor/skills/yss-ui/assets/demos/split-pane/tree-table-layout/index.vue +88 -0
  523. package/template/.cursor/skills/yss-ui/assets/demos/split-pane/tree-table-layout/style.less +73 -0
  524. package/template/.cursor/skills/yss-ui/assets/demos/table/action/index.vue +83 -0
  525. package/template/.cursor/skills/yss-ui/assets/demos/table/action/style.less +3 -0
  526. package/template/.cursor/skills/yss-ui/assets/demos/table/action-auth/index.vue +41 -0
  527. package/template/.cursor/skills/yss-ui/assets/demos/table/action-slot/index.vue +62 -0
  528. package/template/.cursor/skills/yss-ui/assets/demos/table/action-slot/style.less +36 -0
  529. package/template/.cursor/skills/yss-ui/assets/demos/table/basic/hooks/useBasicTable.ts +205 -0
  530. package/template/.cursor/skills/yss-ui/assets/demos/table/basic/index.vue +89 -0
  531. package/template/.cursor/skills/yss-ui/assets/demos/table/basic/style.less +28 -0
  532. package/template/.cursor/skills/yss-ui/assets/demos/table/column-custom-search/hooks/useColumnCustomSearch.ts +236 -0
  533. package/template/.cursor/skills/yss-ui/assets/demos/table/column-custom-search/index.vue +141 -0
  534. package/template/.cursor/skills/yss-ui/assets/demos/table/column-custom-search/style.less +48 -0
  535. package/template/.cursor/skills/yss-ui/assets/demos/table/drag/index.vue +42 -0
  536. package/template/.cursor/skills/yss-ui/assets/demos/table/expand/action-expand.vue +142 -0
  537. package/template/.cursor/skills/yss-ui/assets/demos/table/expand/index.vue +35 -0
  538. package/template/.cursor/skills/yss-ui/assets/demos/table/filter-async/index.vue +93 -0
  539. package/template/.cursor/skills/yss-ui/assets/demos/table/filter-auto/index.vue +99 -0
  540. package/template/.cursor/skills/yss-ui/assets/demos/table/filter-custom/index.vue +72 -0
  541. package/template/.cursor/skills/yss-ui/assets/demos/table/filter-local/index.vue +112 -0
  542. package/template/.cursor/skills/yss-ui/assets/demos/table/filter-mixed/index.vue +142 -0
  543. package/template/.cursor/skills/yss-ui/assets/demos/table/filter-remote/constant.ts +129 -0
  544. package/template/.cursor/skills/yss-ui/assets/demos/table/filter-remote/hooks/useTableData.ts +186 -0
  545. package/template/.cursor/skills/yss-ui/assets/demos/table/filter-remote/index.vue +73 -0
  546. package/template/.cursor/skills/yss-ui/assets/demos/table/group-header/index.vue +86 -0
  547. package/template/.cursor/skills/yss-ui/assets/demos/table/group-header/style.less +3 -0
  548. package/template/.cursor/skills/yss-ui/assets/demos/table/header-height/index.vue +29 -0
  549. package/template/.cursor/skills/yss-ui/assets/demos/table/header-height/style.less +9 -0
  550. package/template/.cursor/skills/yss-ui/assets/demos/table/merge-cells/hooks/useMergeCells.ts +183 -0
  551. package/template/.cursor/skills/yss-ui/assets/demos/table/merge-cells/index.vue +17 -0
  552. package/template/.cursor/skills/yss-ui/assets/demos/table/merge-cells/style.less +3 -0
  553. package/template/.cursor/skills/yss-ui/assets/demos/table/pagination-remote/hooks/usePaginationRemote.ts +106 -0
  554. package/template/.cursor/skills/yss-ui/assets/demos/table/pagination-remote/index.vue +24 -0
  555. package/template/.cursor/skills/yss-ui/assets/demos/table/renderers/index.vue +64 -0
  556. package/template/.cursor/skills/yss-ui/assets/demos/table/selection-checkbox/index.vue +88 -0
  557. package/template/.cursor/skills/yss-ui/assets/demos/table/selection-checkbox/style.less +9 -0
  558. package/template/.cursor/skills/yss-ui/assets/demos/table/selection-radio/index.vue +57 -0
  559. package/template/.cursor/skills/yss-ui/assets/demos/table/selection-radio/style.less +9 -0
  560. package/template/.cursor/skills/yss-ui/assets/demos/table/transform/index.vue +32 -0
  561. package/template/.cursor/skills/yss-ui/assets/demos/tree/basic-left/index.vue +124 -0
  562. package/template/.cursor/skills/yss-ui/assets/demos/tree/datasource-group/index.vue +31 -0
  563. package/template/.cursor/skills/yss-ui/assets/demos/tree/multi-checkable/index.vue +86 -0
  564. package/template/.cursor/skills/yss-ui/assets/demos/tree/multiple-select/index.vue +76 -0
  565. package/template/.cursor/skills/yss-ui/assets/demos/tree/resource-list/index.vue +41 -0
  566. package/template/.cursor/skills/yss-ui/assets/demos/tree/search-toolbar/index.vue +156 -0
  567. package/template/.cursor/skills/yss-ui/assets/demos/tree/slot-icon/index.vue +36 -0
  568. package/template/.cursor/skills/yss-ui/assets/demos/tree/slot-switcher-icon/index.vue +34 -0
  569. package/template/.cursor/skills/yss-ui/assets/docs/components/button.md +79 -0
  570. package/template/.cursor/skills/yss-ui/assets/docs/components/card.md +162 -0
  571. package/template/.cursor/skills/yss-ui/assets/docs/components/conditionBuilder.md +114 -0
  572. package/template/.cursor/skills/yss-ui/assets/docs/components/cron.md +77 -0
  573. package/template/.cursor/skills/yss-ui/assets/docs/components/echarts.md +110 -0
  574. package/template/.cursor/skills/yss-ui/assets/docs/components/editTable.md +212 -0
  575. package/template/.cursor/skills/yss-ui/assets/docs/components/fileImport.md +85 -0
  576. package/template/.cursor/skills/yss-ui/assets/docs/components/formily.md +370 -0
  577. package/template/.cursor/skills/yss-ui/assets/docs/components/monaco.md +369 -0
  578. package/template/.cursor/skills/yss-ui/assets/docs/components/sheet.md +169 -0
  579. package/template/.cursor/skills/yss-ui/assets/docs/components/split-pane.md +45 -0
  580. package/template/.cursor/skills/yss-ui/assets/docs/components/table.md +398 -0
  581. package/template/.cursor/skills/yss-ui/assets/docs/components/tree.md +102 -0
  582. package/template/.cursor/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +166 -0
  583. package/template/.cursor/skills/yss-ui/assets/docs/guide/index.md +132 -0
  584. package/template/.cursor/skills/yss-ui/assets/docs/guide/installation.md +97 -0
  585. package/template/.cursor/skills/yss-ui/assets/docs/guide/jsp.md +227 -0
  586. package/template/.cursor/skills/yss-ui/assets/docs/guide/llms.md +295 -0
  587. package/template/.cursor/skills/yss-ui/assets/docs/guide/monorepo-versioning.md +149 -0
  588. package/template/.cursor/skills/yss-ui/assets/docs/guide/release-workflow.md +251 -0
  589. package/template/.cursor/skills/yss-ui/assets/docs/hooks/use-table-height.md +101 -0
  590. package/template/.cursor/skills/yss-ui/assets/docs/hooks/use-tree-height.md +115 -0
  591. package/template/.cursor/skills/yss-ui/assets/docs/hooks/useFullscreen.md +130 -0
  592. package/template/.cursor/skills/yss-ui/assets/docs/hooks/useLoading.md +97 -0
  593. package/template/.cursor/skills/yss-ui/assets/docs/root/resources.md +18 -0
  594. package/template/.cursor/skills/yss-ui/assets/keyword-index.json +53 -0
  595. package/template/.cursor/skills/yss-ui/assets/keyword-index.md +47 -0
  596. package/template/.cursor/skills/yss-ui/assets/reference-index.json +55 -0
  597. package/template/.cursor/skills/yss-ui/assets/reference-index.md +74 -0
  598. package/template/.cursor/skills/yss-ui/assets/scenario-index.json +50 -0
  599. package/template/.cursor/skills/yss-ui/assets/scenario-index.md +41 -0
  600. package/template/.cursor/skills/yss-ui/references/accessibility.md +23 -0
  601. package/template/.cursor/skills/yss-ui/references/antdv-compatibility.md +39 -0
  602. package/template/.cursor/skills/yss-ui/references/checklist.md +110 -0
  603. package/template/.cursor/skills/yss-ui/references/component-routing.md +31 -0
  604. package/template/.cursor/skills/yss-ui/references/frontend-docs.md +11 -0
  605. package/template/.cursor/skills/yss-ui/references/migration-antdv-to-yss.md +20 -0
  606. package/template/.cursor/skills/yss-ui/references/quick-recipes.md +280 -0
  607. package/template/.cursor/skills/yss-ui/references/theme-locale-overlay.md +25 -0
  608. package/template/.cursor/skills/yss-ui/references/verification.md +20 -0
  609. package/template/.cursor/skills/yss-up-springboot3/SKILL.md +40 -0
  610. package/template/.cursor/skills/yss-up-springboot3/agents/openai.yaml +4 -0
  611. package/template/.cursor/skills/yss-use-table-height/SKILL.md +340 -0
  612. package/template/.cursor/skills/yss-use-table-height/agents/openai.yaml +5 -0
  613. package/template/.cursor/skills/yss-use-table-height/references/frontend-docs.md +9 -0
  614. package/template/.cursor/skills/yss-use-tree-height/SKILL.md +431 -0
  615. package/template/.cursor/skills/yss-use-tree-height/agents/openai.yaml +5 -0
  616. package/template/.cursor/skills/yss-use-tree-height/references/frontend-docs.md +9 -0
  617. package/template/.cursor/skills/yss-userinfo/SKILL.md +49 -0
  618. package/template/.cursor/skills/yss-userinfo/agents/openai.yaml +4 -0
  619. package/template/{.claude/skills/yss-jdbc → .cursor/skills/yss-userinfo}/references/source-index.md +6 -5
  620. package/template/.cursor/skills/yss-validation/SKILL.md +56 -0
  621. package/template/.cursor/skills/yss-validation/agents/openai.yaml +4 -0
  622. package/template/{.agents/skills/yss-jdbc → .cursor/skills/yss-validation}/references/source-index.md +6 -6
  623. package/template/.cursor/skills/yss-web-controller/SKILL.md +78 -0
  624. package/template/.cursor/skills/yss-web-controller/agents/openai.yaml +5 -0
  625. package/template/.cursor/skills/yss-web-controller/assets/templates/Controller.java.template +73 -0
  626. package/template/.cursor/skills/yss-web-controller/assets/templates/WebConvertor.java.template +23 -0
  627. package/template/.cursor/skills/yss-web-controller/assets/templates/domain/dto/cmd/AddCmd.java.template +23 -0
  628. package/template/.cursor/skills/yss-web-controller/assets/templates/domain/dto/cmd/UpdateCmd.java.template +23 -0
  629. package/template/.cursor/skills/yss-web-controller/assets/templates/domain/dto/query/PageQuery.java.template +21 -0
  630. package/template/.cursor/skills/yss-web-controller/assets/templates/domain/vo/VO.java.template +20 -0
  631. package/template/{.claude/skills/yss-backend-scaffold-web/SKILL.md → .cursor/skills/yss-web-controller/references/web-adapter-layer-guide.md} +0 -7
  632. package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.mjs +77 -0
  633. package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.test.mjs +19 -0
  634. package/template/.hermes/skills/ask-matt/SKILL.md +8 -2
  635. package/template/.hermes/skills/code-review/SKILL.md +6 -4
  636. package/template/.hermes/skills/diagnosing-bugs/SKILL.md +2 -4
  637. package/template/.hermes/skills/domain-modeling/SKILL.md +1 -1
  638. package/template/.hermes/skills/grilling/SKILL.md +7 -1
  639. package/template/.hermes/skills/high-fidelity-html-prototype/SKILL.md +1 -1
  640. package/template/.hermes/skills/implement/SKILL.md +1 -1
  641. package/template/.hermes/skills/to-spec/SKILL.md +1 -1
  642. package/template/.hermes/skills/triage/SKILL.md +2 -2
  643. package/template/.hermes/skills/wait-what/SKILL.md +2 -2
  644. package/template/.hermes/skills/wayfinder/SKILL.md +1 -1
  645. package/template/.hermes/skills/yss-api-integration/SKILL.md +2 -0
  646. package/template/.hermes/skills/yss-application/SKILL.md +52 -0
  647. package/template/.hermes/skills/yss-application/agents/openai.yaml +5 -0
  648. package/template/.hermes/skills/yss-application/references/application-layer-guide.md +132 -0
  649. package/template/.hermes/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  650. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
  651. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
  652. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
  653. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
  654. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
  655. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
  656. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
  657. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
  658. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
  659. package/template/.hermes/skills/yss-domain/SKILL.md +5 -0
  660. package/template/.hermes/skills/yss-domain/references/domain-layer-guide.md +274 -0
  661. package/template/.hermes/skills/yss-microapp-commit/SKILL.md +2 -0
  662. package/template/.hermes/skills/yss-product-lifecycle/SKILL.md +43 -91
  663. package/template/.hermes/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -5
  664. package/template/.hermes/skills/yss-product-lifecycle/references/orchestration-contract.yaml +88 -22
  665. package/template/.hermes/skills/yss-product-lifecycle/references/orchestration.md +5 -4
  666. package/template/.hermes/skills/yss-product-lifecycle/references/state-model.md +4 -1
  667. package/template/.hermes/skills/yss-prototype-stage/SKILL.md +1 -1
  668. package/template/.hermes/skills/yss-repository/SKILL.md +5 -0
  669. package/template/.hermes/skills/yss-repository/references/infrastructure-layer-guide.md +192 -0
  670. package/template/.hermes/skills/yss-router/references/boundaries.md +2 -6
  671. package/template/.hermes/skills/yss-router/references/router-contract.yaml +8 -12
  672. package/template/.hermes/skills/yss-source-index/references/source-map-config.md +0 -4
  673. package/template/.hermes/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
  674. package/template/.hermes/skills/yss-web-controller/SKILL.md +1 -0
  675. package/template/.hermes/skills/yss-web-controller/references/web-adapter-layer-guide.md +168 -0
  676. package/template/.pi/skills/ask-matt/SKILL.md +8 -2
  677. package/template/.pi/skills/code-review/SKILL.md +6 -4
  678. package/template/.pi/skills/diagnosing-bugs/SKILL.md +2 -4
  679. package/template/.pi/skills/domain-modeling/SKILL.md +1 -1
  680. package/template/.pi/skills/grilling/SKILL.md +7 -1
  681. package/template/.pi/skills/high-fidelity-html-prototype/SKILL.md +1 -1
  682. package/template/.pi/skills/implement/SKILL.md +1 -1
  683. package/template/.pi/skills/to-spec/SKILL.md +1 -1
  684. package/template/.pi/skills/triage/SKILL.md +2 -2
  685. package/template/.pi/skills/wait-what/SKILL.md +2 -2
  686. package/template/.pi/skills/wayfinder/SKILL.md +1 -1
  687. package/template/.pi/skills/yss-api-integration/SKILL.md +2 -0
  688. package/template/.pi/skills/yss-application/SKILL.md +52 -0
  689. package/template/.pi/skills/yss-application/agents/openai.yaml +5 -0
  690. package/template/.pi/skills/yss-application/references/application-layer-guide.md +132 -0
  691. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  692. package/template/.pi/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
  693. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
  694. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
  695. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
  696. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
  697. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
  698. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
  699. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
  700. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
  701. package/template/.pi/skills/yss-domain/SKILL.md +5 -0
  702. package/template/.pi/skills/yss-domain/references/domain-layer-guide.md +274 -0
  703. package/template/.pi/skills/yss-microapp-commit/SKILL.md +2 -0
  704. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +43 -91
  705. package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -5
  706. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +88 -22
  707. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +5 -4
  708. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +4 -1
  709. package/template/.pi/skills/yss-prototype-stage/SKILL.md +1 -1
  710. package/template/.pi/skills/yss-repository/SKILL.md +5 -0
  711. package/template/.pi/skills/yss-repository/references/infrastructure-layer-guide.md +192 -0
  712. package/template/.pi/skills/yss-router/references/boundaries.md +2 -6
  713. package/template/.pi/skills/yss-router/references/router-contract.yaml +8 -12
  714. package/template/.pi/skills/yss-source-index/references/source-map-config.md +0 -4
  715. package/template/.pi/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
  716. package/template/.pi/skills/yss-web-controller/SKILL.md +1 -0
  717. package/template/.pi/skills/yss-web-controller/references/web-adapter-layer-guide.md +168 -0
  718. package/template/.qoder/skills/ask-matt/SKILL.md +8 -2
  719. package/template/.qoder/skills/code-review/SKILL.md +6 -4
  720. package/template/.qoder/skills/diagnosing-bugs/SKILL.md +2 -4
  721. package/template/.qoder/skills/domain-modeling/SKILL.md +1 -1
  722. package/template/.qoder/skills/grilling/SKILL.md +7 -1
  723. package/template/.qoder/skills/high-fidelity-html-prototype/SKILL.md +1 -1
  724. package/template/.qoder/skills/implement/SKILL.md +1 -1
  725. package/template/.qoder/skills/to-spec/SKILL.md +1 -1
  726. package/template/.qoder/skills/triage/SKILL.md +2 -2
  727. package/template/.qoder/skills/wait-what/SKILL.md +2 -2
  728. package/template/.qoder/skills/wayfinder/SKILL.md +1 -1
  729. package/template/.qoder/skills/yss-api-integration/SKILL.md +2 -0
  730. package/template/.qoder/skills/yss-application/SKILL.md +52 -0
  731. package/template/.qoder/skills/yss-application/agents/openai.yaml +5 -0
  732. package/template/.qoder/skills/yss-application/references/application-layer-guide.md +132 -0
  733. package/template/.qoder/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  734. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
  735. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
  736. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
  737. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
  738. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
  739. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
  740. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
  741. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
  742. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
  743. package/template/.qoder/skills/yss-domain/SKILL.md +5 -0
  744. package/template/.qoder/skills/yss-domain/references/domain-layer-guide.md +274 -0
  745. package/template/.qoder/skills/yss-microapp-commit/SKILL.md +2 -0
  746. package/template/.qoder/skills/yss-product-lifecycle/SKILL.md +43 -91
  747. package/template/.qoder/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -5
  748. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration-contract.yaml +88 -22
  749. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration.md +5 -4
  750. package/template/.qoder/skills/yss-product-lifecycle/references/state-model.md +4 -1
  751. package/template/.qoder/skills/yss-prototype-stage/SKILL.md +1 -1
  752. package/template/.qoder/skills/yss-repository/SKILL.md +5 -0
  753. package/template/.qoder/skills/yss-repository/references/infrastructure-layer-guide.md +192 -0
  754. package/template/.qoder/skills/yss-router/references/boundaries.md +2 -6
  755. package/template/.qoder/skills/yss-router/references/router-contract.yaml +8 -12
  756. package/template/.qoder/skills/yss-source-index/references/source-map-config.md +0 -4
  757. package/template/.qoder/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
  758. package/template/.qoder/skills/yss-web-controller/SKILL.md +1 -0
  759. package/template/.qoder/skills/yss-web-controller/references/web-adapter-layer-guide.md +168 -0
  760. package/template/.trae/skills/ask-matt/SKILL.md +8 -2
  761. package/template/.trae/skills/code-review/SKILL.md +6 -4
  762. package/template/.trae/skills/diagnosing-bugs/SKILL.md +2 -4
  763. package/template/.trae/skills/domain-modeling/SKILL.md +1 -1
  764. package/template/.trae/skills/grilling/SKILL.md +7 -1
  765. package/template/.trae/skills/high-fidelity-html-prototype/SKILL.md +1 -1
  766. package/template/.trae/skills/implement/SKILL.md +1 -1
  767. package/template/.trae/skills/to-spec/SKILL.md +1 -1
  768. package/template/.trae/skills/triage/SKILL.md +2 -2
  769. package/template/.trae/skills/wait-what/SKILL.md +2 -2
  770. package/template/.trae/skills/wayfinder/SKILL.md +1 -1
  771. package/template/.trae/skills/yss-api-integration/SKILL.md +2 -0
  772. package/template/.trae/skills/yss-application/SKILL.md +52 -0
  773. package/template/.trae/skills/yss-application/agents/openai.yaml +5 -0
  774. package/template/.trae/skills/yss-application/references/application-layer-guide.md +132 -0
  775. package/template/.trae/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  776. package/template/.trae/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
  777. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
  778. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
  779. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
  780. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
  781. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
  782. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
  783. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
  784. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
  785. package/template/.trae/skills/yss-domain/SKILL.md +5 -0
  786. package/template/.trae/skills/yss-domain/references/domain-layer-guide.md +274 -0
  787. package/template/.trae/skills/yss-microapp-commit/SKILL.md +2 -0
  788. package/template/.trae/skills/yss-product-lifecycle/SKILL.md +43 -91
  789. package/template/.trae/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -5
  790. package/template/.trae/skills/yss-product-lifecycle/references/orchestration-contract.yaml +88 -22
  791. package/template/.trae/skills/yss-product-lifecycle/references/orchestration.md +5 -4
  792. package/template/.trae/skills/yss-product-lifecycle/references/state-model.md +4 -1
  793. package/template/.trae/skills/yss-prototype-stage/SKILL.md +1 -1
  794. package/template/.trae/skills/yss-repository/SKILL.md +5 -0
  795. package/template/.trae/skills/yss-repository/references/infrastructure-layer-guide.md +192 -0
  796. package/template/.trae/skills/yss-router/references/boundaries.md +2 -6
  797. package/template/.trae/skills/yss-router/references/router-contract.yaml +8 -12
  798. package/template/.trae/skills/yss-source-index/references/source-map-config.md +0 -4
  799. package/template/.trae/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
  800. package/template/.trae/skills/yss-web-controller/SKILL.md +1 -0
  801. package/template/.trae/skills/yss-web-controller/references/web-adapter-layer-guide.md +168 -0
  802. package/template/AGENTS.md +16 -3
  803. package/template/CONTEXT.md +8 -4
  804. package/template/README.md +2 -1
  805. package/template/docs/adr/0007-lifecycle-native-work-units.md +5 -0
  806. package/template/docs/agents/README.md +6 -4
  807. package/template/docs/agents/skills-maintenance.md +14 -4
  808. package/template/docs/agents/yss-skill-registry.yaml +498 -0
  809. package/template/docs/architecture/templates/engineering-baseline-review-template.md +2 -2
  810. package/template/docs/process/MATT-POCOCK-ENGINEERING-SKILLS.md +1 -1
  811. package/template/docs/process/lifecycle-artifact-map.md +19 -15
  812. package/template/docs/process/lifecycle-registry-baseline.json +15 -1
  813. package/template/docs/process/lifecycle-registry.yaml +77 -0
  814. package/template/docs/process/schemas/frontend-implementation-evidence.schema.json +39 -0
  815. package/template/docs/process/schemas/lifecycle-checkpoint.schema.json +56 -0
  816. package/template/docs/process/schemas/lifecycle-registry.schema.json +2 -2
  817. package/template/docs/process/templates/frontend-implementation-plan-template.yaml +16 -0
  818. package/template/docs/process/templates/frontend-implementation-verification-template.yaml +21 -0
  819. package/template/docs/process/templates/lifecycle-checkpoint-template.yaml +30 -0
  820. package/template/docs/process/templates/stage-checkpoint-template.md +9 -5
  821. package/template/docs/templates/build-architecture-checklist-template.md +5 -5
  822. package/template/docs/templates/implementation-routing-template.md +5 -5
  823. package/template/docs/templates/review-report-template.md +3 -3
  824. package/template/docs/templates/vertical-slice-ticket-template.md +4 -4
  825. package/template/docs/user-guide//344/272/247/345/223/201/347/240/224/345/217/221/345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/346/234/200/344/275/263/345/256/236/350/267/265.md +2 -1
  826. package/template/docs/user-guide//347/224/237/345/221/275/345/221/250/346/234/237/346/234/200/344/275/263/345/256/236/350/267/265.md +2 -2
  827. package/template/scripts/lib/lifecycle-registry.mjs +9 -4
  828. package/template/scripts/lib/scenario-checks.mjs +37 -15
  829. package/template/scripts/lib/skill-registry.mjs +198 -0
  830. package/template/scripts/lib/skill-supply-chain.mjs +39 -11
  831. package/template/scripts/verify-frontend-implementation-evidence +51 -0
  832. package/template/scripts/verify-lifecycle-checkpoint +37 -0
  833. package/template/scripts/verify-skill-registry +10 -0
  834. package/template/scripts/verify-template +6 -2
  835. package/template/scripts/verify-upstream-skill-source +32 -0
  836. package/template/skills-lock.json +205 -195
  837. package/template/yss-public-skills.json +2 -16
  838. package/template.manifest.json +12 -0
  839. package/template.snapshot.json +4 -4
  840. package/template/.agents/skills/batch-grill-me/agents/openai.yaml +0 -5
  841. package/template/.agents/skills/product-design-prototype/SKILL.md +0 -91
  842. package/template/.agents/skills/product-design-prototype/agents/openai.yaml +0 -4
  843. package/template/.agents/skills/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  844. package/template/.agents/skills/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  845. package/template/.agents/skills/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  846. package/template/.agents/skills/yss-dictionary/SKILL.md +0 -49
  847. package/template/.agents/skills/yss-dictionary/agents/openai.yaml +0 -4
  848. package/template/.agents/skills/yss-dictionary/references/source-index.md +0 -80
  849. package/template/.agents/skills/yss-jdbc/SKILL.md +0 -73
  850. package/template/.agents/skills/yss-jdbc/agents/openai.yaml +0 -5
  851. package/template/.agents/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
  852. package/template/.agents/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
  853. package/template/.agents/skills/yss-jdbc/assets/DsParam.java +0 -19
  854. package/template/.agents/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
  855. package/template/.agents/skills/yss-jdbc/references/README.md +0 -55
  856. package/template/.agents/skills/yss-log/SKILL.md +0 -48
  857. package/template/.agents/skills/yss-log/agents/openai.yaml +0 -4
  858. package/template/.agents/skills/yss-log/references/source-index.md +0 -34
  859. package/template/.agents/skills/yss-taskflow/SKILL.md +0 -58
  860. package/template/.agents/skills/yss-taskflow/agents/openai.yaml +0 -4
  861. package/template/.agents/skills/yss-taskflow/references/source-index.md +0 -158
  862. package/template/.claude/skills/batch-grill-me/SKILL.md +0 -15
  863. package/template/.claude/skills/batch-grill-me/agents/openai.yaml +0 -5
  864. package/template/.claude/skills/product-design-prototype/SKILL.md +0 -91
  865. package/template/.claude/skills/product-design-prototype/agents/openai.yaml +0 -4
  866. package/template/.claude/skills/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  867. package/template/.claude/skills/yss-dictionary/SKILL.md +0 -49
  868. package/template/.claude/skills/yss-dictionary/agents/openai.yaml +0 -4
  869. package/template/.claude/skills/yss-dictionary/references/source-index.md +0 -80
  870. package/template/.claude/skills/yss-jdbc/SKILL.md +0 -73
  871. package/template/.claude/skills/yss-jdbc/agents/openai.yaml +0 -5
  872. package/template/.claude/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
  873. package/template/.claude/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
  874. package/template/.claude/skills/yss-jdbc/assets/DsParam.java +0 -19
  875. package/template/.claude/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
  876. package/template/.claude/skills/yss-jdbc/references/README.md +0 -55
  877. package/template/.claude/skills/yss-log/SKILL.md +0 -48
  878. package/template/.claude/skills/yss-log/agents/openai.yaml +0 -4
  879. package/template/.claude/skills/yss-taskflow/SKILL.md +0 -58
  880. package/template/.claude/skills/yss-taskflow/agents/openai.yaml +0 -4
  881. package/template/.claude/skills/yss-taskflow/references/source-index.md +0 -158
  882. package/template/.codex/skills/batch-grill-me/SKILL.md +0 -15
  883. package/template/.codex/skills/batch-grill-me/agents/openai.yaml +0 -5
  884. package/template/.codex/skills/product-design-prototype/SKILL.md +0 -91
  885. package/template/.codex/skills/product-design-prototype/agents/openai.yaml +0 -4
  886. package/template/.codex/skills/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  887. package/template/.codex/skills/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  888. package/template/.codex/skills/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  889. package/template/.codex/skills/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  890. package/template/.codex/skills/yss-dictionary/SKILL.md +0 -49
  891. package/template/.codex/skills/yss-dictionary/agents/openai.yaml +0 -4
  892. package/template/.codex/skills/yss-dictionary/references/source-index.md +0 -80
  893. package/template/.codex/skills/yss-jdbc/SKILL.md +0 -73
  894. package/template/.codex/skills/yss-jdbc/agents/openai.yaml +0 -5
  895. package/template/.codex/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
  896. package/template/.codex/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
  897. package/template/.codex/skills/yss-jdbc/assets/DsParam.java +0 -19
  898. package/template/.codex/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
  899. package/template/.codex/skills/yss-jdbc/references/README.md +0 -55
  900. package/template/.codex/skills/yss-log/SKILL.md +0 -48
  901. package/template/.codex/skills/yss-log/agents/openai.yaml +0 -4
  902. package/template/.codex/skills/yss-log/references/source-index.md +0 -34
  903. package/template/.codex/skills/yss-taskflow/SKILL.md +0 -58
  904. package/template/.codex/skills/yss-taskflow/agents/openai.yaml +0 -4
  905. package/template/.codex/skills/yss-taskflow/references/source-index.md +0 -158
  906. package/template/.hermes/skills/batch-grill-me/SKILL.md +0 -15
  907. package/template/.hermes/skills/batch-grill-me/agents/openai.yaml +0 -5
  908. package/template/.hermes/skills/product-design-prototype/SKILL.md +0 -91
  909. package/template/.hermes/skills/product-design-prototype/agents/openai.yaml +0 -4
  910. package/template/.hermes/skills/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  911. package/template/.hermes/skills/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  912. package/template/.hermes/skills/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  913. package/template/.hermes/skills/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  914. package/template/.hermes/skills/yss-dictionary/SKILL.md +0 -49
  915. package/template/.hermes/skills/yss-dictionary/agents/openai.yaml +0 -4
  916. package/template/.hermes/skills/yss-dictionary/references/source-index.md +0 -80
  917. package/template/.hermes/skills/yss-jdbc/SKILL.md +0 -73
  918. package/template/.hermes/skills/yss-jdbc/agents/openai.yaml +0 -5
  919. package/template/.hermes/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
  920. package/template/.hermes/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
  921. package/template/.hermes/skills/yss-jdbc/assets/DsParam.java +0 -19
  922. package/template/.hermes/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
  923. package/template/.hermes/skills/yss-jdbc/references/README.md +0 -55
  924. package/template/.hermes/skills/yss-log/SKILL.md +0 -48
  925. package/template/.hermes/skills/yss-log/agents/openai.yaml +0 -4
  926. package/template/.hermes/skills/yss-log/references/source-index.md +0 -34
  927. package/template/.hermes/skills/yss-taskflow/SKILL.md +0 -58
  928. package/template/.hermes/skills/yss-taskflow/agents/openai.yaml +0 -4
  929. package/template/.hermes/skills/yss-taskflow/references/source-index.md +0 -158
  930. package/template/.pi/skills/batch-grill-me/SKILL.md +0 -15
  931. package/template/.pi/skills/batch-grill-me/agents/openai.yaml +0 -5
  932. package/template/.pi/skills/product-design-prototype/SKILL.md +0 -91
  933. package/template/.pi/skills/product-design-prototype/agents/openai.yaml +0 -4
  934. package/template/.pi/skills/yss-backend-scaffold-application/SKILL.md +0 -139
  935. package/template/.pi/skills/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  936. package/template/.pi/skills/yss-backend-scaffold-domain/SKILL.md +0 -281
  937. package/template/.pi/skills/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  938. package/template/.pi/skills/yss-backend-scaffold-infrastructure/SKILL.md +0 -199
  939. package/template/.pi/skills/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  940. package/template/.pi/skills/yss-backend-scaffold-web/SKILL.md +0 -175
  941. package/template/.pi/skills/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  942. package/template/.pi/skills/yss-dictionary/SKILL.md +0 -49
  943. package/template/.pi/skills/yss-dictionary/agents/openai.yaml +0 -4
  944. package/template/.pi/skills/yss-dictionary/references/source-index.md +0 -80
  945. package/template/.pi/skills/yss-jdbc/SKILL.md +0 -73
  946. package/template/.pi/skills/yss-jdbc/agents/openai.yaml +0 -5
  947. package/template/.pi/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
  948. package/template/.pi/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
  949. package/template/.pi/skills/yss-jdbc/assets/DsParam.java +0 -19
  950. package/template/.pi/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
  951. package/template/.pi/skills/yss-jdbc/references/README.md +0 -55
  952. package/template/.pi/skills/yss-jdbc/references/source-index.md +0 -33
  953. package/template/.pi/skills/yss-log/SKILL.md +0 -48
  954. package/template/.pi/skills/yss-log/agents/openai.yaml +0 -4
  955. package/template/.pi/skills/yss-log/references/source-index.md +0 -34
  956. package/template/.pi/skills/yss-taskflow/SKILL.md +0 -58
  957. package/template/.pi/skills/yss-taskflow/agents/openai.yaml +0 -4
  958. package/template/.pi/skills/yss-taskflow/references/source-index.md +0 -158
  959. package/template/.qoder/skills/batch-grill-me/SKILL.md +0 -15
  960. package/template/.qoder/skills/batch-grill-me/agents/openai.yaml +0 -5
  961. package/template/.qoder/skills/product-design-prototype/SKILL.md +0 -91
  962. package/template/.qoder/skills/product-design-prototype/agents/openai.yaml +0 -4
  963. package/template/.qoder/skills/yss-backend-scaffold-application/SKILL.md +0 -139
  964. package/template/.qoder/skills/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  965. package/template/.qoder/skills/yss-backend-scaffold-domain/SKILL.md +0 -281
  966. package/template/.qoder/skills/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  967. package/template/.qoder/skills/yss-backend-scaffold-infrastructure/SKILL.md +0 -199
  968. package/template/.qoder/skills/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  969. package/template/.qoder/skills/yss-backend-scaffold-web/SKILL.md +0 -175
  970. package/template/.qoder/skills/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  971. package/template/.qoder/skills/yss-dictionary/SKILL.md +0 -49
  972. package/template/.qoder/skills/yss-dictionary/agents/openai.yaml +0 -4
  973. package/template/.qoder/skills/yss-dictionary/references/source-index.md +0 -80
  974. package/template/.qoder/skills/yss-jdbc/SKILL.md +0 -73
  975. package/template/.qoder/skills/yss-jdbc/agents/openai.yaml +0 -5
  976. package/template/.qoder/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
  977. package/template/.qoder/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
  978. package/template/.qoder/skills/yss-jdbc/assets/DsParam.java +0 -19
  979. package/template/.qoder/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
  980. package/template/.qoder/skills/yss-jdbc/references/README.md +0 -55
  981. package/template/.qoder/skills/yss-jdbc/references/source-index.md +0 -33
  982. package/template/.qoder/skills/yss-log/SKILL.md +0 -48
  983. package/template/.qoder/skills/yss-log/agents/openai.yaml +0 -4
  984. package/template/.qoder/skills/yss-log/references/source-index.md +0 -34
  985. package/template/.qoder/skills/yss-taskflow/SKILL.md +0 -58
  986. package/template/.qoder/skills/yss-taskflow/agents/openai.yaml +0 -4
  987. package/template/.qoder/skills/yss-taskflow/references/source-index.md +0 -158
  988. package/template/.trae/skills/batch-grill-me/SKILL.md +0 -15
  989. package/template/.trae/skills/batch-grill-me/agents/openai.yaml +0 -5
  990. package/template/.trae/skills/product-design-prototype/SKILL.md +0 -91
  991. package/template/.trae/skills/product-design-prototype/agents/openai.yaml +0 -4
  992. package/template/.trae/skills/yss-backend-scaffold-application/SKILL.md +0 -139
  993. package/template/.trae/skills/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  994. package/template/.trae/skills/yss-backend-scaffold-domain/SKILL.md +0 -281
  995. package/template/.trae/skills/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  996. package/template/.trae/skills/yss-backend-scaffold-infrastructure/SKILL.md +0 -199
  997. package/template/.trae/skills/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  998. package/template/.trae/skills/yss-backend-scaffold-web/SKILL.md +0 -175
  999. package/template/.trae/skills/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  1000. package/template/.trae/skills/yss-dictionary/SKILL.md +0 -49
  1001. package/template/.trae/skills/yss-dictionary/agents/openai.yaml +0 -4
  1002. package/template/.trae/skills/yss-dictionary/references/source-index.md +0 -80
  1003. package/template/.trae/skills/yss-jdbc/SKILL.md +0 -73
  1004. package/template/.trae/skills/yss-jdbc/agents/openai.yaml +0 -5
  1005. package/template/.trae/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
  1006. package/template/.trae/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
  1007. package/template/.trae/skills/yss-jdbc/assets/DsParam.java +0 -19
  1008. package/template/.trae/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
  1009. package/template/.trae/skills/yss-jdbc/references/README.md +0 -55
  1010. package/template/.trae/skills/yss-jdbc/references/source-index.md +0 -33
  1011. package/template/.trae/skills/yss-log/SKILL.md +0 -48
  1012. package/template/.trae/skills/yss-log/agents/openai.yaml +0 -4
  1013. package/template/.trae/skills/yss-log/references/source-index.md +0 -34
  1014. package/template/.trae/skills/yss-taskflow/SKILL.md +0 -58
  1015. package/template/.trae/skills/yss-taskflow/agents/openai.yaml +0 -4
  1016. package/template/.trae/skills/yss-taskflow/references/source-index.md +0 -158
@@ -0,0 +1,1219 @@
1
+ package com.yss.formily.sdk;
2
+
3
+ import java.util.ArrayList;
4
+ import java.util.Arrays;
5
+ import java.util.Collections;
6
+ import java.util.LinkedHashMap;
7
+ import java.util.List;
8
+ import java.util.Map;
9
+
10
+ /**
11
+ * Java DSL for building YssFormily form definitions.
12
+ *
13
+ * <p>This SDK models:
14
+ * <ul>
15
+ * <li>schema body</li>
16
+ * <li>form container config such as mode, detail-options, scope, effects</li>
17
+ * <li>typed enums for common schema types, components, events and options</li>
18
+ * </ul>
19
+ */
20
+ public final class YssFormilyDsl {
21
+
22
+ private YssFormilyDsl() {
23
+ }
24
+
25
+ public interface WireValue {
26
+ Object wireValue();
27
+ }
28
+
29
+ private interface HasMapValue {
30
+ Map<String, Object> toMap();
31
+ }
32
+
33
+ public enum SchemaType implements WireValue {
34
+ OBJECT("object"),
35
+ VOID("void"),
36
+ STRING("string"),
37
+ NUMBER("number"),
38
+ BOOLEAN("boolean"),
39
+ ARRAY("array");
40
+
41
+ private final String value;
42
+
43
+ SchemaType(String value) {
44
+ this.value = value;
45
+ }
46
+
47
+ @Override
48
+ public String wireValue() {
49
+ return value;
50
+ }
51
+ }
52
+
53
+ public enum Component implements WireValue {
54
+ FORM_LAYOUT("FormLayout"),
55
+ FORM_GRID("FormGrid"),
56
+ FORM_ITEM("FormItem"),
57
+ INPUT("Input"),
58
+ INPUT_TEXT_AREA("Input.TextArea"),
59
+ INPUT_NUMBER("InputNumber"),
60
+ SELECT("Select"),
61
+ RADIO_GROUP("Radio.Group"),
62
+ SWITCH("Switch"),
63
+ DATE_PICKER("DatePicker"),
64
+ DATE_RANGE_PICKER("DatePicker.RangePicker"),
65
+ SLOT("Slot"),
66
+ GROUP_HEADER("GroupHeader"),
67
+ SUBMIT("Submit"),
68
+ RESET("Reset"),
69
+ AUTO_BUTTON_GROUP("AutoButtonGroup");
70
+
71
+ private final String value;
72
+
73
+ Component(String value) {
74
+ this.value = value;
75
+ }
76
+
77
+ @Override
78
+ public String wireValue() {
79
+ return value;
80
+ }
81
+ }
82
+
83
+ public enum Decorator implements WireValue {
84
+ FORM_ITEM("FormItem");
85
+
86
+ private final String value;
87
+
88
+ Decorator(String value) {
89
+ this.value = value;
90
+ }
91
+
92
+ @Override
93
+ public String wireValue() {
94
+ return value;
95
+ }
96
+ }
97
+
98
+ public enum LayoutType implements WireValue {
99
+ HORIZONTAL("horizontal"),
100
+ VERTICAL("vertical");
101
+
102
+ private final String value;
103
+
104
+ LayoutType(String value) {
105
+ this.value = value;
106
+ }
107
+
108
+ @Override
109
+ public String wireValue() {
110
+ return value;
111
+ }
112
+ }
113
+
114
+ public enum LabelAlign implements WireValue {
115
+ LEFT("left"),
116
+ RIGHT("right");
117
+
118
+ private final String value;
119
+
120
+ LabelAlign(String value) {
121
+ this.value = value;
122
+ }
123
+
124
+ @Override
125
+ public String wireValue() {
126
+ return value;
127
+ }
128
+ }
129
+
130
+ public enum FormSize implements WireValue {
131
+ SMALL("small"),
132
+ MIDDLE("middle"),
133
+ LARGE("large");
134
+
135
+ private final String value;
136
+
137
+ FormSize(String value) {
138
+ this.value = value;
139
+ }
140
+
141
+ @Override
142
+ public String wireValue() {
143
+ return value;
144
+ }
145
+ }
146
+
147
+ public enum EventType implements WireValue {
148
+ ON_UPDATE_VALUE("onUpdate:value"),
149
+ ON_CHANGE("onChange"),
150
+ ON_SUBMIT("onSubmit");
151
+
152
+ private final String value;
153
+
154
+ EventType(String value) {
155
+ this.value = value;
156
+ }
157
+
158
+ @Override
159
+ public String wireValue() {
160
+ return value;
161
+ }
162
+ }
163
+
164
+ public enum ValidatorTrigger implements WireValue {
165
+ ON_BLUR("onBlur"),
166
+ ON_CHANGE("onChange"),
167
+ ON_INPUT("onInput");
168
+
169
+ private final String value;
170
+
171
+ ValidatorTrigger(String value) {
172
+ this.value = value;
173
+ }
174
+
175
+ @Override
176
+ public String wireValue() {
177
+ return value;
178
+ }
179
+ }
180
+
181
+ public enum DetailOptionKey implements WireValue {
182
+ COLUMNS("columns"),
183
+ BORDERED("bordered"),
184
+ HIDE_EMPTY("hideEmpty"),
185
+ EMPTY_PLACEHOLDER("emptyPlaceholder"),
186
+ LABEL_WIDTH("labelWidth"),
187
+ RESPONSIVE("responsive"),
188
+ MAX_COLUMNS("maxColumns"),
189
+ MIN_COLUMNS("minColumns"),
190
+ MIN_WIDTH("minWidth");
191
+
192
+ private final String value;
193
+
194
+ DetailOptionKey(String value) {
195
+ this.value = value;
196
+ }
197
+
198
+ @Override
199
+ public String wireValue() {
200
+ return value;
201
+ }
202
+ }
203
+
204
+ public enum FormEffectType implements WireValue {
205
+ ON_FORM_SUBMIT("onFormSubmit"),
206
+ ON_FORM_SUBMIT_FAILED("onFormSubmitFailed");
207
+
208
+ private final String value;
209
+
210
+ FormEffectType(String value) {
211
+ this.value = value;
212
+ }
213
+
214
+ @Override
215
+ public String wireValue() {
216
+ return value;
217
+ }
218
+ }
219
+
220
+ public enum FieldEffectType implements WireValue {
221
+ ON_FIELD_VALUE_CHANGE("onFieldValueChange");
222
+
223
+ private final String value;
224
+
225
+ FieldEffectType(String value) {
226
+ this.value = value;
227
+ }
228
+
229
+ @Override
230
+ public String wireValue() {
231
+ return value;
232
+ }
233
+ }
234
+
235
+ public enum Mode implements WireValue {
236
+ CREATE(0),
237
+ EDIT(1),
238
+ DETAIL(2);
239
+
240
+ private final Integer code;
241
+
242
+ Mode(Integer code) {
243
+ this.code = code;
244
+ }
245
+
246
+ @Override
247
+ public Integer wireValue() {
248
+ return code;
249
+ }
250
+ }
251
+
252
+ public static FormDefinitionBuilder form() {
253
+ return new FormDefinitionBuilder();
254
+ }
255
+
256
+ public static NodeBuilder input(String name, String title) {
257
+ return field(name, SchemaType.STRING, title, Component.INPUT);
258
+ }
259
+
260
+ public static NodeBuilder textArea(String name, String title) {
261
+ return field(name, SchemaType.STRING, title, Component.INPUT_TEXT_AREA);
262
+ }
263
+
264
+ public static NodeBuilder inputNumber(String name, String title) {
265
+ return field(name, SchemaType.NUMBER, title, Component.INPUT_NUMBER);
266
+ }
267
+
268
+ public static NodeBuilder select(String name, String title) {
269
+ return field(name, SchemaType.STRING, title, Component.SELECT);
270
+ }
271
+
272
+ public static NodeBuilder multiSelect(String name, String title) {
273
+ return field(name, SchemaType.ARRAY, title, Component.SELECT).componentProp("mode", "multiple");
274
+ }
275
+
276
+ public static NodeBuilder radioGroup(String name, String title) {
277
+ return field(name, SchemaType.STRING, title, Component.RADIO_GROUP);
278
+ }
279
+
280
+ public static NodeBuilder switchField(String name, String title) {
281
+ return field(name, SchemaType.BOOLEAN, title, Component.SWITCH);
282
+ }
283
+
284
+ public static NodeBuilder datePicker(String name, String title) {
285
+ return field(name, SchemaType.STRING, title, Component.DATE_PICKER);
286
+ }
287
+
288
+ public static NodeBuilder rangePicker(String name, String title) {
289
+ return field(name, SchemaType.ARRAY, title, Component.DATE_RANGE_PICKER);
290
+ }
291
+
292
+ public static NodeBuilder slot(String name, String title, String slotName) {
293
+ return field(name, SchemaType.STRING, title, Component.SLOT).componentProp("name", slotName);
294
+ }
295
+
296
+ public static NodeBuilder groupHeader(String name, String title) {
297
+ SchemaNode node = SchemaNode.of(SchemaType.VOID)
298
+ .component(Component.GROUP_HEADER)
299
+ .componentProp("title", title);
300
+ return new NodeBuilder(name, node);
301
+ }
302
+
303
+ public static NodeBuilder submit(String name, String text, String onSubmitExpression) {
304
+ SchemaNode node = SchemaNode.of(SchemaType.VOID)
305
+ .component(Component.SUBMIT)
306
+ .content(text)
307
+ .componentProp(EventType.ON_SUBMIT, onSubmitExpression);
308
+ return new NodeBuilder(name, node);
309
+ }
310
+
311
+ public static NodeBuilder reset(String name, String text) {
312
+ SchemaNode node = SchemaNode.of(SchemaType.VOID)
313
+ .component(Component.RESET)
314
+ .content(text);
315
+ return new NodeBuilder(name, node);
316
+ }
317
+
318
+ public static NodeBuilder autoButtonGroup(String name) {
319
+ SchemaNode node = SchemaNode.of(SchemaType.VOID)
320
+ .decorator(Decorator.FORM_ITEM)
321
+ .component(Component.AUTO_BUTTON_GROUP);
322
+ return new NodeBuilder(name, node);
323
+ }
324
+
325
+ public static NodeBuilder field(String name, SchemaType type, String title, Component component) {
326
+ SchemaNode node = SchemaNode.of(type)
327
+ .title(title)
328
+ .decorator(Decorator.FORM_ITEM)
329
+ .component(component);
330
+ return new NodeBuilder(name, node);
331
+ }
332
+
333
+ public static NodeBuilder field(String name, String type, String title, String component) {
334
+ return new NodeBuilder(name, SchemaNode.of(type).title(title).decorator(Decorator.FORM_ITEM.wireValue().toString()).component(component));
335
+ }
336
+
337
+ public static Option option(Object value, String label) {
338
+ return new Option(value, label);
339
+ }
340
+
341
+ public static EventBinding event(String name, String expression) {
342
+ return new EventBinding(name, expression);
343
+ }
344
+
345
+ public static EventBinding event(EventType eventType, String expression) {
346
+ return new EventBinding(eventType.wireValue().toString(), expression);
347
+ }
348
+
349
+ public static Validator requiredValidator(String message) {
350
+ return Validator.required(message);
351
+ }
352
+
353
+ public static Validator asyncValidator(String triggerType, String expression, String message) {
354
+ return Validator.async(triggerType, expression, message);
355
+ }
356
+
357
+ public static Validator asyncValidator(ValidatorTrigger trigger, String expression, String message) {
358
+ return Validator.async(trigger.wireValue().toString(), expression, message);
359
+ }
360
+
361
+ public static Reaction reaction() {
362
+ return new Reaction();
363
+ }
364
+
365
+ public static DictConfig remoteDict(String dictCode, String optionsScopeKey) {
366
+ return new DictConfig(dictCode, optionsScopeKey);
367
+ }
368
+
369
+ public static FieldEffect onFieldValueChange(String fieldPattern, String expression) {
370
+ return FieldEffect.of(FieldEffectType.ON_FIELD_VALUE_CHANGE, fieldPattern, expression);
371
+ }
372
+
373
+ public static FormEffect onFormSubmit(String expression) {
374
+ return FormEffect.of(FormEffectType.ON_FORM_SUBMIT, expression);
375
+ }
376
+
377
+ public static FormEffect onFormSubmitFailed(String expression) {
378
+ return FormEffect.of(FormEffectType.ON_FORM_SUBMIT_FAILED, expression);
379
+ }
380
+
381
+ public static final class FormDefinitionBuilder {
382
+ private final YssFormDefinition definition;
383
+ private final SchemaNode layoutNode;
384
+ private final SchemaNode gridNode;
385
+
386
+ public FormDefinitionBuilder() {
387
+ this.definition = new YssFormDefinition();
388
+ this.layoutNode = SchemaNode.of(SchemaType.VOID).component(Component.FORM_LAYOUT);
389
+ this.gridNode = SchemaNode.of(SchemaType.VOID).component(Component.FORM_GRID);
390
+ this.layoutNode.property("grid", this.gridNode);
391
+ this.definition.schema.property("layout", this.layoutNode);
392
+
393
+ horizontal(120);
394
+ gridDefaults(3, 1, 260, 16, 0);
395
+ }
396
+
397
+ public FormDefinitionBuilder horizontal(int labelWidth) {
398
+ this.layoutNode.componentProp("layout", LayoutType.HORIZONTAL);
399
+ this.layoutNode.componentProp("labelWidth", labelWidth);
400
+ return this;
401
+ }
402
+
403
+ public FormDefinitionBuilder vertical() {
404
+ this.layoutNode.componentProp("layout", LayoutType.VERTICAL);
405
+ this.layoutNode.removeComponentProp("labelWidth");
406
+ return this;
407
+ }
408
+
409
+ public FormDefinitionBuilder labelAlign(LabelAlign labelAlign) {
410
+ this.layoutNode.componentProp("labelAlign", labelAlign);
411
+ return this;
412
+ }
413
+
414
+ public FormDefinitionBuilder labelAlign(String labelAlign) {
415
+ this.layoutNode.componentProp("labelAlign", labelAlign);
416
+ return this;
417
+ }
418
+
419
+ public FormDefinitionBuilder size(FormSize size) {
420
+ this.layoutNode.componentProp("size", size);
421
+ return this;
422
+ }
423
+
424
+ public FormDefinitionBuilder size(String size) {
425
+ this.layoutNode.componentProp("size", size);
426
+ return this;
427
+ }
428
+
429
+ public FormDefinitionBuilder gridDefaults(int maxColumns, int minColumns, int minWidth, int columnGap, int rowGap) {
430
+ this.gridNode.componentProp("maxColumns", maxColumns);
431
+ this.gridNode.componentProp("minColumns", minColumns);
432
+ this.gridNode.componentProp("minWidth", minWidth);
433
+ this.gridNode.componentProp("columnGap", columnGap);
434
+ this.gridNode.componentProp("rowGap", rowGap);
435
+ this.definition.gridDefaults.put("maxColumns", maxColumns);
436
+ this.definition.gridDefaults.put("minColumns", minColumns);
437
+ this.definition.gridDefaults.put("minWidth", minWidth);
438
+ this.definition.gridDefaults.put("columnGap", columnGap);
439
+ this.definition.gridDefaults.put("rowGap", rowGap);
440
+ return this;
441
+ }
442
+
443
+ public FormDefinitionBuilder mode(Mode mode) {
444
+ this.definition.mode = (Integer) mode.wireValue();
445
+ if (mode == Mode.DETAIL) {
446
+ this.definition.readPretty = true;
447
+ }
448
+ return this;
449
+ }
450
+
451
+ public FormDefinitionBuilder readPretty(boolean readPretty) {
452
+ this.definition.readPretty = readPretty;
453
+ return this;
454
+ }
455
+
456
+ public FormDefinitionBuilder initialValues(Map<String, Object> initialValues) {
457
+ this.definition.initialValues = initialValues;
458
+ return this;
459
+ }
460
+
461
+ public FormDefinitionBuilder modelShape(Map<String, Object> modelShape) {
462
+ this.definition.modelShape = modelShape;
463
+ return this;
464
+ }
465
+
466
+ public FormDefinitionBuilder scopeKey(String scopeKey) {
467
+ this.definition.scopeKeys.add(scopeKey);
468
+ return this;
469
+ }
470
+
471
+ public FormDefinitionBuilder scopeKeys(String... scopeKeys) {
472
+ this.definition.scopeKeys.addAll(Arrays.asList(scopeKeys));
473
+ return this;
474
+ }
475
+
476
+ public FormDefinitionBuilder componentKey(String componentKey) {
477
+ this.definition.componentKeys.add(componentKey);
478
+ return this;
479
+ }
480
+
481
+ public FormDefinitionBuilder components(String... componentKeys) {
482
+ this.definition.componentKeys.addAll(Arrays.asList(componentKeys));
483
+ return this;
484
+ }
485
+
486
+ public FormDefinitionBuilder detailOption(DetailOptionKey key, Object value) {
487
+ this.definition.detailOptions.put(key.wireValue().toString(), unwrap(value));
488
+ return this;
489
+ }
490
+
491
+ public FormDefinitionBuilder detailOption(String key, Object value) {
492
+ this.definition.detailOptions.put(key, unwrap(value));
493
+ return this;
494
+ }
495
+
496
+ public FormDefinitionBuilder detailOptions(Map<String, Object> detailOptions) {
497
+ this.definition.detailOptions.putAll(detailOptions);
498
+ return this;
499
+ }
500
+
501
+ public FormDefinitionBuilder effect(FormEffect effect) {
502
+ this.definition.formEffects.add(effect);
503
+ return this;
504
+ }
505
+
506
+ public FormDefinitionBuilder effects(FormEffect... effects) {
507
+ this.definition.formEffects.addAll(Arrays.asList(effects));
508
+ return this;
509
+ }
510
+
511
+ public FormDefinitionBuilder fieldEffect(FieldEffect fieldEffect) {
512
+ this.definition.fieldEffects.add(fieldEffect);
513
+ return this;
514
+ }
515
+
516
+ public FormDefinitionBuilder fieldEffects(FieldEffect... fieldEffects) {
517
+ this.definition.fieldEffects.addAll(Arrays.asList(fieldEffects));
518
+ return this;
519
+ }
520
+
521
+ public FormDefinitionBuilder node(NodeBuilder builder) {
522
+ this.gridNode.property(builder.name(), builder.build());
523
+ return this;
524
+ }
525
+
526
+ public FormDefinitionBuilder nodes(NodeBuilder... builders) {
527
+ for (NodeBuilder builder : builders) {
528
+ node(builder);
529
+ }
530
+ return this;
531
+ }
532
+
533
+ public YssFormDefinition build() {
534
+ return this.definition;
535
+ }
536
+
537
+ public Map<String, Object> buildMap() {
538
+ return this.definition.toMap();
539
+ }
540
+ }
541
+
542
+ public static final class NodeBuilder {
543
+ private final String name;
544
+ private final SchemaNode node;
545
+
546
+ private NodeBuilder(String name, SchemaNode node) {
547
+ this.name = name;
548
+ this.node = node;
549
+ }
550
+
551
+ public String name() {
552
+ return name;
553
+ }
554
+
555
+ public SchemaNode build() {
556
+ return node;
557
+ }
558
+
559
+ public NodeBuilder title(String title) {
560
+ node.title(title);
561
+ return this;
562
+ }
563
+
564
+ public NodeBuilder required() {
565
+ node.required(true);
566
+ return this;
567
+ }
568
+
569
+ public NodeBuilder required(boolean required) {
570
+ node.required(required);
571
+ return this;
572
+ }
573
+
574
+ public NodeBuilder decorator(Decorator decorator) {
575
+ node.decorator(decorator);
576
+ return this;
577
+ }
578
+
579
+ public NodeBuilder decorator(String decorator) {
580
+ node.decorator(decorator);
581
+ return this;
582
+ }
583
+
584
+ public NodeBuilder component(Component component) {
585
+ node.component(component);
586
+ return this;
587
+ }
588
+
589
+ public NodeBuilder component(String component) {
590
+ node.component(component);
591
+ return this;
592
+ }
593
+
594
+ public NodeBuilder componentProp(String key, Object value) {
595
+ node.componentProp(key, value);
596
+ return this;
597
+ }
598
+
599
+ public NodeBuilder decoratorProp(String key, Object value) {
600
+ node.decoratorProp(key, value);
601
+ return this;
602
+ }
603
+
604
+ public NodeBuilder placeholder(String placeholder) {
605
+ node.componentProp("placeholder", placeholder);
606
+ return this;
607
+ }
608
+
609
+ public NodeBuilder tooltip(String tooltip) {
610
+ node.decoratorProp("tooltip", tooltip);
611
+ return this;
612
+ }
613
+
614
+ public NodeBuilder gridSpan(int gridSpan) {
615
+ node.decoratorProp("gridSpan", gridSpan);
616
+ return this;
617
+ }
618
+
619
+ public NodeBuilder visibleExpr(String expression) {
620
+ node.xVisible(expression);
621
+ return this;
622
+ }
623
+
624
+ public NodeBuilder disabledExpr(String expression) {
625
+ node.xDisabled(expression);
626
+ return this;
627
+ }
628
+
629
+ public NodeBuilder reactions(Object reactions) {
630
+ node.xReactions(reactions);
631
+ return this;
632
+ }
633
+
634
+ public NodeBuilder reaction(Reaction reaction) {
635
+ node.reaction(reaction);
636
+ return this;
637
+ }
638
+
639
+ public NodeBuilder event(String eventName, String expression) {
640
+ node.event(new EventBinding(eventName, expression));
641
+ return this;
642
+ }
643
+
644
+ public NodeBuilder event(EventType eventType, String expression) {
645
+ node.event(new EventBinding(eventType.wireValue().toString(), expression));
646
+ return this;
647
+ }
648
+
649
+ public NodeBuilder event(EventBinding eventBinding) {
650
+ node.event(eventBinding);
651
+ return this;
652
+ }
653
+
654
+ public NodeBuilder validator(Validator validator) {
655
+ node.validator(validator);
656
+ return this;
657
+ }
658
+
659
+ public NodeBuilder validators(Validator... validators) {
660
+ node.validators(Arrays.asList(validators));
661
+ return this;
662
+ }
663
+
664
+ public NodeBuilder previewFormat(String expression) {
665
+ node.previewFormat(expression);
666
+ return this;
667
+ }
668
+
669
+ public NodeBuilder content(String content) {
670
+ node.content(content);
671
+ return this;
672
+ }
673
+
674
+ public NodeBuilder option(Object value, String label) {
675
+ node.option(value, label);
676
+ return this;
677
+ }
678
+
679
+ public NodeBuilder options(Option... options) {
680
+ node.options(Arrays.asList(options));
681
+ return this;
682
+ }
683
+
684
+ public NodeBuilder enumExpression(String expression) {
685
+ node.setEnum(expression);
686
+ return this;
687
+ }
688
+
689
+ public NodeBuilder remoteDict(DictConfig dictConfig) {
690
+ node.remoteDict(dictConfig);
691
+ return this;
692
+ }
693
+
694
+ public NodeBuilder property(String childName, SchemaNode childNode) {
695
+ node.property(childName, childNode);
696
+ return this;
697
+ }
698
+ }
699
+
700
+ public static final class YssFormDefinition {
701
+ private final YssSchema schema = new YssSchema();
702
+ private Integer mode = (Integer) Mode.CREATE.wireValue();
703
+ private Boolean readPretty = false;
704
+ private Map<String, Object> initialValues = new LinkedHashMap<>();
705
+ private Map<String, Object> modelShape = new LinkedHashMap<>();
706
+ private final Map<String, Object> detailOptions = new LinkedHashMap<>();
707
+ private final Map<String, Object> gridDefaults = new LinkedHashMap<>();
708
+ private final List<String> scopeKeys = new ArrayList<>();
709
+ private final List<String> componentKeys = new ArrayList<>();
710
+ private final List<FormEffect> formEffects = new ArrayList<>();
711
+ private final List<FieldEffect> fieldEffects = new ArrayList<>();
712
+
713
+ public Map<String, Object> toMap() {
714
+ Map<String, Object> result = new LinkedHashMap<>();
715
+ result.put("schema", schema.toMap());
716
+ putIfNotNull(result, "mode", mode);
717
+ putIfNotNull(result, "readPretty", readPretty);
718
+ putIfNotEmpty(result, "initialValues", initialValues);
719
+ putIfNotEmpty(result, "modelShape", modelShape);
720
+ putIfNotEmpty(result, "detailOptions", detailOptions);
721
+ putIfNotEmpty(result, "gridDefaults", gridDefaults);
722
+ putIfNotEmpty(result, "scopeKeys", scopeKeys);
723
+ putIfNotEmpty(result, "componentKeys", componentKeys);
724
+ putIfNotEmpty(result, "effects", convertNamedList(formEffects));
725
+ putIfNotEmpty(result, "fieldEffects", convertNamedList(fieldEffects));
726
+ return result;
727
+ }
728
+ }
729
+
730
+ public static final class YssSchema {
731
+ private final String type = SchemaType.OBJECT.wireValue().toString();
732
+ private final Map<String, SchemaNode> properties = new LinkedHashMap<>();
733
+
734
+ public YssSchema property(String name, SchemaNode node) {
735
+ this.properties.put(name, node);
736
+ return this;
737
+ }
738
+
739
+ public Map<String, Object> toMap() {
740
+ Map<String, Object> result = new LinkedHashMap<>();
741
+ result.put("type", type);
742
+ result.put("properties", convertProperties(properties));
743
+ return result;
744
+ }
745
+ }
746
+
747
+ public static final class SchemaNode {
748
+ private String type;
749
+ private String title;
750
+ private Boolean required;
751
+ private String xComponent;
752
+ private String xDecorator;
753
+ private final Map<String, Object> xComponentProps = new LinkedHashMap<>();
754
+ private final Map<String, Object> xDecoratorProps = new LinkedHashMap<>();
755
+ private Object xVisible;
756
+ private Object xDisabled;
757
+ private Object xReactions;
758
+ private Object xEnum;
759
+ private Object xValidator;
760
+ private String xPreviewFormat;
761
+ private String xContent;
762
+ private final Map<String, SchemaNode> properties = new LinkedHashMap<>();
763
+ private DictConfig dictConfig;
764
+
765
+ public static SchemaNode of(SchemaType type) {
766
+ return of(type.wireValue().toString());
767
+ }
768
+
769
+ public static SchemaNode of(String type) {
770
+ SchemaNode node = new SchemaNode();
771
+ node.type = type;
772
+ return node;
773
+ }
774
+
775
+ public SchemaNode title(String title) {
776
+ this.title = title;
777
+ return this;
778
+ }
779
+
780
+ public SchemaNode required(Boolean required) {
781
+ this.required = required;
782
+ return this;
783
+ }
784
+
785
+ public SchemaNode component(Component xComponent) {
786
+ this.xComponent = xComponent.wireValue().toString();
787
+ return this;
788
+ }
789
+
790
+ public SchemaNode component(String xComponent) {
791
+ this.xComponent = xComponent;
792
+ return this;
793
+ }
794
+
795
+ public SchemaNode decorator(Decorator xDecorator) {
796
+ this.xDecorator = xDecorator.wireValue().toString();
797
+ return this;
798
+ }
799
+
800
+ public SchemaNode decorator(String xDecorator) {
801
+ this.xDecorator = xDecorator;
802
+ return this;
803
+ }
804
+
805
+ public SchemaNode componentProp(String key, Object value) {
806
+ this.xComponentProps.put(key, unwrap(value));
807
+ return this;
808
+ }
809
+
810
+ public SchemaNode removeComponentProp(String key) {
811
+ this.xComponentProps.remove(key);
812
+ return this;
813
+ }
814
+
815
+ public SchemaNode decoratorProp(String key, Object value) {
816
+ this.xDecoratorProps.put(key, unwrap(value));
817
+ return this;
818
+ }
819
+
820
+ public SchemaNode xVisible(Object xVisible) {
821
+ this.xVisible = unwrap(xVisible);
822
+ return this;
823
+ }
824
+
825
+ public SchemaNode xDisabled(Object xDisabled) {
826
+ this.xDisabled = unwrap(xDisabled);
827
+ return this;
828
+ }
829
+
830
+ public SchemaNode xReactions(Object xReactions) {
831
+ this.xReactions = unwrap(xReactions);
832
+ return this;
833
+ }
834
+
835
+ public SchemaNode reaction(Reaction reaction) {
836
+ if (!(xReactions instanceof List<?>)) {
837
+ xReactions = new ArrayList<Map<String, Object>>();
838
+ }
839
+ @SuppressWarnings("unchecked")
840
+ List<Map<String, Object>> reactions = (List<Map<String, Object>>) xReactions;
841
+ reactions.add(reaction.toMap());
842
+ return this;
843
+ }
844
+
845
+ public SchemaNode event(EventBinding eventBinding) {
846
+ this.xComponentProps.put(eventBinding.name, eventBinding.expression);
847
+ return this;
848
+ }
849
+
850
+ public SchemaNode validator(Validator validator) {
851
+ if (!(xValidator instanceof List<?>)) {
852
+ xValidator = new ArrayList<Map<String, Object>>();
853
+ }
854
+ @SuppressWarnings("unchecked")
855
+ List<Map<String, Object>> validators = (List<Map<String, Object>>) xValidator;
856
+ validators.add(validator.toMap());
857
+ return this;
858
+ }
859
+
860
+ public SchemaNode validators(List<Validator> validators) {
861
+ List<Map<String, Object>> result = new ArrayList<>();
862
+ for (Validator validator : validators) {
863
+ result.add(validator.toMap());
864
+ }
865
+ this.xValidator = result;
866
+ return this;
867
+ }
868
+
869
+ public SchemaNode previewFormat(String expression) {
870
+ this.xPreviewFormat = expression;
871
+ return this;
872
+ }
873
+
874
+ public SchemaNode setEnum(Object xEnum) {
875
+ this.xEnum = unwrap(xEnum);
876
+ return this;
877
+ }
878
+
879
+ public SchemaNode content(String xContent) {
880
+ this.xContent = xContent;
881
+ return this;
882
+ }
883
+
884
+ public SchemaNode option(Object value, String label) {
885
+ if (!(xEnum instanceof List<?>)) {
886
+ xEnum = new ArrayList<Map<String, Object>>();
887
+ }
888
+ @SuppressWarnings("unchecked")
889
+ List<Map<String, Object>> options = (List<Map<String, Object>>) xEnum;
890
+ Map<String, Object> option = new LinkedHashMap<>();
891
+ option.put("label", label);
892
+ option.put("value", value);
893
+ options.add(option);
894
+ return this;
895
+ }
896
+
897
+ public SchemaNode options(List<Option> options) {
898
+ List<Map<String, Object>> values = new ArrayList<>();
899
+ for (Option option : options) {
900
+ values.add(option.toMap());
901
+ }
902
+ this.xEnum = values;
903
+ return this;
904
+ }
905
+
906
+ public SchemaNode remoteDict(DictConfig dictConfig) {
907
+ this.dictConfig = dictConfig;
908
+ this.xEnum = dictConfig.toEnumExpression();
909
+ if (dictConfig.previewFormatExpression != null) {
910
+ this.xPreviewFormat = dictConfig.previewFormatExpression;
911
+ }
912
+ return this;
913
+ }
914
+
915
+ public SchemaNode property(String name, SchemaNode node) {
916
+ this.properties.put(name, node);
917
+ return this;
918
+ }
919
+
920
+ public Map<String, Object> toMap() {
921
+ Map<String, Object> result = new LinkedHashMap<>();
922
+ putIfNotNull(result, "type", type);
923
+ putIfNotNull(result, "title", title);
924
+ putIfNotNull(result, "required", required);
925
+ putIfNotNull(result, "x-component", xComponent);
926
+ putIfNotNull(result, "x-decorator", xDecorator);
927
+ putIfNotEmpty(result, "x-component-props", xComponentProps);
928
+ putIfNotEmpty(result, "x-decorator-props", xDecoratorProps);
929
+ putIfNotNull(result, "x-visible", xVisible);
930
+ putIfNotNull(result, "x-disabled", xDisabled);
931
+ putIfNotNull(result, "x-reactions", xReactions);
932
+ putIfNotNull(result, "enum", xEnum);
933
+ putIfNotNull(result, "x-validator", xValidator);
934
+ putIfNotNull(result, "x-preview-format", xPreviewFormat);
935
+ putIfNotNull(result, "x-content", xContent);
936
+ if (dictConfig != null) {
937
+ result.put("x-yss-dict", dictConfig.toMap());
938
+ }
939
+ if (!properties.isEmpty()) {
940
+ result.put("properties", convertProperties(properties));
941
+ }
942
+ return result;
943
+ }
944
+ }
945
+
946
+ public static final class EventBinding {
947
+ private final String name;
948
+ private final String expression;
949
+
950
+ public EventBinding(String name, String expression) {
951
+ this.name = name;
952
+ this.expression = expression;
953
+ }
954
+ }
955
+
956
+ public static final class DictConfig {
957
+ private final String dictCode;
958
+ private final String optionsScopeKey;
959
+ private String labelKey = "label";
960
+ private String valueKey = "value";
961
+ private String previewFormatExpression;
962
+ private String optionsExpression;
963
+
964
+ public DictConfig(String dictCode, String optionsScopeKey) {
965
+ this.dictCode = dictCode;
966
+ this.optionsScopeKey = optionsScopeKey;
967
+ }
968
+
969
+ public DictConfig labelKey(String labelKey) {
970
+ this.labelKey = labelKey;
971
+ return this;
972
+ }
973
+
974
+ public DictConfig valueKey(String valueKey) {
975
+ this.valueKey = valueKey;
976
+ return this;
977
+ }
978
+
979
+ public DictConfig optionsExpression(String optionsExpression) {
980
+ this.optionsExpression = optionsExpression;
981
+ return this;
982
+ }
983
+
984
+ public DictConfig previewFormat(String previewFormatExpression) {
985
+ this.previewFormatExpression = previewFormatExpression;
986
+ return this;
987
+ }
988
+
989
+ public String toEnumExpression() {
990
+ if (optionsExpression != null) {
991
+ return optionsExpression;
992
+ }
993
+ return "{{ dicts." + optionsScopeKey + " }}";
994
+ }
995
+
996
+ public Map<String, Object> toMap() {
997
+ Map<String, Object> result = new LinkedHashMap<>();
998
+ result.put("dictCode", dictCode);
999
+ result.put("optionsScopeKey", optionsScopeKey);
1000
+ result.put("labelKey", labelKey);
1001
+ result.put("valueKey", valueKey);
1002
+ putIfNotNull(result, "previewFormatExpression", previewFormatExpression);
1003
+ putIfNotNull(result, "optionsExpression", optionsExpression);
1004
+ return result;
1005
+ }
1006
+ }
1007
+
1008
+ public static final class Validator {
1009
+ private final Map<String, Object> attributes = new LinkedHashMap<>();
1010
+
1011
+ public static Validator required(String message) {
1012
+ Validator validator = new Validator();
1013
+ validator.attributes.put("required", true);
1014
+ putIfNotNull(validator.attributes, "message", message);
1015
+ return validator;
1016
+ }
1017
+
1018
+ public static Validator async(String triggerType, String expression, String message) {
1019
+ Validator validator = new Validator();
1020
+ validator.attributes.put("triggerType", triggerType);
1021
+ validator.attributes.put("validator", expression);
1022
+ putIfNotNull(validator.attributes, "message", message);
1023
+ validator.attributes.put("async", true);
1024
+ return validator;
1025
+ }
1026
+
1027
+ public Validator pattern(String pattern) {
1028
+ attributes.put("pattern", pattern);
1029
+ return this;
1030
+ }
1031
+
1032
+ public Validator max(int max) {
1033
+ attributes.put("max", max);
1034
+ return this;
1035
+ }
1036
+
1037
+ public Validator min(int min) {
1038
+ attributes.put("min", min);
1039
+ return this;
1040
+ }
1041
+
1042
+ public Validator message(String message) {
1043
+ attributes.put("message", message);
1044
+ return this;
1045
+ }
1046
+
1047
+ public Map<String, Object> toMap() {
1048
+ return attributes;
1049
+ }
1050
+ }
1051
+
1052
+ public static final class Reaction {
1053
+ private final List<String> dependencies = new ArrayList<>();
1054
+ private final Map<String, Object> fulfillState = new LinkedHashMap<>();
1055
+ private final Map<String, Object> otherwiseState = new LinkedHashMap<>();
1056
+ private String whenExpression;
1057
+ private String runExpression;
1058
+
1059
+ public Reaction dependency(String dependency) {
1060
+ this.dependencies.add(dependency);
1061
+ return this;
1062
+ }
1063
+
1064
+ public Reaction dependencies(String... dependencies) {
1065
+ this.dependencies.addAll(Arrays.asList(dependencies));
1066
+ return this;
1067
+ }
1068
+
1069
+ public Reaction when(String whenExpression) {
1070
+ this.whenExpression = whenExpression;
1071
+ return this;
1072
+ }
1073
+
1074
+ public Reaction run(String runExpression) {
1075
+ this.runExpression = runExpression;
1076
+ return this;
1077
+ }
1078
+
1079
+ public Reaction fulfillState(String key, Object value) {
1080
+ this.fulfillState.put(key, unwrap(value));
1081
+ return this;
1082
+ }
1083
+
1084
+ public Reaction otherwiseState(String key, Object value) {
1085
+ this.otherwiseState.put(key, unwrap(value));
1086
+ return this;
1087
+ }
1088
+
1089
+ public Map<String, Object> toMap() {
1090
+ Map<String, Object> result = new LinkedHashMap<>();
1091
+ putIfNotEmpty(result, "dependencies", dependencies);
1092
+ putIfNotNull(result, "when", whenExpression);
1093
+ putIfNotNull(result, "run", runExpression);
1094
+ if (!fulfillState.isEmpty()) {
1095
+ Map<String, Object> fulfill = new LinkedHashMap<>();
1096
+ fulfill.put("state", fulfillState);
1097
+ result.put("fulfill", fulfill);
1098
+ }
1099
+ if (!otherwiseState.isEmpty()) {
1100
+ Map<String, Object> otherwise = new LinkedHashMap<>();
1101
+ otherwise.put("state", otherwiseState);
1102
+ result.put("otherwise", otherwise);
1103
+ }
1104
+ return result;
1105
+ }
1106
+ }
1107
+
1108
+ public static final class FormEffect implements HasMapValue {
1109
+ private final String type;
1110
+ private final String expression;
1111
+
1112
+ private FormEffect(String type, String expression) {
1113
+ this.type = type;
1114
+ this.expression = expression;
1115
+ }
1116
+
1117
+ public static FormEffect of(FormEffectType type, String expression) {
1118
+ return new FormEffect(type.wireValue().toString(), expression);
1119
+ }
1120
+
1121
+ public static FormEffect of(String type, String expression) {
1122
+ return new FormEffect(type, expression);
1123
+ }
1124
+
1125
+ @Override
1126
+ public Map<String, Object> toMap() {
1127
+ Map<String, Object> result = new LinkedHashMap<>();
1128
+ result.put("type", type);
1129
+ result.put("expression", expression);
1130
+ return result;
1131
+ }
1132
+ }
1133
+
1134
+ public static final class FieldEffect implements HasMapValue {
1135
+ private final String type;
1136
+ private final String fieldPattern;
1137
+ private final String expression;
1138
+
1139
+ private FieldEffect(String type, String fieldPattern, String expression) {
1140
+ this.type = type;
1141
+ this.fieldPattern = fieldPattern;
1142
+ this.expression = expression;
1143
+ }
1144
+
1145
+ public static FieldEffect of(FieldEffectType type, String fieldPattern, String expression) {
1146
+ return new FieldEffect(type.wireValue().toString(), fieldPattern, expression);
1147
+ }
1148
+
1149
+ @Override
1150
+ public Map<String, Object> toMap() {
1151
+ Map<String, Object> result = new LinkedHashMap<>();
1152
+ result.put("type", type);
1153
+ result.put("fieldPattern", fieldPattern);
1154
+ result.put("expression", expression);
1155
+ return result;
1156
+ }
1157
+ }
1158
+
1159
+ public static final class Option {
1160
+ private final Object value;
1161
+ private final String label;
1162
+
1163
+ public Option(Object value, String label) {
1164
+ this.value = value;
1165
+ this.label = label;
1166
+ }
1167
+
1168
+ public Map<String, Object> toMap() {
1169
+ Map<String, Object> result = new LinkedHashMap<>();
1170
+ result.put("label", label);
1171
+ result.put("value", value);
1172
+ return result;
1173
+ }
1174
+ }
1175
+
1176
+ private static Map<String, Object> convertProperties(Map<String, SchemaNode> properties) {
1177
+ if (properties == null || properties.isEmpty()) {
1178
+ return Collections.emptyMap();
1179
+ }
1180
+ Map<String, Object> result = new LinkedHashMap<>();
1181
+ for (Map.Entry<String, SchemaNode> entry : properties.entrySet()) {
1182
+ result.put(entry.getKey(), entry.getValue().toMap());
1183
+ }
1184
+ return result;
1185
+ }
1186
+
1187
+ private static List<Map<String, Object>> convertNamedList(List<? extends HasMapValue> values) {
1188
+ List<Map<String, Object>> result = new ArrayList<>();
1189
+ for (HasMapValue value : values) {
1190
+ result.add(value.toMap());
1191
+ }
1192
+ return result;
1193
+ }
1194
+
1195
+ private static Object unwrap(Object value) {
1196
+ if (value instanceof WireValue) {
1197
+ return ((WireValue) value).wireValue();
1198
+ }
1199
+ return value;
1200
+ }
1201
+
1202
+ private static void putIfNotNull(Map<String, Object> map, String key, Object value) {
1203
+ if (value != null) {
1204
+ map.put(key, value);
1205
+ }
1206
+ }
1207
+
1208
+ private static void putIfNotEmpty(Map<String, Object> map, String key, Map<String, Object> value) {
1209
+ if (value != null && !value.isEmpty()) {
1210
+ map.put(key, value);
1211
+ }
1212
+ }
1213
+
1214
+ private static void putIfNotEmpty(Map<String, Object> map, String key, List<?> value) {
1215
+ if (value != null && !value.isEmpty()) {
1216
+ map.put(key, value);
1217
+ }
1218
+ }
1219
+ }