create-yss-spec 3.4.1 → 3.4.3

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 (373) hide show
  1. package/README.md +1 -1
  2. package/package.json +2 -2
  3. package/template/.agents/skills/.strategic-design-skills-manifest.json +1 -1
  4. package/template/.agents/skills/archify/SKILL.md +1 -1
  5. package/template/.agents/skills/code-review/SKILL.md +12 -8
  6. package/template/.agents/skills/file-export-download/SKILL.md +1 -1
  7. package/template/.agents/skills/frontend-commit/SKILL.md +1 -1
  8. package/template/.agents/skills/java-backend-commit/SKILL.md +1 -1
  9. package/template/.agents/skills/llm-wiki/SKILL.md +1 -6
  10. package/template/.agents/skills/lombok/SKILL.md +10 -336
  11. package/template/.agents/skills/lombok/references/annotation-examples.md +307 -0
  12. package/template/.agents/skills/maintaining-skills/SKILL.md +2 -1
  13. package/template/.agents/skills/maintaining-skills/references/authoring.md +27 -0
  14. package/template/.agents/skills/mapstruct/SKILL.md +11 -318
  15. package/template/.agents/skills/mapstruct/references/annotation-examples.md +300 -0
  16. package/template/.agents/skills/page-form-module/SKILL.md +1 -1
  17. package/template/.agents/skills/page-skeleton/SKILL.md +1 -1
  18. package/template/.agents/skills/theme-token-usage/SKILL.md +1 -1
  19. package/template/.agents/skills/to-tickets/SKILL.md +1 -1
  20. package/template/.agents/skills/using-git-worktrees/SKILL.md +1 -1
  21. package/template/.agents/skills/wayfinder/SKILL.md +1 -1
  22. package/template/.agents/skills/yedit-table-usage/SKILL.md +1 -1
  23. package/template/.agents/skills/yss-api-integration/SKILL.md +1 -1
  24. package/template/.agents/skills/yss-audit-log/SKILL.md +1 -1
  25. package/template/.agents/skills/yss-cache/SKILL.md +1 -1
  26. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +15 -2
  27. package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +1 -1
  28. package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +15 -10
  29. package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +3 -3
  30. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -3
  31. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +5 -1
  32. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +5 -2
  33. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +13 -10
  34. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -1
  35. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +35 -3
  36. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
  37. package/template/.agents/skills/yss-distributed-id/SKILL.md +1 -1
  38. package/template/.agents/skills/yss-dto/SKILL.md +5 -1
  39. package/template/.agents/skills/yss-excel-mvc/SKILL.md +1 -1
  40. package/template/.agents/skills/yss-exception/SKILL.md +5 -1
  41. package/template/.agents/skills/yss-formily-schema-generator/SKILL.md +1 -1
  42. package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +13 -5
  43. package/template/.agents/skills/yss-implementation-contract-compiler/agents/openai.yaml +1 -1
  44. package/template/.agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +16 -0
  45. package/template/.agents/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +214 -0
  46. package/template/.agents/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +66 -204
  47. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/SKILL.md +15 -2
  48. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +28 -19
  49. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +10 -10
  50. package/template/.agents/skills/yss-mybatis/SKILL.md +4 -0
  51. package/template/.agents/skills/yss-openapi-draft-review/SKILL.md +1 -1
  52. package/template/.agents/skills/yss-openapi-governance/SKILL.md +1 -1
  53. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +4 -4
  54. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +7 -2
  55. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +4 -0
  56. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +2 -0
  57. package/template/.agents/skills/yss-product-lifecycle/references/user-decisions.md +23 -3
  58. package/template/.agents/skills/yss-prototype-stage/SKILL.md +1 -1
  59. package/template/.agents/skills/yss-repository/SKILL.md +4 -0
  60. package/template/.agents/skills/yss-research/SKILL.md +1 -1
  61. package/template/.agents/skills/yss-resilience4j/SKILL.md +1 -1
  62. package/template/.agents/skills/yss-security-algorithm/SKILL.md +1 -1
  63. package/template/.agents/skills/yss-tactical-design/SKILL.md +4 -0
  64. package/template/.agents/skills/yss-technical-design/SKILL.md +4 -0
  65. package/template/.agents/skills/yss-technical-design/scripts/validate-technical-design.mjs +2 -2
  66. package/template/.agents/skills/yss-ui/SKILL.md +1 -1
  67. package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  68. package/template/.agents/skills/yss-up-springboot3/SKILL.md +1 -1
  69. package/template/.agents/skills/yss-use-table-height/SKILL.md +1 -1
  70. package/template/.agents/skills/yss-use-tree-height/SKILL.md +1 -1
  71. package/template/.agents/skills/yss-userinfo/SKILL.md +1 -1
  72. package/template/.agents/skills/yss-validation/SKILL.md +5 -1
  73. package/template/.agents/skills/yss-web-controller/SKILL.md +5 -1
  74. package/template/.agents/skills/yss-web-controller/scripts/generate_controller.mjs +5 -2
  75. package/template/.agents/skills/ytable-usage/SKILL.md +1 -1
  76. package/template/.agents/skills/ytree-usage/SKILL.md +1 -1
  77. package/template/.codex/skills/archify/SKILL.md +1 -1
  78. package/template/.codex/skills/code-review/SKILL.md +12 -8
  79. package/template/.codex/skills/data-analytics/skills/analyze-data-quality/SKILL.md +1 -1
  80. package/template/.codex/skills/data-analytics/skills/build-dashboard/SKILL.md +1 -1
  81. package/template/.codex/skills/data-analytics/skills/build-report/SKILL.md +1 -1
  82. package/template/.codex/skills/data-analytics/skills/design-kpis/SKILL.md +1 -1
  83. package/template/.codex/skills/data-analytics/skills/gather-business-context/SKILL.md +1 -1
  84. package/template/.codex/skills/data-analytics/skills/index/SKILL.md +1 -1
  85. package/template/.codex/skills/data-analytics/skills/jupyter-notebooks/SKILL.md +1 -1
  86. package/template/.codex/skills/data-analytics/skills/kpi-reporting/SKILL.md +1 -1
  87. package/template/.codex/skills/data-analytics/skills/market-sizing/SKILL.md +1 -1
  88. package/template/.codex/skills/data-analytics/skills/metric-diagnostics/SKILL.md +1 -1
  89. package/template/.codex/skills/data-analytics/skills/product-business-analysis/SKILL.md +1 -1
  90. package/template/.codex/skills/data-analytics/skills/spreadsheets/SKILL.md +1 -1
  91. package/template/.codex/skills/data-analytics/skills/validate-data/SKILL.md +1 -1
  92. package/template/.codex/skills/data-analytics/skills/visualize-data/SKILL.md +1 -1
  93. package/template/.codex/skills/file-export-download/SKILL.md +1 -1
  94. package/template/.codex/skills/frontend-commit/SKILL.md +1 -1
  95. package/template/.codex/skills/java-backend-commit/SKILL.md +1 -1
  96. package/template/.codex/skills/llm-wiki/SKILL.md +1 -6
  97. package/template/.codex/skills/lombok/SKILL.md +10 -336
  98. package/template/.codex/skills/lombok/references/annotation-examples.md +307 -0
  99. package/template/.codex/skills/maintaining-skills/SKILL.md +2 -1
  100. package/template/.codex/skills/maintaining-skills/references/authoring.md +27 -0
  101. package/template/.codex/skills/mapstruct/SKILL.md +11 -318
  102. package/template/.codex/skills/mapstruct/references/annotation-examples.md +300 -0
  103. package/template/.codex/skills/page-form-module/SKILL.md +1 -1
  104. package/template/.codex/skills/page-skeleton/SKILL.md +1 -1
  105. package/template/.codex/skills/product-design/skills/audit/SKILL.md +1 -1
  106. package/template/.codex/skills/product-design/skills/design-qa/SKILL.md +1 -1
  107. package/template/.codex/skills/product-design/skills/get-context/SKILL.md +1 -1
  108. package/template/.codex/skills/product-design/skills/ideate/SKILL.md +1 -1
  109. package/template/.codex/skills/product-design/skills/image-to-code/SKILL.md +1 -1
  110. package/template/.codex/skills/product-design/skills/index/SKILL.md +1 -1
  111. package/template/.codex/skills/product-design/skills/prototype/SKILL.md +1 -1
  112. package/template/.codex/skills/product-design/skills/research/SKILL.md +1 -1
  113. package/template/.codex/skills/product-design/skills/user-context/SKILL.md +1 -1
  114. package/template/.codex/skills/theme-token-usage/SKILL.md +1 -1
  115. package/template/.codex/skills/to-tickets/SKILL.md +1 -1
  116. package/template/.codex/skills/using-git-worktrees/SKILL.md +1 -1
  117. package/template/.codex/skills/wayfinder/SKILL.md +1 -1
  118. package/template/.codex/skills/yedit-table-usage/SKILL.md +1 -1
  119. package/template/.codex/skills/yss-api-integration/SKILL.md +1 -1
  120. package/template/.codex/skills/yss-audit-log/SKILL.md +1 -1
  121. package/template/.codex/skills/yss-cache/SKILL.md +1 -1
  122. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +15 -2
  123. package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +1 -1
  124. package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +15 -10
  125. package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +3 -3
  126. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -3
  127. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +5 -1
  128. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +5 -2
  129. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +13 -10
  130. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -1
  131. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +35 -3
  132. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
  133. package/template/.codex/skills/yss-distributed-id/SKILL.md +1 -1
  134. package/template/.codex/skills/yss-dto/SKILL.md +5 -1
  135. package/template/.codex/skills/yss-excel-mvc/SKILL.md +1 -1
  136. package/template/.codex/skills/yss-exception/SKILL.md +5 -1
  137. package/template/.codex/skills/yss-formily-schema-generator/SKILL.md +1 -1
  138. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +13 -5
  139. package/template/.codex/skills/yss-implementation-contract-compiler/agents/openai.yaml +1 -1
  140. package/template/.codex/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +16 -0
  141. package/template/.codex/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +214 -0
  142. package/template/.codex/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +66 -204
  143. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +15 -2
  144. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +28 -19
  145. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +10 -10
  146. package/template/.codex/skills/yss-mybatis/SKILL.md +4 -0
  147. package/template/.codex/skills/yss-openapi-draft-review/SKILL.md +1 -1
  148. package/template/.codex/skills/yss-openapi-governance/SKILL.md +1 -1
  149. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +4 -4
  150. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +7 -2
  151. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +4 -0
  152. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +2 -0
  153. package/template/.codex/skills/yss-product-lifecycle/references/user-decisions.md +23 -3
  154. package/template/.codex/skills/yss-prototype-stage/SKILL.md +1 -1
  155. package/template/.codex/skills/yss-repository/SKILL.md +4 -0
  156. package/template/.codex/skills/yss-research/SKILL.md +1 -1
  157. package/template/.codex/skills/yss-resilience4j/SKILL.md +1 -1
  158. package/template/.codex/skills/yss-security-algorithm/SKILL.md +1 -1
  159. package/template/.codex/skills/yss-tactical-design/SKILL.md +4 -0
  160. package/template/.codex/skills/yss-technical-design/SKILL.md +4 -0
  161. package/template/.codex/skills/yss-technical-design/scripts/validate-technical-design.mjs +2 -2
  162. package/template/.codex/skills/yss-ui/SKILL.md +1 -1
  163. package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  164. package/template/.codex/skills/yss-up-springboot3/SKILL.md +1 -1
  165. package/template/.codex/skills/yss-use-table-height/SKILL.md +1 -1
  166. package/template/.codex/skills/yss-use-tree-height/SKILL.md +1 -1
  167. package/template/.codex/skills/yss-userinfo/SKILL.md +1 -1
  168. package/template/.codex/skills/yss-validation/SKILL.md +5 -1
  169. package/template/.codex/skills/yss-web-controller/SKILL.md +5 -1
  170. package/template/.codex/skills/yss-web-controller/scripts/generate_controller.mjs +5 -2
  171. package/template/.codex/skills/ytable-usage/SKILL.md +1 -1
  172. package/template/.codex/skills/ytree-usage/SKILL.md +1 -1
  173. package/template/.cursor/skills/archify/SKILL.md +1 -1
  174. package/template/.cursor/skills/code-review/SKILL.md +12 -8
  175. package/template/.cursor/skills/file-export-download/SKILL.md +1 -1
  176. package/template/.cursor/skills/frontend-commit/SKILL.md +1 -1
  177. package/template/.cursor/skills/java-backend-commit/SKILL.md +1 -1
  178. package/template/.cursor/skills/llm-wiki/SKILL.md +1 -6
  179. package/template/.cursor/skills/lombok/SKILL.md +10 -336
  180. package/template/.cursor/skills/lombok/references/annotation-examples.md +307 -0
  181. package/template/.cursor/skills/maintaining-skills/SKILL.md +2 -1
  182. package/template/.cursor/skills/maintaining-skills/references/authoring.md +27 -0
  183. package/template/.cursor/skills/mapstruct/SKILL.md +11 -318
  184. package/template/.cursor/skills/mapstruct/references/annotation-examples.md +300 -0
  185. package/template/.cursor/skills/page-form-module/SKILL.md +1 -1
  186. package/template/.cursor/skills/page-skeleton/SKILL.md +1 -1
  187. package/template/.cursor/skills/theme-token-usage/SKILL.md +1 -1
  188. package/template/.cursor/skills/to-tickets/SKILL.md +1 -1
  189. package/template/.cursor/skills/using-git-worktrees/SKILL.md +1 -1
  190. package/template/.cursor/skills/wayfinder/SKILL.md +1 -1
  191. package/template/.cursor/skills/yedit-table-usage/SKILL.md +1 -1
  192. package/template/.cursor/skills/yss-api-integration/SKILL.md +1 -1
  193. package/template/.cursor/skills/yss-audit-log/SKILL.md +1 -1
  194. package/template/.cursor/skills/yss-cache/SKILL.md +1 -1
  195. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +15 -2
  196. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +1 -1
  197. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +15 -10
  198. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +3 -3
  199. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -3
  200. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +5 -1
  201. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +5 -2
  202. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +13 -10
  203. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -1
  204. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +35 -3
  205. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
  206. package/template/.cursor/skills/yss-distributed-id/SKILL.md +1 -1
  207. package/template/.cursor/skills/yss-dto/SKILL.md +5 -1
  208. package/template/.cursor/skills/yss-excel-mvc/SKILL.md +1 -1
  209. package/template/.cursor/skills/yss-exception/SKILL.md +5 -1
  210. package/template/.cursor/skills/yss-formily-schema-generator/SKILL.md +1 -1
  211. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +13 -5
  212. package/template/.cursor/skills/yss-implementation-contract-compiler/agents/openai.yaml +1 -1
  213. package/template/.cursor/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +16 -0
  214. package/template/.cursor/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +214 -0
  215. package/template/.cursor/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +66 -204
  216. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +15 -2
  217. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +28 -19
  218. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +10 -10
  219. package/template/.cursor/skills/yss-mybatis/SKILL.md +4 -0
  220. package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +1 -1
  221. package/template/.cursor/skills/yss-openapi-governance/SKILL.md +1 -1
  222. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +4 -4
  223. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +7 -2
  224. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +4 -0
  225. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +2 -0
  226. package/template/.cursor/skills/yss-product-lifecycle/references/user-decisions.md +23 -3
  227. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +1 -1
  228. package/template/.cursor/skills/yss-repository/SKILL.md +4 -0
  229. package/template/.cursor/skills/yss-research/SKILL.md +1 -1
  230. package/template/.cursor/skills/yss-resilience4j/SKILL.md +1 -1
  231. package/template/.cursor/skills/yss-security-algorithm/SKILL.md +1 -1
  232. package/template/.cursor/skills/yss-tactical-design/SKILL.md +4 -0
  233. package/template/.cursor/skills/yss-technical-design/SKILL.md +4 -0
  234. package/template/.cursor/skills/yss-technical-design/scripts/validate-technical-design.mjs +2 -2
  235. package/template/.cursor/skills/yss-ui/SKILL.md +1 -1
  236. package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  237. package/template/.cursor/skills/yss-up-springboot3/SKILL.md +1 -1
  238. package/template/.cursor/skills/yss-use-table-height/SKILL.md +1 -1
  239. package/template/.cursor/skills/yss-use-tree-height/SKILL.md +1 -1
  240. package/template/.cursor/skills/yss-userinfo/SKILL.md +1 -1
  241. package/template/.cursor/skills/yss-validation/SKILL.md +5 -1
  242. package/template/.cursor/skills/yss-web-controller/SKILL.md +5 -1
  243. package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.mjs +5 -2
  244. package/template/.cursor/skills/ytable-usage/SKILL.md +1 -1
  245. package/template/.cursor/skills/ytree-usage/SKILL.md +1 -1
  246. package/template/.pi/skills/archify/SKILL.md +1 -1
  247. package/template/.pi/skills/code-review/SKILL.md +12 -8
  248. package/template/.pi/skills/file-export-download/SKILL.md +1 -1
  249. package/template/.pi/skills/frontend-commit/SKILL.md +1 -1
  250. package/template/.pi/skills/java-backend-commit/SKILL.md +1 -1
  251. package/template/.pi/skills/llm-wiki/SKILL.md +1 -6
  252. package/template/.pi/skills/lombok/SKILL.md +10 -336
  253. package/template/.pi/skills/lombok/references/annotation-examples.md +307 -0
  254. package/template/.pi/skills/maintaining-skills/SKILL.md +2 -1
  255. package/template/.pi/skills/maintaining-skills/references/authoring.md +27 -0
  256. package/template/.pi/skills/mapstruct/SKILL.md +11 -318
  257. package/template/.pi/skills/mapstruct/references/annotation-examples.md +300 -0
  258. package/template/.pi/skills/page-form-module/SKILL.md +1 -1
  259. package/template/.pi/skills/page-skeleton/SKILL.md +1 -1
  260. package/template/.pi/skills/theme-token-usage/SKILL.md +1 -1
  261. package/template/.pi/skills/to-tickets/SKILL.md +1 -1
  262. package/template/.pi/skills/using-git-worktrees/SKILL.md +1 -1
  263. package/template/.pi/skills/wayfinder/SKILL.md +1 -1
  264. package/template/.pi/skills/yedit-table-usage/SKILL.md +1 -1
  265. package/template/.pi/skills/yss-api-integration/SKILL.md +1 -1
  266. package/template/.pi/skills/yss-audit-log/SKILL.md +1 -1
  267. package/template/.pi/skills/yss-cache/SKILL.md +1 -1
  268. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +15 -2
  269. package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +1 -1
  270. package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +15 -10
  271. package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +3 -3
  272. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -3
  273. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +5 -1
  274. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +5 -2
  275. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +13 -10
  276. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -1
  277. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +35 -3
  278. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
  279. package/template/.pi/skills/yss-distributed-id/SKILL.md +1 -1
  280. package/template/.pi/skills/yss-dto/SKILL.md +5 -1
  281. package/template/.pi/skills/yss-excel-mvc/SKILL.md +1 -1
  282. package/template/.pi/skills/yss-exception/SKILL.md +5 -1
  283. package/template/.pi/skills/yss-formily-schema-generator/SKILL.md +1 -1
  284. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +13 -5
  285. package/template/.pi/skills/yss-implementation-contract-compiler/agents/openai.yaml +1 -1
  286. package/template/.pi/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +16 -0
  287. package/template/.pi/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +214 -0
  288. package/template/.pi/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +66 -204
  289. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +15 -2
  290. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +28 -19
  291. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +10 -10
  292. package/template/.pi/skills/yss-mybatis/SKILL.md +4 -0
  293. package/template/.pi/skills/yss-openapi-draft-review/SKILL.md +1 -1
  294. package/template/.pi/skills/yss-openapi-governance/SKILL.md +1 -1
  295. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +4 -4
  296. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +7 -2
  297. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +4 -0
  298. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +2 -0
  299. package/template/.pi/skills/yss-product-lifecycle/references/user-decisions.md +23 -3
  300. package/template/.pi/skills/yss-prototype-stage/SKILL.md +1 -1
  301. package/template/.pi/skills/yss-repository/SKILL.md +4 -0
  302. package/template/.pi/skills/yss-research/SKILL.md +1 -1
  303. package/template/.pi/skills/yss-resilience4j/SKILL.md +1 -1
  304. package/template/.pi/skills/yss-security-algorithm/SKILL.md +1 -1
  305. package/template/.pi/skills/yss-tactical-design/SKILL.md +4 -0
  306. package/template/.pi/skills/yss-technical-design/SKILL.md +4 -0
  307. package/template/.pi/skills/yss-technical-design/scripts/validate-technical-design.mjs +2 -2
  308. package/template/.pi/skills/yss-ui/SKILL.md +1 -1
  309. package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  310. package/template/.pi/skills/yss-up-springboot3/SKILL.md +1 -1
  311. package/template/.pi/skills/yss-use-table-height/SKILL.md +1 -1
  312. package/template/.pi/skills/yss-use-tree-height/SKILL.md +1 -1
  313. package/template/.pi/skills/yss-userinfo/SKILL.md +1 -1
  314. package/template/.pi/skills/yss-validation/SKILL.md +5 -1
  315. package/template/.pi/skills/yss-web-controller/SKILL.md +5 -1
  316. package/template/.pi/skills/yss-web-controller/scripts/generate_controller.mjs +5 -2
  317. package/template/.pi/skills/ytable-usage/SKILL.md +1 -1
  318. package/template/.pi/skills/ytree-usage/SKILL.md +1 -1
  319. package/template/AGENTS.md +1 -0
  320. package/template/CONTEXT.md +2 -1
  321. package/template/docs/agents/backend-architecture-profiles.md +1 -1
  322. package/template/docs/agents/digital-human-roles.yaml +25 -1
  323. package/template/docs/agents/issue-tracker.md +2 -0
  324. package/template/docs/engineering/backend-platforms.json +174 -0
  325. package/template/docs/engineering/backend-platforms.md +77 -0
  326. package/template/docs/process/MATT-POCOCK-ENGINEERING-SKILLS.md +1 -0
  327. package/template/docs/process/harness-process-tailoring.md +9 -1
  328. package/template/docs/process/lifecycle-artifact-map.md +4 -4
  329. package/template/docs/process/lifecycle-registry-baseline.json +1 -1
  330. package/template/docs/process/lifecycle-registry.yaml +4 -4
  331. package/template/docs/process/schemas/backend-architecture-identity.schema.json +91 -0
  332. package/template/docs/process/schemas/digital-human-task-package.schema.json +2 -1
  333. package/template/docs/process/schemas/lifecycle-checkpoint.schema.json +4 -0
  334. package/template/docs/process/schemas/project-scaffold-contract.schema.json +602 -83
  335. package/template/docs/process/schemas/scaffold-architecture-decisions.schema.json +323 -39
  336. package/template/docs/process/schemas/slice-implementation-contract-v3.schema.json +925 -0
  337. package/template/docs/templates/approval-record-template.yaml +2 -0
  338. package/template/docs/templates/vertical-slice-ticket-template.md +22 -31
  339. package/template/scripts/backend-platforms +14 -0
  340. package/template/scripts/lib/approval-record.mjs +32 -6
  341. package/template/scripts/lib/approved-execution-context.mjs +31 -8
  342. package/template/scripts/lib/backend-architecture.mjs +6 -0
  343. package/template/scripts/lib/backend-platform-provenance.mjs +67 -0
  344. package/template/scripts/lib/backend-platform-verification.mjs +210 -0
  345. package/template/scripts/lib/backend-platform.mjs +175 -0
  346. package/template/scripts/lib/backend-scaffold-prerequisites.mjs +1 -1
  347. package/template/scripts/lib/decision-continuation.mjs +79 -0
  348. package/template/scripts/lib/delivery-preflight.mjs +6 -5
  349. package/template/scripts/lib/digital-human-roles.mjs +10 -0
  350. package/template/scripts/lib/frontend-delivery-boundary.mjs +3 -0
  351. package/template/scripts/lib/implementation-contract-compiler.mjs +42 -9
  352. package/template/scripts/lib/lifecycle-controls.mjs +2 -2
  353. package/template/scripts/lib/lifecycle-transition.mjs +3 -1
  354. package/template/scripts/lib/plan-spec-entry.mjs +3 -3
  355. package/template/scripts/lib/scaffold-local-database.mjs +1 -0
  356. package/template/scripts/lib/slice-applicability.mjs +10 -0
  357. package/template/scripts/lib/slice-contract-preparation.mjs +257 -0
  358. package/template/scripts/lib/slice-contract-views.mjs +52 -0
  359. package/template/scripts/lib/slice-contract.mjs +211 -0
  360. package/template/scripts/lib/slice-repositories.mjs +49 -0
  361. package/template/scripts/lib/slice-task-package.mjs +66 -0
  362. package/template/scripts/lib/strategic-handoff.mjs +12 -1
  363. package/template/scripts/lib/task-package.mjs +6 -2
  364. package/template/scripts/lib/technical-design-boundary.mjs +1 -0
  365. package/template/scripts/lib/user-decision-reuse.mjs +1 -0
  366. package/template/scripts/lib/user-decision.mjs +4 -1
  367. package/template/scripts/preflight-delivery +2 -2
  368. package/template/scripts/slice-contract +30 -0
  369. package/template/scripts/verify-backend-platform-matrix +69 -0
  370. package/template/scripts/verify-scaffold-architecture-decisions +5 -0
  371. package/template/scripts/verify-user-decision +7 -2
  372. package/template/skills-lock.json +60 -55
  373. package/template.snapshot.json +3 -3
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: file-export-download
3
- description: 指导 Vue3 YSS UI 微应用实现文件导出、报表下载、模板下载和附件下载,覆盖 OpenAPI binary 响应、Orval 生成方法检查、responseType blob 兜底、Blob 响应类型、Content-Disposition 文件名、handleBlobResponse、loading 与错误处理;当需求出现导出、下载、Excel、CSV、PDF、ZIP、Blob 或文件流时使用。
3
+ description: "在 Vue3 YSS UI 中实现或修复文件下载与导出,处理 Orval 文件流、Blob、文件名和错误响应。"
4
4
  ---
