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
@@ -92,41 +92,79 @@ workflow_execution_result:
92
92
  completed_requires_no_blocking_signals: true
93
93
  workflow_reference:
94
94
  required: [source, skill, invocation_mode]
95
- source: mattpocock/skills
95
+ allowed_sources: [yss-product-lifecycle, mattpocock/skills]
96
96
 
97
97
  # Matt user-invoked skills remain explicit user entry points. Lifecycle work units
98
98
  # may prepare, validate and accept their results, but cannot invoke them or create
99
99
  # their formal artifacts on their behalf.
100
100
  matt_invocation_boundary:
101
- user_invoked_skills: [ask-matt, batch-grill-me, grill-me, grill-with-docs, handoff, implement, improve-codebase-architecture, loop-me, setup-matt-pocock-skills, setup-ts-deep-modules, teach, to-questionnaire, to-spec, to-tickets, triage, wait-what, wayfinder, writing-beats, writing-fragments, writing-shape]
101
+ user_invoked_skills: [ask-matt, grill-me, grill-with-docs, handoff, implement, improve-codebase-architecture, loop-me, setup-matt-pocock-skills, setup-ts-deep-modules, teach, to-questionnaire, to-spec, to-tickets, triage, wait-what, wayfinder, writing-beats, writing-fragments, writing-shape]
102
102
  lifecycle_managed_user_entries: [setup-matt-pocock-skills, grill-with-docs, to-spec, to-tickets, implement]
103
- model_invoked_skills: [grilling, domain-modeling, code-review]
103
+ model_invoked_skills: [code-review, codebase-design, diagnosing-bugs, domain-modeling, grilling, migrate-to-shoehorn, prototype, research, resolving-merge-conflicts, scaffold-exercises, setup-pre-commit, tdd, writing-for-agents]
104
+ lifecycle_allowed_model_invoked_skills: [code-review, codebase-design, diagnosing-bugs, domain-modeling, grilling, prototype, research, tdd]
104
105
  lifecycle_may_invoke_user_invoked: false
105
106
  formal_artifact_owner: explicit-user-entry
106
- continuous_orchestration: prepare-and-validate-only
107
+ continuous_orchestration: compatibility-prepare-and-validate-only
107
108
  direct_user_entry: lifecycle-validate-and-accept
108
109
 
109
- lifecycle_workflow_references:
110
- work-unit.discovery-interview:
111
- invocation_mode: model-invoked
110
+ skill_source_contract:
111
+ lock_version: 3
112
+ source_revisions_required: [mattpocock/skills]
113
+ adaptation_ref_required_when_effective_diff: true
114
+ retired_shared_skills: [batch-grill-me, product-design-prototype, yss-dictionary, yss-jdbc, yss-log, yss-taskflow, yss-backend-scaffold-application, yss-backend-scaffold-domain, yss-backend-scaffold-infrastructure, yss-backend-scaffold-web]
115
+
116
+ # 生命周期默认走原生工作单元;Matt user-invoked skill 仅保留为兼容入口。
117
+ lifecycle_native_entries:
118
+ default_entry: yss-product-lifecycle
119
+ formal_artifact_owner: yss-product-lifecycle
120
+ user_confirmation_required_at: [spec-baseline, prototype-confirmation, openapi-freeze, merge-or-release]
121
+ compatibility_entries:
122
+ to-spec: lifecycle-validate-and-accept
123
+ to-tickets: lifecycle-validate-and-accept
124
+ implement: lifecycle-validate-and-accept
125
+
126
+ work_unit_routes:
127
+ work-unit.discovery-opportunity:
128
+ native: {source: yss-product-lifecycle, skill: yss-product-lifecycle, invocation_mode: model-invoked}
129
+ skills: [competitive-intelligence, research]
130
+ route_by: {market_or_competitor_fact: competitive-intelligence, technical_or_standard_fact: research, no_external_fact: yss-product-lifecycle}
131
+ work-unit.discovery-requirements:
132
+ native: {source: yss-product-lifecycle, skill: yss-product-lifecycle, invocation_mode: model-invoked}
112
133
  skills: [grilling, domain-modeling]
113
134
  work-unit.spec-synthesis:
114
- workflow_reference: to-spec
115
- invocation_mode: reference
116
- formal_artifact_owner: explicit-user-entry
135
+ native: {source: yss-product-lifecycle, skill: yss-product-lifecycle, invocation_mode: model-invoked}
136
+ compatibility: {source: mattpocock/skills, skill: to-spec, invocation_mode: reference, formal_artifact_owner: explicit-user-entry}
137
+ skills: [domain-modeling]
138
+ human_gate: spec-baseline
139
+ work-unit.prototype-design:
140
+ native: {source: yss-product-lifecycle, skill: yss-product-lifecycle, invocation_mode: model-invoked}
141
+ skills: [yss-design-system, yss-prototype-stage, product-design:index]
142
+ human_gate: prototype-confirmation
143
+ work-unit.technical-analysis:
144
+ native: {source: yss-product-lifecycle, skill: yss-product-lifecycle, invocation_mode: model-invoked}
145
+ skills: [yss-openapi-governance, yss-openapi-draft-review, codebase-design, implementation-repo-onboarding, yss-router]
146
+ human_gate: openapi-freeze_if_api_impact
117
147
  work-unit.ticket-decomposition:
118
- workflow_reference: to-tickets
119
- invocation_mode: reference
120
- formal_artifact_owner: explicit-user-entry
148
+ native: {source: yss-product-lifecycle, skill: yss-product-lifecycle, invocation_mode: model-invoked}
149
+ compatibility: {source: mattpocock/skills, skill: to-tickets, invocation_mode: reference, formal_artifact_owner: explicit-user-entry}
150
+ skills: [yss-router]
121
151
  work-unit.slice-implementation:
122
- workflow_reference: implement
123
- invocation_mode: reference
124
- formal_artifact_owner: explicit-user-entry
152
+ native: {source: yss-product-lifecycle, skill: yss-product-lifecycle, invocation_mode: model-invoked}
153
+ compatibility: {source: mattpocock/skills, skill: implement, invocation_mode: reference, formal_artifact_owner: explicit-user-entry}
154
+ skills: [tdd, yss-router, yss-ui, yss-page-module-development]
155
+ work-unit.frontend-implementation-verification:
156
+ native: {source: yss-product-lifecycle, skill: yss-product-lifecycle, invocation_mode: model-invoked}
157
+ skills: [yss-ui, yss-design-system, code-review]
158
+ applies_when: ui_impact
125
159
  work-unit.code-review:
126
- invocation_mode: model-invoked
127
- skill: code-review
160
+ native: {source: yss-product-lifecycle, skill: code-review, invocation_mode: model-invoked}
161
+ skills: [code-review]
162
+ work-unit.release-and-retrospective:
163
+ native: {source: yss-product-lifecycle, skill: yss-product-lifecycle, invocation_mode: model-invoked}
164
+ skills: [yss-product-lifecycle]
165
+ human_gate: merge_or_release
128
166
 
129
- flow_preconditions:
167
+ compatibility_flow_preconditions:
130
168
  to-spec:
131
169
  required: [grill_exit, no_unresolved_runnable_blocker]
132
170
  evidence: [user_problem, mvp_and_non_goals, success_criteria, test_seam, terminology_review]
@@ -136,7 +174,7 @@ flow_preconditions:
136
174
  output: vertical-slice-tickets
137
175
  output_role: ready-for-human
138
176
  implement:
139
- required: [ready_for_agent, slice_contract_approved, slice_contract_persisted, slice_contract_current_version, build_architecture_checklist, implementation_repo, implementation_branch, ci, verification_commands, rollback_point, backend_slice_contract_if_applicable, backend_scaffold_policy_satisfied]
177
+ required: [ready_for_agent, slice_contract_approved, slice_contract_persisted, slice_contract_current_version, build_architecture_checklist, implementation_repo, implementation_branch, ci, verification_commands, rollback_point, backend_slice_contract_if_applicable, backend_scaffold_policy_satisfied, frontend_implementation_plan_if_ui_impact]
140
178
  applies_to_single_session: true
141
179
 
142
180
  grill_exit:
@@ -159,6 +197,9 @@ review_input:
159
197
  schema_version: 1
160
198
  required: [review_mode, review_base_ref, implementation_candidate_ref, candidate_snapshot_ref, candidate_digest, spec_ref, ticket_ref, slice_contract_ref, build_architecture_checklist_ref, yss_execution_result_refs]
161
199
  nullable: [spec_ref]
200
+ axes: [standards, spec, ui_fidelity_if_ui_impact]
201
+ repair_invalidates_candidate: true
202
+ repair_action: recapture_candidate_and_rerun_all_axes
162
203
  modes: [committed, worktree]
163
204
  committed:
164
205
  candidate_ref: HEAD
@@ -328,14 +369,39 @@ setup_readiness:
328
369
 
329
370
  lifecycle_owned_work_units: [release, retrospective]
330
371
  lifecycle_work_unit_requirements:
331
- release: [fresh_verification, release_or_rollback_evidence, independent_review]
372
+ release: [fresh_verification, release_or_rollback_evidence, independent_review, all_triggered_gates_approved_or_not_applicable]
332
373
  retrospective: [fresh_verification, retrospective_record, governance_reflow_decision]
333
374
 
375
+ release_readiness:
376
+ required: [fresh_verification, release_or_rollback_evidence, independent_review, all_triggered_gates_approved_or_not_applicable]
377
+ conditional:
378
+ ui_impact: [gate.frontend-implementation-verified, evidence.frontend-implementation-verification]
379
+ blocked_when: [triggered_gate_blocked, triggered_gate_stale, triggered_gate_not_evaluated, missing_evidence]
380
+
334
381
  wayfinder_completion:
335
382
  required: [no_open_children, no_open_blocked_or_claimed_children, no_fog, destination_clear]
336
383
 
337
384
  ready_for_agent:
338
- required: [gates_satisfied, no_stale_artifacts, blockers_closed, implementation_context_ready, implementation_repo, implementation_branch, ci, verification_commands, rollback_point, slice_contract_approved, slice_contract_persisted, slice_contract_current_version, build_architecture_checklist, backend_slice_contract_if_applicable, backend_scaffold_policy_satisfied]
385
+ required: [gates_satisfied, no_stale_artifacts, blockers_closed, implementation_context_ready, implementation_repo, implementation_branch, ci, verification_commands, rollback_point, slice_contract_approved, slice_contract_persisted, slice_contract_current_version, build_architecture_checklist, backend_slice_contract_if_applicable, backend_scaffold_policy_satisfied, frontend_implementation_plan_if_ui_impact]
386
+
387
+ frontend_implementation_plan:
388
+ applies_when: [ui_impact]
389
+ required_before: [ready_for_agent]
390
+ required: [prototype_ref, spec_ref, route_and_page_inventory, visual_acceptance_cases, desktop_viewport, narrow_viewport, state_cases, pnpm_commands]
391
+ schema: docs/process/schemas/frontend-implementation-evidence.schema.json
392
+ validator: scripts/verify-frontend-implementation-evidence
393
+ acceptance: [kind_plan, template_false, status_approved, no_template_placeholders, readable_baseline_refs, non_empty_acceptance_cases]
394
+
395
+ frontend_implementation_verification:
396
+ applies_when: [ui_impact]
397
+ required_before: [release]
398
+ required: [prototype_ref, spec_ref, route_and_page_inventory, desktop_visual_evidence, narrow_view_visual_evidence, loading_empty_error_permission_interaction_results, console_warning_check, pnpm_commands, uncovered_differences, difference_owner]
399
+ verification: [actual_command, exit_code, executed_at, evidence_ref]
400
+ schema: docs/process/schemas/frontend-implementation-evidence.schema.json
401
+ validator: scripts/verify-frontend-implementation-evidence
402
+ acceptance: [kind_verification, template_false, status_approved, no_template_placeholders, console_warning_pass, independent_review_approved]
403
+ blocked_when: [unexplained_visual_difference, missing_visual_evidence, typecheck_only, claimed_alignment_without_evidence]
404
+ on_new_impact: [new_impacts, drift, reroute]
339
405
 
