leniu-dev 2.0.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 (670) hide show
  1. package/.claude/agents/auto-test-generator.md +315 -0
  2. package/.claude/agents/bug-analyzer.md +103 -0
  3. package/.claude/agents/code-reviewer.md +122 -0
  4. package/.claude/agents/code-scanner.md +145 -0
  5. package/.claude/agents/image-reader.md +154 -0
  6. package/.claude/agents/loki-runner.md +80 -0
  7. package/.claude/agents/mysql-runner.md +81 -0
  8. package/.claude/agents/project-manager.md +159 -0
  9. package/.claude/agents/requirements-analyzer.md +175 -0
  10. package/.claude/agents/task-fetcher.md +75 -0
  11. package/.claude/audio/completed.wav +0 -0
  12. package/.claude/commands/add-todo.md +255 -0
  13. package/.claude/commands/auto-test.md +252 -0
  14. package/.claude/commands/check.md +210 -0
  15. package/.claude/commands/crud.md +454 -0
  16. package/.claude/commands/dev.md +532 -0
  17. package/.claude/commands/init-config.md +154 -0
  18. package/.claude/commands/init-docs.md +681 -0
  19. package/.claude/commands/next.md +281 -0
  20. package/.claude/commands/opsx-apply.md +147 -0
  21. package/.claude/commands/opsx-archive.md +105 -0
  22. package/.claude/commands/opsx-bulk-archive.md +237 -0
  23. package/.claude/commands/opsx-continue.md +109 -0
  24. package/.claude/commands/opsx-explore.md +281 -0
  25. package/.claude/commands/opsx-ff.md +92 -0
  26. package/.claude/commands/opsx-new.md +65 -0
  27. package/.claude/commands/opsx-onboard.md +397 -0
  28. package/.claude/commands/opsx-sync.md +129 -0
  29. package/.claude/commands/opsx-verify.md +159 -0
  30. package/.claude/commands/progress.md +264 -0
  31. package/.claude/commands/release.md +109 -0
  32. package/.claude/commands/start.md +199 -0
  33. package/.claude/commands/sync.md +307 -0
  34. package/.claude/commands/update-status.md +428 -0
  35. package/.claude/docs/Mixin/344/275/277/347/224/250/346/214/207/345/215/227.md +299 -0
  36. package/.claude/docs/README.md +167 -0
  37. package/.claude/docs//345/211/215/347/253/257/345/274/200/345/217/221/346/214/207/345/215/227.md +599 -0
  38. package/.claude/docs//345/220/216/347/253/257/345/274/200/345/217/221/346/214/207/345/215/227.md +726 -0
  39. 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
  40. 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
  41. 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
  42. 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
  43. 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
  44. package/.claude/docs//346/241/206/346/236/266/350/257/264/346/230/216.md +393 -0
  45. package/.claude/docs//350/267/257/347/224/261/351/205/215/347/275/256/346/214/207/345/215/227.md +246 -0
  46. package/.claude/framework-config.json +73 -0
  47. package/.claude/hooks/lib/notify.js +310 -0
  48. package/.claude/hooks/pre-tool-use.js +117 -0
  49. package/.claude/hooks/skill-forced-eval.js +161 -0
  50. package/.claude/hooks/stop.js +55 -0
  51. package/.claude/notify-config.json +9 -0
  52. package/.claude/settings.json +57 -0
  53. package/.claude/skills/add-skill/SKILL.md +488 -0
  54. package/.claude/skills/analyze-requirements/SKILL.md +112 -0
  55. package/.claude/skills/api-development/SKILL.md +315 -0
  56. package/.claude/skills/architecture-design/SKILL.md +152 -0
  57. package/.claude/skills/auto-test/SKILL.md +625 -0
  58. package/.claude/skills/auto-test/references/api-conventions.md +260 -0
  59. package/.claude/skills/backend-annotations/SKILL.md +248 -0
  60. package/.claude/skills/banana-image/CHANGELOG.md +37 -0
  61. package/.claude/skills/banana-image/README.md +146 -0
  62. package/.claude/skills/banana-image/SKILL.md +171 -0
  63. package/.claude/skills/banana-image/assets/logo.png +0 -0
  64. package/.claude/skills/banana-image/references/advanced-usage.md +189 -0
  65. package/.claude/skills/banana-image/scripts/apply_template.py +125 -0
  66. package/.claude/skills/banana-image/scripts/banana_image_exec.ts +412 -0
  67. package/.claude/skills/banana-image/scripts/batch_prep.py +82 -0
  68. package/.claude/skills/banana-image/scripts/package-lock.json +1437 -0
  69. package/.claude/skills/banana-image/scripts/package.json +18 -0
  70. package/.claude/skills/banana-image/scripts/requirements.txt +10 -0
  71. package/.claude/skills/banana-image/templates/poster.json +22 -0
  72. package/.claude/skills/banana-image/templates/product.json +17 -0
  73. package/.claude/skills/banana-image/templates/social.json +22 -0
  74. package/.claude/skills/banana-image/templates/thumbnail.json +17 -0
  75. package/.claude/skills/brainstorm/SKILL.md +216 -0
  76. package/.claude/skills/bug-detective/SKILL.md +295 -0
  77. package/.claude/skills/bug-detective/references/error-patterns.md +242 -0
  78. package/.claude/skills/chrome-cdp/SKILL.md +81 -0
  79. package/.claude/skills/chrome-cdp/scripts/cdp.mjs +838 -0
  80. package/.claude/skills/chrome-cdp/scripts/run-cdp.sh +7 -0
  81. package/.claude/skills/code-patterns/SKILL.md +163 -0
  82. package/.claude/skills/code-patterns/references/leniu-code-patterns.md +87 -0
  83. package/.claude/skills/codex-code-review/SKILL.md +327 -0
  84. package/.claude/skills/collaborating-with-codex/SKILL.md +180 -0
  85. package/.claude/skills/collaborating-with-codex/scripts/codex_bridge.py +275 -0
  86. package/.claude/skills/collaborating-with-gemini/SKILL.md +194 -0
  87. package/.claude/skills/collaborating-with-gemini/scripts/gemini_bridge.py +275 -0
  88. package/.claude/skills/crud-development/SKILL.md +328 -0
  89. package/.claude/skills/data-permission/SKILL.md +221 -0
  90. package/.claude/skills/data-permission/references/custom-data-scope.md +90 -0
  91. package/.claude/skills/database-ops/SKILL.md +210 -0
  92. package/.claude/skills/error-handler/SKILL.md +310 -0
  93. package/.claude/skills/file-oss-management/SKILL.md +260 -0
  94. package/.claude/skills/file-oss-management/references/entities.md +105 -0
  95. package/.claude/skills/file-oss-management/references/service-impl.md +104 -0
  96. package/.claude/skills/fix-bug/SKILL.md +269 -0
  97. package/.claude/skills/git-workflow/SKILL.md +179 -0
  98. package/.claude/skills/jenkins-deploy/SKILL.md +134 -0
  99. package/.claude/skills/jenkins-deploy/assets/env_param.template.json +51 -0
  100. package/.claude/skills/jenkins-deploy/assets/jk_build.py +400 -0
  101. package/.claude/skills/json-serialization/SKILL.md +341 -0
  102. package/.claude/skills/lanhu-design/SKILL.md +99 -0
  103. package/.claude/skills/leniu-api-development/SKILL.md +319 -0
  104. package/.claude/skills/leniu-api-development/references/real-examples.md +273 -0
  105. package/.claude/skills/leniu-architecture-design/SKILL.md +383 -0
  106. package/.claude/skills/leniu-backend-annotations/SKILL.md +277 -0
  107. package/.claude/skills/leniu-brainstorm/SKILL.md +242 -0
  108. package/.claude/skills/leniu-brainstorm/references/business-scenarios.md +162 -0
  109. package/.claude/skills/leniu-code-patterns/SKILL.md +411 -0
  110. package/.claude/skills/leniu-crud-development/SKILL.md +404 -0
  111. package/.claude/skills/leniu-crud-development/references/templates.md +597 -0
  112. package/.claude/skills/leniu-customization-location/SKILL.md +410 -0
  113. package/.claude/skills/leniu-data-permission/SKILL.md +341 -0
  114. package/.claude/skills/leniu-database-ops/SKILL.md +426 -0
  115. package/.claude/skills/leniu-error-handler/SKILL.md +462 -0
  116. package/.claude/skills/leniu-java-concurrent/SKILL.md +400 -0
  117. package/.claude/skills/leniu-java-entity/SKILL.md +237 -0
  118. package/.claude/skills/leniu-java-entity/references/templates.md +237 -0
  119. package/.claude/skills/leniu-java-logging/SKILL.md +229 -0
  120. package/.claude/skills/leniu-java-logging/references/data-mask.md +46 -0
  121. package/.claude/skills/leniu-java-logging/references/logging-scenarios.md +113 -0
  122. package/.claude/skills/leniu-java-mq/SKILL.md +338 -0
  123. package/.claude/skills/leniu-java-mybatis/SKILL.md +267 -0
  124. package/.claude/skills/leniu-java-mybatis/references/report-mapper.md +88 -0
  125. package/.claude/skills/leniu-java-task/SKILL.md +367 -0
  126. package/.claude/skills/leniu-marketing-scenario/SKILL.md +448 -0
  127. package/.claude/skills/leniu-marketing-scenario/references/pay-meal-rules.md +197 -0
  128. package/.claude/skills/leniu-marketing-scenario/references/price-rules.md +286 -0
  129. package/.claude/skills/leniu-marketing-scenario/references/recharge-rules.md +188 -0
  130. package/.claude/skills/leniu-redis-cache/SKILL.md +331 -0
  131. package/.claude/skills/leniu-report-scenario/SKILL.md +508 -0
  132. package/.claude/skills/leniu-report-scenario/references/amount-handling.md +448 -0
  133. package/.claude/skills/leniu-report-scenario/references/analysis-module.md +64 -0
  134. package/.claude/skills/leniu-report-scenario/references/customization-table-fields.md +93 -0
  135. package/.claude/skills/leniu-report-scenario/references/customization.md +356 -0
  136. package/.claude/skills/leniu-report-scenario/references/data-permission.md +182 -0
  137. package/.claude/skills/leniu-report-scenario/references/export.md +553 -0
  138. package/.claude/skills/leniu-report-scenario/references/mealtime.md +197 -0
  139. package/.claude/skills/leniu-report-scenario/references/query-param.md +274 -0
  140. package/.claude/skills/leniu-report-scenario/references/report-tables.md +162 -0
  141. package/.claude/skills/leniu-report-scenario/references/standard-customization.md +112 -0
  142. package/.claude/skills/leniu-report-scenario/references/standard-table-fields.md +113 -0
  143. package/.claude/skills/leniu-report-scenario/references/total-line.md +179 -0
  144. package/.claude/skills/leniu-security-guard/SKILL.md +306 -0
  145. package/.claude/skills/leniu-utils-toolkit/SKILL.md +380 -0
  146. package/.claude/skills/loki-log-query/SKILL.md +430 -0
  147. package/.claude/skills/mysql-debug/SKILL.md +406 -0
  148. package/.claude/skills/performance-doctor/SKILL.md +297 -0
  149. package/.claude/skills/project-navigator/SKILL.md +211 -0
  150. package/.claude/skills/redis-cache/SKILL.md +282 -0
  151. package/.claude/skills/redis-cache/references/listeners.md +23 -0
  152. package/.claude/skills/scheduled-jobs/SKILL.md +277 -0
  153. package/.claude/skills/security-guard/SKILL.md +245 -0
  154. package/.claude/skills/security-guard/references/encrypt-config.md +103 -0
  155. package/.claude/skills/security-guard/references/sensitive-strategies.md +42 -0
  156. package/.claude/skills/sms-mail/SKILL.md +346 -0
  157. package/.claude/skills/sms-mail/references/mail-config.md +88 -0
  158. package/.claude/skills/sms-mail/references/sms-config.md +74 -0
  159. package/.claude/skills/social-login/SKILL.md +328 -0
  160. package/.claude/skills/social-login/references/provider-configs.md +118 -0
  161. package/.claude/skills/store-pc/SKILL.md +366 -0
  162. package/.claude/skills/sync-back-merge/SKILL.md +66 -0
  163. package/.claude/skills/task-tracker/SKILL.md +307 -0
  164. package/.claude/skills/tech-decision/SKILL.md +393 -0
  165. package/.claude/skills/tenant-management/SKILL.md +272 -0
  166. package/.claude/skills/tenant-management/references/tenant-scenarios.md +91 -0
  167. package/.claude/skills/test-development/SKILL.md +301 -0
  168. package/.claude/skills/test-development/references/parameterized-examples.md +119 -0
  169. package/.claude/skills/ui-pc/SKILL.md +438 -0
  170. package/.claude/skills/utils-toolkit/SKILL.md +354 -0
  171. package/.claude/skills/utils-toolkit/references/redis-utils-api.md +56 -0
  172. package/.claude/skills/websocket-sse/SKILL.md +350 -0
  173. package/.claude/skills/workflow-engine/SKILL.md +249 -0
  174. package/.claude/skills/yunxiao-task-management/SKILL.md +401 -0
  175. package/.claude/skills/yunxiao-task-management/templates//346/217/220/346/265/213/345/215/225/346/250/241/346/235/277.html +17 -0
  176. package/.claude/templates/env-config.md +27 -0
  177. package/.claude/templates//345/276/205/345/212/236/346/270/205/345/215/225/346/250/241/346/235/277.md +56 -0
  178. package/.claude/templates//351/234/200/346/261/202/346/226/207/346/241/243/346/250/241/346/235/277.md +85 -0
  179. package/.claude/templates//351/241/271/347/233/256/347/212/266/346/200/201/346/250/241/346/235/277.md +43 -0
  180. package/.codex/skills/add-skill/SKILL.md +488 -0
  181. package/.codex/skills/add-todo/SKILL.md +269 -0
  182. package/.codex/skills/analyze-requirements/SKILL.md +112 -0
  183. package/.codex/skills/api-development/SKILL.md +315 -0
  184. package/.codex/skills/architecture-design/SKILL.md +152 -0
  185. package/.codex/skills/auto-test/SKILL.md +453 -0
  186. package/.codex/skills/auto-test/references/api-conventions.md +260 -0
  187. package/.codex/skills/backend-annotations/SKILL.md +248 -0
  188. package/.codex/skills/banana-image/CHANGELOG.md +37 -0
  189. package/.codex/skills/banana-image/README.md +146 -0
  190. package/.codex/skills/banana-image/SKILL.md +171 -0
  191. package/.codex/skills/banana-image/assets/logo.png +0 -0
  192. package/.codex/skills/banana-image/references/advanced-usage.md +189 -0
  193. package/.codex/skills/banana-image/scripts/apply_template.py +125 -0
  194. package/.codex/skills/banana-image/scripts/banana_image_exec.ts +412 -0
  195. package/.codex/skills/banana-image/scripts/batch_prep.py +82 -0
  196. package/.codex/skills/banana-image/scripts/package-lock.json +1437 -0
  197. package/.codex/skills/banana-image/scripts/package.json +18 -0
  198. package/.codex/skills/banana-image/scripts/requirements.txt +10 -0
  199. package/.codex/skills/banana-image/templates/poster.json +22 -0
  200. package/.codex/skills/banana-image/templates/product.json +17 -0
  201. package/.codex/skills/banana-image/templates/social.json +22 -0
  202. package/.codex/skills/banana-image/templates/thumbnail.json +17 -0
  203. package/.codex/skills/brainstorm/SKILL.md +216 -0
  204. package/.codex/skills/bug-detective/SKILL.md +295 -0
  205. package/.codex/skills/bug-detective/references/error-patterns.md +242 -0
  206. package/.codex/skills/check/SKILL.md +367 -0
  207. package/.codex/skills/code-patterns/SKILL.md +163 -0
  208. package/.codex/skills/code-patterns/references/leniu-code-patterns.md +87 -0
  209. package/.codex/skills/collaborating-with-codex/SKILL.md +180 -0
  210. package/.codex/skills/collaborating-with-codex/scripts/codex_bridge.py +275 -0
  211. package/.codex/skills/collaborating-with-gemini/SKILL.md +194 -0
  212. package/.codex/skills/collaborating-with-gemini/scripts/gemini_bridge.py +275 -0
  213. package/.codex/skills/crud/SKILL.md +265 -0
  214. package/.codex/skills/crud-development/SKILL.md +328 -0
  215. package/.codex/skills/data-permission/SKILL.md +221 -0
  216. package/.codex/skills/data-permission/references/custom-data-scope.md +90 -0
  217. package/.codex/skills/database-ops/SKILL.md +210 -0
  218. package/.codex/skills/dev/SKILL.md +187 -0
  219. package/.codex/skills/error-handler/SKILL.md +310 -0
  220. package/.codex/skills/file-oss-management/SKILL.md +260 -0
  221. package/.codex/skills/file-oss-management/references/entities.md +105 -0
  222. package/.codex/skills/file-oss-management/references/service-impl.md +104 -0
  223. package/.codex/skills/fix-bug/SKILL.md +269 -0
  224. package/.codex/skills/git-workflow/SKILL.md +179 -0
  225. package/.codex/skills/init-docs/SKILL.md +194 -0
  226. package/.codex/skills/jenkins-deploy/SKILL.md +134 -0
  227. package/.codex/skills/json-serialization/SKILL.md +341 -0
  228. package/.codex/skills/lanhu-design/SKILL.md +99 -0
  229. package/.codex/skills/leniu-api-development/SKILL.md +319 -0
  230. package/.codex/skills/leniu-api-development/references/real-examples.md +273 -0
  231. package/.codex/skills/leniu-architecture-design/SKILL.md +383 -0
  232. package/.codex/skills/leniu-backend-annotations/SKILL.md +277 -0
  233. package/.codex/skills/leniu-brainstorm/SKILL.md +242 -0
  234. package/.codex/skills/leniu-brainstorm/references/business-scenarios.md +162 -0
  235. package/.codex/skills/leniu-code-patterns/SKILL.md +411 -0
  236. package/.codex/skills/leniu-crud-development/SKILL.md +404 -0
  237. package/.codex/skills/leniu-crud-development/references/templates.md +597 -0
  238. package/.codex/skills/leniu-customization-location/SKILL.md +410 -0
  239. package/.codex/skills/leniu-data-permission/SKILL.md +341 -0
  240. package/.codex/skills/leniu-database-ops/SKILL.md +426 -0
  241. package/.codex/skills/leniu-error-handler/SKILL.md +462 -0
  242. package/.codex/skills/leniu-java-amount-handling/SKILL.md +461 -0
  243. package/.codex/skills/leniu-java-code-style/SKILL.md +510 -0
  244. package/.codex/skills/leniu-java-concurrent/SKILL.md +400 -0
  245. package/.codex/skills/leniu-java-entity/SKILL.md +237 -0
  246. package/.codex/skills/leniu-java-entity/references/templates.md +237 -0
  247. package/.codex/skills/leniu-java-logging/SKILL.md +229 -0
  248. package/.codex/skills/leniu-java-logging/references/data-mask.md +46 -0
  249. package/.codex/skills/leniu-java-logging/references/logging-scenarios.md +113 -0
  250. package/.codex/skills/leniu-java-mq/SKILL.md +338 -0
  251. package/.codex/skills/leniu-java-mybatis/SKILL.md +267 -0
  252. package/.codex/skills/leniu-java-mybatis/references/report-mapper.md +88 -0
  253. package/.codex/skills/leniu-java-task/SKILL.md +367 -0
  254. package/.codex/skills/leniu-marketing-scenario/SKILL.md +448 -0
  255. package/.codex/skills/leniu-marketing-scenario/references/pay-meal-rules.md +197 -0
  256. package/.codex/skills/leniu-marketing-scenario/references/price-rules.md +286 -0
  257. package/.codex/skills/leniu-marketing-scenario/references/recharge-rules.md +188 -0
  258. package/.codex/skills/leniu-redis-cache/SKILL.md +331 -0
  259. package/.codex/skills/leniu-report-scenario/SKILL.md +508 -0
  260. package/.codex/skills/leniu-report-scenario/references/amount-handling.md +448 -0
  261. package/.codex/skills/leniu-report-scenario/references/analysis-module.md +64 -0
  262. package/.codex/skills/leniu-report-scenario/references/customization-table-fields.md +93 -0
  263. package/.codex/skills/leniu-report-scenario/references/customization.md +356 -0
  264. package/.codex/skills/leniu-report-scenario/references/data-permission.md +182 -0
  265. package/.codex/skills/leniu-report-scenario/references/export.md +553 -0
  266. package/.codex/skills/leniu-report-scenario/references/mealtime.md +197 -0
  267. package/.codex/skills/leniu-report-scenario/references/query-param.md +274 -0
  268. package/.codex/skills/leniu-report-scenario/references/report-tables.md +162 -0
  269. package/.codex/skills/leniu-report-scenario/references/standard-customization.md +112 -0
  270. package/.codex/skills/leniu-report-scenario/references/standard-table-fields.md +113 -0
  271. package/.codex/skills/leniu-report-scenario/references/total-line.md +179 -0
  272. package/.codex/skills/leniu-security-guard/SKILL.md +306 -0
  273. package/.codex/skills/leniu-utils-toolkit/SKILL.md +380 -0
  274. package/.codex/skills/loki-log-query/SKILL.md +430 -0
  275. package/.codex/skills/loki-log-query/environments.json +45 -0
  276. package/.codex/skills/mysql-debug/SKILL.md +406 -0
  277. package/.codex/skills/next/SKILL.md +137 -0
  278. package/.codex/skills/openspec-apply-change/SKILL.md +165 -0
  279. package/.codex/skills/openspec-archive-change/SKILL.md +122 -0
  280. package/.codex/skills/openspec-bulk-archive-change/SKILL.md +254 -0
  281. package/.codex/skills/openspec-continue-change/SKILL.md +126 -0
  282. package/.codex/skills/openspec-explore/SKILL.md +299 -0
  283. package/.codex/skills/openspec-ff-change/SKILL.md +109 -0
  284. package/.codex/skills/openspec-new-change/SKILL.md +82 -0
  285. package/.codex/skills/openspec-onboard/SKILL.md +414 -0
  286. package/.codex/skills/openspec-sync-specs/SKILL.md +146 -0
  287. package/.codex/skills/openspec-verify-change/SKILL.md +176 -0
  288. package/.codex/skills/performance-doctor/SKILL.md +297 -0
  289. package/.codex/skills/progress/SKILL.md +193 -0
  290. package/.codex/skills/project-navigator/SKILL.md +211 -0
  291. package/.codex/skills/redis-cache/SKILL.md +282 -0
  292. package/.codex/skills/redis-cache/references/listeners.md +23 -0
  293. package/.codex/skills/scheduled-jobs/SKILL.md +277 -0
  294. package/.codex/skills/security-guard/SKILL.md +245 -0
  295. package/.codex/skills/security-guard/references/encrypt-config.md +103 -0
  296. package/.codex/skills/security-guard/references/sensitive-strategies.md +42 -0
  297. package/.codex/skills/skill-creator/LICENSE.txt +202 -0
  298. package/.codex/skills/skill-creator/SKILL.md +479 -0
  299. package/.codex/skills/skill-creator/agents/analyzer.md +274 -0
  300. package/.codex/skills/skill-creator/agents/comparator.md +202 -0
  301. package/.codex/skills/skill-creator/agents/grader.md +223 -0
  302. package/.codex/skills/skill-creator/assets/eval_review.html +146 -0
  303. package/.codex/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  304. package/.codex/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  305. package/.codex/skills/skill-creator/references/schemas.md +430 -0
  306. package/.codex/skills/skill-creator/scripts/__init__.py +0 -0
  307. package/.codex/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  308. package/.codex/skills/skill-creator/scripts/generate_report.py +326 -0
  309. package/.codex/skills/skill-creator/scripts/improve_description.py +248 -0
  310. package/.codex/skills/skill-creator/scripts/package_skill.py +136 -0
  311. package/.codex/skills/skill-creator/scripts/quick_validate.py +103 -0
  312. package/.codex/skills/skill-creator/scripts/run_eval.py +310 -0
  313. package/.codex/skills/skill-creator/scripts/run_loop.py +332 -0
  314. package/.codex/skills/skill-creator/scripts/utils.py +47 -0
  315. package/.codex/skills/sms-mail/SKILL.md +346 -0
  316. package/.codex/skills/sms-mail/references/mail-config.md +88 -0
  317. package/.codex/skills/sms-mail/references/sms-config.md +74 -0
  318. package/.codex/skills/social-login/SKILL.md +328 -0
  319. package/.codex/skills/social-login/references/provider-configs.md +118 -0
  320. package/.codex/skills/start/SKILL.md +154 -0
  321. package/.codex/skills/store-pc/SKILL.md +366 -0
  322. package/.codex/skills/sync/SKILL.md +149 -0
  323. package/.codex/skills/sync-back-merge/SKILL.md +66 -0
  324. package/.codex/skills/task-tracker/SKILL.md +307 -0
  325. package/.codex/skills/tech-decision/SKILL.md +393 -0
  326. package/.codex/skills/tenant-management/SKILL.md +272 -0
  327. package/.codex/skills/tenant-management/references/tenant-scenarios.md +91 -0
  328. package/.codex/skills/test-development/SKILL.md +301 -0
  329. package/.codex/skills/test-development/references/parameterized-examples.md +119 -0
  330. package/.codex/skills/ui-pc/SKILL.md +438 -0
  331. package/.codex/skills/update-status/SKILL.md +159 -0
  332. package/.codex/skills/utils-toolkit/SKILL.md +354 -0
  333. package/.codex/skills/utils-toolkit/references/redis-utils-api.md +56 -0
  334. package/.codex/skills/websocket-sse/SKILL.md +350 -0
  335. package/.codex/skills/workflow-engine/SKILL.md +249 -0
  336. package/.codex/skills/yunxiao-task-management/SKILL.md +401 -0
  337. package/.codex/skills/yunxiao-task-management/templates//346/217/220/346/265/213/345/215/225/346/250/241/346/235/277.html +17 -0
  338. package/.cursor/agents/bug-analyzer.md +102 -0
  339. package/.cursor/agents/code-reviewer.md +122 -0
  340. package/.cursor/agents/code-scanner.md +145 -0
  341. package/.cursor/agents/image-reader.md +154 -0
  342. package/.cursor/agents/loki-runner.md +80 -0
  343. package/.cursor/agents/mysql-runner.md +81 -0
  344. package/.cursor/agents/project-manager.md +159 -0
  345. package/.cursor/agents/requirements-analyzer.md +141 -0
  346. package/.cursor/agents/task-fetcher.md +75 -0
  347. package/.cursor/audio/completed.wav +0 -0
  348. package/.cursor/commands/opsx-apply.md +152 -0
  349. package/.cursor/commands/opsx-archive.md +157 -0
  350. package/.cursor/commands/opsx-bulk-archive.md +242 -0
  351. package/.cursor/commands/opsx-continue.md +114 -0
  352. package/.cursor/commands/opsx-explore.md +174 -0
  353. package/.cursor/commands/opsx-ff.md +94 -0
  354. package/.cursor/commands/opsx-new.md +69 -0
  355. package/.cursor/commands/opsx-onboard.md +525 -0
  356. package/.cursor/commands/opsx-sync.md +134 -0
  357. package/.cursor/commands/opsx-verify.md +164 -0
  358. package/.cursor/hooks/cursor-pre-tool-use.js +122 -0
  359. package/.cursor/hooks/cursor-skill-eval.js +466 -0
  360. package/.cursor/hooks/lib/notify.js +310 -0
  361. package/.cursor/hooks/stop.js +55 -0
  362. package/.cursor/hooks.json +23 -0
  363. package/.cursor/mcp.json +22 -0
  364. package/.cursor/rules/skill-activation.mdc +99 -0
  365. package/.cursor/skills/add-skill/SKILL.md +488 -0
  366. package/.cursor/skills/analyze-requirements/SKILL.md +112 -0
  367. package/.cursor/skills/api-development/SKILL.md +315 -0
  368. package/.cursor/skills/architecture-design/SKILL.md +152 -0
  369. package/.cursor/skills/auto-test/SKILL.md +453 -0
  370. package/.cursor/skills/auto-test/references/api-conventions.md +260 -0
  371. package/.cursor/skills/backend-annotations/SKILL.md +248 -0
  372. package/.cursor/skills/banana-image/CHANGELOG.md +37 -0
  373. package/.cursor/skills/banana-image/README.md +146 -0
  374. package/.cursor/skills/banana-image/SKILL.md +171 -0
  375. package/.cursor/skills/banana-image/assets/logo.png +0 -0
  376. package/.cursor/skills/banana-image/references/advanced-usage.md +189 -0
  377. package/.cursor/skills/banana-image/scripts/apply_template.py +125 -0
  378. package/.cursor/skills/banana-image/scripts/banana_image_exec.ts +412 -0
  379. package/.cursor/skills/banana-image/scripts/batch_prep.py +82 -0
  380. package/.cursor/skills/banana-image/scripts/package-lock.json +1437 -0
  381. package/.cursor/skills/banana-image/scripts/package.json +18 -0
  382. package/.cursor/skills/banana-image/scripts/requirements.txt +10 -0
  383. package/.cursor/skills/banana-image/templates/poster.json +22 -0
  384. package/.cursor/skills/banana-image/templates/product.json +17 -0
  385. package/.cursor/skills/banana-image/templates/social.json +22 -0
  386. package/.cursor/skills/banana-image/templates/thumbnail.json +17 -0
  387. package/.cursor/skills/brainstorm/SKILL.md +216 -0
  388. package/.cursor/skills/bug-detective/SKILL.md +295 -0
  389. package/.cursor/skills/bug-detective/references/error-patterns.md +242 -0
  390. package/.cursor/skills/code-patterns/SKILL.md +163 -0
  391. package/.cursor/skills/code-patterns/references/leniu-code-patterns.md +87 -0
  392. package/.cursor/skills/collaborating-with-codex/SKILL.md +180 -0
  393. package/.cursor/skills/collaborating-with-codex/scripts/codex_bridge.py +275 -0
  394. package/.cursor/skills/collaborating-with-gemini/SKILL.md +194 -0
  395. package/.cursor/skills/collaborating-with-gemini/scripts/gemini_bridge.py +275 -0
  396. package/.cursor/skills/crud-development/SKILL.md +328 -0
  397. package/.cursor/skills/data-permission/SKILL.md +221 -0
  398. package/.cursor/skills/data-permission/references/custom-data-scope.md +90 -0
  399. package/.cursor/skills/database-ops/SKILL.md +210 -0
  400. package/.cursor/skills/error-handler/SKILL.md +310 -0
  401. package/.cursor/skills/file-oss-management/SKILL.md +260 -0
  402. package/.cursor/skills/file-oss-management/references/entities.md +105 -0
  403. package/.cursor/skills/file-oss-management/references/service-impl.md +104 -0
  404. package/.cursor/skills/fix-bug/SKILL.md +269 -0
  405. package/.cursor/skills/git-workflow/SKILL.md +179 -0
  406. package/.cursor/skills/jenkins-deploy/SKILL.md +134 -0
  407. package/.cursor/skills/json-serialization/SKILL.md +341 -0
  408. package/.cursor/skills/lanhu-design/SKILL.md +99 -0
  409. package/.cursor/skills/leniu-api-development/SKILL.md +319 -0
  410. package/.cursor/skills/leniu-api-development/references/real-examples.md +273 -0
  411. package/.cursor/skills/leniu-architecture-design/SKILL.md +383 -0
  412. package/.cursor/skills/leniu-backend-annotations/SKILL.md +277 -0
  413. package/.cursor/skills/leniu-brainstorm/SKILL.md +242 -0
  414. package/.cursor/skills/leniu-brainstorm/references/business-scenarios.md +162 -0
  415. package/.cursor/skills/leniu-code-patterns/SKILL.md +411 -0
  416. package/.cursor/skills/leniu-crud-development/SKILL.md +404 -0
  417. package/.cursor/skills/leniu-crud-development/references/templates.md +597 -0
  418. package/.cursor/skills/leniu-customization-location/SKILL.md +410 -0
  419. package/.cursor/skills/leniu-data-permission/SKILL.md +341 -0
  420. package/.cursor/skills/leniu-database-ops/SKILL.md +426 -0
  421. package/.cursor/skills/leniu-error-handler/SKILL.md +462 -0
  422. package/.cursor/skills/leniu-java-amount-handling/SKILL.md +461 -0
  423. package/.cursor/skills/leniu-java-code-style/SKILL.md +510 -0
  424. package/.cursor/skills/leniu-java-concurrent/SKILL.md +400 -0
  425. package/.cursor/skills/leniu-java-entity/SKILL.md +237 -0
  426. package/.cursor/skills/leniu-java-entity/references/templates.md +237 -0
  427. package/.cursor/skills/leniu-java-logging/SKILL.md +229 -0
  428. package/.cursor/skills/leniu-java-logging/references/data-mask.md +46 -0
  429. package/.cursor/skills/leniu-java-logging/references/logging-scenarios.md +113 -0
  430. package/.cursor/skills/leniu-java-mq/SKILL.md +338 -0
  431. package/.cursor/skills/leniu-java-mybatis/SKILL.md +267 -0
  432. package/.cursor/skills/leniu-java-mybatis/references/report-mapper.md +88 -0
  433. package/.cursor/skills/leniu-java-task/SKILL.md +367 -0
  434. package/.cursor/skills/leniu-marketing-scenario/SKILL.md +448 -0
  435. package/.cursor/skills/leniu-marketing-scenario/references/pay-meal-rules.md +197 -0
  436. package/.cursor/skills/leniu-marketing-scenario/references/price-rules.md +286 -0
  437. package/.cursor/skills/leniu-marketing-scenario/references/recharge-rules.md +188 -0
  438. package/.cursor/skills/leniu-redis-cache/SKILL.md +331 -0
  439. package/.cursor/skills/leniu-report-scenario/SKILL.md +508 -0
  440. package/.cursor/skills/leniu-report-scenario/references/amount-handling.md +448 -0
  441. package/.cursor/skills/leniu-report-scenario/references/analysis-module.md +64 -0
  442. package/.cursor/skills/leniu-report-scenario/references/customization-table-fields.md +93 -0
  443. package/.cursor/skills/leniu-report-scenario/references/customization.md +356 -0
  444. package/.cursor/skills/leniu-report-scenario/references/data-permission.md +182 -0
  445. package/.cursor/skills/leniu-report-scenario/references/export.md +553 -0
  446. package/.cursor/skills/leniu-report-scenario/references/mealtime.md +197 -0
  447. package/.cursor/skills/leniu-report-scenario/references/query-param.md +274 -0
  448. package/.cursor/skills/leniu-report-scenario/references/report-tables.md +162 -0
  449. package/.cursor/skills/leniu-report-scenario/references/standard-customization.md +112 -0
  450. package/.cursor/skills/leniu-report-scenario/references/standard-table-fields.md +113 -0
  451. package/.cursor/skills/leniu-report-scenario/references/total-line.md +179 -0
  452. package/.cursor/skills/leniu-security-guard/SKILL.md +306 -0
  453. package/.cursor/skills/leniu-utils-toolkit/SKILL.md +380 -0
  454. package/.cursor/skills/loki-log-query/SKILL.md +430 -0
  455. package/.cursor/skills/loki-log-query/environments.json +45 -0
  456. package/.cursor/skills/mysql-debug/SKILL.md +406 -0
  457. package/.cursor/skills/openspec-apply-change/SKILL.md +165 -0
  458. package/.cursor/skills/openspec-archive-change/SKILL.md +122 -0
  459. package/.cursor/skills/openspec-bulk-archive-change/SKILL.md +254 -0
  460. package/.cursor/skills/openspec-continue-change/SKILL.md +126 -0
  461. package/.cursor/skills/openspec-explore/SKILL.md +299 -0
  462. package/.cursor/skills/openspec-ff-change/SKILL.md +109 -0
  463. package/.cursor/skills/openspec-new-change/SKILL.md +82 -0
  464. package/.cursor/skills/openspec-onboard/SKILL.md +414 -0
  465. package/.cursor/skills/openspec-sync-specs/SKILL.md +146 -0
  466. package/.cursor/skills/openspec-verify-change/SKILL.md +176 -0
  467. package/.cursor/skills/performance-doctor/SKILL.md +297 -0
  468. package/.cursor/skills/project-navigator/SKILL.md +211 -0
  469. package/.cursor/skills/redis-cache/SKILL.md +282 -0
  470. package/.cursor/skills/redis-cache/references/listeners.md +23 -0
  471. package/.cursor/skills/scheduled-jobs/SKILL.md +277 -0
  472. package/.cursor/skills/security-guard/SKILL.md +245 -0
  473. package/.cursor/skills/security-guard/references/encrypt-config.md +103 -0
  474. package/.cursor/skills/security-guard/references/sensitive-strategies.md +42 -0
  475. package/.cursor/skills/skill-creator/LICENSE.txt +202 -0
  476. package/.cursor/skills/skill-creator/SKILL.md +479 -0
  477. package/.cursor/skills/skill-creator/agents/analyzer.md +274 -0
  478. package/.cursor/skills/skill-creator/agents/comparator.md +202 -0
  479. package/.cursor/skills/skill-creator/agents/grader.md +223 -0
  480. package/.cursor/skills/skill-creator/assets/eval_review.html +146 -0
  481. package/.cursor/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  482. package/.cursor/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  483. package/.cursor/skills/skill-creator/references/schemas.md +430 -0
  484. package/.cursor/skills/skill-creator/scripts/__init__.py +0 -0
  485. package/.cursor/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  486. package/.cursor/skills/skill-creator/scripts/generate_report.py +326 -0
  487. package/.cursor/skills/skill-creator/scripts/improve_description.py +248 -0
  488. package/.cursor/skills/skill-creator/scripts/package_skill.py +136 -0
  489. package/.cursor/skills/skill-creator/scripts/quick_validate.py +103 -0
  490. package/.cursor/skills/skill-creator/scripts/run_eval.py +310 -0
  491. package/.cursor/skills/skill-creator/scripts/run_loop.py +332 -0
  492. package/.cursor/skills/skill-creator/scripts/utils.py +47 -0
  493. package/.cursor/skills/sms-mail/SKILL.md +346 -0
  494. package/.cursor/skills/sms-mail/references/mail-config.md +88 -0
  495. package/.cursor/skills/sms-mail/references/sms-config.md +74 -0
  496. package/.cursor/skills/social-login/SKILL.md +328 -0
  497. package/.cursor/skills/social-login/references/provider-configs.md +118 -0
  498. package/.cursor/skills/store-pc/SKILL.md +366 -0
  499. package/.cursor/skills/sync-back-merge/SKILL.md +66 -0
  500. package/.cursor/skills/task-tracker/SKILL.md +307 -0
  501. package/.cursor/skills/tech-decision/SKILL.md +393 -0
  502. package/.cursor/skills/tenant-management/SKILL.md +272 -0
  503. package/.cursor/skills/tenant-management/references/tenant-scenarios.md +91 -0
  504. package/.cursor/skills/test-development/SKILL.md +301 -0
  505. package/.cursor/skills/test-development/references/parameterized-examples.md +119 -0
  506. package/.cursor/skills/ui-pc/SKILL.md +438 -0
  507. package/.cursor/skills/utils-toolkit/SKILL.md +354 -0
  508. package/.cursor/skills/utils-toolkit/references/redis-utils-api.md +56 -0
  509. package/.cursor/skills/websocket-sse/SKILL.md +350 -0
  510. package/.cursor/skills/workflow-engine/SKILL.md +249 -0
  511. package/.cursor/skills/yunxiao-task-management/SKILL.md +401 -0
  512. package/.cursor/skills/yunxiao-task-management/templates//346/217/220/346/265/213/345/215/225/346/250/241/346/235/277.html +17 -0
  513. package/.cursor/templates/env-config.md +27 -0
  514. package/AGENTS.md +275 -0
  515. package/CLAUDE.md +285 -0
  516. package/README.md +104 -0
  517. package/bin/index.js +3069 -0
  518. package/init.sh +178 -0
  519. package/package.json +40 -0
  520. package/scripts/build-skills.js +180 -0
  521. package/src/platform-map.json +100 -0
  522. package/src/skills/add-skill/SKILL.md +488 -0
  523. package/src/skills/add-todo/SKILL.md +269 -0
  524. package/src/skills/analyze-requirements/SKILL.md +112 -0
  525. package/src/skills/api-development/SKILL.md +315 -0
  526. package/src/skills/architecture-design/SKILL.md +152 -0
  527. package/src/skills/backend-annotations/SKILL.md +248 -0
  528. package/src/skills/banana-image/CHANGELOG.md +37 -0
  529. package/src/skills/banana-image/README.md +146 -0
  530. package/src/skills/banana-image/SKILL.md +171 -0
  531. package/src/skills/banana-image/assets/logo.png +0 -0
  532. package/src/skills/banana-image/references/advanced-usage.md +189 -0
  533. package/src/skills/banana-image/scripts/apply_template.py +125 -0
  534. package/src/skills/banana-image/scripts/banana_image_exec.ts +412 -0
  535. package/src/skills/banana-image/scripts/batch_prep.py +82 -0
  536. package/src/skills/banana-image/scripts/package-lock.json +1437 -0
  537. package/src/skills/banana-image/scripts/package.json +18 -0
  538. package/src/skills/banana-image/scripts/requirements.txt +10 -0
  539. package/src/skills/banana-image/templates/poster.json +22 -0
  540. package/src/skills/banana-image/templates/product.json +17 -0
  541. package/src/skills/banana-image/templates/social.json +22 -0
  542. package/src/skills/banana-image/templates/thumbnail.json +17 -0
  543. package/src/skills/brainstorm/SKILL.md +216 -0
  544. package/src/skills/bug-detective/SKILL.md +295 -0
  545. package/src/skills/bug-detective/references/error-patterns.md +242 -0
  546. package/src/skills/check/SKILL.md +367 -0
  547. package/src/skills/code-patterns/SKILL.md +163 -0
  548. package/src/skills/code-patterns/references/leniu-code-patterns.md +87 -0
  549. package/src/skills/codex-code-review/SKILL.md +327 -0
  550. package/src/skills/collaborating-with-codex/SKILL.md +180 -0
  551. package/src/skills/collaborating-with-codex/scripts/codex_bridge.py +275 -0
  552. package/src/skills/collaborating-with-gemini/SKILL.md +194 -0
  553. package/src/skills/collaborating-with-gemini/scripts/gemini_bridge.py +275 -0
  554. package/src/skills/crud/SKILL.md +265 -0
  555. package/src/skills/crud-development/SKILL.md +328 -0
  556. package/src/skills/data-permission/SKILL.md +221 -0
  557. package/src/skills/data-permission/references/custom-data-scope.md +90 -0
  558. package/src/skills/database-ops/SKILL.md +210 -0
  559. package/src/skills/dev/SKILL.md +187 -0
  560. package/src/skills/error-handler/SKILL.md +310 -0
  561. package/src/skills/file-oss-management/SKILL.md +260 -0
  562. package/src/skills/file-oss-management/references/entities.md +105 -0
  563. package/src/skills/file-oss-management/references/service-impl.md +104 -0
  564. package/src/skills/fix-bug/SKILL.md +269 -0
  565. package/src/skills/git-workflow/SKILL.md +179 -0
  566. package/src/skills/init-docs/SKILL.md +194 -0
  567. package/src/skills/json-serialization/SKILL.md +341 -0
  568. package/src/skills/leniu-api-development/SKILL.md +319 -0
  569. package/src/skills/leniu-api-development/references/real-examples.md +273 -0
  570. package/src/skills/leniu-architecture-design/SKILL.md +383 -0
  571. package/src/skills/leniu-backend-annotations/SKILL.md +277 -0
  572. package/src/skills/leniu-brainstorm/SKILL.md +242 -0
  573. package/src/skills/leniu-brainstorm/references/business-scenarios.md +162 -0
  574. package/src/skills/leniu-code-patterns/SKILL.md +411 -0
  575. package/src/skills/leniu-crud-development/SKILL.md +404 -0
  576. package/src/skills/leniu-crud-development/references/templates.md +597 -0
  577. package/src/skills/leniu-customization-location/SKILL.md +410 -0
  578. package/src/skills/leniu-data-permission/SKILL.md +341 -0
  579. package/src/skills/leniu-database-ops/SKILL.md +426 -0
  580. package/src/skills/leniu-error-handler/SKILL.md +462 -0
  581. package/src/skills/leniu-java-amount-handling/SKILL.md +461 -0
  582. package/src/skills/leniu-java-code-style/SKILL.md +510 -0
  583. package/src/skills/leniu-java-concurrent/SKILL.md +400 -0
  584. package/src/skills/leniu-java-entity/SKILL.md +237 -0
  585. package/src/skills/leniu-java-entity/references/templates.md +237 -0
  586. package/src/skills/leniu-java-export/SKILL.md +570 -0
  587. package/src/skills/leniu-java-logging/SKILL.md +229 -0
  588. package/src/skills/leniu-java-logging/references/data-mask.md +46 -0
  589. package/src/skills/leniu-java-logging/references/logging-scenarios.md +113 -0
  590. package/src/skills/leniu-java-mq/SKILL.md +338 -0
  591. package/src/skills/leniu-java-mybatis/SKILL.md +267 -0
  592. package/src/skills/leniu-java-mybatis/references/report-mapper.md +88 -0
  593. package/src/skills/leniu-java-report-query-param/SKILL.md +291 -0
  594. package/src/skills/leniu-java-task/SKILL.md +367 -0
  595. package/src/skills/leniu-java-total-line/SKILL.md +196 -0
  596. package/src/skills/leniu-marketing-price-rule-customizer/SKILL.md +301 -0
  597. package/src/skills/leniu-marketing-recharge-rule-customizer/SKILL.md +285 -0
  598. package/src/skills/leniu-mealtime/SKILL.md +215 -0
  599. package/src/skills/leniu-redis-cache/SKILL.md +331 -0
  600. package/src/skills/leniu-report-customization/SKILL.md +415 -0
  601. package/src/skills/leniu-report-customization/references/table-fields.md +93 -0
  602. package/src/skills/leniu-report-standard-customization/SKILL.md +391 -0
  603. package/src/skills/leniu-report-standard-customization/references/analysis-module.md +64 -0
  604. package/src/skills/leniu-report-standard-customization/references/table-fields.md +113 -0
  605. package/src/skills/leniu-security-guard/SKILL.md +306 -0
  606. package/src/skills/leniu-utils-toolkit/SKILL.md +380 -0
  607. package/src/skills/loki-log-query/SKILL.md +400 -0
  608. package/src/skills/loki-log-query/environments.json +45 -0
  609. package/src/skills/mysql-debug/SKILL.md +400 -0
  610. package/src/skills/next/SKILL.md +137 -0
  611. package/src/skills/openspec-apply-change/SKILL.md +165 -0
  612. package/src/skills/openspec-archive-change/SKILL.md +122 -0
  613. package/src/skills/openspec-bulk-archive-change/SKILL.md +254 -0
  614. package/src/skills/openspec-continue-change/SKILL.md +126 -0
  615. package/src/skills/openspec-explore/SKILL.md +299 -0
  616. package/src/skills/openspec-ff-change/SKILL.md +109 -0
  617. package/src/skills/openspec-new-change/SKILL.md +82 -0
  618. package/src/skills/openspec-onboard/SKILL.md +414 -0
  619. package/src/skills/openspec-sync-specs/SKILL.md +146 -0
  620. package/src/skills/openspec-verify-change/SKILL.md +176 -0
  621. package/src/skills/performance-doctor/SKILL.md +297 -0
  622. package/src/skills/progress/SKILL.md +193 -0
  623. package/src/skills/project-navigator/SKILL.md +211 -0
  624. package/src/skills/redis-cache/SKILL.md +282 -0
  625. package/src/skills/redis-cache/references/listeners.md +23 -0
  626. package/src/skills/scheduled-jobs/SKILL.md +277 -0
  627. package/src/skills/security-guard/SKILL.md +245 -0
  628. package/src/skills/security-guard/references/encrypt-config.md +103 -0
  629. package/src/skills/security-guard/references/sensitive-strategies.md +42 -0
  630. package/src/skills/skill-creator/LICENSE.txt +202 -0
  631. package/src/skills/skill-creator/SKILL.md +479 -0
  632. package/src/skills/skill-creator/agents/analyzer.md +274 -0
  633. package/src/skills/skill-creator/agents/comparator.md +202 -0
  634. package/src/skills/skill-creator/agents/grader.md +223 -0
  635. package/src/skills/skill-creator/assets/eval_review.html +146 -0
  636. package/src/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  637. package/src/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  638. package/src/skills/skill-creator/references/schemas.md +430 -0
  639. package/src/skills/skill-creator/scripts/__init__.py +0 -0
  640. package/src/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  641. package/src/skills/skill-creator/scripts/generate_report.py +326 -0
  642. package/src/skills/skill-creator/scripts/improve_description.py +248 -0
  643. package/src/skills/skill-creator/scripts/package_skill.py +136 -0
  644. package/src/skills/skill-creator/scripts/quick_validate.py +103 -0
  645. package/src/skills/skill-creator/scripts/run_eval.py +310 -0
  646. package/src/skills/skill-creator/scripts/run_loop.py +332 -0
  647. package/src/skills/skill-creator/scripts/utils.py +47 -0
  648. package/src/skills/sms-mail/SKILL.md +346 -0
  649. package/src/skills/sms-mail/references/mail-config.md +88 -0
  650. package/src/skills/sms-mail/references/sms-config.md +74 -0
  651. package/src/skills/social-login/SKILL.md +328 -0
  652. package/src/skills/social-login/references/provider-configs.md +118 -0
  653. package/src/skills/start/SKILL.md +154 -0
  654. package/src/skills/store-pc/SKILL.md +366 -0
  655. package/src/skills/sync/SKILL.md +149 -0
  656. package/src/skills/sync-back-merge/SKILL.md +66 -0
  657. package/src/skills/task-tracker/SKILL.md +307 -0
  658. package/src/skills/tech-decision/SKILL.md +393 -0
  659. package/src/skills/tenant-management/SKILL.md +272 -0
  660. package/src/skills/tenant-management/references/tenant-scenarios.md +91 -0
  661. package/src/skills/test-development/SKILL.md +301 -0
  662. package/src/skills/test-development/references/parameterized-examples.md +119 -0
  663. package/src/skills/ui-pc/SKILL.md +438 -0
  664. package/src/skills/update-status/SKILL.md +159 -0
  665. package/src/skills/utils-toolkit/SKILL.md +354 -0
  666. package/src/skills/utils-toolkit/references/redis-utils-api.md +56 -0
  667. package/src/skills/websocket-sse/SKILL.md +350 -0
  668. package/src/skills/workflow-engine/SKILL.md +249 -0
  669. package/src/skills/yunxiao-task-management/SKILL.md +401 -0
  670. package/src/skills/yunxiao-task-management/templates//346/217/220/346/265/213/345/215/225/346/250/241/346/235/277.html +17 -0
