oh-my-customcode 0.1.4 → 0.2.1

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 (436) hide show
  1. package/README.md +80 -129
  2. package/dist/cli/index.js +273 -100
  3. package/dist/index.js +11 -53
  4. package/package.json +1 -1
  5. package/templates/{agents/sw-architect/documenter/AGENT.md → .claude/agents/arch-documenter.md} +7 -39
  6. package/templates/{agents/sw-architect/speckit-agent/AGENT.md → .claude/agents/arch-speckit-agent.md} +61 -63
  7. package/templates/.claude/agents/be-express-expert.md +71 -0
  8. package/templates/.claude/agents/be-fastapi-expert.md +33 -0
  9. package/templates/.claude/agents/be-go-backend-expert.md +33 -0
  10. package/templates/.claude/agents/be-nestjs-expert.md +51 -0
  11. package/templates/.claude/agents/be-springboot-expert.md +75 -0
  12. package/templates/.claude/agents/db-supabase-expert.md +63 -0
  13. package/templates/{agents/sw-engineer/frontend/svelte-agent/AGENT.md → .claude/agents/fe-svelte-agent.md} +16 -31
  14. package/templates/.claude/agents/fe-vercel-agent.md +57 -0
  15. package/templates/{agents/sw-engineer/frontend/vuejs-agent/AGENT.md → .claude/agents/fe-vuejs-agent.md} +16 -31
  16. package/templates/.claude/agents/infra-aws-expert.md +37 -0
  17. package/templates/.claude/agents/infra-docker-expert.md +37 -0
  18. package/templates/.claude/agents/lang-golang-expert.md +33 -0
  19. package/templates/.claude/agents/lang-java21-expert.md +56 -0
  20. package/templates/.claude/agents/lang-kotlin-expert.md +33 -0
  21. package/templates/.claude/agents/lang-python-expert.md +33 -0
  22. package/templates/.claude/agents/lang-rust-expert.md +33 -0
  23. package/templates/.claude/agents/lang-typescript-expert.md +33 -0
  24. package/templates/.claude/agents/mgr-creator.md +102 -0
  25. package/templates/{agents/manager/gitnerd/AGENT.md → .claude/agents/mgr-gitnerd.md} +8 -17
  26. package/templates/.claude/agents/mgr-sauron.md +139 -0
  27. package/templates/{agents/manager/supplier/AGENT.md → .claude/agents/mgr-supplier.md} +14 -46
  28. package/templates/.claude/agents/mgr-sync-checker.md +89 -0
  29. package/templates/{agents/manager/updater/AGENT.md → .claude/agents/mgr-updater.md} +21 -53
  30. package/templates/{agents/qa-team/qa-engineer/AGENT.md → .claude/agents/qa-engineer.md} +13 -24
  31. package/templates/{agents/qa-team/qa-planner/AGENT.md → .claude/agents/qa-planner.md} +10 -20
  32. package/templates/{agents/qa-team/qa-writer/AGENT.md → .claude/agents/qa-writer.md} +10 -20
  33. package/templates/.claude/agents/sys-memory-keeper.md +105 -0
  34. package/templates/.claude/agents/sys-naggy.md +81 -0
  35. package/templates/{agents/sw-engineer/tooling/bun-expert/AGENT.md → .claude/agents/tool-bun-expert.md} +28 -39
  36. package/templates/.claude/agents/tool-npm-expert.md +76 -0
  37. package/templates/.claude/agents/tool-optimizer.md +75 -0
  38. package/templates/{agents/tutor/go-tutor/AGENT.md → .claude/agents/tutor-go.md} +16 -27
  39. package/templates/.claude/contexts/ecomode.md +5 -5
  40. package/templates/.claude/rules/MUST-agent-design.md +60 -42
  41. package/templates/.claude/rules/MUST-agent-identification.md +11 -11
  42. package/templates/.claude/rules/MUST-continuous-improvement.md +2 -2
  43. package/templates/.claude/rules/MUST-intent-transparency.md +18 -18
  44. package/templates/.claude/rules/MUST-orchestrator-coordination.md +192 -113
  45. package/templates/.claude/rules/MUST-parallel-execution.md +28 -28
  46. package/templates/.claude/rules/MUST-sync-verification.md +52 -45
  47. package/templates/.claude/rules/MUST-tool-identification.md +12 -14
  48. package/templates/.claude/rules/SHOULD-ecomode.md +3 -3
  49. package/templates/.claude/rules/SHOULD-hud-statusline.md +4 -4
  50. package/templates/.claude/rules/SHOULD-memory-integration.md +4 -4
  51. package/templates/.claude/rules/SHOULD-pipeline-mode.md +1 -1
  52. package/templates/.claude/skills/audit-agents/SKILL.md +116 -0
  53. package/templates/{skills/infrastructure → .claude/skills}/aws-best-practices/SKILL.md +4 -4
  54. package/templates/.claude/skills/create-agent/SKILL.md +91 -0
  55. package/templates/.claude/skills/dev-lead-routing/SKILL.md +238 -0
  56. package/templates/{commands/dev/refactor.md → .claude/skills/dev-refactor/SKILL.md} +17 -20
  57. package/templates/{commands/dev/review.md → .claude/skills/dev-review/SKILL.md} +16 -17
  58. package/templates/{agents/manager/supplier/refs/skills/infrastructure → .claude/skills}/docker-best-practices/SKILL.md +4 -4
  59. package/templates/{agents/manager/supplier/refs/skills/backend → .claude/skills}/fastapi-best-practices/SKILL.md +4 -4
  60. package/templates/.claude/skills/fix-refs/SKILL.md +107 -0
  61. package/templates/{agents/manager/supplier/refs/skills/backend → .claude/skills}/go-backend-best-practices/SKILL.md +4 -4
  62. package/templates/{skills/development → .claude/skills}/go-best-practices/SKILL.md +4 -4
  63. package/templates/{commands/system/help.md → .claude/skills/help/SKILL.md} +34 -46
  64. package/templates/{skills/orchestration → .claude/skills}/intent-detection/SKILL.md +14 -14
  65. package/templates/{agents/manager/supplier/refs/skills/orchestration → .claude/skills}/intent-detection/patterns/agent-triggers.yaml +117 -110
  66. package/templates/{agents/sw-engineer/language/kotlin-expert/refs → .claude/skills}/kotlin-best-practices/SKILL.md +4 -4
  67. package/templates/{commands/system/lists.md → .claude/skills/lists/SKILL.md} +25 -33
  68. package/templates/{agents/manager/supplier/refs/skills/system → .claude/skills}/memory-management/SKILL.md +10 -10
  69. package/templates/{commands/memory/recall.md → .claude/skills/memory-recall/SKILL.md} +31 -43
  70. package/templates/{commands/memory/save.md → .claude/skills/memory-save/SKILL.md} +27 -29
  71. package/templates/.claude/skills/npm-audit/SKILL.md +72 -0
  72. package/templates/.claude/skills/npm-publish/SKILL.md +63 -0
  73. package/templates/.claude/skills/npm-version/SKILL.md +75 -0
  74. package/templates/.claude/skills/optimize-analyze/SKILL.md +55 -0
  75. package/templates/.claude/skills/optimize-bundle/SKILL.md +67 -0
  76. package/templates/.claude/skills/optimize-report/SKILL.md +74 -0
  77. package/templates/{skills/orchestration → .claude/skills}/pipeline-execution/SKILL.md +4 -4
  78. package/templates/{commands/pipeline/list.md → .claude/skills/pipeline-list/SKILL.md} +11 -18
  79. package/templates/{commands/pipeline/run.md → .claude/skills/pipeline-run/SKILL.md} +38 -22
  80. package/templates/{agents/sw-engineer/language/python-expert/refs → .claude/skills}/python-best-practices/SKILL.md +4 -4
  81. package/templates/.claude/skills/qa-lead-routing/SKILL.md +277 -0
  82. package/templates/{skills/development → .claude/skills}/react-best-practices/SKILL.md +4 -4
  83. package/templates/{skills/system → .claude/skills}/result-aggregation/SKILL.md +17 -17
  84. package/templates/{agents/sw-engineer/language/rust-expert/refs → .claude/skills}/rust-best-practices/SKILL.md +4 -4
  85. package/templates/.claude/skills/sauron-watch/SKILL.md +144 -0
  86. package/templates/.claude/skills/secretary-routing/SKILL.md +178 -0
  87. package/templates/{skills/backend → .claude/skills}/springboot-best-practices/SKILL.md +4 -4
  88. package/templates/{commands/system/status.md → .claude/skills/status/SKILL.md} +29 -39
  89. package/templates/.claude/skills/supabase-postgres-best-practices/SKILL.md +98 -0
  90. package/templates/{skills/development → .claude/skills}/typescript-best-practices/SKILL.md +4 -4
  91. package/templates/{commands/updater/docs.md → .claude/skills/update-docs/SKILL.md} +71 -96
  92. package/templates/{commands/updater/external.md → .claude/skills/update-external/SKILL.md} +34 -99
  93. package/templates/{agents/manager/supplier/refs/skills/development → .claude/skills}/vercel-deploy/SKILL.md +4 -4
  94. package/templates/{agents/manager/supplier/refs/skills/development → .claude/skills}/web-design-guidelines/SKILL.md +4 -4
  95. package/templates/CLAUDE.md.en +75 -100
  96. package/templates/CLAUDE.md.ko +74 -99
  97. package/templates/guides/aws/index.yaml +1 -1
  98. package/templates/guides/docker/index.yaml +1 -1
  99. package/templates/guides/fastapi/index.yaml +1 -1
  100. package/templates/guides/go-backend/index.yaml +1 -1
  101. package/templates/guides/golang/index.yaml +1 -1
  102. package/templates/guides/index.yaml +9 -0
  103. package/templates/guides/kotlin/index.yaml +1 -1
  104. package/templates/guides/python/index.yaml +1 -1
  105. package/templates/guides/rust/index.yaml +1 -1
  106. package/templates/guides/springboot/index.yaml +1 -1
  107. package/templates/guides/supabase-postgres/README.md +32 -0
  108. package/templates/guides/supabase-postgres/index.yaml +19 -0
  109. package/templates/guides/typescript/index.yaml +1 -1
  110. package/templates/manifest.json +9 -15
  111. package/templates/pipelines/examples/code-review.yaml +1 -1
  112. package/templates/agents/index.yaml +0 -243
  113. package/templates/agents/infra-engineer/aws-expert/AGENT.md +0 -47
  114. package/templates/agents/infra-engineer/aws-expert/index.yaml +0 -27
  115. package/templates/agents/infra-engineer/aws-expert/refs/aws/common-patterns.md +0 -169
  116. package/templates/agents/infra-engineer/aws-expert/refs/aws/index.yaml +0 -26
  117. package/templates/agents/infra-engineer/aws-expert/refs/aws/well-architected.md +0 -143
  118. package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/SKILL.md +0 -279
  119. package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/index.yaml +0 -27
  120. package/templates/agents/infra-engineer/docker-expert/AGENT.md +0 -47
  121. package/templates/agents/infra-engineer/docker-expert/index.yaml +0 -27
  122. package/templates/agents/infra-engineer/docker-expert/refs/docker/compose-best-practices.md +0 -284
  123. package/templates/agents/infra-engineer/docker-expert/refs/docker/dockerfile-best-practices.md +0 -262
  124. package/templates/agents/infra-engineer/docker-expert/refs/docker/index.yaml +0 -26
  125. package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/SKILL.md +0 -274
  126. package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/index.yaml +0 -26
  127. package/templates/agents/manager/creator/AGENT.md +0 -274
  128. package/templates/agents/manager/creator/index.yaml +0 -66
  129. package/templates/agents/manager/creator/refs/rules/MAY-optimization.md +0 -93
  130. package/templates/agents/manager/creator/refs/rules/MUST-agent-design.md +0 -107
  131. package/templates/agents/manager/creator/refs/rules/MUST-agent-identification.md +0 -108
  132. package/templates/agents/manager/creator/refs/rules/MUST-continuous-improvement.md +0 -132
  133. package/templates/agents/manager/creator/refs/rules/MUST-intent-transparency.md +0 -199
  134. package/templates/agents/manager/creator/refs/rules/MUST-language-policy.md +0 -62
  135. package/templates/agents/manager/creator/refs/rules/MUST-orchestrator-coordination.md +0 -334
  136. package/templates/agents/manager/creator/refs/rules/MUST-parallel-execution.md +0 -398
  137. package/templates/agents/manager/creator/refs/rules/MUST-permissions.md +0 -84
  138. package/templates/agents/manager/creator/refs/rules/MUST-safety.md +0 -69
  139. package/templates/agents/manager/creator/refs/rules/MUST-sync-verification.md +0 -219
  140. package/templates/agents/manager/creator/refs/rules/MUST-tool-identification.md +0 -174
  141. package/templates/agents/manager/creator/refs/rules/SHOULD-ecomode.md +0 -145
  142. package/templates/agents/manager/creator/refs/rules/SHOULD-error-handling.md +0 -102
  143. package/templates/agents/manager/creator/refs/rules/SHOULD-hud-statusline.md +0 -96
  144. package/templates/agents/manager/creator/refs/rules/SHOULD-interaction.md +0 -103
  145. package/templates/agents/manager/creator/refs/rules/SHOULD-memory-integration.md +0 -114
  146. package/templates/agents/manager/creator/refs/rules/SHOULD-pipeline-mode.md +0 -165
  147. package/templates/agents/manager/creator/refs/rules/index.yaml +0 -125
  148. package/templates/agents/manager/gitnerd/index.yaml +0 -55
  149. package/templates/agents/manager/sauron/AGENT.md +0 -153
  150. package/templates/agents/manager/sauron/index.yaml +0 -52
  151. package/templates/agents/manager/supplier/index.yaml +0 -31
  152. package/templates/agents/manager/supplier/refs/guides/aws/common-patterns.md +0 -169
  153. package/templates/agents/manager/supplier/refs/guides/aws/index.yaml +0 -26
  154. package/templates/agents/manager/supplier/refs/guides/aws/well-architected.md +0 -143
  155. package/templates/agents/manager/supplier/refs/guides/claude-code/01-overview.md +0 -42
  156. package/templates/agents/manager/supplier/refs/guides/claude-code/03-tools.md +0 -107
  157. package/templates/agents/manager/supplier/refs/guides/claude-code/04-agent-skills.md +0 -90
  158. package/templates/agents/manager/supplier/refs/guides/claude-code/05-agent-sdk.md +0 -129
  159. package/templates/agents/manager/supplier/refs/guides/claude-code/06-mcp.md +0 -165
  160. package/templates/agents/manager/supplier/refs/guides/claude-code/07-prompt-engineering.md +0 -100
  161. package/templates/agents/manager/supplier/refs/guides/claude-code/08-testing.md +0 -58
  162. package/templates/agents/manager/supplier/refs/guides/claude-code/09-guardrails.md +0 -80
  163. package/templates/agents/manager/supplier/refs/guides/claude-code/10-monitoring.md +0 -89
  164. package/templates/agents/manager/supplier/refs/guides/claude-code/11-sub-agents.md +0 -159
  165. package/templates/agents/manager/supplier/refs/guides/claude-code/index.yaml +0 -51
  166. package/templates/agents/manager/supplier/refs/guides/docker/compose-best-practices.md +0 -284
  167. package/templates/agents/manager/supplier/refs/guides/docker/dockerfile-best-practices.md +0 -262
  168. package/templates/agents/manager/supplier/refs/guides/docker/index.yaml +0 -26
  169. package/templates/agents/manager/supplier/refs/guides/fastapi/best-practices.md +0 -232
  170. package/templates/agents/manager/supplier/refs/guides/fastapi/index.yaml +0 -21
  171. package/templates/agents/manager/supplier/refs/guides/go-backend/index.yaml +0 -26
  172. package/templates/agents/manager/supplier/refs/guides/go-backend/project-layout.md +0 -243
  173. package/templates/agents/manager/supplier/refs/guides/go-backend/uber-style.md +0 -212
  174. package/templates/agents/manager/supplier/refs/guides/golang/concurrency.md +0 -282
  175. package/templates/agents/manager/supplier/refs/guides/golang/effective-go.md +0 -309
  176. package/templates/agents/manager/supplier/refs/guides/golang/error-handling.md +0 -250
  177. package/templates/agents/manager/supplier/refs/guides/golang/index.yaml +0 -27
  178. package/templates/agents/manager/supplier/refs/guides/index.yaml +0 -101
  179. package/templates/agents/manager/supplier/refs/guides/kotlin/coding-conventions.md +0 -247
  180. package/templates/agents/manager/supplier/refs/guides/kotlin/idioms.md +0 -234
  181. package/templates/agents/manager/supplier/refs/guides/kotlin/index.yaml +0 -26
  182. package/templates/agents/manager/supplier/refs/guides/python/index.yaml +0 -26
  183. package/templates/agents/manager/supplier/refs/guides/python/pep8-style-guide.md +0 -202
  184. package/templates/agents/manager/supplier/refs/guides/python/zen-of-python.md +0 -79
  185. package/templates/agents/manager/supplier/refs/guides/rust/error-handling.md +0 -262
  186. package/templates/agents/manager/supplier/refs/guides/rust/index.yaml +0 -26
  187. package/templates/agents/manager/supplier/refs/guides/rust/ownership.md +0 -180
  188. package/templates/agents/manager/supplier/refs/guides/springboot/best-practices.md +0 -361
  189. package/templates/agents/manager/supplier/refs/guides/springboot/index.yaml +0 -22
  190. package/templates/agents/manager/supplier/refs/guides/typescript/advanced-types.md +0 -225
  191. package/templates/agents/manager/supplier/refs/guides/typescript/index.yaml +0 -26
  192. package/templates/agents/manager/supplier/refs/guides/typescript/type-system.md +0 -219
  193. package/templates/agents/manager/supplier/refs/guides/web-design/accessibility.md +0 -66
  194. package/templates/agents/manager/supplier/refs/guides/web-design/index.yaml +0 -20
  195. package/templates/agents/manager/supplier/refs/guides/web-design/performance.md +0 -102
  196. package/templates/agents/manager/supplier/refs/rules/MAY-optimization.md +0 -93
  197. package/templates/agents/manager/supplier/refs/rules/MUST-agent-design.md +0 -107
  198. package/templates/agents/manager/supplier/refs/rules/MUST-agent-identification.md +0 -108
  199. package/templates/agents/manager/supplier/refs/rules/MUST-continuous-improvement.md +0 -132
  200. package/templates/agents/manager/supplier/refs/rules/MUST-intent-transparency.md +0 -199
  201. package/templates/agents/manager/supplier/refs/rules/MUST-language-policy.md +0 -62
  202. package/templates/agents/manager/supplier/refs/rules/MUST-orchestrator-coordination.md +0 -334
  203. package/templates/agents/manager/supplier/refs/rules/MUST-parallel-execution.md +0 -398
  204. package/templates/agents/manager/supplier/refs/rules/MUST-permissions.md +0 -84
  205. package/templates/agents/manager/supplier/refs/rules/MUST-safety.md +0 -69
  206. package/templates/agents/manager/supplier/refs/rules/MUST-sync-verification.md +0 -219
  207. package/templates/agents/manager/supplier/refs/rules/MUST-tool-identification.md +0 -174
  208. package/templates/agents/manager/supplier/refs/rules/SHOULD-ecomode.md +0 -145
  209. package/templates/agents/manager/supplier/refs/rules/SHOULD-error-handling.md +0 -102
  210. package/templates/agents/manager/supplier/refs/rules/SHOULD-hud-statusline.md +0 -96
  211. package/templates/agents/manager/supplier/refs/rules/SHOULD-interaction.md +0 -103
  212. package/templates/agents/manager/supplier/refs/rules/SHOULD-memory-integration.md +0 -114
  213. package/templates/agents/manager/supplier/refs/rules/SHOULD-pipeline-mode.md +0 -165
  214. package/templates/agents/manager/supplier/refs/rules/index.yaml +0 -125
  215. package/templates/agents/manager/supplier/refs/skills/backend/fastapi-best-practices/index.yaml +0 -25
  216. package/templates/agents/manager/supplier/refs/skills/backend/go-backend-best-practices/index.yaml +0 -26
  217. package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/SKILL.md +0 -356
  218. package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/index.yaml +0 -27
  219. package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/SKILL.md +0 -202
  220. package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/index.yaml +0 -25
  221. package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/SKILL.md +0 -255
  222. package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/index.yaml +0 -27
  223. package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/SKILL.md +0 -221
  224. package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/index.yaml +0 -25
  225. package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/SKILL.md +0 -100
  226. package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/index.yaml +0 -39
  227. package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/SKILL.md +0 -266
  228. package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/index.yaml +0 -26
  229. package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/SKILL.md +0 -320
  230. package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/index.yaml +0 -28
  231. package/templates/agents/manager/supplier/refs/skills/development/vercel-deploy/index.yaml +0 -30
  232. package/templates/agents/manager/supplier/refs/skills/development/web-design-guidelines/index.yaml +0 -34
  233. package/templates/agents/manager/supplier/refs/skills/index.yaml +0 -129
  234. package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/SKILL.md +0 -279
  235. package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/index.yaml +0 -27
  236. package/templates/agents/manager/supplier/refs/skills/infrastructure/docker-best-practices/index.yaml +0 -26
  237. package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/SKILL.md +0 -214
  238. package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/index.yaml +0 -30
  239. package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/SKILL.md +0 -188
  240. package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/index.yaml +0 -27
  241. package/templates/agents/manager/supplier/refs/skills/system/memory-management/index.yaml +0 -30
  242. package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/SKILL.md +0 -163
  243. package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/index.yaml +0 -36
  244. package/templates/agents/manager/sync-checker/AGENT.md +0 -34
  245. package/templates/agents/manager/sync-checker/index.yaml +0 -32
  246. package/templates/agents/manager/updater/index.yaml +0 -31
  247. package/templates/agents/manager/updater/refs/rules/MAY-optimization.md +0 -93
  248. package/templates/agents/manager/updater/refs/rules/MUST-agent-design.md +0 -107
  249. package/templates/agents/manager/updater/refs/rules/MUST-agent-identification.md +0 -108
  250. package/templates/agents/manager/updater/refs/rules/MUST-continuous-improvement.md +0 -132
  251. package/templates/agents/manager/updater/refs/rules/MUST-intent-transparency.md +0 -199
  252. package/templates/agents/manager/updater/refs/rules/MUST-language-policy.md +0 -62
  253. package/templates/agents/manager/updater/refs/rules/MUST-orchestrator-coordination.md +0 -334
  254. package/templates/agents/manager/updater/refs/rules/MUST-parallel-execution.md +0 -398
  255. package/templates/agents/manager/updater/refs/rules/MUST-permissions.md +0 -84
  256. package/templates/agents/manager/updater/refs/rules/MUST-safety.md +0 -69
  257. package/templates/agents/manager/updater/refs/rules/MUST-sync-verification.md +0 -219
  258. package/templates/agents/manager/updater/refs/rules/MUST-tool-identification.md +0 -174
  259. package/templates/agents/manager/updater/refs/rules/SHOULD-ecomode.md +0 -145
  260. package/templates/agents/manager/updater/refs/rules/SHOULD-error-handling.md +0 -102
  261. package/templates/agents/manager/updater/refs/rules/SHOULD-hud-statusline.md +0 -96
  262. package/templates/agents/manager/updater/refs/rules/SHOULD-interaction.md +0 -103
  263. package/templates/agents/manager/updater/refs/rules/SHOULD-memory-integration.md +0 -114
  264. package/templates/agents/manager/updater/refs/rules/SHOULD-pipeline-mode.md +0 -165
  265. package/templates/agents/manager/updater/refs/rules/index.yaml +0 -125
  266. package/templates/agents/orchestrator/dev-lead/AGENT.md +0 -163
  267. package/templates/agents/orchestrator/dev-lead/index.yaml +0 -73
  268. package/templates/agents/orchestrator/planner/AGENT.md +0 -102
  269. package/templates/agents/orchestrator/planner/index.yaml +0 -38
  270. package/templates/agents/orchestrator/qa-lead/AGENT.md +0 -92
  271. package/templates/agents/orchestrator/qa-lead/index.yaml +0 -40
  272. package/templates/agents/orchestrator/secretary/AGENT.md +0 -181
  273. package/templates/agents/orchestrator/secretary/index.yaml +0 -55
  274. package/templates/agents/orchestrator/secretary/refs/rules/MAY-optimization.md +0 -93
  275. package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-design.md +0 -107
  276. package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-identification.md +0 -108
  277. package/templates/agents/orchestrator/secretary/refs/rules/MUST-continuous-improvement.md +0 -132
  278. package/templates/agents/orchestrator/secretary/refs/rules/MUST-intent-transparency.md +0 -199
  279. package/templates/agents/orchestrator/secretary/refs/rules/MUST-language-policy.md +0 -62
  280. package/templates/agents/orchestrator/secretary/refs/rules/MUST-orchestrator-coordination.md +0 -334
  281. package/templates/agents/orchestrator/secretary/refs/rules/MUST-parallel-execution.md +0 -398
  282. package/templates/agents/orchestrator/secretary/refs/rules/MUST-permissions.md +0 -84
  283. package/templates/agents/orchestrator/secretary/refs/rules/MUST-safety.md +0 -69
  284. package/templates/agents/orchestrator/secretary/refs/rules/MUST-sync-verification.md +0 -219
  285. package/templates/agents/orchestrator/secretary/refs/rules/MUST-tool-identification.md +0 -174
  286. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-ecomode.md +0 -145
  287. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-error-handling.md +0 -102
  288. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-hud-statusline.md +0 -96
  289. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-interaction.md +0 -103
  290. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-memory-integration.md +0 -114
  291. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-pipeline-mode.md +0 -165
  292. package/templates/agents/orchestrator/secretary/refs/rules/index.yaml +0 -125
  293. package/templates/agents/qa-team/qa-engineer/index.yaml +0 -59
  294. package/templates/agents/qa-team/qa-planner/index.yaml +0 -47
  295. package/templates/agents/qa-team/qa-writer/index.yaml +0 -44
  296. package/templates/agents/sw-architect/documenter/index.yaml +0 -39
  297. package/templates/agents/sw-architect/speckit-agent/index.yaml +0 -78
  298. package/templates/agents/sw-engineer/backend/express-expert/AGENT.md +0 -132
  299. package/templates/agents/sw-engineer/backend/express-expert/index.yaml +0 -36
  300. package/templates/agents/sw-engineer/backend/fastapi-expert/AGENT.md +0 -47
  301. package/templates/agents/sw-engineer/backend/fastapi-expert/index.yaml +0 -27
  302. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/best-practices.md +0 -232
  303. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/index.yaml +0 -21
  304. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/SKILL.md +0 -269
  305. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/index.yaml +0 -25
  306. package/templates/agents/sw-engineer/backend/go-backend-expert/AGENT.md +0 -47
  307. package/templates/agents/sw-engineer/backend/go-backend-expert/index.yaml +0 -27
  308. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/index.yaml +0 -26
  309. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/project-layout.md +0 -243
  310. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/uber-style.md +0 -212
  311. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/SKILL.md +0 -337
  312. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/index.yaml +0 -26
  313. package/templates/agents/sw-engineer/backend/nestjs-expert/AGENT.md +0 -107
  314. package/templates/agents/sw-engineer/backend/nestjs-expert/index.yaml +0 -43
  315. package/templates/agents/sw-engineer/backend/springboot-expert/AGENT.md +0 -103
  316. package/templates/agents/sw-engineer/backend/springboot-expert/index.yaml +0 -69
  317. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/best-practices.md +0 -361
  318. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/index.yaml +0 -22
  319. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/SKILL.md +0 -356
  320. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/index.yaml +0 -27
  321. package/templates/agents/sw-engineer/frontend/svelte-agent/index.yaml +0 -41
  322. package/templates/agents/sw-engineer/frontend/vercel-agent/AGENT.md +0 -67
  323. package/templates/agents/sw-engineer/frontend/vercel-agent/index.yaml +0 -43
  324. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/SKILL.md +0 -100
  325. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/index.yaml +0 -39
  326. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/SKILL.md +0 -73
  327. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/index.yaml +0 -30
  328. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/accessibility.md +0 -66
  329. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/index.yaml +0 -20
  330. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/performance.md +0 -102
  331. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/SKILL.md +0 -117
  332. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/index.yaml +0 -34
  333. package/templates/agents/sw-engineer/frontend/vuejs-agent/index.yaml +0 -48
  334. package/templates/agents/sw-engineer/language/golang-expert/AGENT.md +0 -47
  335. package/templates/agents/sw-engineer/language/golang-expert/index.yaml +0 -27
  336. package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/SKILL.md +0 -202
  337. package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/index.yaml +0 -25
  338. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/concurrency.md +0 -282
  339. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/effective-go.md +0 -309
  340. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/error-handling.md +0 -250
  341. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/index.yaml +0 -27
  342. package/templates/agents/sw-engineer/language/java21-expert/AGENT.md +0 -122
  343. package/templates/agents/sw-engineer/language/java21-expert/index.yaml +0 -51
  344. package/templates/agents/sw-engineer/language/kotlin-expert/AGENT.md +0 -47
  345. package/templates/agents/sw-engineer/language/kotlin-expert/index.yaml +0 -27
  346. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/coding-conventions.md +0 -247
  347. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/idioms.md +0 -234
  348. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/index.yaml +0 -26
  349. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin-best-practices/index.yaml +0 -27
  350. package/templates/agents/sw-engineer/language/python-expert/AGENT.md +0 -47
  351. package/templates/agents/sw-engineer/language/python-expert/index.yaml +0 -27
  352. package/templates/agents/sw-engineer/language/python-expert/refs/python/index.yaml +0 -26
  353. package/templates/agents/sw-engineer/language/python-expert/refs/python/pep8-style-guide.md +0 -202
  354. package/templates/agents/sw-engineer/language/python-expert/refs/python/zen-of-python.md +0 -79
  355. package/templates/agents/sw-engineer/language/python-expert/refs/python-best-practices/index.yaml +0 -25
  356. package/templates/agents/sw-engineer/language/rust-expert/AGENT.md +0 -47
  357. package/templates/agents/sw-engineer/language/rust-expert/index.yaml +0 -27
  358. package/templates/agents/sw-engineer/language/rust-expert/refs/rust/error-handling.md +0 -262
  359. package/templates/agents/sw-engineer/language/rust-expert/refs/rust/index.yaml +0 -26
  360. package/templates/agents/sw-engineer/language/rust-expert/refs/rust/ownership.md +0 -180
  361. package/templates/agents/sw-engineer/language/rust-expert/refs/rust-best-practices/index.yaml +0 -26
  362. package/templates/agents/sw-engineer/language/typescript-expert/AGENT.md +0 -47
  363. package/templates/agents/sw-engineer/language/typescript-expert/index.yaml +0 -27
  364. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/advanced-types.md +0 -225
  365. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/index.yaml +0 -26
  366. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/type-system.md +0 -219
  367. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/SKILL.md +0 -320
  368. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/index.yaml +0 -28
  369. package/templates/agents/sw-engineer/tooling/bun-expert/index.yaml +0 -46
  370. package/templates/agents/sw-engineer/tooling/npm-expert/AGENT.md +0 -160
  371. package/templates/agents/sw-engineer/tooling/npm-expert/index.yaml +0 -45
  372. package/templates/agents/sw-engineer/tooling/optimizer/AGENT.md +0 -170
  373. package/templates/agents/sw-engineer/tooling/optimizer/index.yaml +0 -45
  374. package/templates/agents/system/memory-keeper/AGENT.md +0 -126
  375. package/templates/agents/system/memory-keeper/index.yaml +0 -45
  376. package/templates/agents/system/naggy/AGENT.md +0 -72
  377. package/templates/agents/system/naggy/index.yaml +0 -35
  378. package/templates/agents/tutor/go-tutor/index.yaml +0 -48
  379. package/templates/commands/COMMANDS.md +0 -136
  380. package/templates/commands/creator/agent.md +0 -121
  381. package/templates/commands/git/branch.yaml +0 -8
  382. package/templates/commands/git/commit.yaml +0 -4
  383. package/templates/commands/git/pr.yaml +0 -4
  384. package/templates/commands/git/status.yaml +0 -4
  385. package/templates/commands/git/sync.yaml +0 -4
  386. package/templates/commands/index.yaml +0 -225
  387. package/templates/commands/intent/explain.md +0 -144
  388. package/templates/commands/naggy/add.yaml +0 -8
  389. package/templates/commands/naggy/done.yaml +0 -8
  390. package/templates/commands/naggy/list.yaml +0 -4
  391. package/templates/commands/naggy/priority.yaml +0 -11
  392. package/templates/commands/naggy/remind.yaml +0 -4
  393. package/templates/commands/npm/audit.yaml +0 -62
  394. package/templates/commands/npm/publish.yaml +0 -52
  395. package/templates/commands/npm/version.yaml +0 -62
  396. package/templates/commands/optimize/analyze.yaml +0 -34
  397. package/templates/commands/optimize/bundle.yaml +0 -50
  398. package/templates/commands/optimize/report.yaml +0 -56
  399. package/templates/commands/sauron/quick.yaml +0 -4
  400. package/templates/commands/sauron/report.yaml +0 -4
  401. package/templates/commands/sauron/watch.yaml +0 -4
  402. package/templates/commands/supplier/audit.md +0 -133
  403. package/templates/commands/supplier/fix.md +0 -121
  404. package/templates/commands/sync/agents.yaml +0 -4
  405. package/templates/commands/sync/check.yaml +0 -4
  406. package/templates/commands/sync/commands.yaml +0 -4
  407. package/templates/commands/sync/docs.yaml +0 -4
  408. package/templates/commands/sync/fix.yaml +0 -4
  409. package/templates/skills/backend/fastapi-best-practices/SKILL.md +0 -269
  410. package/templates/skills/backend/fastapi-best-practices/index.yaml +0 -25
  411. package/templates/skills/backend/go-backend-best-practices/SKILL.md +0 -337
  412. package/templates/skills/backend/go-backend-best-practices/index.yaml +0 -26
  413. package/templates/skills/backend/springboot-best-practices/index.yaml +0 -27
  414. package/templates/skills/development/go-best-practices/index.yaml +0 -25
  415. package/templates/skills/development/kotlin-best-practices/SKILL.md +0 -255
  416. package/templates/skills/development/kotlin-best-practices/index.yaml +0 -27
  417. package/templates/skills/development/python-best-practices/SKILL.md +0 -221
  418. package/templates/skills/development/python-best-practices/index.yaml +0 -25
  419. package/templates/skills/development/react-best-practices/index.yaml +0 -39
  420. package/templates/skills/development/rust-best-practices/SKILL.md +0 -266
  421. package/templates/skills/development/rust-best-practices/index.yaml +0 -26
  422. package/templates/skills/development/typescript-best-practices/index.yaml +0 -28
  423. package/templates/skills/development/vercel-deploy/SKILL.md +0 -73
  424. package/templates/skills/development/vercel-deploy/index.yaml +0 -30
  425. package/templates/skills/development/web-design-guidelines/SKILL.md +0 -117
  426. package/templates/skills/development/web-design-guidelines/index.yaml +0 -34
  427. package/templates/skills/index.yaml +0 -129
  428. package/templates/skills/infrastructure/aws-best-practices/index.yaml +0 -27
  429. package/templates/skills/infrastructure/docker-best-practices/SKILL.md +0 -274
  430. package/templates/skills/infrastructure/docker-best-practices/index.yaml +0 -26
  431. package/templates/skills/orchestration/intent-detection/index.yaml +0 -30
  432. package/templates/skills/orchestration/intent-detection/patterns/agent-triggers.yaml +0 -342
  433. package/templates/skills/orchestration/pipeline-execution/index.yaml +0 -27
  434. package/templates/skills/system/memory-management/SKILL.md +0 -194
  435. package/templates/skills/system/memory-management/index.yaml +0 -30
  436. package/templates/skills/system/result-aggregation/index.yaml +0 -36