5
5
 
6
6
  # YSS 文件导出下载 Skill
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: frontend-commit
3
- description: 分析并提交 Vue、React、TypeScript、JavaScript、Vite、微前端和前端 monorepo 项目的 Git 改动;当用户要求生成 commit message、检查提交规范、拆分原子提交、暂存并执行 git commit,或修复 commitlint 与 commit-msg hook 拒绝时使用。读取仓库实际规则和 diff,选择业务 scope,生成英文 type/scope 与中文标题和正文,并安全验证提交。
3
+ description: "为前端改动生成提交信息、审查原子提交或修复 Git hook;用户明确要求提交时执行 git commit。"
4
4
  ---
5
5
 
6
6
  # 前端规范提交
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: java-backend-commit
3
- description: 分析并提交 Java、Spring Boot、Maven、Gradle、单体服务和多模块后端项目的 Git 改动;当用户要求生成 commit message、检查提交规范、拆分原子提交、暂存并执行 git commit,或修复 commitlint 与 commit-msg hook 拒绝时使用。读取仓库实际规则、模块结构和 diff,选择服务或业务域 scope,生成英文 type/scope 与中文标题和正文,并安全验证提交。
3
+ description: "为 Java 后端改动生成提交信息、审查原子提交或修复 Git hook;用户明确要求提交时执行 git commit。"
4
4
  ---
