oh-my-customcode 0.1.4 → 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 (436) 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 +156 -113
  45. package/templates/.claude/rules/MUST-parallel-execution.md +28 -28
  46. package/templates/.claude/rules/MUST-sync-verification.md +52 -45
  47. package/templates/.claude/rules/MUST-tool-identification.md +12 -14
  48. package/templates/.claude/rules/SHOULD-ecomode.md +3 -3
  49. package/templates/.claude/rules/SHOULD-hud-statusline.md +4 -4
  50. package/templates/.claude/rules/SHOULD-memory-integration.md +4 -4
  51. package/templates/.claude/rules/SHOULD-pipeline-mode.md +1 -1
  52. package/templates/.claude/skills/audit-agents/SKILL.md +116 -0
  53. package/templates/{skills/infrastructure → .claude/skills}/aws-best-practices/SKILL.md +4 -4
  54. package/templates/.claude/skills/create-agent/SKILL.md +91 -0
  55. package/templates/.claude/skills/dev-lead-routing/SKILL.md +238 -0
  56. package/templates/{commands/dev/refactor.md → .claude/skills/dev-refactor/SKILL.md} +17 -20
  57. package/templates/{commands/dev/review.md → .claude/skills/dev-review/SKILL.md} +16 -17
  58. package/templates/{agents/manager/supplier/refs/skills/infrastructure → .claude/skills}/docker-best-practices/SKILL.md +4 -4
  59. package/templates/{agents/manager/supplier/refs/skills/backend → .claude/skills}/fastapi-best-practices/SKILL.md +4 -4
  60. package/templates/.claude/skills/fix-refs/SKILL.md +107 -0
  61. package/templates/{agents/manager/supplier/refs/skills/backend → .claude/skills}/go-backend-best-practices/SKILL.md +4 -4
  62. package/templates/{skills/development → .claude/skills}/go-best-practices/SKILL.md +4 -4
  63. package/templates/{commands/system/help.md → .claude/skills/help/SKILL.md} +34 -46
  64. package/templates/{skills/orchestration → .claude/skills}/intent-detection/SKILL.md +14 -14
  65. package/templates/{agents/manager/supplier/refs/skills/orchestration → .claude/skills}/intent-detection/patterns/agent-triggers.yaml +117 -110
  66. package/templates/{agents/sw-engineer/language/kotlin-expert/refs → .claude/skills}/kotlin-best-practices/SKILL.md +4 -4
  67. package/templates/{commands/system/lists.md → .claude/skills/lists/SKILL.md} +25 -33
  68. package/templates/{agents/manager/supplier/refs/skills/system → .claude/skills}/memory-management/SKILL.md +10 -10
  69. package/templates/{commands/memory/recall.md → .claude/skills/memory-recall/SKILL.md} +31 -43
  70. package/templates/{commands/memory/save.md → .claude/skills/memory-save/SKILL.md} +27 -29
  71. package/templates/.claude/skills/npm-audit/SKILL.md +72 -0
  72. package/templates/.claude/skills/npm-publish/SKILL.md +63 -0
  73. package/templates/.claude/skills/npm-version/SKILL.md +75 -0
  74. package/templates/.claude/skills/optimize-analyze/SKILL.md +55 -0
  75. package/templates/.claude/skills/optimize-bundle/SKILL.md +67 -0
  76. package/templates/.claude/skills/optimize-report/SKILL.md +74 -0
  77. package/templates/{skills/orchestration → .claude/skills}/pipeline-execution/SKILL.md +4 -4
  78. package/templates/{commands/pipeline/list.md → .claude/skills/pipeline-list/SKILL.md} +11 -18
  79. package/templates/{commands/pipeline/run.md → .claude/skills/pipeline-run/SKILL.md} +38 -22
  80. package/templates/{agents/sw-engineer/language/python-expert/refs → .claude/skills}/python-best-practices/SKILL.md +4 -4
  81. package/templates/.claude/skills/qa-lead-routing/SKILL.md +277 -0
  82. package/templates/{skills/development → .claude/skills}/react-best-practices/SKILL.md +4 -4
  83. package/templates/{skills/system → .claude/skills}/result-aggregation/SKILL.md +17 -17
  84. package/templates/{agents/sw-engineer/language/rust-expert/refs → .claude/skills}/rust-best-practices/SKILL.md +4 -4
  85. package/templates/.claude/skills/sauron-watch/SKILL.md +144 -0
  86. package/templates/.claude/skills/secretary-routing/SKILL.md +178 -0
  87. package/templates/{skills/backend → .claude/skills}/springboot-best-practices/SKILL.md +4 -4
  88. package/templates/{commands/system/status.md → .claude/skills/status/SKILL.md} +29 -39
  89. package/templates/.claude/skills/supabase-postgres-best-practices/SKILL.md +98 -0
  90. package/templates/{skills/development → .claude/skills}/typescript-best-practices/SKILL.md +4 -4
  91. package/templates/{commands/updater/docs.md → .claude/skills/update-docs/SKILL.md} +71 -96
  92. package/templates/{commands/updater/external.md → .claude/skills/update-external/SKILL.md} +34 -99
  93. package/templates/{agents/manager/supplier/refs/skills/development → .claude/skills}/vercel-deploy/SKILL.md +4 -4
  94. package/templates/{agents/manager/supplier/refs/skills/development → .claude/skills}/web-design-guidelines/SKILL.md +4 -4
  95. package/templates/CLAUDE.md.en +71 -70
  96. package/templates/CLAUDE.md.ko +64 -64
  97. package/templates/guides/aws/index.yaml +1 -1
  98. package/templates/guides/docker/index.yaml +1 -1
  99. package/templates/guides/fastapi/index.yaml +1 -1
  100. package/templates/guides/go-backend/index.yaml +1 -1
  101. package/templates/guides/golang/index.yaml +1 -1
  102. package/templates/guides/index.yaml +9 -0
  103. package/templates/guides/kotlin/index.yaml +1 -1
  104. package/templates/guides/python/index.yaml +1 -1
  105. package/templates/guides/rust/index.yaml +1 -1
  106. package/templates/guides/springboot/index.yaml +1 -1
  107. package/templates/guides/supabase-postgres/README.md +32 -0
  108. package/templates/guides/supabase-postgres/index.yaml +19 -0
  109. package/templates/guides/typescript/index.yaml +1 -1
  110. package/templates/manifest.json +9 -15
  111. package/templates/pipelines/examples/code-review.yaml +1 -1
  112. package/templates/agents/index.yaml +0 -243
  113. package/templates/agents/infra-engineer/aws-expert/AGENT.md +0 -47
  114. package/templates/agents/infra-engineer/aws-expert/index.yaml +0 -27
  115. package/templates/agents/infra-engineer/aws-expert/refs/aws/common-patterns.md +0 -169
  116. package/templates/agents/infra-engineer/aws-expert/refs/aws/index.yaml +0 -26
  117. package/templates/agents/infra-engineer/aws-expert/refs/aws/well-architected.md +0 -143
  118. package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/SKILL.md +0 -279
  119. package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/index.yaml +0 -27
  120. package/templates/agents/infra-engineer/docker-expert/AGENT.md +0 -47
  121. package/templates/agents/infra-engineer/docker-expert/index.yaml +0 -27
  122. package/templates/agents/infra-engineer/docker-expert/refs/docker/compose-best-practices.md +0 -284
  123. package/templates/agents/infra-engineer/docker-expert/refs/docker/dockerfile-best-practices.md +0 -262
  124. package/templates/agents/infra-engineer/docker-expert/refs/docker/index.yaml +0 -26
  125. package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/SKILL.md +0 -274
  126. package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/index.yaml +0 -26
  127. package/templates/agents/manager/creator/AGENT.md +0 -274
  128. package/templates/agents/manager/creator/index.yaml +0 -66
  129. package/templates/agents/manager/creator/refs/rules/MAY-optimization.md +0 -93
  130. package/templates/agents/manager/creator/refs/rules/MUST-agent-design.md +0 -107
  131. package/templates/agents/manager/creator/refs/rules/MUST-agent-identification.md +0 -108
  132. package/templates/agents/manager/creator/refs/rules/MUST-continuous-improvement.md +0 -132
  133. package/templates/agents/manager/creator/refs/rules/MUST-intent-transparency.md +0 -199
  134. package/templates/agents/manager/creator/refs/rules/MUST-language-policy.md +0 -62
  135. package/templates/agents/manager/creator/refs/rules/MUST-orchestrator-coordination.md +0 -334
  136. package/templates/agents/manager/creator/refs/rules/MUST-parallel-execution.md +0 -398
  137. package/templates/agents/manager/creator/refs/rules/MUST-permissions.md +0 -84
  138. package/templates/agents/manager/creator/refs/rules/MUST-safety.md +0 -69
  139. package/templates/agents/manager/creator/refs/rules/MUST-sync-verification.md +0 -219
  140. package/templates/agents/manager/creator/refs/rules/MUST-tool-identification.md +0 -174
  141. package/templates/agents/manager/creator/refs/rules/SHOULD-ecomode.md +0 -145
  142. package/templates/agents/manager/creator/refs/rules/SHOULD-error-handling.md +0 -102
  143. package/templates/agents/manager/creator/refs/rules/SHOULD-hud-statusline.md +0 -96
  144. package/templates/agents/manager/creator/refs/rules/SHOULD-interaction.md +0 -103
  145. package/templates/agents/manager/creator/refs/rules/SHOULD-memory-integration.md +0 -114
  146. package/templates/agents/manager/creator/refs/rules/SHOULD-pipeline-mode.md +0 -165
  147. package/templates/agents/manager/creator/refs/rules/index.yaml +0 -125
  148. package/templates/agents/manager/gitnerd/index.yaml +0 -55
  149. package/templates/agents/manager/sauron/AGENT.md +0 -153
  150. package/templates/agents/manager/sauron/index.yaml +0 -52
  151. package/templates/agents/manager/supplier/index.yaml +0 -31
  152. package/templates/agents/manager/supplier/refs/guides/aws/common-patterns.md +0 -169
  153. package/templates/agents/manager/supplier/refs/guides/aws/index.yaml +0 -26
  154. package/templates/agents/manager/supplier/refs/guides/aws/well-architected.md +0 -143
  155. package/templates/agents/manager/supplier/refs/guides/claude-code/01-overview.md +0 -42
  156. package/templates/agents/manager/supplier/refs/guides/claude-code/03-tools.md +0 -107
  157. package/templates/agents/manager/supplier/refs/guides/claude-code/04-agent-skills.md +0 -90
  158. package/templates/agents/manager/supplier/refs/guides/claude-code/05-agent-sdk.md +0 -129
  159. package/templates/agents/manager/supplier/refs/guides/claude-code/06-mcp.md +0 -165
  160. package/templates/agents/manager/supplier/refs/guides/claude-code/07-prompt-engineering.md +0 -100
  161. package/templates/agents/manager/supplier/refs/guides/claude-code/08-testing.md +0 -58
  162. package/templates/agents/manager/supplier/refs/guides/claude-code/09-guardrails.md +0 -80
  163. package/templates/agents/manager/supplier/refs/guides/claude-code/10-monitoring.md +0 -89
  164. package/templates/agents/manager/supplier/refs/guides/claude-code/11-sub-agents.md +0 -159
  165. package/templates/agents/manager/supplier/refs/guides/claude-code/index.yaml +0 -51
  166. package/templates/agents/manager/supplier/refs/guides/docker/compose-best-practices.md +0 -284
  167. package/templates/agents/manager/supplier/refs/guides/docker/dockerfile-best-practices.md +0 -262
  168. package/templates/agents/manager/supplier/refs/guides/docker/index.yaml +0 -26
  169. package/templates/agents/manager/supplier/refs/guides/fastapi/best-practices.md +0 -232
  170. package/templates/agents/manager/supplier/refs/guides/fastapi/index.yaml +0 -21
  171. package/templates/agents/manager/supplier/refs/guides/go-backend/index.yaml +0 -26
  172. package/templates/agents/manager/supplier/refs/guides/go-backend/project-layout.md +0 -243
  173. package/templates/agents/manager/supplier/refs/guides/go-backend/uber-style.md +0 -212
  174. package/templates/agents/manager/supplier/refs/guides/golang/concurrency.md +0 -282
  175. package/templates/agents/manager/supplier/refs/guides/golang/effective-go.md +0 -309
  176. package/templates/agents/manager/supplier/refs/guides/golang/error-handling.md +0 -250
  177. package/templates/agents/manager/supplier/refs/guides/golang/index.yaml +0 -27
  178. package/templates/agents/manager/supplier/refs/guides/index.yaml +0 -101
  179. package/templates/agents/manager/supplier/refs/guides/kotlin/coding-conventions.md +0 -247
  180. package/templates/agents/manager/supplier/refs/guides/kotlin/idioms.md +0 -234
  181. package/templates/agents/manager/supplier/refs/guides/kotlin/index.yaml +0 -26
  182. package/templates/agents/manager/supplier/refs/guides/python/index.yaml +0 -26
  183. package/templates/agents/manager/supplier/refs/guides/python/pep8-style-guide.md +0 -202
  184. package/templates/agents/manager/supplier/refs/guides/python/zen-of-python.md +0 -79
  185. package/templates/agents/manager/supplier/refs/guides/rust/error-handling.md +0 -262
  186. package/templates/agents/manager/supplier/refs/guides/rust/index.yaml +0 -26
  187. package/templates/agents/manager/supplier/refs/guides/rust/ownership.md +0 -180
  188. package/templates/agents/manager/supplier/refs/guides/springboot/best-practices.md +0 -361
  189. package/templates/agents/manager/supplier/refs/guides/springboot/index.yaml +0 -22
  190. package/templates/agents/manager/supplier/refs/guides/typescript/advanced-types.md +0 -225
  191. package/templates/agents/manager/supplier/refs/guides/typescript/index.yaml +0 -26
  192. package/templates/agents/manager/supplier/refs/guides/typescript/type-system.md +0 -219
  193. package/templates/agents/manager/supplier/refs/guides/web-design/accessibility.md +0 -66
  194. package/templates/agents/manager/supplier/refs/guides/web-design/index.yaml +0 -20
  195. package/templates/agents/manager/supplier/refs/guides/web-design/performance.md +0 -102
  196. package/templates/agents/manager/supplier/refs/rules/MAY-optimization.md +0 -93
  197. package/templates/agents/manager/supplier/refs/rules/MUST-agent-design.md +0 -107
  198. package/templates/agents/manager/supplier/refs/rules/MUST-agent-identification.md +0 -108
  199. package/templates/agents/manager/supplier/refs/rules/MUST-continuous-improvement.md +0 -132
  200. package/templates/agents/manager/supplier/refs/rules/MUST-intent-transparency.md +0 -199
  201. package/templates/agents/manager/supplier/refs/rules/MUST-language-policy.md +0 -62
  202. package/templates/agents/manager/supplier/refs/rules/MUST-orchestrator-coordination.md +0 -334
  203. package/templates/agents/manager/supplier/refs/rules/MUST-parallel-execution.md +0 -398
  204. package/templates/agents/manager/supplier/refs/rules/MUST-permissions.md +0 -84
  205. package/templates/agents/manager/supplier/refs/rules/MUST-safety.md +0 -69
  206. package/templates/agents/manager/supplier/refs/rules/MUST-sync-verification.md +0 -219
  207. package/templates/agents/manager/supplier/refs/rules/MUST-tool-identification.md +0 -174
  208. package/templates/agents/manager/supplier/refs/rules/SHOULD-ecomode.md +0 -145
  209. package/templates/agents/manager/supplier/refs/rules/SHOULD-error-handling.md +0 -102
  210. package/templates/agents/manager/supplier/refs/rules/SHOULD-hud-statusline.md +0 -96
  211. package/templates/agents/manager/supplier/refs/rules/SHOULD-interaction.md +0 -103
  212. package/templates/agents/manager/supplier/refs/rules/SHOULD-memory-integration.md +0 -114
  213. package/templates/agents/manager/supplier/refs/rules/SHOULD-pipeline-mode.md +0 -165
  214. package/templates/agents/manager/supplier/refs/rules/index.yaml +0 -125
  215. package/templates/agents/manager/supplier/refs/skills/backend/fastapi-best-practices/index.yaml +0 -25
  216. package/templates/agents/manager/supplier/refs/skills/backend/go-backend-best-practices/index.yaml +0 -26
  217. package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/SKILL.md +0 -356
  218. package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/index.yaml +0 -27
  219. package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/SKILL.md +0 -202
  220. package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/index.yaml +0 -25
  221. package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/SKILL.md +0 -255
  222. package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/index.yaml +0 -27
  223. package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/SKILL.md +0 -221
  224. package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/index.yaml +0 -25
  225. package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/SKILL.md +0 -100
  226. package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/index.yaml +0 -39
  227. package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/SKILL.md +0 -266
  228. package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/index.yaml +0 -26
  229. package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/SKILL.md +0 -320
  230. package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/index.yaml +0 -28
  231. package/templates/agents/manager/supplier/refs/skills/development/vercel-deploy/index.yaml +0 -30
  232. package/templates/agents/manager/supplier/refs/skills/development/web-design-guidelines/index.yaml +0 -34
  233. package/templates/agents/manager/supplier/refs/skills/index.yaml +0 -129
  234. package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/SKILL.md +0 -279
  235. package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/index.yaml +0 -27
  236. package/templates/agents/manager/supplier/refs/skills/infrastructure/docker-best-practices/index.yaml +0 -26
  237. package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/SKILL.md +0 -214
  238. package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/index.yaml +0 -30
  239. package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/SKILL.md +0 -188
  240. package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/index.yaml +0 -27
  241. package/templates/agents/manager/supplier/refs/skills/system/memory-management/index.yaml +0 -30
  242. package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/SKILL.md +0 -163
  243. package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/index.yaml +0 -36
  244. package/templates/agents/manager/sync-checker/AGENT.md +0 -34
  245. package/templates/agents/manager/sync-checker/index.yaml +0 -32
  246. package/templates/agents/manager/updater/index.yaml +0 -31
  247. package/templates/agents/manager/updater/refs/rules/MAY-optimization.md +0 -93
  248. package/templates/agents/manager/updater/refs/rules/MUST-agent-design.md +0 -107
  249. package/templates/agents/manager/updater/refs/rules/MUST-agent-identification.md +0 -108
  250. package/templates/agents/manager/updater/refs/rules/MUST-continuous-improvement.md +0 -132
  251. package/templates/agents/manager/updater/refs/rules/MUST-intent-transparency.md +0 -199
  252. package/templates/agents/manager/updater/refs/rules/MUST-language-policy.md +0 -62
  253. package/templates/agents/manager/updater/refs/rules/MUST-orchestrator-coordination.md +0 -334
  254. package/templates/agents/manager/updater/refs/rules/MUST-parallel-execution.md +0 -398
  255. package/templates/agents/manager/updater/refs/rules/MUST-permissions.md +0 -84
  256. package/templates/agents/manager/updater/refs/rules/MUST-safety.md +0 -69
  257. package/templates/agents/manager/updater/refs/rules/MUST-sync-verification.md +0 -219
  258. package/templates/agents/manager/updater/refs/rules/MUST-tool-identification.md +0 -174
  259. package/templates/agents/manager/updater/refs/rules/SHOULD-ecomode.md +0 -145
  260. package/templates/agents/manager/updater/refs/rules/SHOULD-error-handling.md +0 -102
  261. package/templates/agents/manager/updater/refs/rules/SHOULD-hud-statusline.md +0 -96
  262. package/templates/agents/manager/updater/refs/rules/SHOULD-interaction.md +0 -103
  263. package/templates/agents/manager/updater/refs/rules/SHOULD-memory-integration.md +0 -114
  264. package/templates/agents/manager/updater/refs/rules/SHOULD-pipeline-mode.md +0 -165
  265. package/templates/agents/manager/updater/refs/rules/index.yaml +0 -125
  266. package/templates/agents/orchestrator/dev-lead/AGENT.md +0 -163
  267. package/templates/agents/orchestrator/dev-lead/index.yaml +0 -73
  268. package/templates/agents/orchestrator/planner/AGENT.md +0 -102
  269. package/templates/agents/orchestrator/planner/index.yaml +0 -38
  270. package/templates/agents/orchestrator/qa-lead/AGENT.md +0 -92
  271. package/templates/agents/orchestrator/qa-lead/index.yaml +0 -40
  272. package/templates/agents/orchestrator/secretary/AGENT.md +0 -181
  273. package/templates/agents/orchestrator/secretary/index.yaml +0 -55
  274. package/templates/agents/orchestrator/secretary/refs/rules/MAY-optimization.md +0 -93
  275. package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-design.md +0 -107
  276. package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-identification.md +0 -108
  277. package/templates/agents/orchestrator/secretary/refs/rules/MUST-continuous-improvement.md +0 -132
  278. package/templates/agents/orchestrator/secretary/refs/rules/MUST-intent-transparency.md +0 -199
  279. package/templates/agents/orchestrator/secretary/refs/rules/MUST-language-policy.md +0 -62
  280. package/templates/agents/orchestrator/secretary/refs/rules/MUST-orchestrator-coordination.md +0 -334
  281. package/templates/agents/orchestrator/secretary/refs/rules/MUST-parallel-execution.md +0 -398
  282. package/templates/agents/orchestrator/secretary/refs/rules/MUST-permissions.md +0 -84
  283. package/templates/agents/orchestrator/secretary/refs/rules/MUST-safety.md +0 -69
  284. package/templates/agents/orchestrator/secretary/refs/rules/MUST-sync-verification.md +0 -219
  285. package/templates/agents/orchestrator/secretary/refs/rules/MUST-tool-identification.md +0 -174
  286. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-ecomode.md +0 -145
  287. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-error-handling.md +0 -102
  288. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-hud-statusline.md +0 -96
  289. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-interaction.md +0 -103
  290. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-memory-integration.md +0 -114
  291. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-pipeline-mode.md +0 -165
  292. package/templates/agents/orchestrator/secretary/refs/rules/index.yaml +0 -125
  293. package/templates/agents/qa-team/qa-engineer/index.yaml +0 -59
  294. package/templates/agents/qa-team/qa-planner/index.yaml +0 -47
  295. package/templates/agents/qa-team/qa-writer/index.yaml +0 -44
  296. package/templates/agents/sw-architect/documenter/index.yaml +0 -39
  297. package/templates/agents/sw-architect/speckit-agent/index.yaml +0 -78
  298. package/templates/agents/sw-engineer/backend/express-expert/AGENT.md +0 -132
  299. package/templates/agents/sw-engineer/backend/express-expert/index.yaml +0 -36
  300. package/templates/agents/sw-engineer/backend/fastapi-expert/AGENT.md +0 -47
  301. package/templates/agents/sw-engineer/backend/fastapi-expert/index.yaml +0 -27
  302. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/best-practices.md +0 -232
  303. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/index.yaml +0 -21
  304. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/SKILL.md +0 -269
  305. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/index.yaml +0 -25
  306. package/templates/agents/sw-engineer/backend/go-backend-expert/AGENT.md +0 -47
  307. package/templates/agents/sw-engineer/backend/go-backend-expert/index.yaml +0 -27
  308. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/index.yaml +0 -26
  309. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/project-layout.md +0 -243
  310. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/uber-style.md +0 -212
  311. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/SKILL.md +0 -337
  312. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/index.yaml +0 -26
  313. package/templates/agents/sw-engineer/backend/nestjs-expert/AGENT.md +0 -107
  314. package/templates/agents/sw-engineer/backend/nestjs-expert/index.yaml +0 -43
  315. package/templates/agents/sw-engineer/backend/springboot-expert/AGENT.md +0 -103
  316. package/templates/agents/sw-engineer/backend/springboot-expert/index.yaml +0 -69
  317. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/best-practices.md +0 -361
  318. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/index.yaml +0 -22
  319. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/SKILL.md +0 -356
  320. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/index.yaml +0 -27
  321. package/templates/agents/sw-engineer/frontend/svelte-agent/index.yaml +0 -41
  322. package/templates/agents/sw-engineer/frontend/vercel-agent/AGENT.md +0 -67
  323. package/templates/agents/sw-engineer/frontend/vercel-agent/index.yaml +0 -43
  324. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/SKILL.md +0 -100
  325. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/index.yaml +0 -39
  326. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/SKILL.md +0 -73
  327. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/index.yaml +0 -30
  328. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/accessibility.md +0 -66
  329. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/index.yaml +0 -20
  330. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/performance.md +0 -102
  331. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/SKILL.md +0 -117
  332. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/index.yaml +0 -34
  333. package/templates/agents/sw-engineer/frontend/vuejs-agent/index.yaml +0 -48
  334. package/templates/agents/sw-engineer/language/golang-expert/AGENT.md +0 -47
  335. package/templates/agents/sw-engineer/language/golang-expert/index.yaml +0 -27
  336. package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/SKILL.md +0 -202
  337. package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/index.yaml +0 -25
  338. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/concurrency.md +0 -282
  339. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/effective-go.md +0 -309
  340. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/error-handling.md +0 -250
  341. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/index.yaml +0 -27
  342. package/templates/agents/sw-engineer/language/java21-expert/AGENT.md +0 -122
  343. package/templates/agents/sw-engineer/language/java21-expert/index.yaml +0 -51
  344. package/templates/agents/sw-engineer/language/kotlin-expert/AGENT.md +0 -47
  345. package/templates/agents/sw-engineer/language/kotlin-expert/index.yaml +0 -27
  346. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/coding-conventions.md +0 -247
  347. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/idioms.md +0 -234
  348. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/index.yaml +0 -26
  349. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin-best-practices/index.yaml +0 -27
  350. package/templates/agents/sw-engineer/language/python-expert/AGENT.md +0 -47
  351. package/templates/agents/sw-engineer/language/python-expert/index.yaml +0 -27
  352. package/templates/agents/sw-engineer/language/python-expert/refs/python/index.yaml +0 -26
  353. package/templates/agents/sw-engineer/language/python-expert/refs/python/pep8-style-guide.md +0 -202
  354. package/templates/agents/sw-engineer/language/python-expert/refs/python/zen-of-python.md +0 -79
  355. package/templates/agents/sw-engineer/language/python-expert/refs/python-best-practices/index.yaml +0 -25
  356. package/templates/agents/sw-engineer/language/rust-expert/AGENT.md +0 -47
  357. package/templates/agents/sw-engineer/language/rust-expert/index.yaml +0 -27
  358. package/templates/agents/sw-engineer/language/rust-expert/refs/rust/error-handling.md +0 -262
  359. package/templates/agents/sw-engineer/language/rust-expert/refs/rust/index.yaml +0 -26
  360. package/templates/agents/sw-engineer/language/rust-expert/refs/rust/ownership.md +0 -180
  361. package/templates/agents/sw-engineer/language/rust-expert/refs/rust-best-practices/index.yaml +0 -26
  362. package/templates/agents/sw-engineer/language/typescript-expert/AGENT.md +0 -47
  363. package/templates/agents/sw-engineer/language/typescript-expert/index.yaml +0 -27
  364. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/advanced-types.md +0 -225
  365. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/index.yaml +0 -26
  366. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/type-system.md +0 -219
  367. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/SKILL.md +0 -320
  368. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/index.yaml +0 -28
  369. package/templates/agents/sw-engineer/tooling/bun-expert/index.yaml +0 -46
  370. package/templates/agents/sw-engineer/tooling/npm-expert/AGENT.md +0 -160
  371. package/templates/agents/sw-engineer/tooling/npm-expert/index.yaml +0 -45
  372. package/templates/agents/sw-engineer/tooling/optimizer/AGENT.md +0 -170
  373. package/templates/agents/sw-engineer/tooling/optimizer/index.yaml +0 -45
  374. package/templates/agents/system/memory-keeper/AGENT.md +0 -126
  375. package/templates/agents/system/memory-keeper/index.yaml +0 -45
  376. package/templates/agents/system/naggy/AGENT.md +0 -72
  377. package/templates/agents/system/naggy/index.yaml +0 -35
  378. package/templates/agents/tutor/go-tutor/index.yaml +0 -48
  379. package/templates/commands/COMMANDS.md +0 -136
  380. package/templates/commands/creator/agent.md +0 -121
  381. package/templates/commands/git/branch.yaml +0 -8
  382. package/templates/commands/git/commit.yaml +0 -4
  383. package/templates/commands/git/pr.yaml +0 -4
  384. package/templates/commands/git/status.yaml +0 -4
  385. package/templates/commands/git/sync.yaml +0 -4
  386. package/templates/commands/index.yaml +0 -225
  387. package/templates/commands/intent/explain.md +0 -144
  388. package/templates/commands/naggy/add.yaml +0 -8
  389. package/templates/commands/naggy/done.yaml +0 -8
  390. package/templates/commands/naggy/list.yaml +0 -4
  391. package/templates/commands/naggy/priority.yaml +0 -11
  392. package/templates/commands/naggy/remind.yaml +0 -4
  393. package/templates/commands/npm/audit.yaml +0 -62
  394. package/templates/commands/npm/publish.yaml +0 -52
  395. package/templates/commands/npm/version.yaml +0 -62
  396. package/templates/commands/optimize/analyze.yaml +0 -34
  397. package/templates/commands/optimize/bundle.yaml +0 -50
  398. package/templates/commands/optimize/report.yaml +0 -56
  399. package/templates/commands/sauron/quick.yaml +0 -4
  400. package/templates/commands/sauron/report.yaml +0 -4
  401. package/templates/commands/sauron/watch.yaml +0 -4
  402. package/templates/commands/supplier/audit.md +0 -133
  403. package/templates/commands/supplier/fix.md +0 -121
  404. package/templates/commands/sync/agents.yaml +0 -4
  405. package/templates/commands/sync/check.yaml +0 -4
  406. package/templates/commands/sync/commands.yaml +0 -4
  407. package/templates/commands/sync/docs.yaml +0 -4
  408. package/templates/commands/sync/fix.yaml +0 -4
  409. package/templates/skills/backend/fastapi-best-practices/SKILL.md +0 -269
  410. package/templates/skills/backend/fastapi-best-practices/index.yaml +0 -25
  411. package/templates/skills/backend/go-backend-best-practices/SKILL.md +0 -337
  412. package/templates/skills/backend/go-backend-best-practices/index.yaml +0 -26
  413. package/templates/skills/backend/springboot-best-practices/index.yaml +0 -27
  414. package/templates/skills/development/go-best-practices/index.yaml +0 -25
  415. package/templates/skills/development/kotlin-best-practices/SKILL.md +0 -255
  416. package/templates/skills/development/kotlin-best-practices/index.yaml +0 -27
  417. package/templates/skills/development/python-best-practices/SKILL.md +0 -221
  418. package/templates/skills/development/python-best-practices/index.yaml +0 -25
  419. package/templates/skills/development/react-best-practices/index.yaml +0 -39
  420. package/templates/skills/development/rust-best-practices/SKILL.md +0 -266
  421. package/templates/skills/development/rust-best-practices/index.yaml +0 -26
  422. package/templates/skills/development/typescript-best-practices/index.yaml +0 -28
  423. package/templates/skills/development/vercel-deploy/SKILL.md +0 -73
  424. package/templates/skills/development/vercel-deploy/index.yaml +0 -30
  425. package/templates/skills/development/web-design-guidelines/SKILL.md +0 -117
  426. package/templates/skills/development/web-design-guidelines/index.yaml +0 -34
  427. package/templates/skills/index.yaml +0 -129
  428. package/templates/skills/infrastructure/aws-best-practices/index.yaml +0 -27
  429. package/templates/skills/infrastructure/docker-best-practices/SKILL.md +0 -274
  430. package/templates/skills/infrastructure/docker-best-practices/index.yaml +0 -26
  431. package/templates/skills/orchestration/intent-detection/index.yaml +0 -30
  432. package/templates/skills/orchestration/intent-detection/patterns/agent-triggers.yaml +0 -342
  433. package/templates/skills/orchestration/pipeline-execution/index.yaml +0 -27
  434. package/templates/skills/system/memory-management/SKILL.md +0 -194
  435. package/templates/skills/system/memory-management/index.yaml +0 -30
  436. package/templates/skills/system/result-aggregation/index.yaml +0 -36
