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,390 @@
1
+ # 数据库设计规范
2
+
3
+ > **重要提示**: 本项目是 RuoYi-Vue-Plus **纯后端项目**,采用**三层架构**。
4
+ > 数据库设计必须遵循本规范,参考 `ruoyi-demo` 模块的 TestDemo 表。
5
+
6
+ 最后更新: 2026-02-09
7
+
8
+ ---
9
+
10
+ ## 🏗️ 核心规范速查
11
+
12
+ | 项目 | 规范 |
13
+ |------|------|
14
+ | **包名** | `org.dromara.*` |
15
+ | **Entity 基类** | `TenantEntity`(多租户) |
16
+ | **主键策略** | 雪花 ID(**不用 AUTO_INCREMENT**) |
17
+ | **逻辑删除** | `del_flag CHAR(1) DEFAULT '0'` |
18
+ | **表前缀** | 按模块区分:`sys_`/`test_`/`flow_` 等 |
19
+
20
+ ---
21
+
22
+ ## 📋 表命名规范
23
+
24
+ ### 模块与表前缀对应
25
+
26
+ | 模块 | 表前缀 | 包路径 | 示例表 |
27
+ |------|--------|--------|--------|
28
+ | **系统管理** | `sys_` | `org.dromara.system` | `sys_user`, `sys_menu`, `sys_role` |
29
+ | **演示模块** | `test_` | `org.dromara.demo` | `test_demo`, `test_tree` |
30
+ | **工作流** | `flow_` | `org.dromara.workflow` | `flow_xxx` |
31
+ | **定时任务** | `sj_` | `org.dromara.job` | `sj_xxx` |
32
+ | **商城业务** | `m_` | `org.dromara.mall` | `m_goods`, `m_order` |
33
+ | **自定义** | `xxx_` | `org.dromara.xxx` | 按业务定义 |
34
+
35
+ ### 命名规则
36
+
37
+ | 类型 | 规则 | 正确示例 | 错误示例 |
38
+ |------|------|---------|---------|
39
+ | **表名** | 小写 + 下划线 | `sys_user_role` | `SysUserRole` |
40
+ | **字段名** | 小写 + 下划线 | `user_name` | `userName` |
41
+ | **主键** | `id` | `id` | `user_id`(业务表)|
42
+ | **外键** | `关联表_id` | `dept_id` | `deptId` |
43
+
44
+ ---
45
+
46
+ ## 📐 建表模板(MySQL)
47
+
48
+ ### 标准业务表模板
49
+
50
+ ```sql
51
+ CREATE TABLE xxx_table (
52
+ -- 主键(雪花 ID,不用 AUTO_INCREMENT)
53
+ id BIGINT(20) NOT NULL COMMENT '主键ID',
54
+
55
+ -- 多租户字段(必须)
56
+ tenant_id VARCHAR(20) DEFAULT '000000' COMMENT '租户ID',
57
+
58
+ -- 业务字段
59
+ xxx_name VARCHAR(100) NOT NULL COMMENT '名称',
60
+ xxx_code VARCHAR(64) DEFAULT NULL COMMENT '编码',
61
+ status CHAR(1) DEFAULT '1' COMMENT '状态(0停用 1正常)',
62
+ remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
63
+
64
+ -- 审计字段(必须,继承自 TenantEntity)
65
+ create_dept BIGINT(20) DEFAULT NULL COMMENT '创建部门',
66
+ create_by BIGINT(20) DEFAULT NULL COMMENT '创建人',
67
+ create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
68
+ update_by BIGINT(20) DEFAULT NULL COMMENT '更新人',
69
+ update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
70
+
71
+ -- 逻辑删除(必须)
72
+ del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志(0正常 1已删除)',
73
+
74
+ PRIMARY KEY (id),
75
+ INDEX idx_tenant_id (tenant_id),
76
+ INDEX idx_status (status)
77
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='XXX表';
78
+ ```
79
+
80
+ ### 树形结构表模板
81
+
82
+ ```sql
83
+ CREATE TABLE xxx_tree (
84
+ id BIGINT(20) NOT NULL COMMENT '主键ID',
85
+ tenant_id VARCHAR(20) DEFAULT '000000' COMMENT '租户ID',
86
+
87
+ -- 树形结构字段
88
+ parent_id BIGINT(20) DEFAULT 0 COMMENT '父节点ID',
89
+ ancestors VARCHAR(500) DEFAULT '' COMMENT '祖级列表',
90
+ order_num INT(4) DEFAULT 0 COMMENT '显示顺序',
91
+
92
+ -- 业务字段
93
+ name VARCHAR(100) NOT NULL COMMENT '名称',
94
+ status CHAR(1) DEFAULT '1' COMMENT '状态(0停用 1正常)',
95
+
96
+ -- 审计字段
97
+ create_dept BIGINT(20) DEFAULT NULL COMMENT '创建部门',
98
+ create_by BIGINT(20) DEFAULT NULL COMMENT '创建人',
99
+ create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
100
+ update_by BIGINT(20) DEFAULT NULL COMMENT '更新人',
101
+ update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
102
+ del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志(0正常 1已删除)',
103
+
104
+ PRIMARY KEY (id),
105
+ INDEX idx_parent_id (parent_id)
106
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='树形表';
107
+ ```
108
+
109
+ ---
110
+
111
+ ## 📊 数据类型规范
112
+
113
+ | 业务场景 | 数据库类型 | Java类型 | 示例 |
114
+ |----------|------------|----------|------|
115
+ | **主键ID** | `BIGINT(20)` | `Long` | `id BIGINT(20) NOT NULL` |
116
+ | **租户ID** | `VARCHAR(20)` | `String` | `tenant_id VARCHAR(20)` |
117
+ | **状态标识** | `CHAR(1)` | `String` | `status CHAR(1) DEFAULT '1'` |
118
+ | **删除标志** | `CHAR(1)` | `String` | `del_flag CHAR(1) DEFAULT '0'` |
119
+ | **短文本** | `VARCHAR(30-100)` | `String` | `user_name VARCHAR(30)` |
120
+ | **长文本** | `VARCHAR(255-500)` | `String` | `remark VARCHAR(500)` |
121
+ | **超长文本** | `TEXT` | `String` | `content TEXT` |
122
+ | **金额** | `DECIMAL(10,2)` | `BigDecimal` | `price DECIMAL(10,2)` |
123
+ | **时间** | `DATETIME` | `Date` | `create_time DATETIME` |
124
+ | **布尔值** | `CHAR(1)` | `String` | `is_xxx CHAR(1) DEFAULT '0'` |
125
+
126
+ ### 布尔值规范
127
+
128
+ | 字段类型 | 值含义 |
129
+ |----------|--------|
130
+ | **状态 (status)** | `1`=正常, `0`=停用 |
131
+ | **删除标志 (del_flag)** | `0`=正常, `1`=已删除 |
132
+ | **是否字段 (is_xxx)** | `1`=是, `0`=否 |
133
+
134
+ ---
135
+
136
+ ## 🔑 主键设计
137
+
138
+ ### 雪花 ID(项目默认)
139
+
140
+ ```sql
141
+ -- ✅ 正确:不使用 AUTO_INCREMENT
142
+ id BIGINT(20) NOT NULL COMMENT '主键ID',
143
+
144
+ -- ❌ 错误:使用自增
145
+ id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
146
+ ```
147
+
148
+ ### Entity 主键注解
149
+
150
+ ```java
151
+ // ✅ 正确:只指定字段名,使用全局配置的雪花ID
152
+ @TableId(value = "id")
153
+ private Long id;
154
+
155
+ // ❌ 错误:显式指定自增类型
156
+ @TableId(value = "id", type = IdType.AUTO)
157
+ private Long id;
158
+ ```
159
+
160
+ ---
161
+
162
+ ## 📝 必备字段说明
163
+
164
+ ### 审计字段(TenantEntity 已包含)
165
+
166
+ | 字段 | 类型 | 说明 | 自动填充 |
167
+ |------|------|------|---------|
168
+ | `tenant_id` | VARCHAR(20) | 租户ID | ✅ 是 |
169
+ | `create_dept` | BIGINT(20) | 创建部门 | ✅ 是 |
170
+ | `create_by` | BIGINT(20) | 创建人 | ✅ 是 |
171
+ | `create_time` | DATETIME | 创建时间 | ✅ 是 |
172
+ | `update_by` | BIGINT(20) | 更新人 | ✅ 是 |
173
+ | `update_time` | DATETIME | 更新时间 | ✅ 是 |
174
+
175
+ ### 逻辑删除字段
176
+
177
+ ```sql
178
+ del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志(0正常 1已删除)'
179
+ ```
180
+
181
+ ```java
182
+ // Entity 中不需要显式定义,TenantEntity 基类已包含
183
+ // MyBatis-Plus 自动处理:
184
+ // - SELECT: 自动添加 WHERE del_flag = '0'
185
+ // - DELETE: 转换为 UPDATE del_flag = '1'
186
+ ```
187
+
188
+ ---
189
+
190
+ ## 📇 索引设计
191
+
192
+ ### 索引类型
193
+
194
+ ```sql
195
+ -- 主键索引(必须)
196
+ PRIMARY KEY (id)
197
+
198
+ -- 唯一索引(业务唯一字段)
199
+ UNIQUE KEY uk_code (code)
200
+
201
+ -- 普通索引(频繁查询字段)
202
+ INDEX idx_status (status)
203
+ INDEX idx_create_time (create_time)
204
+
205
+ -- 复合索引(多条件查询)
206
+ INDEX idx_tenant_status (tenant_id, status)
207
+ ```
208
+
209
+ ### 索引设计原则
210
+
211
+ - **主键必建**:每张表必须有主键索引
212
+ - **外键建索引**:外键字段建议添加索引
213
+ - **租户字段建索引**:`tenant_id` 必须有索引
214
+ - **频繁查询字段建索引**:WHERE 条件中的字段
215
+ - **唯一性约束**:业务上唯一的字段建唯一索引
216
+ - **复合索引遵循最左前缀原则**:`(a,b,c)` 支持 `(a)`, `(a,b)`, `(a,b,c)`
217
+
218
+ ---
219
+
220
+ ## 📖 字典设计规范
221
+
222
+ ### 使用场景
223
+
224
+ 当字段有**固定的几个可选值**时,应使用字典管理:
225
+ - ✅ 状态字段:启用/停用
226
+ - ✅ 类型字段:类型A/类型B/类型C
227
+ - ✅ 性别字段:男/女/未知
228
+ - ❌ 不适合:用户输入的自由文本
229
+
230
+ ### 字典命名规范
231
+
232
+ | 字典类型 | 命名规则 | 示例 |
233
+ |---------|---------|------|
234
+ | **系统字典** | `sys_` + 功能名 | `sys_user_sex`, `sys_normal_disable` |
235
+ | **业务字典** | 模块前缀 + 字段名 | `demo_xxx_type`, `mall_order_status` |
236
+
237
+ ### 新增字典类型
238
+
239
+ ```sql
240
+ -- 1. 插入字典类型 (sys_dict_type 表)
241
+ INSERT INTO sys_dict_type (dict_id, tenant_id, dict_name, dict_type, create_dept, create_by, create_time, remark)
242
+ VALUES (100, '000000', 'XXX类型', 'demo_xxx_type', 103, 1, sysdate(), 'XXX类型列表');
243
+
244
+ -- 2. 插入字典数据 (sys_dict_data 表)
245
+ INSERT INTO sys_dict_data (dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, remark)
246
+ VALUES (1001, '000000', 1, '类型A', '1', 'demo_xxx_type', '', 'primary', 'Y', 103, 1, sysdate(), '类型A');
247
+
248
+ INSERT INTO sys_dict_data (dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, remark)
249
+ VALUES (1002, '000000', 2, '类型B', '2', 'demo_xxx_type', '', 'success', 'N', 103, 1, sysdate(), '类型B');
250
+ ```
251
+
252
+ ### VO 中使用字典
253
+
254
+ ```java
255
+ @ExcelProperty(value = "类型")
256
+ @ExcelDictFormat(dictType = "demo_xxx_type")
257
+ private String xxxType;
258
+ ```
259
+
260
+ ---
261
+
262
+ ## 🗂️ SQL 文件位置
263
+
264
+ | 数据库 | 脚本位置 |
265
+ |--------|---------|
266
+ | MySQL | `script/sql/ry_vue_5.X.sql` |
267
+ | PostgreSQL | `script/sql/postgres/` |
268
+ | Oracle | `script/sql/oracle/` |
269
+ | SQL Server | `script/sql/sqlserver/` |
270
+
271
+ ---
272
+
273
+ ## ✅ 设计检查清单
274
+
275
+ ### 表设计检查
276
+
277
+ - [ ] 表前缀与模块对应(`sys_`/`test_`/`flow_` 等)
278
+ - [ ] 主键使用雪花 ID(不用 AUTO_INCREMENT)
279
+ - [ ] 包含 `tenant_id` 字段
280
+ - [ ] 包含完整的审计字段
281
+ - [ ] 包含逻辑删除字段 `del_flag`
282
+ - [ ] 字段名使用蛇形命名法(`xxx_name` 而非 `xxxName`)
283
+ - [ ] 所有字段都有注释
284
+ - [ ] 状态字段配置了字典
285
+
286
+ ### 索引设计检查
287
+
288
+ - [ ] 主键索引已建立
289
+ - [ ] 租户字段 `tenant_id` 有索引
290
+ - [ ] 外键字段有索引
291
+ - [ ] 频繁查询字段有索引
292
+ - [ ] 唯一性约束字段有唯一索引
293
+
294
+ ### Entity 检查
295
+
296
+ - [ ] 继承 `TenantEntity`
297
+ - [ ] `@TableName` 注解指定表名
298
+ - [ ] `@TableId(value = "id")` 注解主键
299
+ - [ ] 字段名与数据库字段对应(驼峰 ↔ 蛇形自动转换)
300
+
301
+ ---
302
+
303
+ ## ❌ 常见错误
304
+
305
+ ### 禁止的写法
306
+
307
+ ```sql
308
+ -- ❌ 错误1: 使用自增 ID
309
+ id BIGINT(20) AUTO_INCREMENT
310
+
311
+ -- ❌ 错误2: 缺少租户字段
312
+ CREATE TABLE xxx (id BIGINT NOT NULL, name VARCHAR(100))
313
+
314
+ -- ❌ 错误3: 删除标志字段名错误
315
+ is_deleted CHAR(1) -- 应该是 del_flag
316
+
317
+ -- ❌ 错误4: 缺少审计字段
318
+ CREATE TABLE xxx (id BIGINT, name VARCHAR(100))
319
+
320
+ -- ❌ 错误5: 字段名使用驼峰
321
+ userName VARCHAR(50) -- 应该是 user_name
322
+
323
+ -- ❌ 错误6: 缺少字段注释
324
+ name VARCHAR(100) -- 应该有 COMMENT
325
+ ```
326
+
327
+ ### 正确的写法
328
+
329
+ ```sql
330
+ -- ✅ 正确1: 使用雪花 ID
331
+ id BIGINT(20) NOT NULL COMMENT '主键ID'
332
+
333
+ -- ✅ 正确2: 包含租户字段
334
+ tenant_id VARCHAR(20) DEFAULT '000000' COMMENT '租户ID'
335
+
336
+ -- ✅ 正确3: 正确的删除标志字段
337
+ del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志(0正常 1已删除)'
338
+
339
+ -- ✅ 正确4: 包含完整审计字段
340
+ create_dept BIGINT(20) DEFAULT NULL COMMENT '创建部门',
341
+ create_by BIGINT(20) DEFAULT NULL COMMENT '创建人',
342
+ create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
343
+ update_by BIGINT(20) DEFAULT NULL COMMENT '更新人',
344
+ update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
345
+
346
+ -- ✅ 正确5: 字段名使用蛇形命名
347
+ user_name VARCHAR(50) COMMENT '用户名'
348
+
349
+ -- ✅ 正确6: 所有字段都有注释
350
+ name VARCHAR(100) NOT NULL COMMENT '名称'
351
+ ```
352
+
353
+ ---
354
+
355
+ ## 📚 参考实现
356
+
357
+ 查看已有的完整实现:
358
+
359
+ | 类型 | 参考文件 |
360
+ |------|---------|
361
+ | 系统表 | `script/sql/ry_vue_5.X.sql` 中的 `sys_user` 表 |
362
+ | 演示表 | `script/sql/ry_vue_5.X.sql` 中的 `test_demo` 表 |
363
+ | Entity | `org.dromara.demo.domain.TestDemo` |
364
+
365
+ ---
366
+
367
+ ## 🎯 总结
368
+
369
+ **建表必备字段**:
370
+
371
+ ```sql
372
+ id BIGINT(20) NOT NULL COMMENT '主键ID',
373
+ tenant_id VARCHAR(20) DEFAULT '000000' COMMENT '租户ID',
374
+ -- 业务字段...
375
+ create_dept BIGINT(20) DEFAULT NULL COMMENT '创建部门',
376
+ create_by BIGINT(20) DEFAULT NULL COMMENT '创建人',
377
+ create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
378
+ update_by BIGINT(20) DEFAULT NULL COMMENT '更新人',
379
+ update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
380
+ del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志(0正常 1已删除)',
381
+ PRIMARY KEY (id)
382
+ ```
383
+
384
+ **核心原则**:
385
+ - ✅ 主键使用雪花 ID(不用 AUTO_INCREMENT)
386
+ - ✅ 必须包含 `tenant_id`(多租户隔离)
387
+ - ✅ 必须包含审计字段(create_by、create_time、update_by、update_time)
388
+ - ✅ 必须包含逻辑删除字段 `del_flag`
389
+ - ✅ 字段名使用蛇形命名法
390
+ - ✅ 所有字段都有注释