ai-engineering-init 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/.claude/agents/code-reviewer.md +139 -0
  2. package/.claude/agents/project-manager.md +159 -0
  3. package/.claude/audio/completed.wav +0 -0
  4. package/.claude/commands/add-todo.md +255 -0
  5. package/.claude/commands/check.md +210 -0
  6. package/.claude/commands/crud.md +454 -0
  7. package/.claude/commands/dev.md +503 -0
  8. package/.claude/commands/init-docs.md +681 -0
  9. package/.claude/commands/next.md +251 -0
  10. package/.claude/commands/progress.md +242 -0
  11. package/.claude/commands/start.md +199 -0
  12. package/.claude/commands/sync.md +307 -0
  13. package/.claude/commands/update-status.md +428 -0
  14. package/.claude/docs/Mixin/344/275/277/347/224/250/346/214/207/345/215/227.md +299 -0
  15. package/.claude/docs/README.md +167 -0
  16. package/.claude/docs//345/211/215/347/253/257/345/274/200/345/217/221/346/214/207/345/215/227.md +599 -0
  17. package/.claude/docs//345/220/216/347/253/257/345/274/200/345/217/221/346/214/207/345/215/227.md +726 -0
  18. package/.claude/docs//345/267/245/344/275/234/346/265/201/345/274/200/345/217/221/346/214/207/345/215/227.md +714 -0
  19. package/.claude/docs//345/267/245/345/205/267/347/261/273/344/275/277/347/224/250/346/214/207/345/215/227.md +463 -0
  20. package/.claude/docs//346/225/260/346/215/256/345/272/223/350/256/276/350/256/241/350/247/204/350/214/203.md +390 -0
  21. package/.claude/docs//346/226/260/345/212/237/350/203/275/345/274/200/345/217/221/346/265/201/347/250/213/350/247/204/350/214/203.md +688 -0
  22. package/.claude/docs//346/226/260/351/241/271/347/233/256/345/274/200/345/217/221/346/265/201/347/250/213.md +365 -0
  23. package/.claude/docs//346/241/206/346/236/266/350/257/264/346/230/216.md +393 -0
  24. package/.claude/docs//350/267/257/347/224/261/351/205/215/347/275/256/346/214/207/345/215/227.md +246 -0
  25. package/.claude/framework-config.json +73 -0
  26. package/.claude/hooks/pre-tool-use.js +117 -0
  27. package/.claude/hooks/skill-forced-eval.js +167 -0
  28. package/.claude/hooks/stop.js +58 -0
  29. package/.claude/settings.json +41 -0
  30. package/.claude/skills/add-skill/SKILL.md +352 -0
  31. package/.claude/skills/api-development/SKILL.md +560 -0
  32. package/.claude/skills/architecture-design/SKILL.md +756 -0
  33. package/.claude/skills/backend-annotations/SKILL.md +674 -0
  34. package/.claude/skills/banana-image/CHANGELOG.md +37 -0
  35. package/.claude/skills/banana-image/README.md +146 -0
  36. package/.claude/skills/banana-image/SKILL.md +164 -0
  37. package/.claude/skills/banana-image/assets/logo.png +0 -0
  38. package/.claude/skills/banana-image/references/advanced-usage.md +189 -0
  39. package/.claude/skills/banana-image/scripts/apply_template.py +125 -0
  40. package/.claude/skills/banana-image/scripts/banana_image_exec.ts +412 -0
  41. package/.claude/skills/banana-image/scripts/batch_prep.py +82 -0
  42. package/.claude/skills/banana-image/scripts/package-lock.json +1437 -0
  43. package/.claude/skills/banana-image/scripts/package.json +18 -0
  44. package/.claude/skills/banana-image/scripts/requirements.txt +10 -0
  45. package/.claude/skills/banana-image/templates/poster.json +22 -0
  46. package/.claude/skills/banana-image/templates/product.json +17 -0
  47. package/.claude/skills/banana-image/templates/social.json +22 -0
  48. package/.claude/skills/banana-image/templates/thumbnail.json +17 -0
  49. package/.claude/skills/brainstorm/SKILL.md +648 -0
  50. package/.claude/skills/bug-detective/SKILL.md +1206 -0
  51. package/.claude/skills/code-patterns/SKILL.md +590 -0
  52. package/.claude/skills/collaborating-with-codex/SKILL.md +174 -0
  53. package/.claude/skills/collaborating-with-codex/scripts/codex_bridge.py +275 -0
  54. package/.claude/skills/collaborating-with-gemini/SKILL.md +194 -0
  55. package/.claude/skills/collaborating-with-gemini/scripts/gemini_bridge.py +275 -0
  56. package/.claude/skills/crud-development/SKILL.md +649 -0
  57. package/.claude/skills/data-permission/SKILL.md +599 -0
  58. package/.claude/skills/database-ops/SKILL.md +407 -0
  59. package/.claude/skills/error-handler/SKILL.md +371 -0
  60. package/.claude/skills/file-oss-management/SKILL.md +863 -0
  61. package/.claude/skills/git-workflow/SKILL.md +375 -0
  62. package/.claude/skills/json-serialization/SKILL.md +357 -0
  63. package/.claude/skills/leniu-api-development/SKILL.md +803 -0
  64. package/.claude/skills/leniu-architecture-design/SKILL.md +598 -0
  65. package/.claude/skills/leniu-backend-annotations/SKILL.md +664 -0
  66. package/.claude/skills/leniu-code-patterns/SKILL.md +365 -0
  67. package/.claude/skills/leniu-crud-development/SKILL.md +1110 -0
  68. package/.claude/skills/leniu-data-permission/SKILL.md +256 -0
  69. package/.claude/skills/leniu-database-ops/SKILL.md +426 -0
  70. package/.claude/skills/leniu-error-handler/SKILL.md +462 -0
  71. package/.claude/skills/leniu-java-amount-handling/SKILL.md +461 -0
  72. package/.claude/skills/leniu-java-code-style/SKILL.md +510 -0
  73. package/.claude/skills/leniu-java-concurrent/SKILL.md +400 -0
  74. package/.claude/skills/leniu-java-entity/SKILL.md +751 -0
  75. package/.claude/skills/leniu-java-export/SKILL.md +560 -0
  76. package/.claude/skills/leniu-java-logging/SKILL.md +832 -0
  77. package/.claude/skills/leniu-java-mq/SKILL.md +338 -0
  78. package/.claude/skills/leniu-java-mybatis/SKILL.md +640 -0
  79. package/.claude/skills/leniu-java-report-query-param/SKILL.md +291 -0
  80. package/.claude/skills/leniu-java-task/SKILL.md +367 -0
  81. package/.claude/skills/leniu-java-total-line/SKILL.md +195 -0
  82. package/.claude/skills/leniu-marketing-price-rule-customizer/SKILL.md +301 -0
  83. package/.claude/skills/leniu-marketing-recharge-rule-customizer/SKILL.md +285 -0
  84. package/.claude/skills/leniu-mealtime/SKILL.md +215 -0
  85. package/.claude/skills/leniu-redis-cache/SKILL.md +316 -0
  86. package/.claude/skills/leniu-security-guard/SKILL.md +520 -0
  87. package/.claude/skills/leniu-utils-toolkit/SKILL.md +380 -0
  88. package/.claude/skills/openspec-apply-change/SKILL.md +156 -0
  89. package/.claude/skills/openspec-archive-change/SKILL.md +114 -0
  90. package/.claude/skills/openspec-bulk-archive-change/SKILL.md +246 -0
  91. package/.claude/skills/openspec-continue-change/SKILL.md +118 -0
  92. package/.claude/skills/openspec-explore/SKILL.md +290 -0
  93. package/.claude/skills/openspec-ff-change/SKILL.md +101 -0
  94. package/.claude/skills/openspec-new-change/SKILL.md +74 -0
  95. package/.claude/skills/openspec-onboard/SKILL.md +529 -0
  96. package/.claude/skills/openspec-sync-specs/SKILL.md +138 -0
  97. package/.claude/skills/openspec-verify-change/SKILL.md +168 -0
  98. package/.claude/skills/performance-doctor/SKILL.md +627 -0
  99. package/.claude/skills/project-navigator/SKILL.md +305 -0
  100. package/.claude/skills/redis-cache/SKILL.md +839 -0
  101. package/.claude/skills/scheduled-jobs/SKILL.md +633 -0
  102. package/.claude/skills/security-guard/SKILL.md +748 -0
  103. package/.claude/skills/sms-mail/SKILL.md +766 -0
  104. package/.claude/skills/social-login/SKILL.md +668 -0
  105. package/.claude/skills/store-pc/SKILL.md +366 -0
  106. package/.claude/skills/task-tracker/SKILL.md +307 -0
  107. package/.claude/skills/tech-decision/SKILL.md +393 -0
  108. package/.claude/skills/tenant-management/SKILL.md +603 -0
  109. package/.claude/skills/test-development/SKILL.md +755 -0
  110. package/.claude/skills/ui-pc/SKILL.md +438 -0
  111. package/.claude/skills/utils-toolkit/SKILL.md +615 -0
  112. package/.claude/skills/websocket-sse/SKILL.md +716 -0
  113. package/.claude/skills/workflow-engine/SKILL.md +676 -0
  114. package/.claude/templates//345/276/205/345/212/236/346/270/205/345/215/225/346/250/241/346/235/277.md +56 -0
  115. package/.claude/templates//351/234/200/346/261/202/346/226/207/346/241/243/346/250/241/346/235/277.md +85 -0
  116. package/.claude/templates//351/241/271/347/233/256/347/212/266/346/200/201/346/250/241/346/235/277.md +43 -0
  117. package/.codex/skills/add-skill/SKILL.md +352 -0
  118. package/.codex/skills/add-todo/SKILL.md +269 -0
  119. package/.codex/skills/api-development/SKILL.md +693 -0
  120. package/.codex/skills/architecture-design/SKILL.md +628 -0
  121. package/.codex/skills/backend-annotations/SKILL.md +664 -0
  122. package/.codex/skills/banana-image/CHANGELOG.md +37 -0
  123. package/.codex/skills/banana-image/README.md +146 -0
  124. package/.codex/skills/banana-image/SKILL.md +164 -0
  125. package/.codex/skills/banana-image/assets/logo.png +0 -0
  126. package/.codex/skills/banana-image/references/advanced-usage.md +189 -0
  127. package/.codex/skills/banana-image/scripts/apply_template.py +125 -0
  128. package/.codex/skills/banana-image/scripts/banana_image_exec.ts +412 -0
  129. package/.codex/skills/banana-image/scripts/batch_prep.py +82 -0
  130. package/.codex/skills/banana-image/scripts/package-lock.json +1437 -0
  131. package/.codex/skills/banana-image/scripts/package.json +18 -0
  132. package/.codex/skills/banana-image/scripts/requirements.txt +10 -0
  133. package/.codex/skills/banana-image/templates/poster.json +22 -0
  134. package/.codex/skills/banana-image/templates/product.json +17 -0
  135. package/.codex/skills/banana-image/templates/social.json +22 -0
  136. package/.codex/skills/banana-image/templates/thumbnail.json +17 -0
  137. package/.codex/skills/brainstorm/SKILL.md +648 -0
  138. package/.codex/skills/bug-detective/SKILL.md +1206 -0
  139. package/.codex/skills/check/SKILL.md +367 -0
  140. package/.codex/skills/code-patterns/SKILL.md +442 -0
  141. package/.codex/skills/collaborating-with-codex/SKILL.md +174 -0
  142. package/.codex/skills/collaborating-with-codex/scripts/codex_bridge.py +275 -0
  143. package/.codex/skills/collaborating-with-gemini/SKILL.md +194 -0
  144. package/.codex/skills/collaborating-with-gemini/scripts/gemini_bridge.py +275 -0
  145. package/.codex/skills/crud/SKILL.md +265 -0
  146. package/.codex/skills/crud-development/SKILL.md +637 -0
  147. package/.codex/skills/data-permission/SKILL.md +591 -0
  148. package/.codex/skills/database-ops/SKILL.md +553 -0
  149. package/.codex/skills/dev/SKILL.md +187 -0
  150. package/.codex/skills/error-handler/SKILL.md +361 -0
  151. package/.codex/skills/file-oss-management/SKILL.md +863 -0
  152. package/.codex/skills/git-workflow/SKILL.md +375 -0
  153. package/.codex/skills/init-docs/SKILL.md +194 -0
  154. package/.codex/skills/json-serialization/SKILL.md +357 -0
  155. package/.codex/skills/leniu-api-development/SKILL.md +803 -0
  156. package/.codex/skills/leniu-architecture-design/SKILL.md +594 -0
  157. package/.codex/skills/leniu-backend-annotations/SKILL.md +662 -0
  158. package/.codex/skills/leniu-code-patterns/SKILL.md +365 -0
  159. package/.codex/skills/leniu-crud-development/SKILL.md +1110 -0
  160. package/.codex/skills/leniu-data-permission/SKILL.md +256 -0
  161. package/.codex/skills/leniu-database-ops/SKILL.md +426 -0
  162. package/.codex/skills/leniu-error-handler/SKILL.md +462 -0
  163. package/.codex/skills/leniu-java-amount-handling/SKILL.md +461 -0
  164. package/.codex/skills/leniu-java-code-style/SKILL.md +510 -0
  165. package/.codex/skills/leniu-java-concurrent/SKILL.md +400 -0
  166. package/.codex/skills/leniu-java-entity/SKILL.md +751 -0
  167. package/.codex/skills/leniu-java-export/SKILL.md +560 -0
  168. package/.codex/skills/leniu-java-logging/SKILL.md +832 -0
  169. package/.codex/skills/leniu-java-mq/SKILL.md +338 -0
  170. package/.codex/skills/leniu-java-mybatis/SKILL.md +640 -0
  171. package/.codex/skills/leniu-java-report-query-param/SKILL.md +291 -0
  172. package/.codex/skills/leniu-java-task/SKILL.md +367 -0
  173. package/.codex/skills/leniu-java-total-line/SKILL.md +195 -0
  174. package/.codex/skills/leniu-marketing-price-rule-customizer/SKILL.md +301 -0
  175. package/.codex/skills/leniu-marketing-recharge-rule-customizer/SKILL.md +285 -0
  176. package/.codex/skills/leniu-mealtime/SKILL.md +215 -0
  177. package/.codex/skills/leniu-redis-cache/SKILL.md +316 -0
  178. package/.codex/skills/leniu-security-guard/SKILL.md +520 -0
  179. package/.codex/skills/leniu-utils-toolkit/SKILL.md +378 -0
  180. package/.codex/skills/next/SKILL.md +137 -0
  181. package/.codex/skills/openspec-apply-change/SKILL.md +156 -0
  182. package/.codex/skills/openspec-archive-change/SKILL.md +114 -0
  183. package/.codex/skills/openspec-bulk-archive-change/SKILL.md +246 -0
  184. package/.codex/skills/openspec-continue-change/SKILL.md +118 -0
  185. package/.codex/skills/openspec-explore/SKILL.md +290 -0
  186. package/.codex/skills/openspec-ff-change/SKILL.md +101 -0
  187. package/.codex/skills/openspec-new-change/SKILL.md +74 -0
  188. package/.codex/skills/openspec-onboard/SKILL.md +529 -0
  189. package/.codex/skills/openspec-sync-specs/SKILL.md +138 -0
  190. package/.codex/skills/openspec-verify-change/SKILL.md +168 -0
  191. package/.codex/skills/performance-doctor/SKILL.md +627 -0
  192. package/.codex/skills/progress/SKILL.md +193 -0
  193. package/.codex/skills/project-navigator/SKILL.md +286 -0
  194. package/.codex/skills/redis-cache/SKILL.md +829 -0
  195. package/.codex/skills/scheduled-jobs/SKILL.md +633 -0
  196. package/.codex/skills/security-guard/SKILL.md +739 -0
  197. package/.codex/skills/sms-mail/SKILL.md +766 -0
  198. package/.codex/skills/social-login/SKILL.md +668 -0
  199. package/.codex/skills/start/SKILL.md +154 -0
  200. package/.codex/skills/store-pc/SKILL.md +491 -0
  201. package/.codex/skills/sync/SKILL.md +149 -0
  202. package/.codex/skills/task-tracker/SKILL.md +307 -0
  203. package/.codex/skills/tech-decision/SKILL.md +393 -0
  204. package/.codex/skills/tenant-management/SKILL.md +603 -0
  205. package/.codex/skills/test-development/SKILL.md +755 -0
  206. package/.codex/skills/ui-pc/SKILL.md +475 -0
  207. package/.codex/skills/update-status/SKILL.md +159 -0
  208. package/.codex/skills/utils-toolkit/SKILL.md +593 -0
  209. package/.codex/skills/websocket-sse/SKILL.md +716 -0
  210. package/.codex/skills/workflow-engine/SKILL.md +676 -0
  211. package/.cursor/agents/code-reviewer.md +139 -0
  212. package/.cursor/agents/project-manager.md +159 -0
  213. package/.cursor/commands/opsx-apply.md +152 -0
  214. package/.cursor/commands/opsx-archive.md +157 -0
  215. package/.cursor/commands/opsx-bulk-archive.md +242 -0
  216. package/.cursor/commands/opsx-continue.md +114 -0
  217. package/.cursor/commands/opsx-explore.md +174 -0
  218. package/.cursor/commands/opsx-ff.md +94 -0
  219. package/.cursor/commands/opsx-new.md +69 -0
  220. package/.cursor/commands/opsx-onboard.md +525 -0
  221. package/.cursor/commands/opsx-sync.md +134 -0
  222. package/.cursor/commands/opsx-verify.md +164 -0
  223. package/.cursor/mcp.json +22 -0
  224. package/.cursor/skills/add-skill/SKILL.md +352 -0
  225. package/.cursor/skills/api-development/SKILL.md +560 -0
  226. package/.cursor/skills/architecture-design/SKILL.md +756 -0
  227. package/.cursor/skills/backend-annotations/SKILL.md +674 -0
  228. package/.cursor/skills/banana-image/CHANGELOG.md +37 -0
  229. package/.cursor/skills/banana-image/README.md +146 -0
  230. package/.cursor/skills/banana-image/SKILL.md +164 -0
  231. package/.cursor/skills/banana-image/assets/logo.png +0 -0
  232. package/.cursor/skills/banana-image/references/advanced-usage.md +189 -0
  233. package/.cursor/skills/banana-image/scripts/apply_template.py +125 -0
  234. package/.cursor/skills/banana-image/scripts/banana_image_exec.ts +412 -0
  235. package/.cursor/skills/banana-image/scripts/batch_prep.py +82 -0
  236. package/.cursor/skills/banana-image/scripts/package-lock.json +1437 -0
  237. package/.cursor/skills/banana-image/scripts/package.json +18 -0
  238. package/.cursor/skills/banana-image/scripts/requirements.txt +10 -0
  239. package/.cursor/skills/banana-image/templates/poster.json +22 -0
  240. package/.cursor/skills/banana-image/templates/product.json +17 -0
  241. package/.cursor/skills/banana-image/templates/social.json +22 -0
  242. package/.cursor/skills/banana-image/templates/thumbnail.json +17 -0
  243. package/.cursor/skills/brainstorm/SKILL.md +648 -0
  244. package/.cursor/skills/bug-detective/SKILL.md +1206 -0
  245. package/.cursor/skills/code-patterns/SKILL.md +590 -0
  246. package/.cursor/skills/collaborating-with-codex/SKILL.md +174 -0
  247. package/.cursor/skills/collaborating-with-codex/scripts/codex_bridge.py +275 -0
  248. package/.cursor/skills/collaborating-with-gemini/SKILL.md +194 -0
  249. package/.cursor/skills/collaborating-with-gemini/scripts/gemini_bridge.py +275 -0
  250. package/.cursor/skills/crud-development/SKILL.md +649 -0
  251. package/.cursor/skills/data-permission/SKILL.md +599 -0
  252. package/.cursor/skills/database-ops/SKILL.md +407 -0
  253. package/.cursor/skills/error-handler/SKILL.md +371 -0
  254. package/.cursor/skills/file-oss-management/SKILL.md +863 -0
  255. package/.cursor/skills/git-workflow/SKILL.md +375 -0
  256. package/.cursor/skills/json-serialization/SKILL.md +357 -0
  257. package/.cursor/skills/leniu-api-development/SKILL.md +803 -0
  258. package/.cursor/skills/leniu-architecture-design/SKILL.md +598 -0
  259. package/.cursor/skills/leniu-backend-annotations/SKILL.md +664 -0
  260. package/.cursor/skills/leniu-code-patterns/SKILL.md +365 -0
  261. package/.cursor/skills/leniu-crud-development/SKILL.md +1110 -0
  262. package/.cursor/skills/leniu-data-permission/SKILL.md +256 -0
  263. package/.cursor/skills/leniu-database-ops/SKILL.md +426 -0
  264. package/.cursor/skills/leniu-error-handler/SKILL.md +462 -0
  265. package/.cursor/skills/leniu-java-amount-handling/SKILL.md +461 -0
  266. package/.cursor/skills/leniu-java-code-style/SKILL.md +510 -0
  267. package/.cursor/skills/leniu-java-concurrent/SKILL.md +400 -0
  268. package/.cursor/skills/leniu-java-entity/SKILL.md +751 -0
  269. package/.cursor/skills/leniu-java-export/SKILL.md +560 -0
  270. package/.cursor/skills/leniu-java-logging/SKILL.md +832 -0
  271. package/.cursor/skills/leniu-java-mq/SKILL.md +338 -0
  272. package/.cursor/skills/leniu-java-mybatis/SKILL.md +640 -0
  273. package/.cursor/skills/leniu-java-report-query-param/SKILL.md +291 -0
  274. package/.cursor/skills/leniu-java-task/SKILL.md +367 -0
  275. package/.cursor/skills/leniu-java-total-line/SKILL.md +195 -0
  276. package/.cursor/skills/leniu-marketing-price-rule-customizer/SKILL.md +301 -0
  277. package/.cursor/skills/leniu-marketing-recharge-rule-customizer/SKILL.md +285 -0
  278. package/.cursor/skills/leniu-mealtime/SKILL.md +215 -0
  279. package/.cursor/skills/leniu-redis-cache/SKILL.md +316 -0
  280. package/.cursor/skills/leniu-security-guard/SKILL.md +520 -0
  281. package/.cursor/skills/leniu-utils-toolkit/SKILL.md +380 -0
  282. package/.cursor/skills/openspec-apply-change/SKILL.md +156 -0
  283. package/.cursor/skills/openspec-archive-change/SKILL.md +114 -0
  284. package/.cursor/skills/openspec-bulk-archive-change/SKILL.md +246 -0
  285. package/.cursor/skills/openspec-continue-change/SKILL.md +118 -0
  286. package/.cursor/skills/openspec-explore/SKILL.md +290 -0
  287. package/.cursor/skills/openspec-ff-change/SKILL.md +101 -0
  288. package/.cursor/skills/openspec-new-change/SKILL.md +74 -0
  289. package/.cursor/skills/openspec-onboard/SKILL.md +529 -0
  290. package/.cursor/skills/openspec-sync-specs/SKILL.md +138 -0
  291. package/.cursor/skills/openspec-verify-change/SKILL.md +168 -0
  292. package/.cursor/skills/performance-doctor/SKILL.md +627 -0
  293. package/.cursor/skills/project-navigator/SKILL.md +305 -0
  294. package/.cursor/skills/redis-cache/SKILL.md +839 -0
  295. package/.cursor/skills/scheduled-jobs/SKILL.md +633 -0
  296. package/.cursor/skills/security-guard/SKILL.md +748 -0
  297. package/.cursor/skills/sms-mail/SKILL.md +766 -0
  298. package/.cursor/skills/social-login/SKILL.md +668 -0
  299. package/.cursor/skills/store-pc/SKILL.md +366 -0
  300. package/.cursor/skills/task-tracker/SKILL.md +307 -0
  301. package/.cursor/skills/tech-decision/SKILL.md +393 -0
  302. package/.cursor/skills/tenant-management/SKILL.md +603 -0
  303. package/.cursor/skills/test-development/SKILL.md +755 -0
  304. package/.cursor/skills/ui-pc/SKILL.md +438 -0
  305. package/.cursor/skills/utils-toolkit/SKILL.md +615 -0
  306. package/.cursor/skills/websocket-sse/SKILL.md +716 -0
  307. package/.cursor/skills/workflow-engine/SKILL.md +676 -0
  308. package/AGENTS.md +669 -0
  309. package/CLAUDE.md +205 -0
  310. package/README.md +205 -0
  311. package/bin/index.js +179 -0
  312. package/init.sh +178 -0
  313. package/package.json +27 -0
