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,262 +0,0 @@
1
- # Dockerfile Best Practices
2
-
3
- > Source: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
4
-
5
- ## General Guidelines
6
-
7
- ### Create Ephemeral Containers
8
-
9
- Containers should be ephemeral - can be stopped, destroyed, and rebuilt with minimal setup.
10
-
11
- ### Understand Build Context
12
-
13
- ```bash
14
- # Entire directory sent to daemon
15
- docker build .
16
-
17
- # Use .dockerignore to exclude files
18
- # .dockerignore
19
- .git
20
- node_modules
21
- *.md
22
- ```
23
-
24
- ### Use Multi-Stage Builds
25
-
26
- ```dockerfile
27
- # Build stage
28
- FROM golang:1.21 AS builder
29
- WORKDIR /app
30
- COPY . .
31
- RUN go build -o myapp
32
-
33
- # Runtime stage
34
- FROM alpine:3.19
35
- COPY --from=builder /app/myapp /usr/local/bin/
36
- CMD ["myapp"]
37
- ```
38
-
39
- ## Dockerfile Instructions
40
-
41
- ### FROM
42
-
43
- ```dockerfile
44
- # Pin versions
45
- FROM ubuntu:22.04
46
-
47
- # Use digest for reproducibility
48
- FROM node:20@sha256:abc123...
49
-
50
- # Use official images
51
- FROM python:3.12-slim
52
- ```
53
-
54
- ### RUN
55
-
56
- ```dockerfile
57
- # Combine commands
58
- RUN apt-get update && apt-get install -y \
59
- curl \
60
- git \
61
- && rm -rf /var/lib/apt/lists/*
62
-
63
- # Use BuildKit cache
64
- RUN --mount=type=cache,target=/root/.cache/pip \
65
- pip install -r requirements.txt
66
- ```
67
-
68
- ### CMD vs ENTRYPOINT
69
-
70
- ```dockerfile
71
- # CMD: Default command (can be overridden)
72
- CMD ["python", "app.py"]
73
-
74
- # ENTRYPOINT: Fixed command
75
- ENTRYPOINT ["python"]
76
- CMD ["app.py"]
77
-
78
- # Combined
79
- ENTRYPOINT ["/docker-entrypoint.sh"]
80
- CMD ["postgres"]
81
- ```
82
-
83
- ### COPY vs ADD
84
-
85
- ```dockerfile
86
- # Prefer COPY (more explicit)
87
- COPY requirements.txt .
88
-
89
- # ADD only for tar extraction or URLs
90
- ADD archive.tar.gz /app/
91
- ```
92
-
93
- ### EXPOSE
94
-
95
- ```dockerfile
96
- # Documentation only
97
- EXPOSE 8080
98
- EXPOSE 443/tcp
99
- ```
100
-
101
- ### ENV
102
-
103
- ```dockerfile
104
- ENV APP_HOME=/app \
105
- PATH=$APP_HOME/bin:$PATH
106
-
107
- WORKDIR $APP_HOME
108
- ```
109
-
110
- ### VOLUME
111
-
112
- ```dockerfile
113
- # Named mount point
114
- VOLUME /data
115
- ```
116
-
117
- ### USER
118
-
119
- ```dockerfile
120
- # Create non-root user
121
- RUN groupadd -r app && useradd -r -g app app
122
- USER app
123
-
124
- # Or use existing
125
- USER nobody
126
- ```
127
-
128
- ### WORKDIR
129
-
130
- ```dockerfile
131
- # Always use absolute paths
132
- WORKDIR /app
133
- WORKDIR /app/src
134
- ```
135
-
136
- ### HEALTHCHECK
137
-
138
- ```dockerfile
139
- HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
140
- CMD curl -f http://localhost/ || exit 1
141
- ```
142
-
143
- ## Layer Optimization
144
-
145
- ### Order Matters
146
-
147
- ```dockerfile
148
- # 1. Install dependencies (changes rarely)
149
- COPY package.json package-lock.json ./
150
- RUN npm ci
151
-
152
- # 2. Copy source (changes often)
153
- COPY . .
154
-
155
- # 3. Build
156
- RUN npm run build
157
- ```
158
-
159
- ### Combine RUN Commands
160
-
161
- ```dockerfile
162
- # Good: Single layer
163
- RUN apt-get update && \
164
- apt-get install -y python3 && \
165
- rm -rf /var/lib/apt/lists/*
166
-
167
- # Bad: Multiple layers
168
- RUN apt-get update
169
- RUN apt-get install -y python3
170
- RUN rm -rf /var/lib/apt/lists/*
171
- ```
172
-
173
- ## Security Best Practices
174
-
175
- ### Don't Run as Root
176
-
177
- ```dockerfile
178
- FROM node:20
179
-
180
- RUN groupadd -r nodejs && useradd -r -g nodejs nodejs
181
- USER nodejs
182
-
183
- COPY --chown=nodejs:nodejs . .
184
- ```
185
-
186
- ### Don't Store Secrets
187
-
188
- ```dockerfile
189
- # Bad: Secret in image
190
- ENV API_KEY=secret123
191
-
192
- # Good: Pass at runtime
193
- # docker run -e API_KEY=secret123 myapp
194
- ```
195
-
196
- ### Use Official Images
197
-
198
- ```dockerfile
199
- # Official and verified
200
- FROM nginx:1.25
201
- FROM postgres:16
202
-
203
- # Minimal images
204
- FROM gcr.io/distroless/static
205
- FROM alpine:3.19
206
- ```
207
-
208
- ## Example Dockerfiles
209
-
210
- ### Node.js
211
-
212
- ```dockerfile
213
- FROM node:20-slim AS builder
214
- WORKDIR /app
215
- COPY package*.json ./
216
- RUN npm ci
217
- COPY . .
218
- RUN npm run build
219
-
220
- FROM node:20-slim
221
- WORKDIR /app
222
- COPY --from=builder /app/dist ./dist
223
- COPY --from=builder /app/node_modules ./node_modules
224
- USER node
225
- EXPOSE 3000
226
- CMD ["node", "dist/server.js"]
227
- ```
228
-
229
- ### Python
230
-
231
- ```dockerfile
232
- FROM python:3.12-slim AS builder
233
- WORKDIR /app
234
- RUN pip install --user pipenv
235
- COPY Pipfile Pipfile.lock ./
236
- RUN pipenv install --system --deploy
237
-
238
- FROM python:3.12-slim
239
- WORKDIR /app
240
- COPY --from=builder /root/.local /root/.local
241
- COPY . .
242
- ENV PATH=/root/.local/bin:$PATH
243
- USER nobody
244
- EXPOSE 8000
245
- CMD ["gunicorn", "-b", "0.0.0.0:8000", "app:app"]
246
- ```
247
-
248
- ### Go
249
-
250
- ```dockerfile
251
- FROM golang:1.21-alpine AS builder
252
- WORKDIR /app
253
- COPY go.mod go.sum ./
254
- RUN go mod download
255
- COPY . .
256
- RUN CGO_ENABLED=0 GOOS=linux go build -o /app/server
257
-
258
- FROM scratch
259
- COPY --from=builder /app/server /server
260
- EXPOSE 8080
261
- ENTRYPOINT ["/server"]
262
- ```
@@ -1,26 +0,0 @@
1
- # Docker Guide
2
-
3
- metadata:
4
- name: docker
5
- description: Docker containerization reference documentation
6
-
7
- source:
8
- type: external
9
- origin: docker.com
10
- urls:
11
- - https://docs.docker.com/
12
- - https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
13
- - https://docs.docker.com/compose/compose-file/best-practices/
14
- last_fetched: "2026-01-22"
15
-
16
- documents:
17
- - name: dockerfile-best-practices
18
- path: ./dockerfile-best-practices.md
19
- description: Dockerfile best practices
20
-
21
- - name: compose-best-practices
22
- path: ./compose-best-practices.md
23
- description: Docker Compose best practices
24
-
25
- used_by:
26
- - docker-expert
@@ -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,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