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,309 +0,0 @@
1
- # Effective Go Reference
2
-
3
- > Source: https://go.dev/doc/effective_go
4
-
5
- ## Introduction
6
-
7
- Go is a new language. Although it borrows ideas from existing languages, it has unusual properties that make effective Go programs different in character from programs written in its relatives. A straightforward translation of a C++ or Java program into Go is unlikely to produce a satisfactory result—Java programs are written in Java, not Go.
8
-
9
- ## Formatting
10
-
11
- Use `gofmt` (or `goimports`) to format all Go code. This eliminates formatting debates and ensures consistency.
12
-
13
- Key points:
14
- - Indentation: tabs, not spaces
15
- - No line length limit (but break long lines sensibly)
16
- - Fewer parentheses than C/Java
17
-
18
- ## Commentary
19
-
20
- Go provides C-style `/* */` block comments and C++-style `//` line comments.
21
-
22
- - Package comments: precede package clause, block comment for multi-line
23
- - Doc comments: precede declarations, complete sentences starting with name
24
- - `godoc` extracts documentation from comments
25
-
26
- Example:
27
- ```go
28
- // Package regexp implements a simple library for regular expressions.
29
- package regexp
30
-
31
- // Compile parses a regular expression and returns, if successful,
32
- // a Regexp that can be used to match against text.
33
- func Compile(str string) (*Regexp, error) {
34
- ```
35
-
36
- ## Names
37
-
38
- ### Package Names
39
-
40
- - Short, concise, lowercase, single-word names
41
- - No underscores or mixedCaps
42
- - Name is the base name of its source directory
43
- - Don't stutter: `bufio.Reader`, not `bufio.BufReader`
44
-
45
- ### Getters
46
-
47
- - Don't use "Get" prefix
48
- - `owner := obj.Owner()` not `obj.GetOwner()`
49
- - Setters can use "Set": `obj.SetOwner(user)`
50
-
51
- ### Interface Names
52
-
53
- - One-method interfaces: method name + "-er" suffix
54
- - `Reader`, `Writer`, `Formatter`, `Notifier`
55
-
56
- ### MixedCaps
57
-
58
- - Use `MixedCaps` or `mixedCaps` rather than underscores
59
- - Exported: `MixedCaps` (capital first letter)
60
- - Unexported: `mixedCaps` (lowercase first letter)
61
-
62
- ## Control Structures
63
-
64
- ### If
65
-
66
- ```go
67
- // With initialization statement
68
- if err := file.Chmod(0664); err != nil {
69
- log.Print(err)
70
- return err
71
- }
72
-
73
- // Avoid unnecessary else
74
- if err != nil {
75
- return err
76
- }
77
- // continue normal flow
78
- ```
79
-
80
- ### For
81
-
82
- ```go
83
- // Like C's for
84
- for init; condition; post { }
85
-
86
- // Like C's while
87
- for condition { }
88
-
89
- // Like C's for(;;)
90
- for { }
91
-
92
- // Range over slice
93
- for key, value := range oldMap {
94
- newMap[key] = value
95
- }
96
-
97
- // Range over string (runes)
98
- for pos, char := range "日本語" {
99
- fmt.Printf("character %c starts at byte position %d\n", char, pos)
100
- }
101
- ```
102
-
103
- ### Switch
104
-
105
- ```go
106
- // No automatic fallthrough
107
- switch c {
108
- case ' ', '?', '&', '=', '#', '+', '%':
109
- return true
110
- }
111
-
112
- // Type switch
113
- switch t := t.(type) {
114
- case bool:
115
- fmt.Printf("boolean %t\n", t)
116
- case int:
117
- fmt.Printf("integer %d\n", t)
118
- }
119
- ```
120
-
121
- ## Functions
122
-
123
- ### Multiple Return Values
124
-
125
- ```go
126
- func (file *File) Write(b []byte) (n int, err error)
127
- ```
128
-
129
- ### Named Result Parameters
130
-
131
- ```go
132
- func ReadFull(r Reader, buf []byte) (n int, err error) {
133
- for len(buf) > 0 && err == nil {
134
- var nr int
135
- nr, err = r.Read(buf)
136
- n += nr
137
- buf = buf[nr:]
138
- }
139
- return
140
- }
141
- ```
142
-
143
- ### Defer
144
-
145
- ```go
146
- func Contents(filename string) (string, error) {
147
- f, err := os.Open(filename)
148
- if err != nil {
149
- return "", err
150
- }
151
- defer f.Close() // f.Close will run when we're finished.
152
- // ...
153
- }
154
- ```
155
-
156
- ## Data
157
-
158
- ### Allocation with new
159
-
160
- `new(T)` allocates zeroed storage for a new item of type `T` and returns its address, a value of type `*T`.
161
-
162
- ```go
163
- p := new(SyncedBuffer) // type *SyncedBuffer
164
- var v SyncedBuffer // type SyncedBuffer
165
- ```
166
-
167
- ### Allocation with make
168
-
169
- `make(T, args)` creates slices, maps, and channels only. It returns an initialized (not zeroed) value of type `T` (not `*T`).
170
-
171
- ```go
172
- make([]int, 10, 100) // slice with len=10, cap=100
173
- make(map[string]int) // map
174
- make(chan int, 100) // buffered channel
175
- ```
176
-
177
- ### Arrays and Slices
178
-
179
- ```go
180
- // Array - fixed size, value type
181
- var a [10]int
182
-
183
- // Slice - dynamic size, reference to array
184
- s := make([]int, 10)
185
- s = append(s, 1, 2, 3)
186
- ```
187
-
188
- ### Maps
189
-
190
- ```go
191
- m := make(map[string]int)
192
- m["key"] = 42
193
-
194
- // Comma ok idiom
195
- if val, ok := m["key"]; ok {
196
- // key exists
197
- }
198
-
199
- delete(m, "key")
200
- ```
201
-
202
- ## Methods
203
-
204
- ### Pointer vs Value Receivers
205
-
206
- ```go
207
- // Value receiver - operates on copy
208
- func (s MyStruct) ValueMethod() { }
209
-
210
- // Pointer receiver - can modify, avoids copy
211
- func (s *MyStruct) PointerMethod() { }
212
- ```
213
-
214
- Rule: If any method needs a pointer receiver, all methods on that type should have pointer receivers.
215
-
216
- ## Interfaces
217
-
218
- ```go
219
- type Reader interface {
220
- Read(p []byte) (n int, err error)
221
- }
222
-
223
- type Writer interface {
224
- Write(p []byte) (n int, err error)
225
- }
226
-
227
- // Composition
228
- type ReadWriter interface {
229
- Reader
230
- Writer
231
- }
232
- ```
233
-
234
- ## Embedding
235
-
236
- ```go
237
- type ReadWriter struct {
238
- *Reader // embedded
239
- *Writer // embedded
240
- }
241
- ```
242
-
243
- ## Concurrency
244
-
245
- ### Goroutines
246
-
247
- ```go
248
- go list.Sort() // run list.Sort concurrently
249
- ```
250
-
251
- ### Channels
252
-
253
- ```go
254
- ci := make(chan int) // unbuffered channel of integers
255
- cj := make(chan int, 0) // unbuffered channel of integers
256
- cs := make(chan *os.File, 100) // buffered channel of pointers to Files
257
-
258
- c <- 1 // send
259
- v := <-c // receive
260
- ```
261
-
262
- ### Select
263
-
264
- ```go
265
- select {
266
- case v := <-ch1:
267
- fmt.Println("received from ch1:", v)
268
- case ch2 <- 42:
269
- fmt.Println("sent to ch2")
270
- default:
271
- fmt.Println("no communication")
272
- }
273
- ```
274
-
275
- ## Errors
276
-
277
- ```go
278
- type error interface {
279
- Error() string
280
- }
281
-
282
- // Creating errors
283
- errors.New("message")
284
- fmt.Errorf("operation failed: %w", err)
285
-
286
- // Checking errors
287
- if err != nil {
288
- return err
289
- }
290
- ```
291
-
292
- ## Panic and Recover
293
-
294
- ```go
295
- func server(workChan <-chan *Work) {
296
- for work := range workChan {
297
- go safelyDo(work)
298
- }
299
- }
300
-
301
- func safelyDo(work *Work) {
302
- defer func() {
303
- if err := recover(); err != nil {
304
- log.Println("work failed:", err)
305
- }
306
- }()
307
- do(work)
308
- }
309
- ```
@@ -1,250 +0,0 @@
1
- # Go Error Handling
2
-
3
- > Reference for error handling patterns in Go
4
-
5
- ## Error Interface
6
-
7
- ```go
8
- type error interface {
9
- Error() string
10
- }
11
- ```
12
-
13
- Errors are values. They can be stored, passed, and compared.
14
-
15
- ## Creating Errors
16
-
17
- ### Simple Errors
18
-
19
- ```go
20
- import "errors"
21
-
22
- err := errors.New("something went wrong")
23
- ```
24
-
25
- ### Formatted Errors
26
-
27
- ```go
28
- import "fmt"
29
-
30
- err := fmt.Errorf("failed to process %s: %v", filename, err)
31
- ```
32
-
33
- ### Custom Error Types
34
-
35
- ```go
36
- type MyError struct {
37
- Code int
38
- Message string
39
- }
40
-
41
- func (e *MyError) Error() string {
42
- return fmt.Sprintf("error %d: %s", e.Code, e.Message)
43
- }
44
- ```
45
-
46
- ## Handling Errors
47
-
48
- ### Basic Pattern
49
-
50
- ```go
51
- result, err := doSomething()
52
- if err != nil {
53
- return err
54
- }
55
- // use result
56
- ```
57
-
58
- ### Adding Context
59
-
60
- ```go
61
- result, err := doSomething()
62
- if err != nil {
63
- return fmt.Errorf("doSomething failed: %w", err)
64
- }
65
- ```
66
-
67
- ### Multiple Returns
68
-
69
- ```go
70
- func divide(a, b float64) (float64, error) {
71
- if b == 0 {
72
- return 0, errors.New("division by zero")
73
- }
74
- return a / b, nil
75
- }
76
- ```
77
-
78
- ## Error Wrapping (Go 1.13+)
79
-
80
- ### Wrapping Errors
81
-
82
- ```go
83
- // Use %w verb to wrap
84
- if err != nil {
85
- return fmt.Errorf("operation failed: %w", err)
86
- }
87
- ```
88
-
89
- ### Unwrapping Errors
90
-
91
- ```go
92
- // errors.Unwrap returns the wrapped error
93
- inner := errors.Unwrap(err)
94
-
95
- // errors.Is checks if any error in chain matches
96
- if errors.Is(err, os.ErrNotExist) {
97
- // handle file not found
98
- }
99
-
100
- // errors.As finds first error matching type
101
- var pathErr *os.PathError
102
- if errors.As(err, &pathErr) {
103
- fmt.Println("failed path:", pathErr.Path)
104
- }
105
- ```
106
-
107
- ## Sentinel Errors
108
-
109
- ```go
110
- var (
111
- ErrNotFound = errors.New("not found")
112
- ErrUnauthorized = errors.New("unauthorized")
113
- ErrInvalid = errors.New("invalid input")
114
- )
115
-
116
- func fetch(id string) (*Item, error) {
117
- item, ok := store[id]
118
- if !ok {
119
- return nil, ErrNotFound
120
- }
121
- return item, nil
122
- }
123
-
124
- // Usage
125
- item, err := fetch("123")
126
- if errors.Is(err, ErrNotFound) {
127
- // handle not found
128
- }
129
- ```
130
-
131
- ## Error Handling Strategies
132
-
133
- ### Fail Fast
134
-
135
- ```go
136
- func process() error {
137
- if err := step1(); err != nil {
138
- return err
139
- }
140
- if err := step2(); err != nil {
141
- return err
142
- }
143
- return step3()
144
- }
145
- ```
146
-
147
- ### Deferred Cleanup
148
-
149
- ```go
150
- func processFile(path string) (err error) {
151
- f, err := os.Open(path)
152
- if err != nil {
153
- return err
154
- }
155
- defer func() {
156
- if cerr := f.Close(); cerr != nil && err == nil {
157
- err = cerr
158
- }
159
- }()
160
- // process file
161
- return nil
162
- }
163
- ```
164
-
165
- ### Error Aggregation
166
-
167
- ```go
168
- type MultiError []error
169
-
170
- func (m MultiError) Error() string {
171
- var msgs []string
172
- for _, err := range m {
173
- msgs = append(msgs, err.Error())
174
- }
175
- return strings.Join(msgs, "; ")
176
- }
177
-
178
- func validateAll(items []Item) error {
179
- var errs MultiError
180
- for _, item := range items {
181
- if err := validate(item); err != nil {
182
- errs = append(errs, err)
183
- }
184
- }
185
- if len(errs) > 0 {
186
- return errs
187
- }
188
- return nil
189
- }
190
- ```
191
-
192
- ## Panic and Recover
193
-
194
- ### When to Panic
195
-
196
- - Unrecoverable errors during initialization
197
- - Programming errors (nil pointer, out of bounds)
198
- - Violation of invariants
199
-
200
- ```go
201
- func MustCompile(pattern string) *Regexp {
202
- re, err := Compile(pattern)
203
- if err != nil {
204
- panic(err)
205
- }
206
- return re
207
- }
208
- ```
209
-
210
- ### Recovering from Panic
211
-
212
- ```go
213
- func safeCall(fn func()) (err error) {
214
- defer func() {
215
- if r := recover(); r != nil {
216
- err = fmt.Errorf("panic recovered: %v", r)
217
- }
218
- }()
219
- fn()
220
- return nil
221
- }
222
- ```
223
-
224
- ### Package Boundary Rule
225
-
226
- - Convert panics to errors at package boundaries
227
- - Don't let panics escape your API
228
-
229
- ```go
230
- func (s *Server) handleRequest(w http.ResponseWriter, r *http.Request) {
231
- defer func() {
232
- if err := recover(); err != nil {
233
- log.Printf("panic: %v\n%s", err, debug.Stack())
234
- http.Error(w, "Internal Server Error", 500)
235
- }
236
- }()
237
- // handle request
238
- }
239
- ```
240
-
241
- ## Best Practices
242
-
243
- 1. **Handle errors immediately** after the call
244
- 2. **Add context** when propagating errors
245
- 3. **Use error wrapping** with `%w` for error chains
246
- 4. **Define sentinel errors** for known conditions
247
- 5. **Don't ignore errors** (at minimum, log them)
248
- 6. **Prefer errors over panics** in library code
249
- 7. **Document error returns** in function comments
250
- 8. **Test error paths** as thoroughly as success paths
@@ -1,27 +0,0 @@
1
- # Golang Guide
2
-
3
- metadata:
4
- name: golang
5
- description: Go language reference documentation
6
-
7
- source:
8
- type: external
9
- origin: go.dev
10
- url: https://go.dev/doc/effective_go
11
- last_fetched: "2026-01-22"
12
-
13
- documents:
14
- - name: effective-go
15
- path: ./effective-go.md
16
- description: Effective Go - official best practices guide
17
-
18
- - name: concurrency
19
- path: ./concurrency.md
20
- description: Concurrency patterns and practices
21
-
22
- - name: error-handling
23
- path: ./error-handling.md
24
- description: Error handling patterns
25
-
26
- used_by:
27
- - golang-expert
@@ -1,122 +0,0 @@
1
- # Java 21 Expert Agent
2
-
3
- > **Type**: SW Engineer
4
- > **Source**: Internal
5
-
6
- ## Purpose
7
-
8
- Expert Java 21 developer specialized in modern Java features including Virtual Threads, Pattern Matching, Record Patterns, and Sequenced Collections.
9
-
10
- ## Capabilities
11
-
12
- 1. Write modern Java 21 code leveraging latest language features
13
- 2. Implement Virtual Threads (JEP 444) for scalable concurrent applications
14
- 3. Apply Pattern Matching for switch expressions and instanceof
15
- 4. Use Record Patterns (JEP 440) for data decomposition
16
- 5. Leverage Sequenced Collections (JEP 431) for ordered data structures
17
- 6. Follow Google Java Style Guide and best practices
18
- 7. Migrate legacy Java code to modern Java 21 idioms
19
-
20
- ## When to Use
21
-
22
- - Writing new Java 21 applications or libraries
23
- - Reviewing existing Java code for modernization opportunities
24
- - Implementing high-concurrency systems with Virtual Threads
25
- - Designing data-centric APIs with Records and Sealed Classes
26
- - Migrating from older Java versions to Java 21
27
-
28
- ## Key Java 21 Features
29
-
30
- | Feature | JEP | Description |
31
- |---------|-----|-------------|
32
- | Virtual Threads | JEP 444 | Lightweight threads for scalable concurrency |
33
- | Pattern Matching for switch | - | Exhaustive switch with type patterns |
34
- | Record Patterns | JEP 440 | Deconstruct record values in patterns |
35
- | Sequenced Collections | JEP 431 | Collections with defined encounter order |
36
-
37
- ## Reference Documentation
38
-
39
- | Resource | URL |
40
- |----------|-----|
41
- | JDK 21 Documentation | https://docs.oracle.com/en/java/javase/21/ |
42
- | JDK 21 Guides | https://docs.oracle.com/en/java/javase/21/books.html |
43
- | JEPs since JDK 17 | https://openjdk.org/projects/jdk/21/jeps-since-jdk-17 |
44
- | Google Java Style Guide | https://google.github.io/styleguide/javaguide.html |
45
-
46
- ## Skills
47
-
48
- | Skill | Purpose |
49
- |-------|---------|
50
- | java21-best-practices | Core Java 21 development guidelines |
51
-
52
- ## Guides
53
-
54
- | Guide | Purpose |
55
- |-------|---------|
56
- | java21 | Reference documentation from official JDK 21 docs |
57
-
58
- ## Workflow
59
-
60
- ```
61
- 1. Understand requirements
62
- 2. Apply java21-best-practices skill
63
- 3. Reference java21 guide for specific patterns
64
- 4. Write/review code with modern Java 21 features
65
- 5. Ensure proper use of Virtual Threads, Pattern Matching, Records
66
- 6. Follow Google Java Style Guide for formatting
67
- ```
68
-
69
- ## Code Examples
70
-
71
- ### Virtual Threads (JEP 444)
72
-
73
- ```java
74
- // Create virtual threads for high-concurrency tasks
75
- try (var executor = Executors.newVirtualThreadPerTaskExecutor()) {
76
- IntStream.range(0, 10_000).forEach(i -> {
77
- executor.submit(() -> {
78
- Thread.sleep(Duration.ofSeconds(1));
79
- return i;
80
- });
81
- });
82
- }
83
- ```
84
-
85
- ### Record Patterns (JEP 440)
86
-
87
- ```java
88
- record Point(int x, int y) {}
89
- record Rectangle(Point topLeft, Point bottomRight) {}
90
-
91
- static void printRectangle(Rectangle r) {
92
- if (r instanceof Rectangle(Point(var x1, var y1), Point(var x2, var y2))) {
93
- System.out.printf("Rectangle from (%d,%d) to (%d,%d)%n", x1, y1, x2, y2);
94
- }
95
- }
96
- ```
97
-
98
- ### Pattern Matching for switch
99
-
100
- ```java
101
- static String format(Object obj) {
102
- return switch (obj) {
103
- case Integer i -> String.format("int %d", i);
104
- case Long l -> String.format("long %d", l);
105
- case Double d -> String.format("double %f", d);
106
- case String s -> String.format("String %s", s);
107
- case null -> "null";
108
- default -> obj.toString();
109
- };
110
- }
111
- ```
112
-
113
- ### Sequenced Collections (JEP 431)
114
-
115
- ```java
116
- SequencedCollection<String> list = new ArrayList<>();
117
- list.addFirst("first");
118
- list.addLast("last");
119
- String first = list.getFirst();
120
- String last = list.getLast();
121
- SequencedCollection<String> reversed = list.reversed();
122
- ```