5
5
 
6
6
  # Java 后端规范提交
@@ -1,11 +1,6 @@
1
1
  ---
2
2
  name: llm-wiki
3
- description: >
4
- Compile and maintain a Karpathy-pattern LLM wiki (raw + wiki + schema) with
5
- init, incremental refresh, global rebuild, lint, and narrow ingest. Use when
6
- the user wants a local knowledge wiki, incremental wiki refresh, wiki rebuild,
7
- compiling a named research note into the wiki, `/llm-wiki`, or an answer from
8
- an existing wiki.
3
+ description: "Build or refresh a local LLM wiki; use for wiki init, ingest, rebuild, lint, or source-backed wiki questions."
9
4
  ---
10
5
 
11
6
  # llm-wiki
@@ -1,22 +1,9 @@
1
1
  ---
2
2
  name: lombok
3
- description: |
4
- Project Lombok for reducing Java boilerplate. Covers annotations for getters,
5
- setters, constructors, builders, logging, and more. Based on production
6
- patterns from castellino and gestionale-presenze projects.
7
-
8
- USE WHEN: user mentions "lombok", "@Data", "@Builder", "@Slf4j", asks about
9
- "boilerplate reduction", "getters/setters", "@RequiredArgsConstructor", "@Value"
10
-
11
- DO NOT USE FOR: Java language features - use `java` skill instead
12
- DO NOT USE FOR: MapStruct integration - use `mapstruct` skill
13
- DO NOT USE FOR: Spring annotations - use `backend-spring-boot` skill
14
- allowed-tools: Read, Grep, Glob, Write, Edit
3
+ description: "配置或排查 Lombok 注解、构造器、Builder 和注解处理器;按对象身份与敏感字段选择生成范围。"
15
4
  ---