@@ -1,356 +0,0 @@
1
- # Spring Boot Best Practices Skill
2
-
3
- > **Category**: Backend
4
- > **Source**: Internal (based on Spring documentation and Baeldung)
5
-
6
- ## Purpose
7
-
8
- Apply Spring Boot patterns for building enterprise-grade applications.
9
-
10
- ## Rules
11
-
12
- ### 1. Project Structure
13
-
14
- ```yaml
15
- structure:
16
- layout: layered architecture
17
- packages:
18
- - controller: REST endpoints
19
- - service: Business logic
20
- - repository: Data access
21
- - model/entity: Domain objects
22
- - dto: Data transfer objects
23
- - config: Configuration classes
24
- - exception: Custom exceptions
25
-
26
- example: |
27
- com.example.app/
28
- ├── controller/
29
- │ └── UserController.java
30
- ├── service/
31
- │ ├── UserService.java
32
- │ └── impl/UserServiceImpl.java
33
- ├── repository/
34
- │ └── UserRepository.java
35
- ├── model/
36
- │ └── User.java
37
- ├── dto/
38
- │ ├── UserRequest.java
39
- │ └── UserResponse.java
40
- ├── config/
41
- │ └── SecurityConfig.java
42
- └── exception/
43
- └── UserNotFoundException.java
44
- ```
45
-
46
- ### 2. Dependency Injection
47
-
48
- ```yaml
49
- prefer:
50
- - Constructor injection over field injection
51
- - Interface-based dependencies
52
- - @RequiredArgsConstructor with final fields
53
-
54
- patterns: |
55
- // GOOD: Constructor injection
56
- @Service
57
- @RequiredArgsConstructor
58
- public class UserService {
59
- private final UserRepository userRepository;
60
- private final EmailService emailService;
61
- }
62
-
63
- // AVOID: Field injection
64
- @Service
65
- public class UserService {
66
- @Autowired
67
- private UserRepository userRepository; // Not recommended
68
- }
69
- ```
70
-
71
- ### 3. REST API Design
72
-
73
- ```yaml
74
- controller:
75
- annotations:
76
- - "@RestController"
77
- - "@RequestMapping with base path"
78
- - "@Validated for input validation"
79
-
80
- patterns: |
81
- @RestController
82
- @RequestMapping("/api/v1/users")
83
- @RequiredArgsConstructor
84
- public class UserController {
85
-
86
- private final UserService userService;
87
-
88
- @GetMapping("/{id}")
89
- public ResponseEntity<UserResponse> getUser(@PathVariable Long id) {
90
- return ResponseEntity.ok(userService.findById(id));
91
- }
92
-
93
- @PostMapping
94
- @ResponseStatus(HttpStatus.CREATED)
95
- public UserResponse createUser(@Valid @RequestBody UserRequest request) {
96
- return userService.create(request);
97
- }
98
-
99
- @PutMapping("/{id}")
100
- public UserResponse updateUser(
101
- @PathVariable Long id,
102
- @Valid @RequestBody UserRequest request
103
- ) {
104
- return userService.update(id, request);
105
- }
106
-
107
- @DeleteMapping("/{id}")
108
- @ResponseStatus(HttpStatus.NO_CONTENT)
109
- public void deleteUser(@PathVariable Long id) {
110
- userService.delete(id);
111
- }
112
- }
113
- ```
114
-
115
- ### 4. Service Layer
116
-
117
- ```yaml
118
- principles:
119
- - Business logic in service layer
120
- - Transaction boundaries at service level
121
- - Interface + implementation pattern
122
-
123
- patterns: |
124
- public interface UserService {
125
- UserResponse findById(Long id);
126
- UserResponse create(UserRequest request);
127
- }
128
-
129
- @Service
130
- @Transactional(readOnly = true)
131
- @RequiredArgsConstructor
132
- public class UserServiceImpl implements UserService {
133
-
134
- private final UserRepository userRepository;
135
- private final UserMapper userMapper;
136
-
137
- @Override
138
- public UserResponse findById(Long id) {
139
- User user = userRepository.findById(id)
140
- .orElseThrow(() -> new UserNotFoundException(id));
141
- return userMapper.toResponse(user);
142
- }
143
-
144
- @Override
145
- @Transactional
146
- public UserResponse create(UserRequest request) {
147
- User user = userMapper.toEntity(request);
148
- return userMapper.toResponse(userRepository.save(user));
149
- }
150
- }
151
- ```
152
-
153
- ### 5. Data Access
154
-
155
- ```yaml
156
- repository:
157
- use: Spring Data JPA
158
- custom_queries: "@Query annotation or method naming"
159
-
160
- patterns: |
161
- public interface UserRepository extends JpaRepository<User, Long> {
162
-
163
- Optional<User> findByEmail(String email);
164
-
165
- @Query("SELECT u FROM User u WHERE u.status = :status")
166
- List<User> findByStatus(@Param("status") UserStatus status);
167
-
168
- @Query(value = "SELECT * FROM users WHERE created_at > :date",
169
- nativeQuery = true)
170
- List<User> findRecentUsers(@Param("date") LocalDateTime date);
171
- }
172
-
173
- entity: |
174
- @Entity
175
- @Table(name = "users")
176
- @Getter
177
- @NoArgsConstructor(access = AccessLevel.PROTECTED)
178
- public class User {
179
-
180
- @Id
181
- @GeneratedValue(strategy = GenerationType.IDENTITY)
182
- private Long id;
183
-
184
- @Column(nullable = false, unique = true)
185
- private String email;
186
-
187
- @Enumerated(EnumType.STRING)
188
- private UserStatus status;
189
-
190
- @CreatedDate
191
- private LocalDateTime createdAt;
192
- }
193
- ```
194
-
195
- ### 6. Exception Handling
196
-
197
- ```yaml
198
- global_handler:
199
- use: "@ControllerAdvice"
200
- custom_exceptions: domain-specific
201
-
202
- patterns: |
203
- @RestControllerAdvice
204
- public class GlobalExceptionHandler {
205
-
206
- @ExceptionHandler(UserNotFoundException.class)
207
- @ResponseStatus(HttpStatus.NOT_FOUND)
208
- public ErrorResponse handleUserNotFound(UserNotFoundException ex) {
209
- return new ErrorResponse("USER_NOT_FOUND", ex.getMessage());
210
- }
211
-
212
- @ExceptionHandler(MethodArgumentNotValidException.class)
213
- @ResponseStatus(HttpStatus.BAD_REQUEST)
214
- public ErrorResponse handleValidation(MethodArgumentNotValidException ex) {
215
- List<String> errors = ex.getBindingResult()
216
- .getFieldErrors()
217
- .stream()
218
- .map(e -> e.getField() + ": " + e.getDefaultMessage())
219
- .toList();
220
- return new ErrorResponse("VALIDATION_ERROR", errors);
221
- }
222
- }
223
- ```
224
-
225
- ### 7. Configuration
226
-
227
- ```yaml
228
- profiles:
229
- use: application-{profile}.yml
230
- externalize: sensitive values
231
-
232
- patterns: |
233
- # application.yml
234
- spring:
235
- profiles:
236
- active: ${SPRING_PROFILES_ACTIVE:local}
237
- datasource:
238
- url: ${DATABASE_URL}
239
- username: ${DATABASE_USERNAME}
240
- password: ${DATABASE_PASSWORD}
241
-
242
- # application-local.yml
243
- spring:
244
- datasource:
245
- url: jdbc:h2:mem:testdb
246
- driver-class-name: org.h2.Driver
247
-
248
- configuration_class: |
249
- @Configuration
250
- @ConfigurationProperties(prefix = "app")
251
- @Validated
252
- public class AppProperties {
253
-
254
- @NotBlank
255
- private String name;
256
-
257
- @Min(1)
258
- private int maxConnections;
259
-
260
- // getters, setters
261
- }
262
- ```
263
-
264
- ### 8. Security
265
-
266
- ```yaml
267
- principles:
268
- - Use Spring Security
269
- - Externalize secrets
270
- - Implement proper authentication
271
-
272
- patterns: |
273
- @Configuration
274
- @EnableWebSecurity
275
- @RequiredArgsConstructor
276
- public class SecurityConfig {
277
-
278
- private final JwtTokenProvider tokenProvider;
279
-
280
- @Bean
281
- public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
282
- return http
283
- .csrf(csrf -> csrf.disable())
284
- .sessionManagement(session ->
285
- session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
286
- .authorizeHttpRequests(auth -> auth
287
- .requestMatchers("/api/v1/auth/**").permitAll()
288
- .requestMatchers("/api/v1/admin/**").hasRole("ADMIN")
289
- .anyRequest().authenticated())
290
- .addFilterBefore(jwtFilter(), UsernamePasswordAuthenticationFilter.class)
291
- .build();
292
- }
293
- }
294
- ```
295
-
296
- ### 9. Testing
297
-
298
- ```yaml
299
- layers:
300
- unit: "@MockBean, Mockito"
301
- integration: "@SpringBootTest"
302
- slice: "@WebMvcTest, @DataJpaTest"
303
-
304
- patterns: |
305
- // Controller test
306
- @WebMvcTest(UserController.class)
307
- class UserControllerTest {
308
-
309
- @Autowired
310
- private MockMvc mockMvc;
311
-
312
- @MockBean
313
- private UserService userService;
314
-
315
- @Test
316
- void getUser_shouldReturnUser() throws Exception {
317
- given(userService.findById(1L))
318
- .willReturn(new UserResponse(1L, "test@example.com"));
319
-
320
- mockMvc.perform(get("/api/v1/users/1"))
321
- .andExpect(status().isOk())
322
- .andExpect(jsonPath("$.email").value("test@example.com"));
323
- }
324
- }
325
-
326
- // Repository test
327
- @DataJpaTest
328
- class UserRepositoryTest {
329
-
330
- @Autowired
331
- private UserRepository userRepository;
332
-
333
- @Test
334
- void findByEmail_shouldReturnUser() {
335
- User user = userRepository.save(new User("test@example.com"));
336
-
337
- Optional<User> found = userRepository.findByEmail("test@example.com");
338
-
339
- assertThat(found).isPresent();
340
- assertThat(found.get().getEmail()).isEqualTo("test@example.com");
341
- }
342
- }
343
- ```
344
-
345
- ## Application
346
-
347
- When writing Spring Boot code:
348
-
349
- 1. **Always** use constructor injection
350
- 2. **Always** use layered architecture
351
- 3. **Prefer** interface-based services
352
- 4. **Use** DTOs for API contracts
353
- 5. **Handle** exceptions globally
354
- 6. **Externalize** configuration
355
- 7. **Secure** endpoints properly
356
- 8. **Test** each layer appropriately
@@ -1,27 +0,0 @@
1
- # Spring Boot Best Practices Skill
2
-
3
- metadata:
4
- name: springboot-best-practices
5
- category: backend
6
- description: Spring Boot patterns for enterprise Java applications
7
-
8
- source:
9
- type: internal
10
- reference:
11
- - https://docs.spring.io/spring-boot/docs/current/reference/html/
12
- - https://spring.io/guides
13
- - https://www.baeldung.com/spring-boot
14
-
15
- provides:
16
- - Project structure patterns
17
- - Dependency injection best practices
18
- - REST API design guidelines
19
- - Service layer patterns
20
- - Data access patterns
21
- - Exception handling
22
- - Configuration management
23
- - Security implementation
24
- - Testing strategies
25
-
26
- used_by:
27
- - springboot-expert
@@ -1,202 +0,0 @@
1
- # Go Best Practices Skill
2
-
3
- > **Category**: Development
4
- > **Source**: Internal (based on Effective Go)
5
-
6
- ## Purpose
7
-
8
- Apply idiomatic Go patterns and best practices from official Go documentation.
9
-
10
- ## Rules
11
-
12
- ### 1. Formatting
13
-
14
- ```yaml
15
- rules:
16
- - Use gofmt for all code formatting
17
- - Indentation uses tabs, not spaces
18
- - No line length limit, but break long lines sensibly
19
- - Let gofmt handle alignment
20
- ```
21
-
22
- ### 2. Naming Conventions
23
-
24
- ```yaml
25
- package_names:
26
- - Short, concise, lowercase, single-word
27
- - No underscores or mixedCaps
28
- - Name is basename of source directory
29
- - Example: bufio, not bufIO or buf_io
30
-
31
- getters:
32
- - No "Get" prefix for getters
33
- - obj.Owner() not obj.GetOwner()
34
- - Setter can use "Set": obj.SetOwner(user)
35
-
36
- interface_names:
37
- - One-method interfaces: method name + "er"
38
- - Reader, Writer, Formatter, CloseNotifier
39
- - Avoid stealing standard names unless same signature
40
-
41
- mixedCaps:
42
- - Use MixedCaps or mixedCaps, never underscores
43
- - Exported: MixedCaps (uppercase first)
44
- - Unexported: mixedCaps (lowercase first)
45
- ```
46
-
47
- ### 3. Control Structures
48
-
49
- ```yaml
50
- if_statements:
51
- - Accept initialization statement
52
- - Prefer: if err := file.Chmod(0664); err != nil
53
- - Omit else when if ends with break/continue/return
54
- - Avoid unnecessary else
55
-
56
- for_loops:
57
- - Go's only loop construct
58
- - for init; condition; post { } - like C for
59
- - for condition { } - like C while
60
- - for { } - infinite loop
61
- - Use range for strings, slices, arrays, maps, channels
62
-
63
- switch:
64
- - Cases don't fall through by default
65
- - Use fallthrough keyword if needed
66
- - Multiple cases: case '0', '1', '2'
67
- - Type switch: switch v := x.(type)
68
- ```
69
-
70
- ### 4. Functions
71
-
72
- ```yaml
73
- multiple_returns:
74
- - Return multiple values for result + error
75
- - func (file *File) Write(b []byte) (n int, err error)
76
-
77
- named_results:
78
- - Document return values with names
79
- - Can simplify code but use judiciously
80
- - Unnamed returns OK for short functions
81
-
82
- defer:
83
- - Executes when function returns
84
- - LIFO order for multiple defers
85
- - Use for cleanup: unlock mutexes, close files
86
- - Arguments evaluated when defer executes, not when called
87
- ```
88
-
89
- ### 5. Data
90
-
91
- ```yaml
92
- new_vs_make:
93
- - new(T): allocates zeroed storage, returns *T
94
- - make(T, args): creates slices, maps, channels only
95
- - make returns initialized (not zeroed) value of type T
96
-
97
- slices:
98
- - Backed by arrays, can grow
99
- - append() to add elements
100
- - copy() for safe duplication
101
- - Slice of slice shares underlying array
102
-
103
- maps:
104
- - Reference type, nil until initialized
105
- - make(map[KeyType]ValueType)
106
- - Comma ok idiom: val, ok := map[key]
107
- - delete(map, key) to remove
108
- ```
109
-
110
- ### 6. Methods
111
-
112
- ```yaml
113
- pointer_vs_value_receivers:
114
- - Pointer receiver: can modify, no copy overhead
115
- - Value receiver: safe from modification
116
- - If any method needs pointer, all should use pointer
117
- - Rule: values immutable, pointers mutable
118
- ```
119
-
120
- ### 7. Interfaces
121
-
122
- ```yaml
123
- design:
124
- - Interfaces define behavior, not data
125
- - Small interfaces (1-3 methods) preferred
126
- - Accept interfaces, return structs
127
- - If type implements interface, it satisfies implicitly
128
-
129
- common_interfaces:
130
- - io.Reader: Read(p []byte) (n int, err error)
131
- - io.Writer: Write(p []byte) (n int, err error)
132
- - fmt.Stringer: String() string
133
- - error: Error() string
134
- ```
135
-
136
- ### 8. Concurrency
137
-
138
- ```yaml
139
- goroutines:
140
- - Lightweight, multiplexed onto OS threads
141
- - go function() to start
142
- - Don't communicate by sharing memory
143
- - Share memory by communicating
144
-
145
- channels:
146
- - Primary synchronization mechanism
147
- - ch := make(chan int) - unbuffered
148
- - ch := make(chan int, 100) - buffered
149
- - Send: ch <- v
150
- - Receive: v := <-ch
151
- - Close: close(ch)
152
-
153
- patterns:
154
- - Don't leak goroutines - ensure they exit
155
- - Use context for cancellation
156
- - select for multiple channel operations
157
- - sync.WaitGroup for goroutine coordination
158
- ```
159
-
160
- ### 9. Error Handling
161
-
162
- ```yaml
163
- principles:
164
- - Errors are values, handle them explicitly
165
- - Check errors immediately after call
166
- - Return errors, don't panic
167
- - Add context when propagating: fmt.Errorf("op failed: %w", err)
168
-
169
- panic_recover:
170
- - Panic for unrecoverable errors only
171
- - Library functions should return errors, not panic
172
- - Recover only in deferred functions
173
- - Convert internal panics to errors at package boundary
174
- ```
175
-
176
- ### 10. Project Structure
177
-
178
- ```yaml
179
- packages:
180
- - One package per directory
181
- - Package name matches directory name
182
- - main package for executables
183
- - Avoid circular imports
184
-
185
- files:
186
- - doc.go for package documentation
187
- - _test.go suffix for test files
188
- - Group related types and functions
189
- ```
190
-
191
- ## Application
192
-
193
- When writing or reviewing Go code:
194
-
195
- 1. **Always** run `gofmt` or `goimports`
196
- 2. **Always** handle returned errors
197
- 3. **Prefer** composition over inheritance
198
- 4. **Prefer** small interfaces
199
- 5. **Prefer** channels for goroutine communication
200
- 6. **Avoid** global state
201
- 7. **Avoid** init() when possible
202
- 8. **Document** exported identifiers
@@ -1,25 +0,0 @@
1
- # Go Best Practices Skill
2
-
3
- metadata:
4
- name: go-best-practices
5
- category: development
6
- description: Idiomatic Go patterns from Effective Go
7
-
8
- source:
9
- type: internal
10
- reference: https://go.dev/doc/effective_go
11
-
12
- provides:
13
- - Go code formatting standards
14
- - Naming conventions
15
- - Control structure patterns
16
- - Function design patterns
17
- - Data structure usage
18
- - Method receiver guidelines
19
- - Interface design
20
- - Concurrency patterns
21
- - Error handling patterns
22
- - Project structure guidelines
23
-
24
- used_by:
25
- - golang-expert