340
406
  unknown_impact:
341
407
  action: pause
@@ -6,7 +6,7 @@
6
6
  2. `setup readiness`:每个任务只执行一次,核对 tracker、五态标签和领域文档布局,并在本轮缓存结果;仅在 tracker、主远端、真实标签或配置变化时重查。
7
7
  3. 加载父 Ticket/checkpoint 与真实资产,计算最近可信阶段。
8
8
  4. 评估资产、门禁和 `stale`,选择第一个未阻塞工作单元。
9
- 5. 执行最小生命周期工作单元:只实际调用允许的 model-invoked skill;Matt user-invoked skill 仅作为 workflow reference。将结果归一化为 `Workflow Execution Result`,验收输出并回写状态与证据。
9
+ 5. 执行最小生命周期工作单元:只实际调用允许的 model-invoked skill;原生工作单元可直接持有正式资产,Matt 兼容 user-invoked skill 仅作为 workflow reference,仍由用户显式启动。将结果归一化为 `Workflow Execution Result`,验收输出并回写状态与证据。
10
10
  6. 若仍在授权和自动推进边界内,回到第 3 步;否则暂停。
11
11
 
12
12
  不要仅输出下一个提示词后结束 `orchestrate`/`resume`。不要因进入业务代码阶段而退出主控;应把实现交给专项 skill,并在返回后继续核验。
@@ -51,9 +51,9 @@ tracker 选择和冲突按 `docs/agents/issue-tracker.md` 裁决:已持久化
51
51
 
52
52
  ## Matt flow 进入条件
53
53
 
54
- - `work-unit.discovery-interview` 实际调用 `grilling` 和 `domain-modeling`。`to-spec` 只能由用户显式启动;生命周期仅在其前准备并验收,正式 Spec 默认为 `ready-for-human`。
55
- - `to-tickets` 只能由用户显式启动;生命周期仅在 OpenAPI Freeze 或无 API 影响记录后准备和验收垂直切片,初始角色统一为 `ready-for-human`。
56
- - `implement` 只能由用户显式启动;无论多会话还是单会话,生命周期都在其前后核验 `ready-for-agent` 公式、批准并持久化的 Slice Implementation Contract 和 Build Architecture Checklist。
54
+ - `work-unit.discovery-requirements` 实际调用 `grilling` 和 `domain-modeling`;`work-unit.discovery-opportunity` 按事实类型路由 `competitive-intelligence` 或 `research`。生命周期原生工作单元默认负责 Spec、Ticket 和实现资产;`to-spec`、`to-tickets`、`implement` 仅保留为显式兼容入口,结果必须回交生命周期验收。
55
+ - 原生 `work-unit.ticket-decomposition` 只能在 OpenAPI Freeze 或无 API 影响记录后创建垂直切片,初始角色统一为 `ready-for-human`;生命周期复算完整公式后才能提升 `ready-for-agent`。
56
+ - 原生 `work-unit.slice-implementation` 必须在生命周期批准并持久化 Slice Implementation Contract 和 Build Architecture Checklist 后执行;用户显式 `implement` 仍走兼容入口,不得绕过生命周期。
57
57
  - `implement` 遇到 backend `scaffold_status=required` 时,还必须满足原型确认后的脚手架策略:脚手架 Execution Result、`yss-backend-scaffold-parent` 基线、Wrapper 验证和 Router 合同重编译均已回写;否则停在工程基线,不得写业务代码。
58
58
  - `Workflow Execution Result` 出现 `drift`、`new_impacts`、`stale_candidates`、`violation`、`missing_evidence`、空 `evidence_refs` 或缺少必需字段时暂停当前工作单元;旧结果只能先经只读兼容 adapter 归一化。
59
59
 
@@ -63,6 +63,7 @@ tracker 选择和冲突按 `docs/agents/issue-tracker.md` 裁决:已持久化
63
63
  - 小改动和中等变更可由同一独立执行者完成 `code-review` 与 fresh verification,并在同一报告中分别记录 findings、命令、结果和残余风险。
64
64
  - 该执行者必须独立于实现者;新模块、高风险变更、职责冲突或需双人控制时,Reviewer 与 Verifier 分开。
65
65
  - `code-review` 是唯一默认代码审查 skill。GitLab、CI、Sonar、Alibaba Java 等治理事实作为仓库规则或专项检查输入,不再叠加第二个通用审查 skill。
66
+ - UI 影响切片将 `UI fidelity` 作为 `code-review` 的条件第三轴;任何修复都会使候选摘要失效,必须重新捕获候选并重跑 Standards、Spec、UI fidelity 和 fresh verification。
66
67
 
67
68
  ## Git 授权
68
69
 
@@ -46,10 +46,13 @@ AND 当前工作单元消费的 contract_id/version 与最新批准版本一致
46
46
  AND Backend Slice Implementation Contract(后端适用)和 Build Architecture Checklist 已完成
47
47
  AND backend 影响且 scaffold_status=required 时,原型确认后的脚手架策略、`yss-backend-scaffold-parent` 基线、Wrapper 验证和 Router 重编译均已完成
48
48
  AND 所有后续生成代码均绑定主 YSS skill、依赖闭包、允许写路径、预期证据和 YSS Skill Execution Result
49
+ AND UI 影响切片的前端实现还原计划已通过 schema 校验、`template=false`、`status=approved`,且基线引用可读取
49
50
  ```
50
51
 
51
52
  父 Ticket、Spec、设计、原型、OpenAPI Draft、wayfinder map 和 decision ticket 不得使用 `ready-for-agent`。
52
53
 
54
+ 发布前还必须满足所有已触发门禁均为 `approved` 或 `not-applicable`;UI 影响切片必须额外通过 `gate.frontend-implementation-verified`,不能只凭 fresh verification 和回滚点放行。
55
+
53
56
  用户显式运行 `to-tickets` 后,垂直切片初始角色固定为 `ready-for-human`。只有 `yss-product-lifecycle` 复算上述公式全部为真后,才能把它提升为 `ready-for-agent`;生命周期不会自动调用 `to-tickets`,其默认标签也不参与该裁决。
54
57
 
55
58
  ## Review 与 Git 授权状态
@@ -60,7 +63,7 @@ Git 动作分别保存 `commit_authorized`、`commit_scope`、`commit_authorizat
60
63
 