16
5
  # Project Lombok
17
6
 
18
- > **Deep Knowledge**: Use `mcp__documentation__fetch_docs` with technology: `lombok` for comprehensive documentation.
19
-
20
7
  ## YSS 阶段 7 执行结果
21
8
 
22
9
  - 消费工程 Java 与处理器基线;三个新后端 Profile 为 Java 8。MapStruct binding 进入 annotationProcessorPaths,不作为业务依赖单独引入;示例不授权升级依赖。MVC PO 的身份/敏感字段风险与 DDD 相同,不能默认全量 @Data。
@@ -24,329 +11,16 @@ allowed-tools: Read, Grep, Glob, Write, Edit
24
11
  - 受控生成必须记录对象类型、选用/排除注解、实体关系和敏感字段风险、编译/测试实际结果。
25
12
  - 按 `yss-implementation-contract-compiler` 的统一 Execution Result 返回 changed files、证据、偏离和新增影响;`@Data` 实体风险、处理器配置缺失或越界路径返回 `violation`。
26
13
 
27
- ## Maven Configuration
28
-
29
- ```xml
30
- <dependency>
31
- <groupId>org.projectlombok</groupId>
32
- <artifactId>lombok</artifactId>
33
- <version>1.18.34</version>
34
- <optional>true</optional>
35
- </dependency>
36
-
37
- <!-- For MapStruct compatibility -->
38
- <dependency>
39
- <groupId>org.projectlombok</groupId>
40
- <artifactId>lombok-mapstruct-binding</artifactId>
41
- <version>0.2.0</version>
42
- </dependency>
43
- ```
44
-
45
- ## Common Annotations
46
-
47
- ### @Data (All-in-One)
48
-
49
- ```java
50
- @Data
51
- public class User {
52
- private Long id;
53
- private String name;
54
- private String email;
55
- }
56
-
57
- // Generates:
58
- // - @Getter for all fields
59
- // - @Setter for all non-final fields
60
- // - @ToString
61
- // - @EqualsAndHashCode
62
- // - @RequiredArgsConstructor
63
- ```
64
-
65
- ### @Getter / @Setter
66
-
67
- ```java
68
- public class User {
69
- @Getter @Setter
70
- private String name;
71
-
72
- @Getter // Read-only
73
- private final String email;
74
-
75
- @Setter(AccessLevel.PROTECTED)
76
- private String internalId;
77
- }
78
- ```
79
-
80
- ### @NoArgsConstructor / @AllArgsConstructor / @RequiredArgsConstructor
81
-
82
- ```java
83
- @NoArgsConstructor
84
- @AllArgsConstructor
85
- public class User {
86
- private Long id;
87
- private String name;
88
- }
89
-
90
- @RequiredArgsConstructor
91
- public class UserService {
92
- private final UserRepository userRepository; // Included in constructor
93
- private final UserMapper userMapper; // Included in constructor
94
- private String cacheName; // NOT included
95
- }
96
- ```
97
-
98
- ### @Builder
99
-
100
- ```java
101
- @Data
102
- @Builder
103
- public class User {
104
- private Long id;
105
- private String name;
106
- private String email;
107
- @Builder.Default
108
- private UserStatus status = UserStatus.ACTIVE;
109
- }
110
-
111
- // Usage
112
- User user = User.builder()
113
- .name("John")
114
- .email("john@example.com")
115
- .build();
116
-
117
- // With toBuilder for updates
118
- User updated = user.toBuilder()
119
- .name("Jane")
120
- .build();
121
- ```
122
-
123
- ### @Value (Immutable)
124
-
125
- ```java
126
- @Value
127
- public class UserResponse {
128
- Long id;
129
- String name;
130
- String email;
131
- LocalDateTime createdAt;
132
- }
133
-
134
- // Generates:
135
- // - All fields are private final
136
- // - @AllArgsConstructor
137
- // - @Getter (no setters)
138
- // - @ToString
139
- // - @EqualsAndHashCode
140
- ```
141
-
142
- ## Entity Pattern
143
-
144
- ```java
145
- @Entity
146
- @Table(name = "users")
147
- @Getter
148
- @Setter
149
- @NoArgsConstructor(access = AccessLevel.PROTECTED)
150
- @AllArgsConstructor(access = AccessLevel.PRIVATE)
151
- @Builder
152
- @EntityListeners(AuditingEntityListener.class)
153
- public class User {
154
-
155
- @Id
156
- @GeneratedValue(strategy = GenerationType.IDENTITY)
157
- private Long id;
158
-
159
- @Column(nullable = false)
160
- private String name;
161
-
162
- @Column(unique = true, nullable = false)
163
- private String email;
164
-
165
- @Enumerated(EnumType.STRING)
166
- @Builder.Default
167
- private UserStatus status = UserStatus.ACTIVE;
168
-
169
- @CreatedDate
170
- @Column(updatable = false)
171
- private LocalDateTime createdAt;
172
-
173
- @LastModifiedDate
174
- private LocalDateTime updatedAt;
175
-
176
- @ManyToOne(fetch = FetchType.LAZY)
177
- @JoinColumn(name = "department_id")
178
- private Department department;
179
- }
180
- ```
181
-
182
- JPA/DDD entities must not default to `@Data`; choose equality and `toString` deliberately from stable identity and exclude lazy, relationship, and sensitive fields.
14
+ ## 按需读取
183
15
 
