oh-my-customcode 0.1.3 → 0.2.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 (439) hide show
  1. package/README.md +80 -129
  2. package/dist/cli/index.js +95 -95
  3. package/dist/index.js +7 -32
  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 +197 -111
  45. package/templates/.claude/rules/MUST-parallel-execution.md +86 -29
  46. package/templates/.claude/rules/MUST-sync-verification.md +52 -45
  47. package/templates/.claude/rules/MUST-tool-identification.md +79 -19
  48. package/templates/.claude/rules/SHOULD-ecomode.md +3 -3
  49. package/templates/.claude/rules/SHOULD-hud-statusline.md +12 -5
  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/{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 +71 -70
  96. package/templates/CLAUDE.md.ko +64 -64
  97. package/templates/examples/code-review.yaml +66 -0
  98. package/templates/guides/aws/index.yaml +1 -1
  99. package/templates/guides/claude-code/11-sub-agents.md +159 -0
  100. package/templates/guides/docker/index.yaml +1 -1
  101. package/templates/guides/fastapi/index.yaml +1 -1
  102. package/templates/guides/go-backend/index.yaml +1 -1
  103. package/templates/guides/golang/index.yaml +1 -1
  104. package/templates/guides/index.yaml +9 -0
  105. package/templates/guides/kotlin/index.yaml +1 -1
  106. package/templates/guides/python/index.yaml +1 -1
  107. package/templates/guides/rust/index.yaml +1 -1
  108. package/templates/guides/springboot/index.yaml +1 -1
  109. package/templates/guides/supabase-postgres/README.md +32 -0
  110. package/templates/guides/supabase-postgres/index.yaml +19 -0
  111. package/templates/guides/typescript/index.yaml +1 -1
  112. package/templates/index.yaml +18 -0
  113. package/templates/manifest.json +11 -17
  114. package/templates/pipelines/examples/code-review.yaml +1 -1
  115. package/templates/templates/pipeline-template.yaml +50 -0
  116. package/templates/agents/index.yaml +0 -243
  117. package/templates/agents/infra-engineer/aws-expert/AGENT.md +0 -47
  118. package/templates/agents/infra-engineer/aws-expert/index.yaml +0 -27
  119. package/templates/agents/infra-engineer/aws-expert/refs/aws/common-patterns.md +0 -169
  120. package/templates/agents/infra-engineer/aws-expert/refs/aws/index.yaml +0 -26
  121. package/templates/agents/infra-engineer/aws-expert/refs/aws/well-architected.md +0 -143
  122. package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/SKILL.md +0 -279
  123. package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/index.yaml +0 -27
  124. package/templates/agents/infra-engineer/docker-expert/AGENT.md +0 -47
  125. package/templates/agents/infra-engineer/docker-expert/index.yaml +0 -27
  126. package/templates/agents/infra-engineer/docker-expert/refs/docker/compose-best-practices.md +0 -284
  127. package/templates/agents/infra-engineer/docker-expert/refs/docker/dockerfile-best-practices.md +0 -262
  128. package/templates/agents/infra-engineer/docker-expert/refs/docker/index.yaml +0 -26
  129. package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/SKILL.md +0 -274
  130. package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/index.yaml +0 -26
  131. package/templates/agents/manager/creator/AGENT.md +0 -274
  132. package/templates/agents/manager/creator/index.yaml +0 -66
  133. package/templates/agents/manager/creator/refs/rules/MAY-optimization.md +0 -93
  134. package/templates/agents/manager/creator/refs/rules/MUST-agent-design.md +0 -107
  135. package/templates/agents/manager/creator/refs/rules/MUST-agent-identification.md +0 -108
  136. package/templates/agents/manager/creator/refs/rules/MUST-continuous-improvement.md +0 -132
  137. package/templates/agents/manager/creator/refs/rules/MUST-intent-transparency.md +0 -199
  138. package/templates/agents/manager/creator/refs/rules/MUST-language-policy.md +0 -62
  139. package/templates/agents/manager/creator/refs/rules/MUST-orchestrator-coordination.md +0 -291
  140. package/templates/agents/manager/creator/refs/rules/MUST-parallel-execution.md +0 -341
  141. package/templates/agents/manager/creator/refs/rules/MUST-permissions.md +0 -84
  142. package/templates/agents/manager/creator/refs/rules/MUST-safety.md +0 -69
  143. package/templates/agents/manager/creator/refs/rules/MUST-sync-verification.md +0 -219
  144. package/templates/agents/manager/creator/refs/rules/MUST-tool-identification.md +0 -112
  145. package/templates/agents/manager/creator/refs/rules/SHOULD-ecomode.md +0 -145
  146. package/templates/agents/manager/creator/refs/rules/SHOULD-error-handling.md +0 -102
  147. package/templates/agents/manager/creator/refs/rules/SHOULD-hud-statusline.md +0 -89
  148. package/templates/agents/manager/creator/refs/rules/SHOULD-interaction.md +0 -103
  149. package/templates/agents/manager/creator/refs/rules/SHOULD-memory-integration.md +0 -114
  150. package/templates/agents/manager/creator/refs/rules/SHOULD-pipeline-mode.md +0 -165
  151. package/templates/agents/manager/creator/refs/rules/index.yaml +0 -125
  152. package/templates/agents/manager/gitnerd/index.yaml +0 -55
  153. package/templates/agents/manager/sauron/AGENT.md +0 -153
  154. package/templates/agents/manager/sauron/index.yaml +0 -52
  155. package/templates/agents/manager/supplier/index.yaml +0 -31
  156. package/templates/agents/manager/supplier/refs/guides/aws/common-patterns.md +0 -169
  157. package/templates/agents/manager/supplier/refs/guides/aws/index.yaml +0 -26
  158. package/templates/agents/manager/supplier/refs/guides/aws/well-architected.md +0 -143
  159. package/templates/agents/manager/supplier/refs/guides/claude-code/01-overview.md +0 -42
  160. package/templates/agents/manager/supplier/refs/guides/claude-code/03-tools.md +0 -107
  161. package/templates/agents/manager/supplier/refs/guides/claude-code/04-agent-skills.md +0 -90
  162. package/templates/agents/manager/supplier/refs/guides/claude-code/05-agent-sdk.md +0 -129
  163. package/templates/agents/manager/supplier/refs/guides/claude-code/06-mcp.md +0 -165
  164. package/templates/agents/manager/supplier/refs/guides/claude-code/07-prompt-engineering.md +0 -100
  165. package/templates/agents/manager/supplier/refs/guides/claude-code/08-testing.md +0 -58
  166. package/templates/agents/manager/supplier/refs/guides/claude-code/09-guardrails.md +0 -80
  167. package/templates/agents/manager/supplier/refs/guides/claude-code/10-monitoring.md +0 -89
  168. package/templates/agents/manager/supplier/refs/guides/claude-code/index.yaml +0 -51
  169. package/templates/agents/manager/supplier/refs/guides/docker/compose-best-practices.md +0 -284
  170. package/templates/agents/manager/supplier/refs/guides/docker/dockerfile-best-practices.md +0 -262
  171. package/templates/agents/manager/supplier/refs/guides/docker/index.yaml +0 -26
  172. package/templates/agents/manager/supplier/refs/guides/fastapi/best-practices.md +0 -232
  173. package/templates/agents/manager/supplier/refs/guides/fastapi/index.yaml +0 -21
  174. package/templates/agents/manager/supplier/refs/guides/go-backend/index.yaml +0 -26
  175. package/templates/agents/manager/supplier/refs/guides/go-backend/project-layout.md +0 -243
  176. package/templates/agents/manager/supplier/refs/guides/go-backend/uber-style.md +0 -212
  177. package/templates/agents/manager/supplier/refs/guides/golang/concurrency.md +0 -282
  178. package/templates/agents/manager/supplier/refs/guides/golang/effective-go.md +0 -309
  179. package/templates/agents/manager/supplier/refs/guides/golang/error-handling.md +0 -250
  180. package/templates/agents/manager/supplier/refs/guides/golang/index.yaml +0 -27
  181. package/templates/agents/manager/supplier/refs/guides/index.yaml +0 -101
  182. package/templates/agents/manager/supplier/refs/guides/kotlin/coding-conventions.md +0 -247
  183. package/templates/agents/manager/supplier/refs/guides/kotlin/idioms.md +0 -234
  184. package/templates/agents/manager/supplier/refs/guides/kotlin/index.yaml +0 -26
  185. package/templates/agents/manager/supplier/refs/guides/python/index.yaml +0 -26
  186. package/templates/agents/manager/supplier/refs/guides/python/pep8-style-guide.md +0 -202
  187. package/templates/agents/manager/supplier/refs/guides/python/zen-of-python.md +0 -79
  188. package/templates/agents/manager/supplier/refs/guides/rust/error-handling.md +0 -262
  189. package/templates/agents/manager/supplier/refs/guides/rust/index.yaml +0 -26
  190. package/templates/agents/manager/supplier/refs/guides/rust/ownership.md +0 -180
  191. package/templates/agents/manager/supplier/refs/guides/springboot/best-practices.md +0 -361
  192. package/templates/agents/manager/supplier/refs/guides/springboot/index.yaml +0 -22
  193. package/templates/agents/manager/supplier/refs/guides/typescript/advanced-types.md +0 -225
  194. package/templates/agents/manager/supplier/refs/guides/typescript/index.yaml +0 -26
  195. package/templates/agents/manager/supplier/refs/guides/typescript/type-system.md +0 -219
  196. package/templates/agents/manager/supplier/refs/guides/web-design/accessibility.md +0 -66
  197. package/templates/agents/manager/supplier/refs/guides/web-design/index.yaml +0 -20
  198. package/templates/agents/manager/supplier/refs/guides/web-design/performance.md +0 -102
  199. package/templates/agents/manager/supplier/refs/rules/MAY-optimization.md +0 -93
  200. package/templates/agents/manager/supplier/refs/rules/MUST-agent-design.md +0 -107
  201. package/templates/agents/manager/supplier/refs/rules/MUST-agent-identification.md +0 -108
  202. package/templates/agents/manager/supplier/refs/rules/MUST-continuous-improvement.md +0 -132
  203. package/templates/agents/manager/supplier/refs/rules/MUST-intent-transparency.md +0 -199
  204. package/templates/agents/manager/supplier/refs/rules/MUST-language-policy.md +0 -62
  205. package/templates/agents/manager/supplier/refs/rules/MUST-orchestrator-coordination.md +0 -291
  206. package/templates/agents/manager/supplier/refs/rules/MUST-parallel-execution.md +0 -341
  207. package/templates/agents/manager/supplier/refs/rules/MUST-permissions.md +0 -84
  208. package/templates/agents/manager/supplier/refs/rules/MUST-safety.md +0 -69
  209. package/templates/agents/manager/supplier/refs/rules/MUST-sync-verification.md +0 -219
  210. package/templates/agents/manager/supplier/refs/rules/MUST-tool-identification.md +0 -112
  211. package/templates/agents/manager/supplier/refs/rules/SHOULD-ecomode.md +0 -145
  212. package/templates/agents/manager/supplier/refs/rules/SHOULD-error-handling.md +0 -102
  213. package/templates/agents/manager/supplier/refs/rules/SHOULD-hud-statusline.md +0 -89
  214. package/templates/agents/manager/supplier/refs/rules/SHOULD-interaction.md +0 -103
  215. package/templates/agents/manager/supplier/refs/rules/SHOULD-memory-integration.md +0 -114
  216. package/templates/agents/manager/supplier/refs/rules/SHOULD-pipeline-mode.md +0 -165
  217. package/templates/agents/manager/supplier/refs/rules/index.yaml +0 -125
  218. package/templates/agents/manager/supplier/refs/skills/backend/fastapi-best-practices/index.yaml +0 -25
  219. package/templates/agents/manager/supplier/refs/skills/backend/go-backend-best-practices/SKILL.md +0 -337
  220. package/templates/agents/manager/supplier/refs/skills/backend/go-backend-best-practices/index.yaml +0 -26
  221. package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/SKILL.md +0 -356
  222. package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/index.yaml +0 -27
  223. package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/SKILL.md +0 -202
  224. package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/index.yaml +0 -25
  225. package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/SKILL.md +0 -255
  226. package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/index.yaml +0 -27
  227. package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/SKILL.md +0 -221
  228. package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/index.yaml +0 -25
  229. package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/SKILL.md +0 -100
  230. package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/index.yaml +0 -39
  231. package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/SKILL.md +0 -266
  232. package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/index.yaml +0 -26
  233. package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/SKILL.md +0 -320
  234. package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/index.yaml +0 -28
  235. package/templates/agents/manager/supplier/refs/skills/development/vercel-deploy/index.yaml +0 -30
  236. package/templates/agents/manager/supplier/refs/skills/development/web-design-guidelines/index.yaml +0 -34
  237. package/templates/agents/manager/supplier/refs/skills/index.yaml +0 -129
  238. package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/SKILL.md +0 -279
  239. package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/index.yaml +0 -27
  240. package/templates/agents/manager/supplier/refs/skills/infrastructure/docker-best-practices/index.yaml +0 -26
  241. package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/SKILL.md +0 -214
  242. package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/index.yaml +0 -30
  243. package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/SKILL.md +0 -188
  244. package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/index.yaml +0 -27
  245. package/templates/agents/manager/supplier/refs/skills/system/memory-management/index.yaml +0 -30
  246. package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/SKILL.md +0 -163
  247. package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/index.yaml +0 -36
  248. package/templates/agents/manager/sync-checker/AGENT.md +0 -34
  249. package/templates/agents/manager/sync-checker/index.yaml +0 -32
  250. package/templates/agents/manager/updater/index.yaml +0 -31
  251. package/templates/agents/manager/updater/refs/rules/MAY-optimization.md +0 -93
  252. package/templates/agents/manager/updater/refs/rules/MUST-agent-design.md +0 -107
  253. package/templates/agents/manager/updater/refs/rules/MUST-agent-identification.md +0 -108
  254. package/templates/agents/manager/updater/refs/rules/MUST-continuous-improvement.md +0 -132
  255. package/templates/agents/manager/updater/refs/rules/MUST-intent-transparency.md +0 -199
  256. package/templates/agents/manager/updater/refs/rules/MUST-language-policy.md +0 -62
  257. package/templates/agents/manager/updater/refs/rules/MUST-orchestrator-coordination.md +0 -291
  258. package/templates/agents/manager/updater/refs/rules/MUST-parallel-execution.md +0 -341
  259. package/templates/agents/manager/updater/refs/rules/MUST-permissions.md +0 -84
  260. package/templates/agents/manager/updater/refs/rules/MUST-safety.md +0 -69
  261. package/templates/agents/manager/updater/refs/rules/MUST-sync-verification.md +0 -219
  262. package/templates/agents/manager/updater/refs/rules/MUST-tool-identification.md +0 -112
  263. package/templates/agents/manager/updater/refs/rules/SHOULD-ecomode.md +0 -145
  264. package/templates/agents/manager/updater/refs/rules/SHOULD-error-handling.md +0 -102
  265. package/templates/agents/manager/updater/refs/rules/SHOULD-hud-statusline.md +0 -89
  266. package/templates/agents/manager/updater/refs/rules/SHOULD-interaction.md +0 -103
  267. package/templates/agents/manager/updater/refs/rules/SHOULD-memory-integration.md +0 -114
  268. package/templates/agents/manager/updater/refs/rules/SHOULD-pipeline-mode.md +0 -165
  269. package/templates/agents/manager/updater/refs/rules/index.yaml +0 -125
  270. package/templates/agents/orchestrator/dev-lead/AGENT.md +0 -116
  271. package/templates/agents/orchestrator/dev-lead/index.yaml +0 -73
  272. package/templates/agents/orchestrator/planner/AGENT.md +0 -102
  273. package/templates/agents/orchestrator/planner/index.yaml +0 -38
  274. package/templates/agents/orchestrator/qa-lead/AGENT.md +0 -92
  275. package/templates/agents/orchestrator/qa-lead/index.yaml +0 -40
  276. package/templates/agents/orchestrator/secretary/AGENT.md +0 -132
  277. package/templates/agents/orchestrator/secretary/index.yaml +0 -55
  278. package/templates/agents/orchestrator/secretary/refs/rules/MAY-optimization.md +0 -93
  279. package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-design.md +0 -107
  280. package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-identification.md +0 -108
  281. package/templates/agents/orchestrator/secretary/refs/rules/MUST-continuous-improvement.md +0 -132
  282. package/templates/agents/orchestrator/secretary/refs/rules/MUST-intent-transparency.md +0 -199
  283. package/templates/agents/orchestrator/secretary/refs/rules/MUST-language-policy.md +0 -62
  284. package/templates/agents/orchestrator/secretary/refs/rules/MUST-orchestrator-coordination.md +0 -291
  285. package/templates/agents/orchestrator/secretary/refs/rules/MUST-parallel-execution.md +0 -341
  286. package/templates/agents/orchestrator/secretary/refs/rules/MUST-permissions.md +0 -84
  287. package/templates/agents/orchestrator/secretary/refs/rules/MUST-safety.md +0 -69
  288. package/templates/agents/orchestrator/secretary/refs/rules/MUST-sync-verification.md +0 -219
  289. package/templates/agents/orchestrator/secretary/refs/rules/MUST-tool-identification.md +0 -112
  290. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-ecomode.md +0 -145
  291. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-error-handling.md +0 -102
  292. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-hud-statusline.md +0 -89
  293. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-interaction.md +0 -103
  294. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-memory-integration.md +0 -114
  295. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-pipeline-mode.md +0 -165
  296. package/templates/agents/orchestrator/secretary/refs/rules/index.yaml +0 -125
  297. package/templates/agents/qa-team/qa-engineer/index.yaml +0 -59
  298. package/templates/agents/qa-team/qa-planner/index.yaml +0 -47
  299. package/templates/agents/qa-team/qa-writer/index.yaml +0 -44
  300. package/templates/agents/sw-architect/documenter/index.yaml +0 -39
  301. package/templates/agents/sw-architect/speckit-agent/index.yaml +0 -78
  302. package/templates/agents/sw-engineer/backend/express-expert/AGENT.md +0 -132
  303. package/templates/agents/sw-engineer/backend/express-expert/index.yaml +0 -36
  304. package/templates/agents/sw-engineer/backend/fastapi-expert/AGENT.md +0 -47
  305. package/templates/agents/sw-engineer/backend/fastapi-expert/index.yaml +0 -27
  306. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/best-practices.md +0 -232
  307. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/index.yaml +0 -21
  308. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/SKILL.md +0 -269
  309. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/index.yaml +0 -25
  310. package/templates/agents/sw-engineer/backend/go-backend-expert/AGENT.md +0 -47
  311. package/templates/agents/sw-engineer/backend/go-backend-expert/index.yaml +0 -27
  312. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/index.yaml +0 -26
  313. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/project-layout.md +0 -243
  314. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/uber-style.md +0 -212
  315. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/SKILL.md +0 -337
  316. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/index.yaml +0 -26
  317. package/templates/agents/sw-engineer/backend/nestjs-expert/AGENT.md +0 -107
  318. package/templates/agents/sw-engineer/backend/nestjs-expert/index.yaml +0 -43
  319. package/templates/agents/sw-engineer/backend/springboot-expert/AGENT.md +0 -103
  320. package/templates/agents/sw-engineer/backend/springboot-expert/index.yaml +0 -69
  321. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/best-practices.md +0 -361
  322. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/index.yaml +0 -22
  323. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/SKILL.md +0 -356
  324. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/index.yaml +0 -27
  325. package/templates/agents/sw-engineer/frontend/svelte-agent/index.yaml +0 -41
  326. package/templates/agents/sw-engineer/frontend/vercel-agent/AGENT.md +0 -67
  327. package/templates/agents/sw-engineer/frontend/vercel-agent/index.yaml +0 -43
  328. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/SKILL.md +0 -100
  329. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/index.yaml +0 -39
  330. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/SKILL.md +0 -73
  331. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/index.yaml +0 -30
  332. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/accessibility.md +0 -66
  333. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/index.yaml +0 -20
  334. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/performance.md +0 -102
  335. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/SKILL.md +0 -117
  336. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/index.yaml +0 -34
  337. package/templates/agents/sw-engineer/frontend/vuejs-agent/index.yaml +0 -48
  338. package/templates/agents/sw-engineer/language/golang-expert/AGENT.md +0 -47
  339. package/templates/agents/sw-engineer/language/golang-expert/index.yaml +0 -27
  340. package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/SKILL.md +0 -202
  341. package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/index.yaml +0 -25
  342. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/concurrency.md +0 -282
  343. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/effective-go.md +0 -309
  344. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/error-handling.md +0 -250
  345. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/index.yaml +0 -27
  346. package/templates/agents/sw-engineer/language/java21-expert/AGENT.md +0 -122
  347. package/templates/agents/sw-engineer/language/java21-expert/index.yaml +0 -51
  348. package/templates/agents/sw-engineer/language/kotlin-expert/AGENT.md +0 -47
  349. package/templates/agents/sw-engineer/language/kotlin-expert/index.yaml +0 -27
  350. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/coding-conventions.md +0 -247
  351. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/idioms.md +0 -234
  352. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/index.yaml +0 -26
  353. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin-best-practices/index.yaml +0 -27
  354. package/templates/agents/sw-engineer/language/python-expert/AGENT.md +0 -47
  355. package/templates/agents/sw-engineer/language/python-expert/index.yaml +0 -27
  356. package/templates/agents/sw-engineer/language/python-expert/refs/python/index.yaml +0 -26
  357. package/templates/agents/sw-engineer/language/python-expert/refs/python/pep8-style-guide.md +0 -202
  358. package/templates/agents/sw-engineer/language/python-expert/refs/python/zen-of-python.md +0 -79
  359. package/templates/agents/sw-engineer/language/python-expert/refs/python-best-practices/index.yaml +0 -25
  360. package/templates/agents/sw-engineer/language/rust-expert/AGENT.md +0 -47
  361. package/templates/agents/sw-engineer/language/rust-expert/index.yaml +0 -27
  362. package/templates/agents/sw-engineer/language/rust-expert/refs/rust/error-handling.md +0 -262
  363. package/templates/agents/sw-engineer/language/rust-expert/refs/rust/index.yaml +0 -26
  364. package/templates/agents/sw-engineer/language/rust-expert/refs/rust/ownership.md +0 -180
  365. package/templates/agents/sw-engineer/language/rust-expert/refs/rust-best-practices/index.yaml +0 -26
  366. package/templates/agents/sw-engineer/language/typescript-expert/AGENT.md +0 -47
  367. package/templates/agents/sw-engineer/language/typescript-expert/index.yaml +0 -27
  368. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/advanced-types.md +0 -225
  369. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/index.yaml +0 -26
  370. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/type-system.md +0 -219
  371. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/SKILL.md +0 -320
  372. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/index.yaml +0 -28
  373. package/templates/agents/sw-engineer/tooling/bun-expert/index.yaml +0 -46
  374. package/templates/agents/sw-engineer/tooling/npm-expert/AGENT.md +0 -160
  375. package/templates/agents/sw-engineer/tooling/npm-expert/index.yaml +0 -45
  376. package/templates/agents/sw-engineer/tooling/optimizer/AGENT.md +0 -170
  377. package/templates/agents/sw-engineer/tooling/optimizer/index.yaml +0 -45
  378. package/templates/agents/system/memory-keeper/AGENT.md +0 -126
  379. package/templates/agents/system/memory-keeper/index.yaml +0 -45
  380. package/templates/agents/system/naggy/AGENT.md +0 -72
  381. package/templates/agents/system/naggy/index.yaml +0 -35
  382. package/templates/agents/tutor/go-tutor/index.yaml +0 -48
  383. package/templates/commands/COMMANDS.md +0 -136
  384. package/templates/commands/creator/agent.md +0 -121
  385. package/templates/commands/git/branch.yaml +0 -8
  386. package/templates/commands/git/commit.yaml +0 -4
  387. package/templates/commands/git/pr.yaml +0 -4
  388. package/templates/commands/git/status.yaml +0 -4
  389. package/templates/commands/git/sync.yaml +0 -4
  390. package/templates/commands/index.yaml +0 -225
  391. package/templates/commands/intent/explain.md +0 -144
  392. package/templates/commands/naggy/add.yaml +0 -8
  393. package/templates/commands/naggy/done.yaml +0 -8
  394. package/templates/commands/naggy/list.yaml +0 -4
  395. package/templates/commands/naggy/priority.yaml +0 -11
  396. package/templates/commands/naggy/remind.yaml +0 -4
  397. package/templates/commands/npm/audit.yaml +0 -62
  398. package/templates/commands/npm/publish.yaml +0 -52
  399. package/templates/commands/npm/version.yaml +0 -62
  400. package/templates/commands/optimize/analyze.yaml +0 -34
  401. package/templates/commands/optimize/bundle.yaml +0 -50
  402. package/templates/commands/optimize/report.yaml +0 -56
  403. package/templates/commands/sauron/quick.yaml +0 -4
  404. package/templates/commands/sauron/report.yaml +0 -4
  405. package/templates/commands/sauron/watch.yaml +0 -4
  406. package/templates/commands/supplier/audit.md +0 -133
  407. package/templates/commands/supplier/fix.md +0 -121
  408. package/templates/commands/sync/agents.yaml +0 -4
  409. package/templates/commands/sync/check.yaml +0 -4
  410. package/templates/commands/sync/commands.yaml +0 -4
  411. package/templates/commands/sync/docs.yaml +0 -4
  412. package/templates/commands/sync/fix.yaml +0 -4
  413. package/templates/skills/backend/fastapi-best-practices/SKILL.md +0 -269
  414. package/templates/skills/backend/fastapi-best-practices/index.yaml +0 -25
  415. package/templates/skills/backend/go-backend-best-practices/index.yaml +0 -26
  416. package/templates/skills/backend/springboot-best-practices/index.yaml +0 -27
  417. package/templates/skills/development/go-best-practices/index.yaml +0 -25
  418. package/templates/skills/development/kotlin-best-practices/SKILL.md +0 -255
  419. package/templates/skills/development/kotlin-best-practices/index.yaml +0 -27
  420. package/templates/skills/development/python-best-practices/SKILL.md +0 -221
  421. package/templates/skills/development/python-best-practices/index.yaml +0 -25
  422. package/templates/skills/development/react-best-practices/index.yaml +0 -39
  423. package/templates/skills/development/rust-best-practices/SKILL.md +0 -266
  424. package/templates/skills/development/rust-best-practices/index.yaml +0 -26
  425. package/templates/skills/development/typescript-best-practices/index.yaml +0 -28
  426. package/templates/skills/development/vercel-deploy/SKILL.md +0 -73
  427. package/templates/skills/development/vercel-deploy/index.yaml +0 -30
  428. package/templates/skills/development/web-design-guidelines/SKILL.md +0 -117
  429. package/templates/skills/development/web-design-guidelines/index.yaml +0 -34
  430. package/templates/skills/index.yaml +0 -129
  431. package/templates/skills/infrastructure/aws-best-practices/index.yaml +0 -27
  432. package/templates/skills/infrastructure/docker-best-practices/SKILL.md +0 -274
  433. package/templates/skills/infrastructure/docker-best-practices/index.yaml +0 -26
  434. package/templates/skills/orchestration/intent-detection/index.yaml +0 -30
  435. package/templates/skills/orchestration/intent-detection/patterns/agent-triggers.yaml +0 -342
  436. package/templates/skills/orchestration/pipeline-execution/index.yaml +0 -27
  437. package/templates/skills/system/memory-management/SKILL.md +0 -194
  438. package/templates/skills/system/memory-management/index.yaml +0 -30
  439. package/templates/skills/system/result-aggregation/index.yaml +0 -36
@@ -1,232 +0,0 @@
1
- # FastAPI Best Practices
2
-
3
- > Source: https://fastapi.tiangolo.com/ and community patterns
4
-
5
- ## Project Structure
6
-
7
- Organize by domain, not by file type:
8
-
9
- ```
10
- src/
11
- ├── auth/
12
- │ ├── router.py # API endpoints
13
- │ ├── schemas.py # Pydantic models
14
- │ ├── models.py # Database models
15
- │ ├── service.py # Business logic
16
- │ ├── dependencies.py # Route validators
17
- │ └── exceptions.py # Custom exceptions
18
- ├── users/
19
- │ └── ...
20
- ├── config.py
21
- └── main.py
22
- ```
23
-
24
- ## Async Best Practices
25
-
26
- ### I/O-Intensive Tasks
27
-
28
- ```python
29
- # Use async def with await for non-blocking I/O
30
- async def fetch_user(user_id: int) -> User:
31
- async with httpx.AsyncClient() as client:
32
- response = await client.get(f"/api/users/{user_id}")
33
- return User(**response.json())
34
- ```
35
-
36
- ### Sync I/O Operations
37
-
38
- ```python
39
- # Use regular def - FastAPI offloads to threadpool
40
- def read_config() -> dict:
41
- with open("config.yaml") as f:
42
- return yaml.safe_load(f)
43
- ```
44
-
45
- ### CPU-Intensive Tasks
46
-
47
- ```python
48
- # Use separate worker processes
49
- from celery import Celery
50
-
51
- celery_app = Celery("tasks", broker="redis://localhost")
52
-
53
- @celery_app.task
54
- def process_data(data: dict) -> dict:
55
- # Heavy computation
56
- return result
57
- ```
58
-
59
- ### Never Do This
60
-
61
- ```python
62
- # WRONG: Blocks event loop
63
- async def bad_example():
64
- time.sleep(5) # Never use time.sleep in async!
65
-
66
- # CORRECT: Use asyncio.sleep
67
- async def good_example():
68
- await asyncio.sleep(5)
69
- ```
70
-
71
- ## Pydantic Models
72
-
73
- ### Custom Base Model
74
-
75
- ```python
76
- from pydantic import BaseModel
77
- from datetime import datetime
78
-
79
- class AppBaseModel(BaseModel):
80
- class Config:
81
- from_attributes = True
82
- json_encoders = {
83
- datetime: lambda v: v.isoformat()
84
- }
85
-
86
- class UserResponse(AppBaseModel):
87
- id: int
88
- email: str
89
- created_at: datetime
90
- ```
91
-
92
- ### Validation
93
-
94
- ```python
95
- from pydantic import BaseModel, EmailStr, Field, validator
96
-
97
- class UserCreate(BaseModel):
98
- email: EmailStr
99
- password: str = Field(..., min_length=8)
100
- age: int = Field(..., ge=18, le=120)
101
-
102
- @validator("password")
103
- def password_strength(cls, v):
104
- if not any(c.isupper() for c in v):
105
- raise ValueError("Password must contain uppercase")
106
- return v
107
- ```
108
-
109
- ## Dependencies
110
-
111
- ### Authentication
112
-
113
- ```python
114
- from fastapi import Depends, HTTPException
115
- from fastapi.security import OAuth2PasswordBearer
116
-
117
- oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
118
-
119
- async def get_current_user(
120
- token: str = Depends(oauth2_scheme),
121
- db: AsyncSession = Depends(get_db)
122
- ) -> User:
123
- user = await verify_token(token, db)
124
- if not user:
125
- raise HTTPException(status_code=401)
126
- return user
127
-
128
- async def get_active_user(
129
- user: User = Depends(get_current_user)
130
- ) -> User:
131
- if not user.is_active:
132
- raise HTTPException(status_code=403)
133
- return user
134
- ```
135
-
136
- ### Database Session
137
-
138
- ```python
139
- from sqlalchemy.ext.asyncio import AsyncSession
140
-
141
- async def get_db() -> AsyncGenerator[AsyncSession, None]:
142
- async with async_session() as session:
143
- try:
144
- yield session
145
- await session.commit()
146
- except Exception:
147
- await session.rollback()
148
- raise
149
- ```
150
-
151
- ## Error Handling
152
-
153
- ```python
154
- # Custom exceptions
155
- class AuthException(Exception):
156
- pass
157
-
158
- class InvalidCredentials(AuthException):
159
- pass
160
-
161
- # Exception handler
162
- @app.exception_handler(AuthException)
163
- async def auth_exception_handler(request, exc):
164
- return JSONResponse(
165
- status_code=401,
166
- content={"detail": str(exc)}
167
- )
168
-
169
- # In router
170
- @router.post("/login")
171
- async def login(credentials: LoginSchema):
172
- try:
173
- return await auth_service.login(credentials)
174
- except InvalidCredentials:
175
- raise HTTPException(status_code=401, detail="Invalid credentials")
176
- ```
177
-
178
- ## API Design
179
-
180
- ```python
181
- from fastapi import APIRouter
182
-
183
- router = APIRouter(
184
- prefix="/users",
185
- tags=["users"]
186
- )
187
-
188
- @router.get(
189
- "/{user_id}",
190
- response_model=UserResponse,
191
- summary="Get user by ID",
192
- responses={
193
- 404: {"model": ErrorResponse, "description": "User not found"}
194
- }
195
- )
196
- async def get_user(
197
- user_id: int,
198
- db: AsyncSession = Depends(get_db),
199
- current_user: User = Depends(get_current_user)
200
- ) -> UserResponse:
201
- """
202
- Get a specific user by their ID.
203
-
204
- - **user_id**: The unique identifier of the user
205
- """
206
- user = await user_service.get(db, user_id)
207
- if not user:
208
- raise HTTPException(status_code=404, detail="User not found")
209
- return user
210
- ```
211
-
212
- ## Testing
213
-
214
- ```python
215
- import pytest
216
- from httpx import AsyncClient
217
- from main import app
218
-
219
- @pytest.fixture
220
- async def client():
221
- async with AsyncClient(app=app, base_url="http://test") as ac:
222
- yield ac
223
-
224
- @pytest.mark.asyncio
225
- async def test_create_user(client: AsyncClient):
226
- response = await client.post(
227
- "/users/",
228
- json={"email": "test@example.com", "password": "Password123"}
229
- )
230
- assert response.status_code == 201
231
- assert response.json()["email"] == "test@example.com"
232
- ```
@@ -1,21 +0,0 @@
1
- # FastAPI Guide
2
-
3
- metadata:
4
- name: fastapi
5
- description: FastAPI framework reference documentation
6
-
7
- source:
8
- type: external
9
- origin: fastapi.tiangolo.com
10
- urls:
11
- - https://fastapi.tiangolo.com/
12
- - https://github.com/zhanymkanov/fastapi-best-practices
13
- last_fetched: "2026-01-22"
14
-
15
- documents:
16
- - name: best-practices
17
- path: ./best-practices.md
18
- description: FastAPI best practices and patterns
19
-
20
- used_by:
21
- - fastapi-expert
@@ -1,269 +0,0 @@
1
- # FastAPI Best Practices Skill
2
-
3
- > **Category**: Backend
4
- > **Source**: Internal (based on FastAPI docs and community patterns)
5
-
6
- ## Purpose
7
-
8
- Apply FastAPI patterns for building high-performance async APIs.
9
-
10
- ## Rules
11
-
12
- ### 1. Project Structure
13
-
14
- ```yaml
15
- structure:
16
- domain_based: true
17
- module_contents:
18
- - router.py: API endpoints
19
- - schemas.py: Pydantic models
20
- - models.py: Database models
21
- - service.py: Business logic
22
- - dependencies.py: Route validators
23
- - constants.py: Module constants
24
- - config.py: Module configuration
25
- - exceptions.py: Custom exceptions
26
- - utils.py: Helper functions
27
-
28
- imports:
29
- style: explicit
30
- example: "from src.auth import constants as auth_constants"
31
-
32
- layout: |
33
- src/
34
- ├── auth/
35
- │ ├── router.py
36
- │ ├── schemas.py
37
- │ ├── models.py
38
- │ ├── service.py
39
- │ └── dependencies.py
40
- ├── users/
41
- │ └── ...
42
- ├── config.py
43
- └── main.py
44
- ```
45
-
46
- ### 2. Async Patterns
47
-
48
- ```yaml
49
- io_intensive:
50
- use: "async def"
51
- await: "asyncio.sleep(), httpx, asyncpg, etc."
52
- example: |
53
- async def fetch_data():
54
- async with httpx.AsyncClient() as client:
55
- response = await client.get(url)
56
- return response.json()
57
-
58
- sync_io:
59
- use: "def (regular function)"
60
- reason: FastAPI offloads to threadpool automatically
61
- example: |
62
- def read_file():
63
- with open('file.txt') as f:
64
- return f.read()
65
-
66
- cpu_intensive:
67
- avoid: async and threadpool
68
- use: separate worker processes
69
- example: "Use Celery or multiprocessing"
70
-
71
- never:
72
- - "time.sleep() in async functions"
73
- - "Blocking I/O in async functions"
74
- ```
75
-
76
- ### 3. Pydantic Models
77
-
78
- ```yaml
79
- validation:
80
- use_builtin: regex, enums, email, URL validators
81
- custom_validators: for complex logic
82
-
83
- base_model:
84
- create_custom: true
85
- purpose: enforce application-wide standards
86
- example: |
87
- from pydantic import BaseModel
88
- from datetime import datetime
89
-
90
- class AppBaseModel(BaseModel):
91
- class Config:
92
- from_attributes = True
93
- json_encoders = {
94
- datetime: lambda v: v.isoformat()
95
- }
96
-
97
- settings:
98
- split: across modules
99
- avoid: single global configuration
100
- example: |
101
- # auth/config.py
102
- class AuthSettings(BaseSettings):
103
- jwt_secret: str
104
- jwt_algorithm: str = "HS256"
105
-
106
- # database/config.py
107
- class DatabaseSettings(BaseSettings):
108
- url: str
109
- pool_size: int = 5
110
- ```
111
-
112
- ### 4. Dependencies
113
-
114
- ```yaml
115
- usage:
116
- - Dependency injection
117
- - Validation against database
118
- - Authentication/authorization
119
- - Request scoped caching
120
-
121
- patterns:
122
- chain: avoid code repetition
123
- cache: FastAPI caches within request scope
124
- decouple: small, reusable functions
125
-
126
- example: |
127
- async def get_current_user(
128
- token: str = Depends(oauth2_scheme),
129
- db: Session = Depends(get_db)
130
- ) -> User:
131
- user = await db.get_user_by_token(token)
132
- if not user:
133
- raise HTTPException(status_code=401)
134
- return user
135
-
136
- async def get_active_user(
137
- user: User = Depends(get_current_user)
138
- ) -> User:
139
- if not user.is_active:
140
- raise HTTPException(status_code=403)
141
- return user
142
- ```
143
-
144
- ### 5. Error Handling
145
-
146
- ```yaml
147
- custom_exceptions:
148
- scope: module-specific
149
- purpose: clarity and consistency
150
-
151
- pattern: |
152
- # auth/exceptions.py
153
- class AuthException(Exception):
154
- pass
155
-
156
- class InvalidCredentials(AuthException):
157
- pass
158
-
159
- class TokenExpired(AuthException):
160
- pass
161
-
162
- # auth/router.py
163
- @router.post("/login")
164
- async def login(credentials: LoginSchema):
165
- try:
166
- return await auth_service.login(credentials)
167
- except InvalidCredentials:
168
- raise HTTPException(
169
- status_code=401,
170
- detail="Invalid credentials"
171
- )
172
-
173
- exception_handlers: |
174
- @app.exception_handler(AuthException)
175
- async def auth_exception_handler(request, exc):
176
- return JSONResponse(
177
- status_code=401,
178
- content={"detail": str(exc)}
179
- )
180
- ```
181
-
182
- ### 6. Database
183
-
184
- ```yaml
185
- naming:
186
- establish: upfront conventions
187
- consistency: across all models
188
-
189
- migrations:
190
- tool: Alembic
191
- naming: explicit naming rules
192
-
193
- design:
194
- approach: SQL-first
195
- then: add Pydantic models
196
-
197
- patterns: |
198
- # Use async database drivers
199
- from sqlalchemy.ext.asyncio import AsyncSession
200
-
201
- async def get_user(db: AsyncSession, user_id: int):
202
- result = await db.execute(
203
- select(User).where(User.id == user_id)
204
- )
205
- return result.scalar_one_or_none()
206
- ```
207
-
208
- ### 7. API Design
209
-
210
- ```yaml
211
- routing:
212
- prefix: meaningful module prefix
213
- tags: for documentation grouping
214
-
215
- responses:
216
- schema: always define response models
217
- status_codes: document all possible codes
218
-
219
- example: |
220
- router = APIRouter(
221
- prefix="/users",
222
- tags=["users"]
223
- )
224
-
225
- @router.get(
226
- "/{user_id}",
227
- response_model=UserResponse,
228
- responses={
229
- 404: {"model": ErrorResponse}
230
- }
231
- )
232
- async def get_user(user_id: int):
233
- ...
234
- ```
235
-
236
- ### 8. Testing
237
-
238
- ```yaml
239
- setup:
240
- async_client: from day one
241
- structure: mirror module layout
242
-
243
- patterns: |
244
- import pytest
245
- from httpx import AsyncClient
246
-
247
- @pytest.fixture
248
- async def client():
249
- async with AsyncClient(app=app, base_url="http://test") as ac:
250
- yield ac
251
-
252
- @pytest.mark.asyncio
253
- async def test_get_user(client):
254
- response = await client.get("/users/1")
255
- assert response.status_code == 200
256
- ```
257
-
258
- ## Application
259
-
260
- When writing FastAPI code:
261
-
262
- 1. **Always** use domain-based project structure
263
- 2. **Always** use `async def` for I/O operations
264
- 3. **Prefer** Pydantic for all validation
265
- 4. **Use** dependencies for reusable logic
266
- 5. **Define** module-specific exceptions
267
- 6. **Document** API with response models
268
- 7. **Test** with async client
269
- 8. **Use** Ruff for code quality
@@ -1,25 +0,0 @@
1
- # FastAPI Best Practices Skill
2
-
3
- metadata:
4
- name: fastapi-best-practices
5
- category: backend
6
- description: FastAPI patterns for high-performance async APIs
7
-
8
- source:
9
- type: internal
10
- reference:
11
- - https://fastapi.tiangolo.com/
12
- - https://github.com/zhanymkanov/fastapi-best-practices
13
-
14
- provides:
15
- - Project structure patterns
16
- - Async/await best practices
17
- - Pydantic validation patterns
18
- - Dependency injection design
19
- - Error handling patterns
20
- - Database integration
21
- - API design guidelines
22
- - Testing patterns
23
-
24
- used_by:
25
- - fastapi-expert
@@ -1,47 +0,0 @@
1
- # Go Backend Expert Agent
2
-
3
- > **Type**: Backend Engineer
4
- > **Source**: Internal
5
-
6
- ## Purpose
7
-
8
- Expert Go backend developer specialized in building production-ready services following Uber style guide and standard project layout.
9
-
10
- ## Capabilities
11
-
12
- 1. Design Go backend service architecture
13
- 2. Implement HTTP/gRPC servers
14
- 3. Apply Uber Go style guide
15
- 4. Structure projects using standard layout
16
- 5. Handle concurrency safely
17
- 6. Implement proper error handling
18
-
19
- ## When to Use
20
-
21
- - Building new Go backend services
22
- - Reviewing existing Go backend code
23
- - Designing microservices in Go
24
- - Implementing concurrent systems
25
- - Performance optimization
26
-
27
- ## Skills
28
-
29
- | Skill | Purpose |
30
- |-------|---------|
31
- | go-backend-best-practices | Go backend development patterns |
32
-
33
- ## Guides
34
-
35
- | Guide | Purpose |
36
- |-------|---------|
37
- | go-backend | Go backend reference documentation |
38
-
39
- ## Workflow
40
-
41
- ```
42
- 1. Understand requirements
43
- 2. Apply go-backend-best-practices skill
44
- 3. Reference go-backend guide for specifics
45
- 4. Write/review code with proper patterns
46
- 5. Ensure concurrency safety and error handling
47
- ```
@@ -1,27 +0,0 @@
1
- # Go Backend Expert Agent
2
-
3
- metadata:
4
- name: go-backend-expert
5
- type: sw-engineer/backend
6
- description: Expert Go backend developer with Uber style and standard layout
7
-
8
- source:
9
- type: internal
10
-
11
- capabilities:
12
- - Design Go backend architecture
13
- - Implement HTTP/gRPC servers
14
- - Apply Uber Go style guide
15
- - Structure with standard layout
16
- - Handle concurrency safely
17
- - Proper error handling
18
-
19
- skills:
20
- - name: go-backend-best-practices
21
- path: ../../../../skills/backend/go-backend-best-practices/
22
- required: true
23
-
24
- guides:
25
- - name: go-backend
26
- path: ../../../../guides/go-backend/
27
- required: true
@@ -1,26 +0,0 @@
1
- # Go Backend Guide
2
-
3
- metadata:
4
- name: go-backend
5
- description: Go backend development reference documentation
6
-
7
- source:
8
- type: external
9
- origin: various
10
- urls:
11
- - https://go.dev/doc/effective_go
12
- - https://github.com/golang-standards/project-layout
13
- - https://github.com/uber-go/guide/blob/master/style.md
14
- last_fetched: "2026-01-22"
15
-
16
- documents:
17
- - name: uber-style
18
- path: ./uber-style.md
19
- description: Uber Go style guide
20
-
21
- - name: project-layout
22
- path: ./project-layout.md
23
- description: Standard Go project layout
24
-
25
- used_by:
26
- - go-backend-expert