61
64
  ## 状态块
62
65
 
63
- 状态块位于主 tracker 的功能父 Ticket;Local Markdown 使用 `docs/.scratch/<feature>/parent-ticket.md`,远程 tracker 使用 Issue 并在本地功能包保留引用。平台不可用时才位于 stage checkpoint。只保存索引、状态、引用和因果关系:
66
+ 状态块位于主 tracker 的功能父 Ticket,并使用 `docs/process/templates/lifecycle-checkpoint-template.yaml` 的结构化形状和 `lifecycle-checkpoint.schema.json` 校验;Local Markdown 使用 `docs/.scratch/<feature>/parent-ticket.md`,可将完整 checkpoint 保存在 `docs/.scratch/<feature>/gates/lifecycle-checkpoint.yaml` 后由父 Ticket 引用,远程 tracker 使用 Issue 并在本地功能包保留引用。平台不可用时才位于 stage checkpoint。只保存索引、状态、引用和因果关系:
64
67
 
65
68
  ```yaml
66
69
  lifecycle:
@@ -11,7 +11,7 @@ description: Use when a YSS feature has product-design impact on a primary flow,
11
11
 
12
12
  - 先由 `yss-product-lifecycle` 判断产品设计影响;无行为变化的孤立视觉修复记录 `not-applicable`,不创建空资产。
13
13
  - Codex 的产出主入口是 `product-design:index`;其他 Agent 使用等价的产品设计能力,但必须产出本技能规定的相同资产和证据。能力或证据不能等价时,暂停并回到人工确认。
14
- - `product-design-prototype`、`high-fidelity-html-prototype` 仅为兼容入口;从它们进入时立即回到本合同。已退休的原型技能不得继续路由。
14
+ - `high-fidelity-html-prototype` 仅为历史兼容入口;从它进入时立即回到本合同。已退休的原型技能(含 `product-design-prototype`)不得继续路由。
15
15
 
16
16
  ## 资产与门禁顺序
17
17
 
@@ -59,10 +59,15 @@ description: Use when generating or refactoring YSS persistence models, BaseRepo
59
59
 
60
60
  - metadata / DDL 输入准备:确认输入完整
61
61
  - 领域建模:`yss-domain`
62
+ - 用例编排:`yss-application`
62
63
  - POJO 样板代码:`lombok`
63
64
  - 对象转换:`mapstruct`
64
65
  - Web 补齐:`yss-web-controller`
65
66
 
67
+ ## 分层开发规范
68
+
69
+ 实现 PO / Repository / GatewayImpl 前,必须加载 `references/infrastructure-layer-guide.md`:其中定义持久化对象、Repository、Convertor 与 Gateway 实现的结构与示例。
70
+
66
71
  ## 阶段 7 合同
67
72
 
68
73
  - 前置条件:数据架构、领域元数据、实现仓库和批准后的 `Slice Implementation Contract` 均可用;否则不执行本 skill,由 Router 返回 `blocked`。
@@ -1,10 +1,3 @@
1
- ---
2
- name: "yss-backend-scaffold-infrastructure"
3
- description: "YSS 服务的基础设施层开发框架和技术指南。在实现数据访问层、数据库实体、外部服务适配器时需要用到。"
4
- ---
5
-
6
- # Infrastructure 层开发规范 (Infrastructure Layer Development Guide)
7
-
8
1
  本 Skill 提供了 YSS **Infrastructure (基础设施层)** 的通用开发规范。Infrastructure 层负责实现 Domain 层定义的网关接口,处理数据持久化、外部服务调用和配置管理。
9
2
 
10
3
  ## 1. 核心职责 (Core Responsibilities)
@@ -22,8 +22,8 @@ Default for a new page: first verify the approved product design, state matrix,
22
22
  ## Backend Boundaries
23
23
 
24
24
  - `yss-ddd-scaffold-generator`: Create a whole multi-module backend skeleton.
25
- - `yss-domain`: Domain modeling and domain gateway contracts.
26
- - `yss-backend-scaffold-application`: Application use cases, transaction boundaries, and cross-aggregate orchestration.
25
+ - `yss-domain`: Domain modeling, domain gateway contracts, and domain-layer conventions.
26
+ - `yss-application`: Application use cases, transaction boundaries, and cross-aggregate orchestration.
27
27
  - `yss-repository`: Persistence implementation, PO, Repository, Convertor, GatewayImpl.
28
28
  - `yss-web-controller`: REST adapter layer, request/response DTOs, VO, web convertor.
29
29
  - `yss-mybatis`: Framework behavior for MyBatis/MyBatis-Plus, BaseRepository, pagination, mapper scanning, batch, datasource issues.
@@ -39,11 +39,7 @@ Default for end-to-end backend CRUD: include Domain, Application, Infrastructure
39
39
  - `yss-audit-log`: Audit annotations, SpEL summaries, async publication, subscribers.
40
40
  - `yss-excel-mvc`: Spring MVC Excel import/export annotations and handlers.
41
41
  - `yss-distributed-id`: ID strategies, AutoIdInterceptor, Leaf/CosId/Snowflake, batch ID injection.
42
- - `yss-jdbc`: Hutool Db, dynamic datasource JDBC, JdbcSqlUtil, batch SQL execution.
43
- - `yss-dictionary`: Dictionary/domain item APIs and dictionary component integration.
44
- - `yss-log`: DEBUG request-parameter/success-latency logging, starter auto-configuration, and centralized collection; current `CatchAndLog` is not exception logging.
45
42
  - `yss-resilience4j`: Circuit breaker, fallback, and gateway resilience integration.
46
- - `yss-taskflow`: Task flow definition/execution component behavior.
47
43
  - `yss-validation`: Validation engine and JSR-303 integration.
48
44
  - `yss-security-algorithm`: RSA/AES/SM/JWT/JWK/password-encoding compatibility and production key-management safety gates.
49
45
  - `yss-userinfo`: Current-user info propagation and starter integration.
@@ -1,6 +1,9 @@
1
1
  schema_version: 1
2
2
  allowed_statuses: [draft, blocked, ready-for-lifecycle-review]
3
3
  forbidden_statuses: [approved, ready-for-agent, completed]
4
+ skill_aliases:
5
+ api-integration: yss-api-integration
6
+ microapp-commit: yss-microapp-commit
4
7
  implementation_path_policy:
5
8
  applies_to: harness-resident-runtime-code
6
9
  project_roots:
@@ -120,24 +123,22 @@ dependency_closure:
120
123
  yss-ddd-scaffold-generator:
121
124
  always: [yss-backend-scaffold-parent, alibaba-java-code-style]
122
125
  yss-domain:
123
- always: [yss-backend-scaffold-domain, alibaba-java-code-style]
126
+ always: [alibaba-java-code-style]
124
127
  when_modeling: [domain-modeling]
125
128
  when_pojo: [lombok]
126
- yss-backend-scaffold-application:
129
+ yss-application:
127
130
  always: [alibaba-java-code-style]
128
131
  when_conversion: [mapstruct, lombok]
129
132
  yss-repository:
130
- always: [yss-backend-scaffold-infrastructure, mapstruct, lombok, alibaba-java-code-style]
133
+ always: [mapstruct, lombok, alibaba-java-code-style]
131
134
  when_mybatis: [yss-mybatis]
132
135
  yss-web-controller:
133
- always: [yss-dto, yss-backend-scaffold-web, mapstruct, lombok, alibaba-java-code-style]
136
+ always: [yss-dto, mapstruct, lombok, alibaba-java-code-style]
134
137
  yss-userinfo:
135
138
  always: [yss-dto]
136
139
  when_cache_lookup: [yss-cache]
137
140
  yss-audit-log:
138
141
  always: [yss-userinfo, yss-dto]
139
- yss-log:
140
- always: []
141
142
  yss-validation:
142
143
  always: [yss-exception]
143
144
  yss-security-algorithm:
@@ -156,7 +157,6 @@ component_impact_values:
156
157
  - current-user-context
157
158
  - user-cache-lookup
158
159
  - audit-event
159
- - technical-request-logging
160
160
  - request-validation
161
161
  - error-mapping
162
162
  - encryption-or-signing
@@ -165,20 +165,16 @@ component_impact_routing:
165
165
  current-user-context: [yss-userinfo]
166
166
  user-cache-lookup: [yss-userinfo, yss-cache]
167
167
  audit-event: [yss-audit-log, yss-userinfo, yss-dto]
168
- technical-request-logging: [yss-log]
169
168
  request-validation: [yss-validation, yss-exception]
170
169
  error-mapping: [yss-exception, yss-dto]
171
170
  encryption-or-signing: [yss-security-algorithm, yss-exception]
172
171
 
173
172
  end_to_end_backend_required:
174
173
  - yss-domain
175
- - yss-backend-scaffold-domain
176
- - yss-backend-scaffold-application
174
+ - yss-application
177
175
  - yss-repository
178
- - yss-backend-scaffold-infrastructure
179
176
  - yss-web-controller
180
177
  - yss-dto
181
- - yss-backend-scaffold-web
182
178
  - mapstruct
183
179
  - lombok
184
180
  - alibaba-java-code-style
@@ -12,11 +12,7 @@ The refresh script maps component source path hints to skill references. These p
12
12
  | `yss-audit-log` | `yss-microservice-components/yss-component-audit-log` |
13
13
  | `yss-excel-mvc` | `yss-microservice-components/yss-component-excel-mvc`, `yss-microservice-components/yss-component-excel-starter` |
14
14
  | `yss-distributed-id` | `yss-microservice-components/yss-component-distributed-id`, `yss-microservice-components/yss-component-leaf` |
15
- | `yss-jdbc` | `yss-microservice-components/yss-component-jdbc` |
16
- | `yss-dictionary` | `yss-microservice-components/yss-component-dictionary-parent` |
17
- | `yss-log` | `yss-microservice-components/yss-component-log-starter` |
18
15
  | `yss-resilience4j` | `yss-microservice-components/yss-component-resilience4j-starter` |
19
- | `yss-taskflow` | `yss-microservice-components/yss-component-taskflow` |
20
16
  | `yss-validation` | `yss-microservice-components/yss-component-validation-engine-parent`, `yss-microservice-components/yss-component-validation-jsr303` |
21
17
  | `yss-security-algorithm` | `yss-microservice-components/yss-component-security-algorithm` |
22
18
  | `yss-userinfo` | `yss-microservice-components/yss-component-userinfo-starter` |
@@ -5,7 +5,7 @@ import os from "node:os";
5
5
  import path from "node:path";
6
6
  import { fileURLToPath } from "node:url";
7
7
 
8
- const BACKEND = {"yss-cache":["yss-microservice-components/yss-component-cache-parent"],"yss-mybatis":["yss-microservice-components/yss-component-persistence"],"yss-dto":["yss-microservice-components/yss-component-dto"],"yss-audit-log":["yss-microservice-components/yss-component-audit-log"],"yss-excel-mvc":["yss-microservice-components/yss-component-excel-mvc","yss-microservice-components/yss-component-excel-starter"],"yss-distributed-id":["yss-microservice-components/yss-component-distributed-id","yss-microservice-components/yss-component-leaf"],"yss-jdbc":["yss-microservice-components/yss-component-jdbc"],"yss-dictionary":["yss-microservice-components/yss-component-dictionary-parent"],"yss-log":["yss-microservice-components/yss-component-log-starter"],"yss-resilience4j":["yss-microservice-components/yss-component-resilience4j-starter"],"yss-taskflow":["yss-microservice-components/yss-component-taskflow"],"yss-validation":["yss-microservice-components/yss-component-validation-engine-parent","yss-microservice-components/yss-component-validation-jsr303"],"yss-security-algorithm":["yss-microservice-components/yss-component-security-algorithm"],"yss-userinfo":["yss-microservice-components/yss-component-userinfo-starter"],"yss-exception":["yss-microservice-components/yss-component-exception"]};
8
+ const BACKEND = {"yss-cache":["yss-microservice-components/yss-component-cache-parent"],"yss-mybatis":["yss-microservice-components/yss-component-persistence"],"yss-dto":["yss-microservice-components/yss-component-dto"],"yss-audit-log":["yss-microservice-components/yss-component-audit-log"],"yss-excel-mvc":["yss-microservice-components/yss-component-excel-mvc","yss-microservice-components/yss-component-excel-starter"],"yss-distributed-id":["yss-microservice-components/yss-component-distributed-id","yss-microservice-components/yss-component-leaf"],"yss-resilience4j":["yss-microservice-components/yss-component-resilience4j-starter"],"yss-validation":["yss-microservice-components/yss-component-validation-engine-parent","yss-microservice-components/yss-component-validation-jsr303"],"yss-security-algorithm":["yss-microservice-components/yss-component-security-algorithm"],"yss-userinfo":["yss-microservice-components/yss-component-userinfo-starter"],"yss-exception":["yss-microservice-components/yss-component-exception"]};
9
9
  const FRONTEND={"yss-ui":["components","hooks","skills"],"yss-components":["components"],"yss-hook":["hooks"],"yss-page-module-development":["components","hooks","skills"],"yss-use-table-height":["hooks"],"yss-use-tree-height":["hooks"]};
10
10
  const URLS={components:"http://192.168.164.27:3200/components",hooks:"http://192.168.164.27:3200/hooks",skills:"http://192.168.164.27:3200/skills"};
11
11
  const KEYS=["Audit","Cache","Clear","Command","Configuration","Controller","DTO","Data","Enable","Excel","Handler","Interceptor","Jdbc","Mapper","Mybatis","Page","Properties","Query","Repository","Request","Response","Result","Update","Aspect","Leaf","Id","Dir","Dic","Dictionary","File","Upload","Log","Message","Mail","Liquibase","Circuit","Breaker","Sql","Tpl","Tag","Task","Flow","Report","Validation","Validator","Security","Crypto","User","Variable","Quality","Search","Similarity","Scheduler","Runner","Duck","Dynamic","Factory","Client","Feign","Gateway","Convertor","Adapter","Advice","Bridge","Route","Uploader","Sftp","Minio","Parser","Express","Rule","Template","Generator","Importer","Engine","Event","Submitter","Executor","Context","Status","Type","State"];
@@ -63,6 +63,7 @@ node scripts/generate_controller.mjs \
63
63
 
64
64
  ## 按需读取
65
65
 
66
+ - 分层开发规范:`references/web-adapter-layer-guide.md`
66
67
  - 生成脚本:`scripts/generate_controller.mjs`
67
68
  - Controller 模板:`assets/templates/Controller.java.template`
68
69
  - Convertor 模板:`assets/templates/WebConvertor.java.template`
@@ -1,10 +1,3 @@
1
- ---
2
- name: "yss-backend-scaffold-web"
3
- description: "YSS 管理服务的 Web Adapter 开发框架和技术指南。在实现 REST API 控制器、请求处理和响应格式化时需要用到。"
4
- ---
5
-
6
- # Web Adapter Layer Development Guide
7
-
8
1
  本技能为开发 YSS 服务的**Web 适配器层**(REST API)提供指导和框架。
9
2
  Web 适配器负责通过 HTTP 公开业务功能、处理输入验证和格式化响应。
10
3
 
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "YSS Spec Project Template",
3
+ "install": "pip3 install jsonschema\npnpm --dir .template-source/tooling/node install --frozen-lockfile",
4
+ "start": "pnpm dev"
5
+ }
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: alibaba-java-code-style
3
+ description: Apply Alibaba Java Development Manual conventions when implementing, refactoring, or reviewing Java/JVM code, Spring-style services, MyBatis/ORM mappings, SQL, Maven dependencies, unit tests, exception/logging behavior, security checks, and design documentation. Use when the user asks for Java code规范, 阿里规范, P3C-style review, Java code style, or compliance with Alibaba Java coding guidelines.
4
+ ---
5
+
6
+ # Alibaba Java Code Style
7
+
8
+ This skill distills the provided `阿里巴巴 Java 开发手册` 1.4.0 PDF into execution rules for Codex. Treat rules marked mandatory as review blockers unless the repository's own `AGENTS.md`, security constraints, or existing framework conventions explicitly require a different pattern.
9
+
10
+ ## Workflow
11
+
12
+ 1. Identify the touched surface:
13
+ - Java source, naming, constants, OOP, collections, concurrency, control flow, comments: read `references/java-programming.md`.
14
+ - Exceptions, logging, unit tests, or security: read `references/reliability-test-security.md`.
15
+ - MySQL, ORM/MyBatis, Maven dependencies, layering, server/JVM settings, or design artifacts: read `references/database-engineering-design.md`.
16
+ 2. Apply mandatory rules first, then use recommended rules to improve maintainability, performance, and readability.
17
+ 3. When reviewing, report mandatory violations as findings. Mention recommended violations when they create real risk or are already in the changed area.
18
+ 4. When implementing, prefer the repository's existing framework helpers and code generation skills over inventing new local infrastructure.
19
+ 5. If a rule touches a project safety boundary such as auth, payment, encryption, raw SQL, database migration scripts, or public base library API changes, produce a draft or `TODO-HUMAN-REVIEW` rather than silently finalizing risky code.
20
+
21
+ ## Core Priorities
22
+
23
+ - Keep names readable, English, and consistent with Java layer conventions.
24
+ - Avoid null, equality, wrapper comparison, collection, and concurrency traps that compile cleanly but fail at runtime.
25
+ - Make logs useful without wasting CPU, disk, or alert budget.
26
+ - Keep unit tests automatic, independent, repeatable, and close to public behavior.
27
+ - Bind SQL parameters, define explicit ORM mappings, and never rely on string-concatenated SQL.
28
+ - Preserve layering: web/controller code validates and adapts; service/manager code owns business orchestration; DAO/repository code owns persistence.
29
+
30
+ ## Review Checklist
31
+
32
+ - Naming and formatting are consistent: camel case, constants, package names, braces, spacing, line length, UTF-8/Unix line endings.
33
+ - POJO, DTO, DO, VO, Query, enum, interface, implementation, and test names follow the expected suffixes and boolean naming rules.
34
+ - `equals`, `hashCode`, wrapper comparisons, `toString`, `serialVersionUID`, constructors, access modifiers, and getters/setters avoid known pitfalls.
35
+ - Collection code avoids unsafe `subList`, `Arrays.asList`, raw `toArray`, foreach removal, null-unsafe maps, and invalid comparators.
36
+ - Thread code uses named thread pools, avoids `Executors` factories in production code, and handles locking order, date formatting, and scheduled tasks safely.
37
+ - Exceptions are handled at the right layer, logged once with context and stack, and never swallowed or used for normal control flow.
38
+ - Tests use assertions, avoid external dependence, live under `src/test/java`, and cover boundaries, correct cases, design cases, and error cases.
39
+ - Security-sensitive inputs are validated, authorized, escaped, CSRF-protected, rate-limited, and never concatenated into SQL.
40
+ - MySQL DDL/SQL/ORM code uses explicit fields, mappings, indexes, timestamps, `#{}`
41
+ parameter binding, and avoids dangerous cascades, stored procedures, `select *`, and uncontrolled pagination.
42
+
43
+ ## Source
44
+
45
+ Based on the user-provided PDF: `阿里巴巴 Java 开发手册` version 1.4.0, Alibaba Group technical team, update date 2018-05-20.
46
+
47
+ ## 阶段 7 执行结果
48
+
49
+ - 消费当前合同版本、changed files 和 verification results,只审查合同允许范围。
50
+ - 必须把 mandatory violation 返回为 `violation`,并提供文件/位置/规则证据;高风险项保留 `TODO-HUMAN-REVIEW`。
51
+ - 按统一 `YSS Skill Execution Result` 返回审查证据、偏离和新增安全/SQL/公共 API 影响,不得仅输出“符合规范”。
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Alibaba Java Code Style"
3
+ short_description: "Apply Alibaba Java development guidelines"
4
+ default_prompt: "Use $alibaba-java-code-style to implement or review Java code against Alibaba Java development conventions."
@@ -0,0 +1,147 @@
1
+ # Database, Engineering, And Design Rules
2
+
3
+ Use this reference for MySQL DDL/SQL, ORM mappings, Maven/library dependency rules, application layering, server/JVM settings, and design artifacts.
4
+
5
+ ## MySQL Table Design
6
+
7
+ Mandatory:
8
+
9
+ - Boolean database fields must be named `is_xxx` and use `unsigned tinyint`, where `1` means yes and `0` means no. POJO boolean fields must not use `is` prefix, so define explicit ORM mappings.
10
+ - Table and field names must be lowercase letters or digits. Do not start with digits, use uppercase, or use patterns such as `level_3_name`.
11
+ - Table names must be singular.
12
+ - Do not use MySQL reserved words such as `desc`, `range`, `match`, or `delayed`.
13
+ - Index names: primary key `pk_字段名`, unique index `uk_字段名`, normal index `idx_字段名`.
14
+ - Use `decimal` for decimals. Do not use `float` or `double` for precise stored values.
15
+ - Use `char` for nearly fixed-length strings.
16
+ - `varchar` length must not exceed 5000. For longer content, use `text` in a separate table keyed by the primary key to avoid hurting other index efficiency.
17
+ - Every table must include `id`, `gmt_create`, and `gmt_modified`. `id` is `bigint unsigned` primary key with auto-increment step 1 for single tables; timestamps are `datetime`.
18
+
19
+ Recommended/reference:
20
+
21
+ - Prefer table names like `业务名称_表作用`.
22
+ - Keep database name aligned with application name where possible.
23
+ - Update field comments when field meaning or status values change.
24
+ - Redundant fields are allowed for performance only when consistency is considered, the value is not frequently changed, and the field is not long `varchar` or `text`.
25
+ - Consider sharding only when a single table exceeds about 5 million rows or 2 GB, or when projections clearly require it.
26
+ - Choose compact unsigned integer types where domain ranges allow.
27
+
28
+ ## Indexes
29
+
30
+ Mandatory:
31
+
32
+ - Business-unique fields must have unique indexes, even when uniqueness is also checked in application code.
33
+ - Do not join more than 3 tables. Join column types must be exactly consistent and associated columns must have indexes.
34
+ - When indexing `varchar`, specify an index length based on real selectivity instead of indexing the whole field.
35
+ - Page search must not use left fuzzy or full fuzzy queries such as `%keyword` or `%keyword%`; use a search engine when needed.
36
+
37
+ Recommended/reference:
38
+
39
+ - For `order by`, align the ordered field with the last part of the composite index where possible, such as `where a=? and b=? order by c` with index `a_b_c`.
40
+ - Use covering indexes to avoid table lookups where suitable.
41
+ - For deep pagination, use delayed join/subquery techniques to locate IDs first, or cap total pages.
42
+ - SQL optimization target: at least `range`, preferably `ref`, best `const`.
43
+ - Put the most selective equality column on the left side of composite indexes. When mixed with range conditions, place equality conditions first.
44
+ - Avoid implicit type conversion, which can invalidate indexes.
45
+ - Avoid both extremes: indexing every query and resisting necessary indexes such as unique indexes.
46
+
47
+ ## SQL And ORM
48
+
49
+ Mandatory:
50
+
51
+ - Use `count(*)` for row counts, not `count(column)` or `count(constant)`.
52
+ - Know `count(distinct col)` ignores nulls; `sum(col)` over all-null rows returns null, so guard against NPE.
53
+ - Use `ISNULL()` or the project-standard equivalent to test nulls; direct equality comparisons with null do not behave as true/false.
54
+ - In pagination code, return immediately when count is 0 instead of running the page query.
55
+ - Do not use foreign keys or cascades; model those relationships in application logic for distributed/high-concurrency systems.
56
+ - Do not use stored procedures in application code.
57
+ - For data correction, especially delete/update, select first and confirm before mutating.
58
+ - In queries, never use `*`; explicitly list required fields.
59
+ - POJO boolean fields must not use `is` prefix, while database fields must use `is_`; define explicit result mappings.
60
+ - Do not rely on `resultClass` for ORM returns. Define `resultMap` or equivalent explicit mappings.
61
+ - MyBatis/iBATIS XML parameters must use `#{}`. Do not use `${}` for user-controlled values because it risks SQL injection.
62
+ - Do not return raw `HashMap`/`Hashtable` as query results; use typed objects.
63
+ - Every update to a table record must update `gmt_modified` to the current time.
64
+
65
+ Recommended/reference:
66
+
67
+ - Avoid large `IN` lists; keep them under about 1000 items if unavoidable.
68
+ - For internationalized storage, use UTF-8; use `utf8mb4` when storing emoji.
69
+ - Avoid `TRUNCATE TABLE` in application code; it has no transaction and does not trigger delete behavior.
70
+ - Do not create a large all-fields update API. Update only changed target fields to reduce mistakes, binlog size, and work.
71
+ - Do not overuse `@Transactional`; consider database QPS and rollback/compensation for cache, search, messages, and statistics.
72
+
73
+ ## Application Layering
74
+
75
+ Recommended/reference:
76
+
77
+ - Follow downward dependencies:
78
+ - Open API layer: exposes service methods as RPC/HTTP, handles gateway security and traffic controls.
79
+ - Terminal display layer: templates, JavaScript rendering, JSP, or mobile display.
80
+ - Web layer: forwarding, access control, basic parameter validation, and simple non-reused business handling.
81
+ - Service layer: concrete business logic.
82
+ - Manager layer: common business handling, third-party platform adaptation, service common capability extraction, cache/middleware handling, and DAO composition.
83
+ - DAO layer: persistence interaction with MySQL, Oracle, HBase, etc.
84
+ - External interfaces: other departments' RPC APIs, base platforms, or third-party HTTP APIs.
85
+ - Exception handling by layer:
86
+ - DAO catches broad persistence exceptions and wraps them as `DAOException`; do not log again if the upper layer will log.
87
+ - Service logs exceptions with parameters and context.
88
+ - Manager follows DAO behavior when deployed with Service, or Service behavior when independently deployed.
89
+ - Web should not keep throwing to users; render friendly errors when the page cannot proceed.
90
+ - Open API converts exceptions to error code and message.
91
+ - Domain model meanings:
92
+ - `DO`: database table object, passed upward by DAO.
93
+ - `DTO`: transfer object from Service/Manager outward.
94
+ - `BO`: business object output by Service.
95
+ - `AO`: application object between Web and Service, close to display and not highly reusable.
96
+ - `VO`: view object for Web/template rendering.
97
+ - `Query`: query request object. If a query has more than 2 parameters, wrap them; do not pass `Map`.
98
+
99
+ ## Maven And Library Dependencies
100
+
101
+ Mandatory:
102
+
103
+ - Use GAV conventions where applicable: `GroupId` as `com.{company/BU}.business[.subBusiness]`, `ArtifactId` as `product-module`, version as `major.minor.patch`.
104
+ - Version meaning: major for direction/large incompatibility/architecture changes, minor for mostly compatible major features, patch for compatible bugfixes/minor features. Initial formal release should be `1.0.0`.
105
+ - Online applications must not depend on `SNAPSHOT` versions except explicitly allowed security packages.
106
+ - Adding/upgrading a library must preserve dependency mediation outside the intended functional change. Compare `dependency:resolve`/`dependency:tree` and exclude accidental differences.
107
+ - Library APIs may define enum types and accept enum parameters, but should not return enum values or POJOs containing enum values across external library boundaries.
108
+ - Define one version variable for a group of related libraries to avoid version drift.
109
+ - Do not declare the same `GroupId` and `ArtifactId` with different versions across subprojects.
110
+
111
+ Recommended/reference:
112
+
113
+ - Put dependency declarations under `<dependencies>` and version mediation under `<dependencyManagement>`.
114
+ - Avoid adding configuration items to reusable libraries unless truly necessary.
115
+ - Library publishers should keep APIs/dependencies minimal and behavior stable/traceable.
116
+
117
+ ## Server And JVM
118
+
119
+ Recommended/reference:
120
+
121
+ - For high-concurrency servers, reduce TCP `time_wait` timeout where operations policy allows.
122
+ - Increase maximum file descriptors for high concurrent connection counts.
123
+ - Set `-XX:+HeapDumpOnOutOfMemoryError` so OOM events produce diagnostic dumps.
124
+ - In production, set JVM `Xms` and `Xmx` to the same size to avoid heap resizing pressure after GC.
125
+ - Use `forward` for internal redirects. Generate external redirect URLs through URL builder utilities to avoid inconsistent maintenance and potential security risk.
126
+
127
+ ## Design Rules
128
+
129
+ Mandatory:
130
+
131
+ - Storage schemes and base data structures must pass review and be documented before production execution. Data structure changes such as adding fields also need review.
132
+ - If more than one user type interacts with the system and related use cases exceed 5, use a use-case diagram.
133
+ - If a business object's states exceed 3, use a state diagram and define trigger conditions for state transitions.
134
+ - If a feature call chain involves more than 3 objects, use a sequence diagram and define inputs/outputs at each call.
135
+ - If model classes exceed 5 and dependencies are complex, use a class diagram.
136
+ - If more than 2 objects collaborate and the process is complex, use an activity diagram with swimlanes where useful.
137
+
138
+ Recommended/reference:
139
+
140
+ - Consider exception flows and business boundaries during requirements analysis and system design.
141
+ - Classes should follow single responsibility.
142
+ - Prefer composition/aggregation over inheritance. If inheritance is necessary, obey Liskov substitution.
143
+ - Depend on abstractions and interfaces where it improves extension and maintenance.
144
+ - Design for extension and closed modification in stable business domains.
145
+ - Extract common business behavior or public behavior into shared modules, config, classes, or methods to avoid duplicated code/config.
146
+ - Do not treat agile as only stories plus coding plus release; keep necessary design and documentation for key decisions.
147
+ - Design identifies hard parts, variation points, boundaries, module relations, evolution principles, and nonfunctional requirements such as security, availability, and extensibility.