@@ -0,0 +1,367 @@
1
+ ---
2
+ name: check
3
+ description: |
4
+ 当需要检查后端代码规范、验证代码质量时自动使用此 Skill。
5
+
6
+ 触发场景:
7
+ - 开发完成后检查代码是否符合规范
8
+ - 代码审查前进行规范检查
9
+ - 检查包名、API路径、权限注解等规范
10
+ - 检查对象转换是否使用 MapstructUtils
11
+
12
+ 触发词:代码检查、check、规范检查、代码规范、代码审查、包名检查、API检查、权限检查
13
+ ---
14
+
15
+ # /check - 后端代码规范检查
16
+
17
+ 作为代码规范检查助手,自动检测项目代码是否符合 RuoYi-Vue-Plus 后端规范。
18
+
19
+ ## 检查范围
20
+
21
+ 支持三种检查模式:
22
+
23
+ 1. **全量检查**:`/check` - 检查所有代码
24
+ 2. **模块检查**:`/check system` - 检查指定模块
25
+ 3. **文件检查**:`/check XxxServiceImpl.java` - 检查指定文件
26
+
27
+ ---
28
+
29
+ ## 检查清单总览
30
+
31
+ | 检查项 | 级别 | 说明 |
32
+ |--------|------|------|
33
+ | 包名规范 | 🔴 严重 | 必须是 `org.dromara.*` |
34
+ | 完整类型引用 | 🔴 严重 | 禁止内联全限定名,必须 import |
35
+ | API 路径规范 | 🔴 严重 | Controller 方法路径必须规范 |
36
+ | 权限注解检查 | 🟡 警告 | 必须使用 @SaCheckPermission |
37
+ | Service 接口 | 🟡 警告 | Service 接口必须有标准方法声明 |
38
+ | Entity 基类 | 🟡 警告 | 业务实体应继承 TenantEntity |
39
+ | BO 映射注解 | 🟡 警告 | 必须使用 @AutoMapper |
40
+ | 对象转换 | 🟡 警告 | 必须用 MapstructUtils,禁止 BeanUtil |
41
+ | Mapper 继承 | 🟢 建议 | 必须继承 BaseMapperPlus |
42
+ | Map 传递数据 | 🟢 建议 | 禁止用 Map 封装业务数据 |
43
+
44
+ ---
45
+
46
+ ## 检查详情
47
+
48
+ ### 1. 包名规范 [🔴 严重]
49
+
50
+ ```bash
51
+ # 检查错误包名
52
+ Grep pattern: "package com\.ruoyi\." path: ruoyi-modules/ output_mode: files_with_matches
53
+ Grep pattern: "import com\.ruoyi\." path: ruoyi-modules/ output_mode: files_with_matches
54
+ ```
55
+
56
+ ```java
57
+ // ❌ 错误
58
+ package com.ruoyi.system.service;
59
+ import com.ruoyi.common.core.domain.R;
60
+
61
+ // ✅ 正确
62
+ package org.dromara.system.service;
63
+ import org.dromara.common.core.domain.R;
64
+ ```
65
+
66
+ ### 2. 完整类型引用 [🔴 严重]
67
+
68
+ ```bash
69
+ # 检查完整类型引用
70
+ Grep pattern: "org\.dromara\.[a-z]+\.[A-Z][a-zA-Z]+\s" path: ruoyi-modules/ glob: "*.java" output_mode: content
71
+ ```
72
+
73
+ ```java
74
+ // ❌ 错误
75
+ public org.dromara.common.core.domain.R<XxxVo> getXxx(Long id) { ... }
76
+
77
+ // ✅ 正确
78
+ import org.dromara.common.core.domain.R;
79
+ public R<XxxVo> getXxx(Long id) { ... }
80
+ ```
81
+
82
+ ### 3. API 路径规范 [🔴 严重]
83
+
84
+ ```bash
85
+ # 检查 Controller 方法的路径规范
86
+ Grep pattern: "@(GetMapping|PostMapping|PutMapping|DeleteMapping)\(" path: ruoyi-modules/ glob: "*Controller.java" output_mode: content -C 1
87
+ ```
88
+
89
+ **规范要求**:
90
+
91
+ | 操作 | HTTP 方法 | 路径格式 | 示例 |
92
+ |------|---------|--------|------|
93
+ | 分页查询 | GET | `/list` 或 `/` 空路径 | `@GetMapping("/list")` |
94
+ | 获取详情 | GET | `/{id}` | `@GetMapping("/{id}")` |
95
+ | 新增 | POST | `/` 空路径 | `@PostMapping` |
96
+ | 修改 | PUT | `/` 空路径 | `@PutMapping` |
97
+ | 删除 | DELETE | `/{ids}` | `@DeleteMapping("/{ids}")` |
98
+ | 导出 | POST | `/export` | `@PostMapping("/export")` |
99
+
100
+ ```java
101
+ // ❌ 错误(路径不规范)
102
+ @GetMapping("/queryList") // 应该用 /list
103
+ @PostMapping("/add") // POST 应该不加路径
104
+ @PutMapping("/update") // PUT 应该不加路径
105
+
106
+ // ✅ 正确
107
+ @GetMapping("/list")
108
+ @PostMapping
109
+ @PutMapping
110
+ @DeleteMapping("/{ids}")
111
+ ```
112
+
113
+ ### 4. 权限注解检查 [🟡 警告]
114
+
115
+ ```bash
116
+ # 检查 Controller 是否使用权限注解
117
+ Grep pattern: "@SaCheckPermission" path: ruoyi-modules/ glob: "*Controller.java" output_mode: files_with_matches
118
+ Grep pattern: "public.*\(.*\)\s*\{" path: ruoyi-modules/ glob: "*Controller.java" output_mode: content -B 1
119
+ ```
120
+
121
+ **规范要求**:Controller 的所有公开接口都必须添加 `@SaCheckPermission` 注解
122
+
123
+ ```java
124
+ // ❌ 错误(缺少权限注解)
125
+ @GetMapping("/list")
126
+ public TableDataInfo<XxxVo> list(XxxBo bo, PageQuery pageQuery) {
127
+ return service.queryPageList(bo, pageQuery);
128
+ }
129
+
130
+ // ✅ 正确
131
+ @SaCheckPermission("xxx:list")
132
+ @GetMapping("/list")
133
+ public TableDataInfo<XxxVo> list(XxxBo bo, PageQuery pageQuery) {
134
+ return service.queryPageList(bo, pageQuery);
135
+ }
136
+ ```
137
+
138
+ ### 5. Service 接口 [🟡 警告]
139
+
140
+ ```bash
141
+ # 检查 Service 接口是否声明标准方法
142
+ Grep pattern: "public interface I.*Service" path: ruoyi-modules/ glob: "*Service.java" output_mode: files_with_matches
143
+ ```
144
+
145
+ **规范要求**:Service 接口必须声明以下标准方法
146
+
147
+ ```java
148
+ // ✅ 正确
149
+ public interface IXxxService {
150
+ XxxVo queryById(Long id);
151
+ TableDataInfo<XxxVo> queryPageList(XxxBo bo, PageQuery pageQuery);
152
+ List<XxxVo> queryList(XxxBo bo);
153
+ Boolean insertByBo(XxxBo bo);
154
+ Boolean updateByBo(XxxBo bo);
155
+ Boolean deleteByIds(Collection<Long> ids);
156
+ }
157
+ ```
158
+
159
+ ### 6. Entity 基类 [🟡 警告]
160
+
161
+ ```bash
162
+ # 检查业务实体是否继承 TenantEntity
163
+ Grep pattern: "extends TenantEntity" path: ruoyi-modules/ glob: "*.java" output_mode: files_with_matches
164
+ Grep pattern: "extends BaseEntity" path: ruoyi-modules/ glob: "*.java" output_mode: files_with_matches
165
+ ```
166
+
167
+ ```java
168
+ // ⚠️ 普通实体(非多租户)
169
+ public class SysNotice extends BaseEntity { }
170
+
171
+ // ✅ 业务实体(多租户)
172
+ public class XxxEntity extends TenantEntity { }
173
+ ```
174
+
175
+ ### 7. BO 映射注解 [🟡 警告]
176
+
177
+ ```bash
178
+ # 检查 BO 是否使用 @AutoMapper
179
+ Grep pattern: "@AutoMapper" path: ruoyi-modules/ glob: "*Bo.java" output_mode: files_with_matches
180
+ ```
181
+
182
+ ```java
183
+ // ❌ 错误
184
+ public class XxxBo extends BaseEntity { }
185
+
186
+ // ✅ 正确
187
+ @AutoMapper(target = Xxx.class, reverseConvertGenerate = false)
188
+ public class XxxBo extends BaseEntity { }
189
+ ```
190
+
191
+ ### 8. 对象转换 [🟡 警告]
192
+
193
+ ```bash
194
+ # 检查是否使用 BeanUtil
195
+ Grep pattern: "BeanUtil\.copy" path: ruoyi-modules/ output_mode: files_with_matches
196
+ Grep pattern: "BeanUtils\.copy" path: ruoyi-modules/ output_mode: files_with_matches
197
+ ```
198
+
199
+ ```java
200
+ // ❌ 错误
201
+ BeanUtil.copyProperties(bo, entity);
202
+ BeanUtils.copyProperties(source, target);
203
+
204
+ // ✅ 正确
205
+ XxxVo vo = MapstructUtils.convert(entity, XxxVo.class);
206
+ List<XxxVo> voList = MapstructUtils.convert(entityList, XxxVo.class);
207
+ ```
208
+
209
+ ### 9. Mapper 继承 [🟢 建议]
210
+
211
+ ```bash
212
+ Grep pattern: "extends BaseMapperPlus" path: ruoyi-modules/ output_mode: files_with_matches
213
+ ```
214
+
215
+ ```java
216
+ // ✅ 正确
217
+ public interface XxxMapper extends BaseMapperPlus<Xxx, XxxVo> { }
218
+ ```
219
+
220
+ ### 10. Map 传递数据 [🟢 建议]
221
+
222
+ ```bash
223
+ Grep pattern: "Map<String,\s*Object>" path: ruoyi-modules/ glob: "*Service*.java" output_mode: files_with_matches
224
+ ```
225
+
226
+ ```java
227
+ // ❌ 错误
228
+ public Map<String, Object> getXxx(Long id) {
229
+ Map<String, Object> result = new HashMap<>();
230
+ result.put("id", entity.getId());
231
+ return result;
232
+ }
233
+
234
+ // ✅ 正确(创建 VO 类)
235
+ public XxxVo getXxx(Long id) {
236
+ return MapstructUtils.convert(entity, XxxVo.class);
237
+ }
238
+ ```
239
+
240
+ ---
241
+
242
+ ## 输出格式
243
+
244
+ ```markdown
245
+ # 🔍 代码规范检查报告
246
+
247
+ **检查时间**:YYYY-MM-DD HH:mm
248
+ **检查范围**:[全量 / 模块名 / 文件名]
249
+
250
+ ---
251
+
252
+ ## 📋 检查结果汇总
253
+
254
+ | 类别 | 通过 | 警告 | 错误 |
255
+ |------|------|------|------|
256
+ | 后端 Java | X | X | X |
257
+
258
+ ---
259
+
260
+ ## 🔴 严重问题(必须修复)
261
+
262
+ ### 1. [问题类型]
263
+
264
+ **文件**:`path/to/file.java:42`
265
+ **问题**:包名使用了 com.ruoyi
266
+ **代码**:
267
+ \```java
268
+ package com.ruoyi.system.service;
269
+ \```
270
+ **修复**:
271
+ \```java
272
+ package org.dromara.system.service;
273
+ \```
274
+
275
+ ---
276
+
277
+ ## 🟡 警告问题(建议修复)
278
+
279
+ ### 1. [问题类型]
280
+ ...
281
+
282
+ ---
283
+
284
+ ## 🟢 建议优化
285
+
286
+ ### 1. [优化建议]
287
+ ...
288
+
289
+ ---
290
+
291
+ ## ✅ 检查通过项
292
+
293
+ - [x] 包名规范
294
+ - [x] 对象转换
295
+ - ...
296
+ ```
297
+
298
+ ---
299
+
300
+ ## 检查优先级
301
+
302
+ ### 开发完成后必查(阻塞提交)
303
+
304
+ 1. 包名是否是 `org.dromara.*`
305
+ 2. 是否有完整类型引用(内联全限定名)
306
+ 3. API 路径是否规范
307
+ 4. 对象转换是否使用 MapstructUtils
308
+ 5. 权限注解是否完整
309
+
310
+ ### 代码审查建议查
311
+
312
+ 1. Service 接口是否有标准方法声明
313
+ 2. BO 是否有 @AutoMapper
314
+ 3. Entity 是否继承正确的基类
315
+ 4. Mapper 是否继承 BaseMapperPlus
316
+ 5. 是否有冗余的 Map 传递
317
+
318
+ ---
319
+
320
+ ## 快速修复指南
321
+
322
+ ### 包名错误修复
323
+
324
+ ```bash
325
+ # 查找所有错误包名
326
+ Grep pattern: "package com\.ruoyi\." path: ruoyi-modules/ output_mode: files_with_matches
327
+ ```
328
+
329
+ 批量替换:`com.ruoyi` → `org.dromara`
330
+
331
+ ### API 路径修复
332
+
333
+ | 错误写法 | 正确写法 | 说明 |
334
+ |---------|--------|------|
335
+ | `@GetMapping("/queryList")` | `@GetMapping("/list")` | 列表查询统一用 /list |
336
+ | `@PostMapping("/add")` | `@PostMapping` | POST 新增不加路径 |
337
+ | `@PutMapping("/update")` | `@PutMapping` | PUT 修改不加路径 |
338
+ | `@GetMapping` | `@GetMapping("/{id}")` | 单条查询必须加 ID 参数 |
339
+
340
+ ### 权限注解修复
341
+
342
+ ```java
343
+ // 快速修复模板
344
+ @SaCheckPermission("模块:功能:操作")
345
+ @GetMapping("/list")
346
+ public TableDataInfo<XxxVo> list(...) { ... }
347
+
348
+ // 权限标识符格式
349
+ // system:notice:list - 系统模块的通知管理-列表权限
350
+ // demo:xxx:add - demo 模块的 xxx 功能-新增权限
351
+ // 模块:功能:操作 - [模块]:[功能]:[操作]
352
+ ```
353
+
354
+ ### 对象转换修复
355
+
356
+ | 替换前 | 替换后 |
357
+ |--------|--------|
358
+ | `BeanUtil.copyProperties(a, b)` | `MapstructUtils.convert(a, B.class)` |
359
+ | `BeanUtils.copyProperties(a, b)` | `MapstructUtils.convert(a, B.class)` |
360
+ | `new HashMap<>()` (传递业务数据) | 创建专属 VO 类 |
361
+
362
+ ---
363
+
364
+ ## 参考
365
+
366
+ - 正确后端代码:`ruoyi-system/.../controller/system/SysNoticeController.java`
367
+ - 正确 Service 代码:`ruoyi-system/.../service/impl/SysNoticeServiceImpl.java`