@@ -1,79 +0,0 @@
1
- # The Zen of Python (PEP 20)
2
-
3
- > Source: https://peps.python.org/pep-0020/
4
-
5
- Long time Pythoneer Tim Peters succinctly channels the BDFL's guiding principles for Python's design into 20 aphorisms, only 19 of which have been written down.
6
-
7
- ```
8
- >>> import this
9
- ```
10
-
11
- ## The 19 Aphorisms
12
-
13
- 1. **Beautiful is better than ugly.**
14
- - Write elegant, readable code
15
-
16
- 2. **Explicit is better than implicit.**
17
- - Don't hide behavior; make intentions clear
18
-
19
- 3. **Simple is better than complex.**
20
- - Choose straightforward solutions
21
-
22
- 4. **Complex is better than complicated.**
23
- - When complexity is needed, keep it manageable
24
-
25
- 5. **Flat is better than nested.**
26
- - Avoid deep nesting; keep structures flat
27
-
28
- 6. **Sparse is better than dense.**
29
- - Don't pack too much into one line
30
-
31
- 7. **Readability counts.**
32
- - Code is read more often than written
33
-
34
- 8. **Special cases aren't special enough to break the rules.**
35
- - Consistency matters
36
-
37
- 9. **Although practicality beats purity.**
38
- - Be pragmatic when needed
39
-
40
- 10. **Errors should never pass silently.**
41
- - Handle or propagate errors explicitly
42
-
43
- 11. **Unless explicitly silenced.**
44
- - Intentional suppression is acceptable
45
-
46
- 12. **In the face of ambiguity, refuse the temptation to guess.**
47
- - Ask for clarification; don't assume
48
-
49
- 13. **There should be one-- and preferably only one --obvious way to do it.**
50
- - Python favors one canonical approach
51
-
52
- 14. **Although that way may not be obvious at first unless you're Dutch.**
53
- - (A nod to Guido van Rossum)
54
-
55
- 15. **Now is better than never.**
56
- - Don't over-plan; start implementing
57
-
58
- 16. **Although never is often better than *right* now.**
59
- - But don't rush without thought
60
-
61
- 17. **If the implementation is hard to explain, it's a bad idea.**
62
- - Complexity is a warning sign
63
-
64
- 18. **If the implementation is easy to explain, it may be a good idea.**
65
- - Simplicity suggests good design
66
-
67
- 19. **Namespaces are one honking great idea -- let's do more of those!**
68
- - Organize code into clear namespaces
69
-
70
- ## Application
71
-
72
- When writing Python code, ask yourself:
73
- - Is this beautiful or ugly?
74
- - Is this explicit or implicit?
75
- - Is this simple or complex?
76
- - Is this readable?
77
- - Could I easily explain this to someone else?
78
-
79
- The Zen of Python is not just style guidance—it's a philosophy for writing maintainable, understandable code.
@@ -1,262 +0,0 @@
1
- # Rust Error Handling
2
-
3
- > Reference for error handling patterns in Rust
4
-
5
- ## Result Type
6
-
7
- ```rust
8
- enum Result<T, E> {
9
- Ok(T),
10
- Err(E),
11
- }
12
- ```
13
-
14
- ### Basic Usage
15
-
16
- ```rust
17
- use std::fs::File;
18
-
19
- fn main() {
20
- let f = File::open("hello.txt");
21
-
22
- let f = match f {
23
- Ok(file) => file,
24
- Err(error) => panic!("Problem opening file: {:?}", error),
25
- };
26
- }
27
- ```
28
-
29
- ### Matching Different Errors
30
-
31
- ```rust
32
- use std::fs::File;
33
- use std::io::ErrorKind;
34
-
35
- fn main() {
36
- let f = File::open("hello.txt");
37
-
38
- let f = match f {
39
- Ok(file) => file,
40
- Err(error) => match error.kind() {
41
- ErrorKind::NotFound => match File::create("hello.txt") {
42
- Ok(fc) => fc,
43
- Err(e) => panic!("Problem creating file: {:?}", e),
44
- },
45
- other_error => panic!("Problem opening file: {:?}", other_error),
46
- },
47
- };
48
- }
49
- ```
50
-
51
- ### Shortcuts
52
-
53
- ```rust
54
- // unwrap: panics on error
55
- let f = File::open("hello.txt").unwrap();
56
-
57
- // expect: panics with custom message
58
- let f = File::open("hello.txt").expect("Failed to open hello.txt");
59
-
60
- // unwrap_or: provides default value
61
- let f = File::open("hello.txt").unwrap_or(default_file);
62
-
63
- // unwrap_or_else: computes default on error
64
- let f = File::open("hello.txt").unwrap_or_else(|error| {
65
- panic!("Problem opening file: {:?}", error)
66
- });
67
- ```
68
-
69
- ## Propagating Errors
70
-
71
- ### With match
72
-
73
- ```rust
74
- use std::fs::File;
75
- use std::io::{self, Read};
76
-
77
- fn read_username() -> Result<String, io::Error> {
78
- let f = File::open("hello.txt");
79
-
80
- let mut f = match f {
81
- Ok(file) => file,
82
- Err(e) => return Err(e),
83
- };
84
-
85
- let mut s = String::new();
86
-
87
- match f.read_to_string(&mut s) {
88
- Ok(_) => Ok(s),
89
- Err(e) => Err(e),
90
- }
91
- }
92
- ```
93
-
94
- ### With ? Operator
95
-
96
- ```rust
97
- use std::fs::File;
98
- use std::io::{self, Read};
99
-
100
- fn read_username() -> Result<String, io::Error> {
101
- let mut f = File::open("hello.txt")?;
102
- let mut s = String::new();
103
- f.read_to_string(&mut s)?;
104
- Ok(s)
105
- }
106
-
107
- // Chained version
108
- fn read_username_chained() -> Result<String, io::Error> {
109
- let mut s = String::new();
110
- File::open("hello.txt")?.read_to_string(&mut s)?;
111
- Ok(s)
112
- }
113
- ```
114
-
115
- ## Custom Error Types
116
-
117
- ### Simple Custom Error
118
-
119
- ```rust
120
- use std::fmt;
121
-
122
- #[derive(Debug)]
123
- struct MyError {
124
- message: String,
125
- }
126
-
127
- impl fmt::Display for MyError {
128
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
129
- write!(f, "{}", self.message)
130
- }
131
- }
132
-
133
- impl std::error::Error for MyError {}
134
- ```
135
-
136
- ### Error Enum
137
-
138
- ```rust
139
- use std::io;
140
- use std::num::ParseIntError;
141
-
142
- #[derive(Debug)]
143
- enum AppError {
144
- Io(io::Error),
145
- Parse(ParseIntError),
146
- Custom(String),
147
- }
148
-
149
- impl fmt::Display for AppError {
150
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
151
- match self {
152
- AppError::Io(e) => write!(f, "IO error: {}", e),
153
- AppError::Parse(e) => write!(f, "Parse error: {}", e),
154
- AppError::Custom(msg) => write!(f, "{}", msg),
155
- }
156
- }
157
- }
158
-
159
- impl std::error::Error for AppError {}
160
-
161
- impl From<io::Error> for AppError {
162
- fn from(error: io::Error) -> Self {
163
- AppError::Io(error)
164
- }
165
- }
166
-
167
- impl From<ParseIntError> for AppError {
168
- fn from(error: ParseIntError) -> Self {
169
- AppError::Parse(error)
170
- }
171
- }
172
- ```
173
-
174
- ## Option Type
175
-
176
- ```rust
177
- enum Option<T> {
178
- Some(T),
179
- None,
180
- }
181
- ```
182
-
183
- ### Usage
184
-
185
- ```rust
186
- fn divide(a: f64, b: f64) -> Option<f64> {
187
- if b == 0.0 {
188
- None
189
- } else {
190
- Some(a / b)
191
- }
192
- }
193
-
194
- // Pattern matching
195
- match divide(10.0, 2.0) {
196
- Some(result) => println!("Result: {}", result),
197
- None => println!("Cannot divide by zero"),
198
- }
199
-
200
- // Combinators
201
- let result = divide(10.0, 2.0)
202
- .map(|x| x * 2.0)
203
- .unwrap_or(0.0);
204
- ```
205
-
206
- ## Panic
207
-
208
- ### When to Panic
209
-
210
- ```rust
211
- // Unrecoverable errors
212
- panic!("crash and burn");
213
-
214
- // Assertion failures
215
- assert!(x > 0, "x must be positive");
216
- assert_eq!(a, b, "values must be equal");
217
-
218
- // Unreachable code
219
- unreachable!("this should never happen");
220
- ```
221
-
222
- ### Panic vs Result
223
-
224
- - Use `Result` for recoverable errors
225
- - Use `panic!` for unrecoverable errors
226
- - Library code should return `Result`
227
- - `main` can panic or return `Result`
228
-
229
- ## Best Practices
230
-
231
- ```rust
232
- // 1. Use ? for propagation
233
- fn process() -> Result<Data, Error> {
234
- let input = read_input()?;
235
- let parsed = parse(input)?;
236
- Ok(transform(parsed))
237
- }
238
-
239
- // 2. Add context with map_err
240
- let file = File::open(&path)
241
- .map_err(|e| format!("Failed to open {}: {}", path, e))?;
242
-
243
- // 3. Use anyhow for applications
244
- use anyhow::{Context, Result};
245
-
246
- fn main() -> Result<()> {
247
- let config = read_config()
248
- .context("Failed to read configuration")?;
249
- Ok(())
250
- }
251
-
252
- // 4. Use thiserror for libraries
253
- use thiserror::Error;
254
-
255
- #[derive(Error, Debug)]
256
- pub enum DataError {
257
- #[error("Invalid input: {0}")]
258
- InvalidInput(String),
259
- #[error("IO error")]
260
- Io(#[from] std::io::Error),
261
- }
262
- ```
@@ -1,26 +0,0 @@
1
- # Rust Guide
2
-
3
- metadata:
4
- name: rust
5
- description: Rust language reference documentation
6
-
7
- source:
8
- type: external
9
- origin: rust-lang.org
10
- urls:
11
- - https://doc.rust-lang.org/book/
12
- - https://rust-lang.github.io/api-guidelines/
13
- - https://doc.rust-lang.org/nightly/style-guide/
14
- last_fetched: "2026-01-22"
15
-
16
- documents:
17
- - name: ownership
18
- path: ./ownership.md
19
- description: Ownership, borrowing, and lifetimes
20
-
21
- - name: error-handling
22
- path: ./error-handling.md
23
- description: Error handling patterns in Rust
24
-
25
- used_by:
26
- - rust-expert
@@ -1,180 +0,0 @@
1
- # Rust Ownership
2
-
3
- > Reference for ownership, borrowing, and lifetimes
4
-
5
- ## Ownership Rules
6
-
7
- 1. Each value has exactly one owner
8
- 2. When the owner goes out of scope, the value is dropped
9
- 3. Values can be moved or borrowed
10
-
11
- ## Move Semantics
12
-
13
- ```rust
14
- // Move ownership
15
- let s1 = String::from("hello");
16
- let s2 = s1; // s1 is moved to s2
17
- // s1 is no longer valid
18
-
19
- // Clone to copy
20
- let s1 = String::from("hello");
21
- let s2 = s1.clone(); // s1 is still valid
22
-
23
- // Copy types (stack-only data)
24
- let x = 5;
25
- let y = x; // x is still valid (i32 implements Copy)
26
- ```
27
-
28
- ## Borrowing
29
-
30
- ### Immutable References
31
-
32
- ```rust
33
- fn main() {
34
- let s1 = String::from("hello");
35
- let len = calculate_length(&s1); // borrow s1
36
- println!("The length of '{}' is {}.", s1, len);
37
- }
38
-
39
- fn calculate_length(s: &String) -> usize {
40
- s.len()
41
- }
42
- ```
43
-
44
- ### Mutable References
45
-
46
- ```rust
47
- fn main() {
48
- let mut s = String::from("hello");
49
- change(&mut s);
50
- }
51
-
52
- fn change(some_string: &mut String) {
53
- some_string.push_str(", world");
54
- }
55
- ```
56
-
57
- ### Borrowing Rules
58
-
59
- ```rust
60
- // Rule 1: At any time, either ONE mutable reference
61
- // OR any number of immutable references
62
- let mut s = String::from("hello");
63
-
64
- let r1 = &s; // OK
65
- let r2 = &s; // OK
66
- // let r3 = &mut s; // ERROR: cannot borrow as mutable
67
-
68
- let r3 = &mut s; // OK after r1 and r2 are done
69
- ```
70
-
71
- ## Lifetimes
72
-
73
- ### Basic Syntax
74
-
75
- ```rust
76
- // Lifetime annotation
77
- fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
78
- if x.len() > y.len() {
79
- x
80
- } else {
81
- y
82
- }
83
- }
84
- ```
85
-
86
- ### Struct Lifetimes
87
-
88
- ```rust
89
- struct ImportantExcerpt<'a> {
90
- part: &'a str,
91
- }
92
-
93
- impl<'a> ImportantExcerpt<'a> {
94
- fn level(&self) -> i32 {
95
- 3
96
- }
97
-
98
- fn announce_and_return_part(&self, announcement: &str) -> &str {
99
- println!("Attention please: {}", announcement);
100
- self.part
101
- }
102
- }
103
- ```
104
-
105
- ### Lifetime Elision
106
-
107
- ```rust
108
- // These are equivalent:
109
- fn first_word(s: &str) -> &str { ... }
110
- fn first_word<'a>(s: &'a str) -> &'a str { ... }
111
-
112
- // Elision rules:
113
- // 1. Each reference parameter gets its own lifetime
114
- // 2. If exactly one input lifetime, it's assigned to all outputs
115
- // 3. If &self or &mut self, its lifetime is assigned to outputs
116
- ```
117
-
118
- ### Static Lifetime
119
-
120
- ```rust
121
- // 'static: lives for entire program duration
122
- let s: &'static str = "I have a static lifetime.";
123
-
124
- // All string literals have 'static lifetime
125
- ```
126
-
127
- ## Common Patterns
128
-
129
- ### Returning References
130
-
131
- ```rust
132
- // Cannot return reference to local variable
133
- fn dangle() -> &String { // ERROR
134
- let s = String::from("hello");
135
- &s // s goes out of scope!
136
- }
137
-
138
- // Return owned value instead
139
- fn no_dangle() -> String {
140
- let s = String::from("hello");
141
- s
142
- }
143
- ```
144
-
145
- ### Struct with References
146
-
147
- ```rust
148
- // Struct holding reference must have lifetime
149
- struct Config<'a> {
150
- query: &'a str,
151
- filename: &'a str,
152
- }
153
-
154
- // Implementation with lifetime
155
- impl<'a> Config<'a> {
156
- fn new(args: &'a [String]) -> Config<'a> {
157
- Config {
158
- query: &args[1],
159
- filename: &args[2],
160
- }
161
- }
162
- }
163
- ```
164
-
165
- ### Multiple Lifetimes
166
-
167
- ```rust
168
- fn longest_with_announcement<'a, 'b>(
169
- x: &'a str,
170
- y: &'a str,
171
- ann: &'b str,
172
- ) -> &'a str {
173
- println!("Announcement: {}", ann);
174
- if x.len() > y.len() {
175
- x
176
- } else {
177
- y
178
- }
179
- }
180
- ```