@@ -0,0 +1,307 @@
1
+ ---
2
+ name: task-tracker
3
+ description: |
4
+ 开发任务进度跟踪系统。当用户需要记录复杂开发任务的需求、步骤、进度时自动使用此 Skill。
5
+ 创建 Markdown 文档实现任务上下文持久化,支持中断后快速恢复。
6
+
7
+ 触发场景:
8
+ - 多步骤功能开发(需要跨会话)
9
+ - 复杂需求的步骤分解与跟踪
10
+ - 任务进度记录与更新
11
+ - 中断后的任务恢复
12
+ - 历史任务查询与归档
13
+
14
+ 触发词:创建任务、跟踪任务、记录进度、任务跟踪、继续任务、恢复任务、查看任务、归档任务、任务列表
15
+ ---
16
+
17
+ # 任务跟踪技能
18
+
19
+ ## 何时使用
20
+
21
+ ✅ 用户明确要求跟踪任务("创建任务跟踪"、"记录进度"、"跟踪这个任务")
22
+ ✅ 复杂的多步骤开发任务
23
+ ✅ 需要跨会话恢复的工作
24
+
25
+ ❌ 简单的单步操作
26
+ ❌ 纯咨询性对话
27
+
28
+ ## 目录结构
29
+
30
+ ```
31
+ {项目根目录}/
32
+ └── docs/
33
+ └── tasks/
34
+ ├── README.md # 使用说明(首次自动生成)
35
+ ├── active/ # 进行中的任务
36
+ │ └── task-20260121-153045-用户反馈.md
37
+ └── archive/ # 已完成的任务
38
+ └── 2026-01/
39
+ └── task-20260120-优惠券系统.md
40
+ ```
41
+
42
+ ## 文档模板
43
+
44
+ ```markdown
45
+ # 任务:{任务标题}
46
+
47
+ **状态**: 🟢 进行中 | 🔵 已完成 | 🔴 已暂停
48
+ **创建时间**: {YYYY-MM-DD HH:MM:SS}
49
+ **更新时间**: {YYYY-MM-DD HH:MM:SS}
50
+ **Git 分支**: {branch_name}
51
+
52
+ ---
53
+
54
+ ## 📋 需求描述
55
+
56
+ {用户原始需求的详细描述,包括背景、目标、约束条件}
57
+
58
+ ---
59
+
60
+ ## 🎯 实现步骤
61
+
62
+ - [ ] 1. {步骤1简述}
63
+ - **文件**: `path/to/file.ext`
64
+ - **说明**: {详细说明}
65
+
66
+ - [x] 2. {步骤2简述}
67
+ - **文件**: `another/file.ext`
68
+ - **说明**: {详细说明}
69
+ - **完成时间**: {YYYY-MM-DD HH:MM}
70
+
71
+ - [ ] 3. {步骤3简述}
72
+
73
+ ---
74
+
75
+ ## 📝 关键决策
76
+
77
+ - **模块归属**: {模块名称}
78
+ - **数据库表**: {表名前缀}
79
+ - **主键策略**: {ID生成方式}
80
+ - **技术选型**: {框架/库版本}
81
+
82
+ ---
83
+
84
+ ## 🔄 当前进度
85
+
86
+ **已完成**: {X} / {总数} 步骤 ({百分比}%)
87
+
88
+ **下一步操作**:
89
+ 1. {下一步具体要做的事情}
90
+ 2. {再下一步}
91
+
92
+ ---
93
+
94
+ ## 📁 相关文件
95
+
96
+ - `{文件路径}` - {文件用途}
97
+
98
+ ---
99
+
100
+ ## ⚠️ 注意事项
101
+
102
+ - {需要特别注意的点}
103
+ - {已知问题或风险}
104
+
105
+ ---
106
+
107
+ ## 💬 变更记录
108
+
109
+ ### {YYYY-MM-DD HH:MM}
110
+ - {本次更新内容}
111
+ ```
112
+
113
+ ## 核心操作
114
+
115
+ ### 1. 创建任务
116
+
117
+ **触发**:用户说"创建任务跟踪"、"记录这个任务"
118
+
119
+ **步骤**:
120
+ ```bash
121
+ # 1. 确保目录存在
122
+ mkdir -p docs/tasks/active docs/tasks/archive
123
+
124
+ # 2. 生成文件名
125
+ # 格式: task-{YYYYMMdd-HHMMSS}-{任务简称}.md
126
+ TIMESTAMP=$(date +%Y%m%d-%H%M%S)
127
+ SLUG="{任务标题简化版,截断30字符}"
128
+ FILENAME="task-${TIMESTAMP}-${SLUG}.md"
129
+
130
+ # 3. 创建文档
131
+ # 填充上述模板内容到 docs/tasks/active/$FILENAME
132
+
133
+ # 4. 首次使用时创建 README.md(如不存在)
134
+ ```
135
+
136
+ **README.md 内容**:
137
+ ```markdown
138
+ # 任务跟踪中心
139
+
140
+ ## 目录说明
141
+ - `active/` - 进行中的任务
142
+ - `archive/` - 已完成的任务(按月归档)
143
+
144
+ ## 使用方法
145
+ 1. Claude 自动创建任务跟踪文档
146
+ 2. 手动编辑文档更新进度(修改复选框)
147
+ 3. 任务完成后移动到 archive/{年-月}/
148
+
149
+ ## 快速恢复
150
+ ```bash
151
+ # 查看活跃任务
152
+ ls -1 active/
153
+
154
+ # 恢复任务
155
+ cat active/task-20260121-*.md
156
+ ```
157
+
158
+ ### 2. 更新进度
159
+
160
+ **触发**:用户说"更新进度"、"标记步骤X完成"
161
+
162
+ **步骤**:
163
+ ```bash
164
+ # 1. 找到当前任务文档(最新的那个)
165
+ TASK_FILE=$(ls -t docs/tasks/active/*.md | head -1)
166
+
167
+ # 2. 更新复选框: - [ ] → - [x]
168
+ sed -i "s/^- \[ \] ${STEP_NUMBER}\./- [x] ${STEP_NUMBER}./" "$TASK_FILE"
169
+
170
+ # 3. 更新时间戳
171
+ CURRENT_TIME=$(date '+%Y-%m-%d %H:%M:%S')
172
+ sed -i "s/^\*\*更新时间\*\*:.*/\*\*更新时间\*\*: $CURRENT_TIME/" "$TASK_FILE"
173
+
174
+ # 4. 添加变更记录
175
+ echo -e "### $CURRENT_TIME\n- 完成步骤 $STEP_NUMBER: $DESCRIPTION" >> "$TASK_FILE"
176
+
177
+ # 5. 重新计算进度百分比
178
+ TOTAL=$(grep -c "^- \[.\]" "$TASK_FILE")
179
+ DONE=$(grep -c "^- \[x\]" "$TASK_FILE")
180
+ PERCENT=$((DONE * 100 / TOTAL))
181
+ ```
182
+
183
+ ### 3. 列出活跃任务
184
+
185
+ **触发**:用户说"有哪些任务"、"列出任务"
186
+
187
+ **步骤**:
188
+ ```bash
189
+ for file in docs/tasks/active/*.md; do
190
+ TITLE=$(grep "^# 任务:" "$file" | sed 's/^# 任务://')
191
+ STATUS=$(grep "^\*\*状态\*\*:" "$file" | sed 's/.*: //')
192
+ PROGRESS=$(grep "^\*\*已完成\*\*:" "$file" | sed 's/.*: //')
193
+
194
+ echo "📄 $TITLE"
195
+ echo " 状态: $STATUS | 进度: $PROGRESS"
196
+ echo " 文件: $file"
197
+ echo ""
198
+ done
199
+ ```
200
+
201
+ ### 4. 恢复任务
202
+
203
+ **触发**:用户说"继续上次的任务"、"恢复任务"
204
+
205
+ **步骤**:
206
+ ```bash
207
+ # 1. 确定要恢复的任务
208
+ if [ 用户指定了任务名 ]; then
209
+ TASK_FILE=$(find docs/tasks/active -name "*{用户指定的关键词}*.md" | head -1)
210
+ else
211
+ TASK_FILE=$(ls -t docs/tasks/active/*.md | head -1) # 最新的
212
+ fi
213
+
214
+ # 2. 读取文档内容
215
+ cat "$TASK_FILE"
216
+
217
+ # 3. 提取关键信息并向用户确认
218
+ TITLE=$(grep "^# 任务:" "$TASK_FILE" | sed 's/^# 任务://')
219
+ NEXT_STEPS=$(提取 "下一步操作" 部分)
220
+
221
+ # 4. 输出恢复信息
222
+ echo "正在恢复任务:$TITLE"
223
+ echo "下一步操作:"
224
+ echo "$NEXT_STEPS"
225
+ ```
226
+
227
+ ### 5. 归档任务
228
+
229
+ **触发**:用户说"任务完成"、"归档任务"
230
+
231
+ **步骤**:
232
+ ```bash
233
+ # 1. 更新状态
234
+ sed -i "s/^\*\*状态\*\*:.*/\*\*状态\*\*: 🔵 已完成/" "$TASK_FILE"
235
+
236
+ # 2. 移动到归档目录
237
+ YEAR_MONTH=$(date +%Y-%m)
238
+ mkdir -p "docs/tasks/archive/$YEAR_MONTH"
239
+ mv "$TASK_FILE" "docs/tasks/archive/$YEAR_MONTH/"
240
+
241
+ echo "✅ 已归档到: docs/tasks/archive/$YEAR_MONTH/"
242
+ ```
243
+
244
+ ## 使用示例
245
+
246
+ **场景1:创建任务**
247
+ ```
248
+ 用户: "创建一个用户反馈功能的任务跟踪"
249
+
250
+ Claude:
251
+ ✅ 创建文档: docs/tasks/active/task-20260121-153045-用户反馈.md
252
+ 📋 已记录需求描述
253
+ 🎯 列出5个实现步骤
254
+ 💡 开始第一步:设计数据库表结构
255
+ ```
256
+
257
+ **场景2:更新进度**
258
+ ```
259
+ 用户: "标记步骤1和2完成"
260
+
261
+ Claude:
262
+ ✅ 已更新进度: 2/5 (40%)
263
+ ⏰ 更新时间: 2026-01-21 16:45:30
264
+ 📌 下一步: 实现 Service 层
265
+ ```
266
+
267
+ **场景3:恢复任务**
268
+ ```
269
+ [用户重新打开窗口]
270
+ 用户: "继续上次的用户反馈功能"
271
+
272
+ Claude:
273
+ 📄 正在恢复任务:用户反馈管理功能
274
+ ✅ 已完成: 数据库设计、实体类创建 (2/5)
275
+ 📌 下一步: 实现 Service 层
276
+ 🔗 文件: docs/tasks/active/task-20260121-153045-用户反馈.md
277
+ ```
278
+
279
+ ## 最佳实践
280
+
281
+ **应该做**:
282
+ - ✅ 一个任务 = 一个完整功能开发
283
+ - ✅ 及时更新进度(完成一步更新一次)
284
+ - ✅ 详细记录关键决策
285
+ - ✅ 保留原始需求描述
286
+
287
+ **不应该做**:
288
+ - ❌ 为每个小改动创建任务
289
+ - ❌ 删除旧任务(归档即可)
290
+ - ❌ 自动归档(由用户决定)
291
+
292
+ ## 错误处理
293
+
294
+ **目录不存在** → 自动创建 `docs/tasks/active` 和 `archive`
295
+
296
+ **没有活跃任务** → 提示用户:创建新任务 | 恢复归档任务 | 查看历史
297
+
298
+ **文档格式错误** → 尽量解析,提示用户保持格式:
299
+ - 保持 `##` 标题层级
300
+ - 复选框格式:`- [ ]` 或 `- [x]`
301
+ - 不删除 `**字段**` 标记
302
+
303
+ ## 功能边界
304
+
305
+ **适用于**:单人开发、本地存储、快速恢复上下文
306
+
307
+ **不适用于**:多人协作、实时同步、复杂依赖管理(请使用专业项目管理工具)
@@ -0,0 +1,393 @@
1
+ ---
2
+ name: tech-decision
3
+ description: |
4
+ 当需要进行技术选型、对比方案时自动使用此 Skill。
5
+
6
+ 触发场景:
7
+ - 选择用什么技术/库
8
+ - 对比不同方案
9
+ - 技术决策
10
+ - 评估优缺点
11
+ - 选择 ruoyi-common 模块
12
+
13
+ 触发词:选型、用什么、对比、哪个好、优缺点、选择、技术方案、库、框架、工具、模块
14
+ ---
15
+
16
+ # 技术决策指南
17
+
18
+ ## 本项目技术栈(精确版本)
19
+
20
+ ### 后端核心技术
21
+
22
+ | 技术 | 版本 | 用途 | 模块位置 |
23
+ |------|------|------|---------|
24
+ | **Spring Boot** | 3.5.9 | 基础框架 | 全局 |
25
+ | **Java** | 17 | 开发语言 | 全局 |
26
+ | **MyBatis-Plus** | 3.5.16 | ORM 框架 | ruoyi-common-mybatis |
27
+ | **Sa-Token** | 1.44.0 | 权限认证 | ruoyi-common-satoken |
28
+ | **Hutool** | 5.8.43 | 工具库 | ruoyi-common-core |
29
+ | **Redisson** | 3.52.0 | Redis 客户端增强 | ruoyi-common-redis |
30
+ | **MapStruct-Plus** | 1.5.0 | 对象映射 | 全局 |
31
+ | **SpringDoc** | 2.8.15 | API 文档 | ruoyi-common-doc |
32
+ | **Lombok** | 1.18.42 | 代码简化 | 全局 |
33
+ | **FastExcel** | 1.3.0 | Excel 处理 | ruoyi-common-excel |
34
+
35
+ ### 后端扩展技术
36
+
37
+ | 技术 | 版本 | 用途 | 模块位置 |
38
+ |------|------|------|---------|
39
+ | **Lock4j** | 2.2.7 | 分布式锁 | ruoyi-common-redis |
40
+ | **SnailJob** | 1.9.0 | 分布式任务调度 | ruoyi-common-job |
41
+ | **AWS SDK** | 2.28.22 | 对象存储 | ruoyi-common-oss |
42
+ | **SMS4j** | 3.3.5 | 短信服务 | ruoyi-common-sms |
43
+ | **JustAuth** | 1.16.7 | 第三方登录 | ruoyi-common-social |
44
+ | **IP2Region** | 3.3.4 | IP 地址定位 | ruoyi-common-core |
45
+ | **P6spy** | 3.9.1 | SQL 日志 | 开发环境 |
46
+ | **Dynamic-DS** | 4.3.1 | 多数据源 | ruoyi-common-mybatis |
47
+ | **Warm-Flow** | 1.8.4 | 工作流引擎 | ruoyi-workflow |
48
+ | **BouncyCastle** | 1.80 | 加密算法 | ruoyi-common-encrypt |
49
+
50
+ ---
51
+
52
+ ## ruoyi-common 模块速查(24个模块)
53
+
54
+ ### 🔴 高频使用模块(几乎每个项目都用)
55
+
56
+ | 模块 | 说明 | 典型场景 |
57
+ |------|------|---------|
58
+ | `ruoyi-common-core` | 核心工具类 | StringUtils、MapstructUtils、异常处理 |
59
+ | `ruoyi-common-mybatis` | MyBatis 增强 | Mapper 基类(BaseMapperPlus)、分页、查询构建器、多数据源 |
60
+ | `ruoyi-common-redis` | Redis 缓存 | 缓存、分布式锁、延迟队列 |
61
+ | `ruoyi-common-satoken` | 权限认证 | 登录、权限控制、Token 管理 |
62
+ | `ruoyi-common-web` | Web 基础 | 拦截器、过滤器、跨域 |
63
+ | `ruoyi-common-json` | JSON 序列化 | Jackson 配置、Long 精度处理 |
64
+ | `ruoyi-common-log` | 日志记录 | 操作日志、登录日志 |
65
+ | `ruoyi-common-doc` | API 文档 | SpringDoc/Swagger 文档生成 |
66
+
67
+ ### 🟡 按需使用模块(根据业务需求)
68
+
69
+ #### 数据处理
70
+
71
+ | 模块 | 说明 | 使用场景 |
72
+ |------|------|---------|
73
+ | `ruoyi-common-excel` | Excel 导入导出 | 数据导入、报表导出 |
74
+ | `ruoyi-common-oss` | 对象存储 | 文件上传(S3/MinIO/阿里云/腾讯云) |
75
+ | `ruoyi-common-encrypt` | 数据加密 | 数据库字段加密存储 |
76
+ | `ruoyi-common-sensitive` | 数据脱敏 | 手机号、身份证脱敏显示 |
77
+ | `ruoyi-common-translation` | 数据翻译 | ID→名称、字典→标签自动转换 |
78
+
79
+ #### 通信与消息
80
+
81
+ | 模块 | 说明 | 使用场景 |
82
+ |------|------|---------|
83
+ | `ruoyi-common-websocket` | WebSocket | 实时消息推送、在线聊天 |
84
+ | `ruoyi-common-sse` | 服务端推送 | 流式响应、单向推送 |
85
+ | `ruoyi-common-mail` | 邮件发送 | 通知邮件、验证码 |
86
+ | `ruoyi-common-sms` | 短信发送 | 短信验证码、营销短信 |
87
+
88
+ #### 系统功能
89
+
90
+ | 模块 | 说明 | 使用场景 |
91
+ |------|------|---------|
92
+ | `ruoyi-common-tenant` | 多租户 | SaaS 多租户隔离 |
93
+ | `ruoyi-common-job` | 任务调度 | 定时任务(SnailJob) |
94
+ | `ruoyi-common-idempotent` | 幂等控制 | 防重复提交 |
95
+ | `ruoyi-common-ratelimiter` | 接口限流 | 防刷、保护接口 |
96
+ | `ruoyi-common-social` | 社交登录 | 第三方平台登录(JustAuth) |
97
+ | `ruoyi-common-security` | 应用安全 | XSS 防护、SQL 注入防护 |
98
+
99
+ ---
100
+
101
+ ## 技术选型决策树
102
+
103
+ ### 场景 1:需要实时通信?
104
+
105
+ ```
106
+ 需要实时双向通信?
107
+ ├─ 是 → WebSocket(ruoyi-common-websocket)
108
+ │ 适用:在线聊天、协同编辑、实时游戏
109
+
110
+ └─ 否 → 需要服务端主动推送?
111
+ ├─ 是 → SSE(ruoyi-common-sse)
112
+ │ 适用:流式响应、通知推送、进度更新
113
+
114
+ └─ 否 → HTTP 轮询或普通请求
115
+ ```
116
+
117
+ ### 场景 2:需要异步处理?
118
+
119
+ ```
120
+ 需要异步处理?
121
+ ├─ 简单异步(同一应用内)
122
+ │ └─ @Async + Spring TaskExecutor
123
+ │ 适用:发送邮件、记录日志等不需要可靠性保证的任务
124
+
125
+ ├─ 需要延迟执行?
126
+ │ └─ Redis 延迟队列(RedissonDelayedQueue)
127
+ │ 适用:订单超时取消、延迟通知(ruoyi-common-redis)
128
+
129
+ └─ 不需要异步 → 同步调用
130
+ ```
131
+
132
+ ### 场景 3:需要定时任务?
133
+
134
+ ```
135
+ 需要定时任务?
136
+ ├─ 单机简单任务(不需要分布式)
137
+ │ └─ @Scheduled(Spring 原生)
138
+ │ 适用:清理临时文件、统计数据、心跳检测
139
+
140
+ ├─ 分布式调度/复杂任务
141
+ │ └─ SnailJob(ruoyi-common-job)
142
+ │ 适用:多节点任务、失败重试、任务编排、可视化管理
143
+
144
+ └─ 延迟任务(非周期性)
145
+ └─ Redis 延迟队列
146
+ 适用:订单超时取消、定时发布
147
+ ```
148
+
149
+ ### 场景 4:需要缓存?
150
+
151
+ ```
152
+ 需要缓存?
153
+ ├─ 简单 Key-Value 缓存
154
+ │ └─ Redis String(ruoyi-common-redis)
155
+ │ 适用:用户信息、配置数据、Token
156
+
157
+ ├─ 分布式锁
158
+ │ └─ Lock4j + Redisson(ruoyi-common-redis)
159
+ │ 适用:库存扣减、防重复操作
160
+
161
+ ├─ 排行榜/计数器
162
+ │ └─ Redis ZSet/Hash
163
+ │ 适用:热门排行、点赞计数、在线人数
164
+
165
+ ├─ 布隆过滤器(防缓存穿透)
166
+ │ └─ Redisson BloomFilter
167
+ │ 适用:用户存在性检查、黑名单过滤
168
+
169
+ └─ 本地缓存(高频访问)
170
+ └─ Caffeine
171
+ 适用:字典数据、菜单数据(本项目已集成)
172
+ ```
173
+
174
+ ### 场景 5:需要第三方登录?
175
+
176
+ ```
177
+ 需要第三方登录?
178
+ └─ ruoyi-common-social(基于 JustAuth)
179
+ 支持 20+ 平台:微信、QQ、微博、GitHub、企业微信、钉钉等
180
+ ```
181
+
182
+ ---
183
+
184
+ ## 技术优先级指南
185
+
186
+ ### 优先级 1:首选方案(覆盖 80% 场景)
187
+
188
+ | 需求 | 首选技术 | 模块 | 理由 |
189
+ |------|---------|------|------|
190
+ | 缓存 | Redis | ruoyi-common-redis | 功能全面、生态成熟 |
191
+ | 分布式锁 | Lock4j | ruoyi-common-redis | 注解简单、自动续期 |
192
+ | 实时通信 | WebSocket | ruoyi-common-websocket | 双向通信、广泛支持 |
193
+ | 定时任务(简单) | @Scheduled | Spring 原生 | 零配置、够用 |
194
+ | 文件上传 | OSS | ruoyi-common-oss | 统一接口、多云支持 |
195
+ | 权限认证 | Sa-Token | ruoyi-common-satoken | 功能强大、文档好 |
196
+ | 对象转换 | MapStruct | 全局 | 编译期生成、性能好 |
197
+
198
+ ### 优先级 2:进阶方案(特定场景)
199
+
200
+ | 需求 | 进阶技术 | 模块 | 使用条件 |
201
+ |------|---------|------|---------|
202
+ | 定时任务(复杂) | SnailJob | ruoyi-common-job | 分布式、可视化 |
203
+ | 流式推送 | SSE | ruoyi-common-sse | 流式响应、实时推送 |
204
+ | 多数据源 | Dynamic-DS | ruoyi-common-mybatis | 多数据库切换 |
205
+ | 工作流 | Warm-Flow | ruoyi-workflow | 审批流程、流程编排 |
206
+
207
+ ### 优先级 3:专用方案(特殊需求)
208
+
209
+ | 需求 | 专用技术 | 模块 | 备注 |
210
+ |------|---------|------|------|
211
+ | 短信发送 | SMS4j | ruoyi-common-sms | 多平台聚合 |
212
+ | 第三方登录 | JustAuth | ruoyi-common-social | 20+ 平台支持 |
213
+ | 数据翻译 | Translation | ruoyi-common-translation | ID→名称自动转换 |
214
+
215
+ ---
216
+
217
+ ## 常见选型对比
218
+
219
+ ### 1. 异步处理选型
220
+
221
+ | 方案 | 适用场景 | 优点 | 缺点 |
222
+ |------|---------|------|------|
223
+ | **@Async** | 简单异步任务 | Spring 原生、零配置 | 无可靠性保证 |
224
+ | **Redis Streams** | 轻量消息、简单队列 | 无额外依赖、使用简单 | 功能有限、无事务 |
225
+ | **Redis 延迟队列** | 延迟任务 | 基于 Redisson、易用 | 不适合高吞吐 |
226
+
227
+ **本项目推荐**:
228
+ - 简单场景 → @Async
229
+ - 延迟任务 → Redis 延迟队列(ruoyi-common-redis)
230
+
231
+ ### 2. 定时任务选型
232
+
233
+ | 方案 | 适用场景 | 优点 | 缺点 |
234
+ |------|---------|------|------|
235
+ | **@Scheduled** | 单机简单任务 | 零配置、Spring 原生 | 无分布式支持 |
236
+ | **SnailJob** | 分布式复杂任务 | 可视化、失败重试、工作流 | 需要额外部署 |
237
+ | **XXL-Job** | 分布式任务 | 文档丰富、社区活跃 | 本项目未集成 |
238
+ | **Quartz** | 传统定时任务 | 功能完善、历史悠久 | 配置复杂 |
239
+
240
+ **本项目推荐**:
241
+ - 简单场景 → @Scheduled
242
+ - 复杂场景 → SnailJob(ruoyi-common-job)
243
+
244
+ ### 3. HTTP 客户端选型
245
+
246
+ | 方案 | 适用场景 | 优点 | 缺点 |
247
+ |------|---------|------|------|
248
+ | **RestTemplate** | 简单 HTTP 调用 | Spring 原生、简单 | 同步阻塞、功能有限 |
249
+ | **WebClient** | 响应式 HTTP | 异步非阻塞 | 学习曲线 |
250
+ | **OkHttp** | 高性能 HTTP | 连接池、拦截器 | 需要手动封装 |
251
+ | **Hutool HttpUtil** | 工具类调用 | 简单易用、已集成 | 功能相对简单 |
252
+
253
+ **本项目推荐**:
254
+ - 简单场景 → RestTemplate 或 Hutool HttpUtil
255
+ - 响应式场景 → WebClient
256
+
257
+ ### 4. Excel 处理选型
258
+
259
+ | 方案 | 适用场景 | 优点 | 缺点 |
260
+ |------|---------|------|------|
261
+ | **FastExcel** | 大文件、高性能 | 内存占用低、速度快 | 功能相对简单 |
262
+ | **EasyExcel** | 通用场景 | 功能全面、文档好 | 阿里维护 |
263
+ | **Apache POI** | 复杂操作 | 功能最全 | 内存占用大 |
264
+
265
+ **本项目推荐**:FastExcel(ruoyi-common-excel)
266
+
267
+ ---
268
+
269
+ ## 决策记录模板
270
+
271
+ ```markdown
272
+ # [决策标题]
273
+
274
+ ## 背景
275
+ [为什么需要做这个决策]
276
+
277
+ ## 决策内容
278
+ [选择了什么,如何实现]
279
+
280
+ ## 考虑的方案
281
+ | 方案 | 优点 | 缺点 | 评分 |
282
+ |------|------|------|------|
283
+ | 方案A | | | |
284
+ | 方案B | | | |
285
+ | 方案C | | | |
286
+
287
+ ## 决策理由
288
+ 1. [理由1]
289
+ 2. [理由2]
290
+ 3. [理由3]
291
+
292
+ ## 后果
293
+ - **优点**:[带来的好处]
294
+ - **缺点**:[需要接受的代价]
295
+ - **风险**:[潜在风险及应对]
296
+
297
+ ## 日期
298
+ [YYYY-MM-DD]
299
+ ```
300
+
301
+ ---
302
+
303
+ ## 模块引入示例
304
+
305
+ ### 在 pom.xml 中引入模块
306
+
307
+ ```xml
308
+ <!-- 按需引入 ruoyi-common 模块 -->
309
+ <dependencies>
310
+ <!-- 核心模块(必须) -->
311
+ <dependency>
312
+ <groupId>org.dromara</groupId>
313
+ <artifactId>ruoyi-common-core</artifactId>
314
+ </dependency>
315
+
316
+ <!-- MyBatis(必须) -->
317
+ <dependency>
318
+ <groupId>org.dromara</groupId>
319
+ <artifactId>ruoyi-common-mybatis</artifactId>
320
+ </dependency>
321
+
322
+ <!-- Redis 缓存(推荐) -->
323
+ <dependency>
324
+ <groupId>org.dromara</groupId>
325
+ <artifactId>ruoyi-common-redis</artifactId>
326
+ </dependency>
327
+
328
+ <!-- WebSocket(按需) -->
329
+ <dependency>
330
+ <groupId>org.dromara</groupId>
331
+ <artifactId>ruoyi-common-websocket</artifactId>
332
+ </dependency>
333
+
334
+ <!-- 短信服务(按需) -->
335
+ <dependency>
336
+ <groupId>org.dromara</groupId>
337
+ <artifactId>ruoyi-common-sms</artifactId>
338
+ </dependency>
339
+ </dependencies>
340
+ ```
341
+
342
+ ---
343
+
344
+ ## 评估检查清单
345
+
346
+ ### 选型前必查
347
+
348
+ - [ ] **功能满足**:是否满足当前功能需求?
349
+ - [ ] **性能满足**:是否满足性能要求?
350
+ - [ ] **社区活跃**:GitHub Stars、Issues 响应速度?
351
+ - [ ] **文档完善**:是否有中文文档?
352
+ - [ ] **兼容性**:与现有技术栈是否兼容?
353
+ - [ ] **学习成本**:团队是否熟悉?学习曲线如何?
354
+ - [ ] **维护成本**:长期维护成本如何?
355
+ - [ ] **安全漏洞**:是否有已知安全漏洞?
356
+ - [ ] **License**:是否允许商用?
357
+ - [ ] **项目已有**:ruoyi-common 是否已经集成?
358
+
359
+ ### 本项目优先原则
360
+
361
+ 1. **优先使用 ruoyi-common 模块**:已集成、已测试、风格统一
362
+ 2. **优先使用 Hutool 工具类**:项目已依赖,无需额外引入
363
+ 3. **优先使用 Spring 原生**:稳定、文档全、社区大
364
+ 4. **避免重复造轮子**:先查 ruoyi-common 是否有现成实现
365
+
366
+ ---
367
+
368
+ ## 快速决策参考
369
+
370
+ | 我想要... | 用这个 | 模块/技术 |
371
+ |----------|--------|---------|
372
+ | 缓存数据 | Redis | ruoyi-common-redis |
373
+ | 分布式锁 | Lock4j | ruoyi-common-redis |
374
+ | 发送短信 | SMS4j | ruoyi-common-sms |
375
+ | 发送邮件 | Spring Mail | ruoyi-common-mail |
376
+ | 上传文件 | AWS S3 SDK | ruoyi-common-oss |
377
+ | 定时任务(简单) | @Scheduled | Spring 原生 |
378
+ | 定时任务(复杂) | SnailJob | ruoyi-common-job |
379
+ | 实时推送 | WebSocket | ruoyi-common-websocket |
380
+ | 流式响应 | SSE | ruoyi-common-sse |
381
+ | 数据脱敏 | @Sensitive | ruoyi-common-sensitive |
382
+ | 字段加密 | @EncryptField | ruoyi-common-encrypt |
383
+ | 数据翻译 | Translation | ruoyi-common-translation |
384
+ | 接口限流 | @RateLimiter | ruoyi-common-ratelimiter |
385
+ | 防重复提交 | @RepeatSubmit | ruoyi-common-idempotent |
386
+ | 第三方登录 | JustAuth | ruoyi-common-social |
387
+ | Excel 导出 | FastExcel | ruoyi-common-excel |
388
+ | API 文档 | SpringDoc | ruoyi-common-doc |
389
+ | HTTP 调用 | RestTemplate/Hutool | Spring 原生/Hutool |
390
+ | 多租户隔离 | Tenant | ruoyi-common-tenant |
391
+ | 多数据源 | Dynamic-DS | ruoyi-common-mybatis |
392
+ | 工作流 | Warm-Flow | ruoyi-workflow |
393
+ | 应用安全 | Security | ruoyi-common-security |