184
- ## Service Pattern with Constructor Injection
16
+ 先确认当前任务涉及的对象与批准合同,只读取对应参考段落:
185
17
 
186
- ```java
187
- @Service
188
- @RequiredArgsConstructor
189
- @Slf4j
190
- public class UserServiceImpl implements UserService {
191
-
192
- private final UserRepository userRepository;
193
- private final UserMapper userMapper;
194
- private final PasswordEncoder passwordEncoder;
195
-
196
- @Override
197
- public UserResponse create(CreateUserRequest dto) {
198
- log.info("Creating user: {}", dto.getEmail());
199
- User user = userMapper.toEntity(dto);
200
- return userMapper.toResponse(userRepository.save(user));
201
- }
202
- }
203
- ```
204
-
205
- ## Logging
206
-
207
- ```java
208
- @Slf4j // SLF4J logger
209
- public class UserService {
210
- public void process() {
211
- log.info("Processing...");
212
- log.debug("Debug info: {}", data);
213
- log.error("Error occurred", exception);
214
- }
215
- }
216
-
217
- @Log4j2 // Log4j2 logger
218
- @CommonsLog // Apache Commons Logging
219
- @JBossLog // JBoss Logging
220
- ```
221
-
222
- ## DTO Pattern
223
-
224
- ```java
225
- // Request DTO
226
- @Data
227
- public class CreateUserRequest {
228
- @NotBlank
229
- private String name;
230
- @Email
231
- private String email;
232
- @Size(min = 8)
233
- private String password;
234
- }
235
-
236
- // Response DTO (immutable)
237
- @Value
238
- @Builder
239
- public class UserResponse {
240
- Long id;
241
- String name;
242
- String email;
243
- UserStatus status;
244
- LocalDateTime createdAt;
245
- }
246
- ```
247
-
248
- ## @Cleanup
249
-
250
- ```java
251
- public void readFile(String path) throws IOException {
252
- @Cleanup InputStream in = new FileInputStream(path);
253
- // in.close() called automatically
254
- }
255
- ```
256
-
257
- ## @SneakyThrows
258
-
259
- ```java
260
- @SneakyThrows // Wraps checked exception
261
- public String readConfig() {
262
- return new String(Files.readAllBytes(Paths.get("config.json")), StandardCharsets.UTF_8);
263
- }
264
- ```
265
-
266
- ## @Synchronized
267
-
268
- ```java
269
- public class Counter {
270
- @Synchronized
271
- public void increment() {
272
- // Thread-safe
273
- }
274
- }
275
- ```
276
-
277
- ## @With (Immutable Updates)
278
-
279
- ```java
280
- @Value
281
- @With
282
- public class Point {
283
- int x;
284
- int y;
285
- }
286
-
287
- Point p1 = new Point(1, 2);
288
- Point p2 = p1.withX(5); // Point(5, 2)
289
- ```
290
-
291
- ## Key Annotations
292
-
293
- | Annotation | Purpose |
294
- |------------|---------|
295
- | `@Data` | Getter, Setter, ToString, Equals, Constructor |
296
- | `@Value` | Immutable class |
297
- | `@Builder` | Builder pattern |
298
- | `@RequiredArgsConstructor` | Constructor for final fields |
299
- | `@Slf4j` | Logger field |
300
- | `@ToString.Exclude` | Exclude from toString |
301
- | `@EqualsAndHashCode.Exclude` | Exclude from equals/hashCode |
302
-
303
- ---
304
-
305
- ## When NOT to Use This Skill
306
-
307
- | Scenario | Use Instead |
308
- |----------|-------------|
309
- | Java core language | `java` skill |
310
- | MapStruct mapping | `mapstruct` skill |
311
- | Spring annotations | `backend-spring-boot` skill |
312
- | JPA entities complex logic | Manual implementation |
313
- | Public API design | Explicit methods for clarity |
314
-
315
- ---
316
-
317
- ## Anti-Patterns
318
-
319
- | Anti-Pattern | Why It's Bad | Correct Approach |
320
- |--------------|--------------|------------------|
321
- | @Data on JPA entities | toString/equals issues | Use @Getter/@Setter selectively |
322
- | Not excluding lazy relations | LazyInitializationException | Use @ToString.Exclude |
323
- | @EqualsAndHashCode on entities | Proxy issues | Use @EqualsAndHashCode(onlyExplicitlyIncluded = true) |
324
- | @SneakyThrows everywhere | Hides exceptions | Use proper exception handling |
325
- | @Builder without @Default | Null fields | Add @Builder.Default |
326
- | @Value with mutable fields | Breaks immutability | Use only immutable types |
327
- | Mixing @Data and manual methods | Confusing API | Be consistent |
328
- | Not configuring in lombok.config | Inconsistent behavior | Use lombok.config file |
329
-
330
- ---
331
-
332
- ## Quick Troubleshooting
333
-
334
- | Issue | Cause | Solution |
335
- |-------|-------|----------|
336
- | "Cannot find symbol" for getters | IDE not processing | Enable annotation processing |
337
- | LazyInitializationException | toString on lazy relation | Add @ToString.Exclude |
338
- | MapStruct not working | Wrong processor order | Lombok before MapStruct |
339
- | Builder missing fields | No @Builder.Default | Add defaults or check config |
340
- | StackOverflowError in equals | Circular reference | Exclude relation fields |
341
- | IDE shows errors but compiles | IDE cache | Invalidate caches/restart |
342
- | @Slf4j logger not found | SLF4J not in classpath | Add SLF4J dependency |
343
- | Generated code not visible | delombok needed | Run delombok task |
344
-
345
- ---
18
+ | 任务 | 参考 |
19
+ |---|---|
20
+ | 构造器、Builder、默认值或不可变对象 | [Common Annotations](references/annotation-examples.md#common-annotations) |
21
+ | 实体身份、关联与敏感字段 | [Entity Pattern](references/annotation-examples.md#entity-pattern) |
22
+ | 注解处理器与 MapStruct 集成 | [Maven Configuration](references/annotation-examples.md#maven-configuration),映射逻辑交给 `mapstruct` |
346
23
 
347
- ## Reference Documentation
348
- - [Lombok Documentation](https://projectlombok.org/features/)
349
- - [Stable Features](https://projectlombok.org/features/all)
350
- - [Configuration](https://projectlombok.org/features/configuration)
24
+ 选择注解前核查生成的 equals/hashCode/toString 是否符合对象身份与数据边界。敏感字段不能进入生成的 toString 或日志;实体不默认使用全量 `@Data`。依赖和处理器版本复用工程基线,修改生成行为后编译受影响模块,并验证实际生成的访问器、构造器或身份行为。
351
25
 
352
- > **Deep Knowledge**: Use `mcp__documentation__fetch_docs` with technology: `lombok` for comprehensive documentation.
26
+ 查第三方行为时使用 `yss-research`,来源为 [Lombok 官方文档](https://projectlombok.org/features/);不假定某个 MCP 工具已安装。
@@ -0,0 +1,307 @@
1
+ # lombok 条件参考
2
+
3
+ 仅在需要具体注解或配置示例时定位对应章节。示例业务名与版本不是工程基线;按批准合同替换,禁止直接复制成业务实现。
4
+
5
+ ## Maven Configuration
6
+
7
+ 复用工程父 POM 中已批准的 Lombok 版本与编译插件配置。Lombok 依赖按工程策略使用 provided 或 optional;使用显式注解处理器路径的项目,将 Lombok 放入 `annotationProcessorPaths`。
8
+
9
+ 与 MapStruct 共用时,在同一处理器配置中核验 Lombok、MapStruct processor 和适用的 lombok-mapstruct-binding;binding 不作为业务依赖单独引入。具体配置参见 [MapStruct 配置示例](../../mapstruct/references/annotation-examples.md#maven-configuration),示例版本仍由当前工程基线替换。
10
+
11
+ ## Common Annotations
12
+
13
+ ### @Data (All-in-One)
14
+
15
+ ```java
16
+ @Data
17
+ public class User {
18
+ private Long id;
19
+ private String name;
20
+ private String email;
21
+ }
22
+
23
+ // Generates:
24
+ // - @Getter for all fields
25
+ // - @Setter for all non-final fields
26
+ // - @ToString
27
+ // - @EqualsAndHashCode
28
+ // - @RequiredArgsConstructor
29
+ ```
30
+
31
+ ### @Getter / @Setter
32
+
33
+ ```java
34
+ public class User {
35
+ @Getter @Setter
36
+ private String name;
37
+
38
+ @Getter // Read-only
39
+ private final String email;
40
+
41
+ @Setter(AccessLevel.PROTECTED)
42
+ private String internalId;
43
+ }
44
+ ```
45
+
46
+ ### @NoArgsConstructor / @AllArgsConstructor / @RequiredArgsConstructor
47
+
48
+ ```java
49
+ @NoArgsConstructor
50
+ @AllArgsConstructor
51
+ public class User {
52
+ private Long id;
53
+ private String name;
54
+ }
55
+
56
+ @RequiredArgsConstructor
57
+ public class UserService {
58
+ private final UserRepository userRepository; // Included in constructor
59
+ private final UserMapper userMapper; // Included in constructor
60
+ private String cacheName; // NOT included
61
+ }
62
+ ```
63
+
64
+ ### @Builder
65
+
66
+ ```java
67
+ @Data
68
+ @Builder
69
+ public class User {
70
+ private Long id;
71
+ private String name;
72
+ private String email;
73
+ @Builder.Default
74
+ private UserStatus status = UserStatus.ACTIVE;
75
+ }
76
+
77
+ // Usage
78
+ User user = User.builder()
79
+ .name("John")
80
+ .email("john@example.com")
81
+ .build();
82
+
83
+ // With toBuilder for updates
84
+ User updated = user.toBuilder()
85
+ .name("Jane")
86
+ .build();
87
+ ```
88
+
89
+ ### @Value (Immutable)
90
+
91
+ ```java
92
+ @Value
93
+ public class UserResponse {
94
+ Long id;
95
+ String name;
96
+ String email;
97
+ LocalDateTime createdAt;
98
+ }
99
+
100
+ // Generates:
101
+ // - All fields are private final
102
+ // - @AllArgsConstructor
103
+ // - @Getter (no setters)
104
+ // - @ToString
105
+ // - @EqualsAndHashCode
106
+ ```
107
+
108
+ ## Entity Pattern
109
+
110
+ ```java
111
+ @Entity
112
+ @Table(name = "users")
113
+ @Getter
114
+ @Setter
115
+ @NoArgsConstructor(access = AccessLevel.PROTECTED)
116
+ @AllArgsConstructor(access = AccessLevel.PRIVATE)
117
+ @Builder
118
+ @EntityListeners(AuditingEntityListener.class)
119
+ public class User {
120
+
121
+ @Id
122
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
123
+ private Long id;
124
+
125
+ @Column(nullable = false)
126
+ private String name;
127
+
128
+ @Column(unique = true, nullable = false)
129
+ private String email;
130
+
131
+ @Enumerated(EnumType.STRING)
132
+ @Builder.Default
133
+ private UserStatus status = UserStatus.ACTIVE;
134
+
135
+ @CreatedDate
136
+ @Column(updatable = false)
137
+ private LocalDateTime createdAt;
138
+
139
+ @LastModifiedDate
140
+ private LocalDateTime updatedAt;
141
+
142
+ @ManyToOne(fetch = FetchType.LAZY)
143
+ @JoinColumn(name = "department_id")
144
+ private Department department;
145
+ }
146
+ ```
147
+
148
+ JPA/DDD entities must not default to `@Data`; choose equality and `toString` deliberately from stable identity and exclude lazy, relationship, and sensitive fields.
149
+
150
+ ## Service Pattern with Constructor Injection
151
+
152
+ ```java
153
+ @Service
154
+ @RequiredArgsConstructor
155
+ @Slf4j
156
+ public class UserServiceImpl implements UserService {
157
+
158
+ private final UserRepository userRepository;
159
+ private final UserMapper userMapper;
160
+ private final PasswordEncoder passwordEncoder;
161
+
162
+ @Override
163
+ public UserResponse create(CreateUserRequest dto) {
164
+ log.info("Creating user");
165
+ User user = userMapper.toEntity(dto);
166
+ return userMapper.toResponse(userRepository.save(user));
167
+ }
168
+ }
169
+ ```
170
+
171
+ ## Logging
172
+
173
+ ```java
174
+ @Slf4j // SLF4J logger
175
+ public class UserService {
176
+ public void process() {
177
+ log.info("Processing...");
178
+ log.debug("Processing completed");
179
+ log.error("Error occurred", exception);
180
+ }
181
+ }
182
+
183
+ @Log4j2 // Log4j2 logger
184
+ @CommonsLog // Apache Commons Logging
185
+ @JBossLog // JBoss Logging
186
+ ```
187
+
188
+ ## DTO Pattern
189
+
190
+ ```java
191
+ // Request DTO
192
+ @Getter
193
+ @Setter
194
+ @ToString(onlyExplicitlyIncluded = true)
195
+ public class CreateUserRequest {
196
+ @NotBlank
197
+ private String name;
198
+ @Email
199
+ private String email;
200
+ @Size(min = 8)
201
+ private String password;
202
+ }
203
+
204
+ // Response DTO (immutable)
205
+ @Value
206
+ @Builder
207
+ public class UserResponse {
208
+ Long id;
209
+ String name;
210
+ String email;
211
+ UserStatus status;
212
+ LocalDateTime createdAt;
213
+ }
214
+ ```
215
+
216
+ ## @Cleanup
217
+
218
+ ```java
219
+ public void readFile(String path) throws IOException {
220
+ @Cleanup InputStream in = new FileInputStream(path);
221
+ // in.close() called automatically
222
+ }
223
+ ```
224
+
225
+ ## @SneakyThrows
226
+
227
+ ```java
228
+ @SneakyThrows // Wraps checked exception
229
+ public String readConfig() {
230
+ return new String(Files.readAllBytes(Paths.get("config.json")), StandardCharsets.UTF_8);
231
+ }
232
+ ```
233
+
234
+ ## @Synchronized
235
+
236
+ ```java
237
+ public class Counter {
238
+ @Synchronized
239
+ public void increment() {
240
+ // Thread-safe
241
+ }
242
+ }
243
+ ```
244
+
245
+ ## @With (Immutable Updates)
246
+
247
+ ```java
248
+ @Value
249
+ @With
250
+ public class Point {
251
+ int x;
252
+ int y;
253
+ }
254
+
255
+ Point p1 = new Point(1, 2);
256
+ Point p2 = p1.withX(5); // Point(5, 2)
257
+ ```
258
+
259
+ ## Key Annotations
260
+
261
+ | Annotation | Purpose |
262
+ |------------|---------|
263
+ | `@Data` | Getter, Setter, ToString, Equals, Constructor |
264
+ | `@Value` | Immutable class |
265
+ | `@Builder` | Builder pattern |
266
+ | `@RequiredArgsConstructor` | Constructor for final fields |
267
+ | `@Slf4j` | Logger field |
268
+ | `@ToString.Exclude` | Exclude from toString |
269
+ | `@EqualsAndHashCode.Exclude` | Exclude from equals/hashCode |
270
+
271
+ ---
272
+
273
+
274
+ ## Anti-Patterns
275
+
276
+ | Anti-Pattern | Why It's Bad | Correct Approach |
277
+ |--------------|--------------|------------------|
278
+ | @Data on JPA entities | toString/equals issues | Use @Getter/@Setter selectively |
279
+ | Not excluding lazy relations | LazyInitializationException | Use @ToString.Exclude |
280
+ | @EqualsAndHashCode on entities | Proxy issues | Use @EqualsAndHashCode(onlyExplicitlyIncluded = true) |
281
+ | @SneakyThrows everywhere | Hides exceptions | Use proper exception handling |
282
+ | @Builder without @Default | Null fields | Add @Builder.Default |
283
+ | @Value with mutable fields | Breaks immutability | Use only immutable types |
284
+ | Mixing @Data and manual methods | Confusing API | Be consistent |
285
+ | Not configuring in lombok.config | Inconsistent behavior | Use lombok.config file |
286
+
287
+ ---
288
+
289
+ ## Quick Troubleshooting
290
+
291
+ | Issue | Cause | Solution |
292
+ |-------|-------|----------|
293
+ | "Cannot find symbol" for getters | IDE not processing | Enable annotation processing |
294
+ | LazyInitializationException | toString on lazy relation | Add @ToString.Exclude |
295
+ | MapStruct not working | Wrong processor order | Lombok before MapStruct |
296
+ | Builder missing fields | No @Builder.Default | Add defaults or check config |
297
+ | StackOverflowError in equals | Circular reference | Exclude relation fields |
298
+ | IDE shows errors but compiles | IDE cache | Invalidate caches/restart |
299
+ | @Slf4j logger not found | SLF4J not in classpath | Add SLF4J dependency |
300
+ | Generated code not visible | delombok needed | Run delombok task |
301
+
302
+ ---
303
+
304
+ ## Reference Documentation
305
+ - [Lombok Documentation](https://projectlombok.org/features/)
306
+ - [Stable Features](https://projectlombok.org/features/all)
307
+ - [Configuration](https://projectlombok.org/features/configuration)