@hivehub/rulebook 5.4.1 → 5.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/.claude/commands/analysis.md +35 -35
  2. package/.claude/commands/continue.md +33 -33
  3. package/.claude/commands/ralph-config.md +112 -112
  4. package/.claude/commands/ralph-history.md +110 -110
  5. package/.claude/commands/ralph-init.md +72 -72
  6. package/.claude/commands/ralph-pause-resume.md +105 -105
  7. package/.claude/commands/ralph-run.md +101 -101
  8. package/.claude/commands/ralph-status.md +76 -76
  9. package/.claude/commands/rulebook-decision-create.md +55 -55
  10. package/.claude/commands/rulebook-decision-list.md +15 -15
  11. package/.claude/commands/rulebook-knowledge-add.md +41 -41
  12. package/.claude/commands/rulebook-knowledge-list.md +15 -15
  13. package/.claude/commands/rulebook-learn-capture.md +48 -48
  14. package/.claude/commands/rulebook-learn-list.md +13 -13
  15. package/.claude/commands/rulebook-memory-save.md +48 -48
  16. package/.claude/commands/rulebook-memory-search.md +47 -47
  17. package/.claude/commands/rulebook-task-apply.md +67 -67
  18. package/.claude/commands/rulebook-task-archive.md +94 -94
  19. package/.claude/commands/rulebook-task-create.md +93 -93
  20. package/.claude/commands/rulebook-task-list.md +42 -42
  21. package/.claude/commands/rulebook-task-show.md +52 -52
  22. package/.claude/commands/rulebook-task-validate.md +53 -53
  23. package/.claude-plugin/marketplace.json +28 -28
  24. package/.claude-plugin/plugin.json +8 -8
  25. package/README.md +394 -393
  26. package/dist/core/generator.d.ts +1 -1
  27. package/dist/core/generator.d.ts.map +1 -1
  28. package/dist/core/generator.js +1 -0
  29. package/dist/core/generator.js.map +1 -1
  30. package/dist/hooks/terse-activate.d.ts +59 -0
  31. package/dist/hooks/terse-activate.d.ts.map +1 -0
  32. package/dist/hooks/terse-activate.js +149 -0
  33. package/dist/hooks/terse-activate.js.map +1 -0
  34. package/dist/hooks/terse-config.d.ts +51 -0
  35. package/dist/hooks/terse-config.d.ts.map +1 -0
  36. package/dist/hooks/terse-config.js +130 -0
  37. package/dist/hooks/terse-config.js.map +1 -0
  38. package/dist/hooks/terse-mode-tracker.d.ts +78 -0
  39. package/dist/hooks/terse-mode-tracker.d.ts.map +1 -0
  40. package/dist/hooks/terse-mode-tracker.js +213 -0
  41. package/dist/hooks/terse-mode-tracker.js.map +1 -0
  42. package/dist/index.js +0 -0
  43. package/dist/mcp/rulebook-server.js +0 -0
  44. package/package.json +21 -22
  45. package/templates/agents/accessibility-reviewer.md +43 -43
  46. package/templates/agents/api-designer.md +42 -42
  47. package/templates/agents/architect.md +51 -51
  48. package/templates/agents/build-engineer.md +36 -36
  49. package/templates/agents/code-reviewer.md +47 -47
  50. package/templates/agents/compiler/codegen-debugger.md +34 -34
  51. package/templates/agents/compiler/stdlib-engineer.md +28 -28
  52. package/templates/agents/compiler/test-coverage-guardian.md +31 -31
  53. package/templates/agents/context-intelligence.md +52 -52
  54. package/templates/agents/database-architect.md +41 -41
  55. package/templates/agents/devops-engineer.md +42 -42
  56. package/templates/agents/docs-writer.md +38 -38
  57. package/templates/agents/game-engine/cpp-core-expert.md +35 -35
  58. package/templates/agents/game-engine/render-engineer.md +22 -22
  59. package/templates/agents/game-engine/shader-engineer.md +38 -38
  60. package/templates/agents/game-engine/systems-integration.md +43 -43
  61. package/templates/agents/generic/code-reviewer.md +41 -41
  62. package/templates/agents/generic/docs-writer.md +25 -25
  63. package/templates/agents/generic/project-manager.md +36 -36
  64. package/templates/agents/generic/researcher.md +34 -34
  65. package/templates/agents/generic/test-engineer.md +41 -41
  66. package/templates/agents/i18n-engineer.md +42 -42
  67. package/templates/agents/implementer.md +42 -42
  68. package/templates/agents/migration-engineer.md +42 -42
  69. package/templates/agents/mobile/platform-specialist.md +22 -22
  70. package/templates/agents/mobile/ui-engineer.md +22 -22
  71. package/templates/agents/performance-engineer.md +49 -49
  72. package/templates/agents/refactoring-agent.md +41 -41
  73. package/templates/agents/researcher.md +38 -38
  74. package/templates/agents/security-reviewer.md +40 -40
  75. package/templates/agents/team-lead.md +37 -37
  76. package/templates/agents/tester.md +48 -48
  77. package/templates/agents/ux-reviewer.md +43 -43
  78. package/templates/agents/web-app/api-designer.md +22 -22
  79. package/templates/agents/web-app/backend-engineer.md +30 -30
  80. package/templates/agents/web-app/database-engineer.md +22 -22
  81. package/templates/agents/web-app/frontend-engineer.md +29 -29
  82. package/templates/agents/web-app/security-reviewer.md +32 -32
  83. package/templates/ci/rulebook-review.yml +26 -26
  84. package/templates/cli/AIDER.md +49 -49
  85. package/templates/cli/AMAZON_Q.md +25 -25
  86. package/templates/cli/AUGGIE.md +32 -32
  87. package/templates/cli/CLAUDE.md +117 -117
  88. package/templates/cli/CLINE.md +99 -99
  89. package/templates/cli/CODEBUDDY.md +20 -20
  90. package/templates/cli/CODEIUM.md +20 -20
  91. package/templates/cli/CODEX.md +21 -21
  92. package/templates/cli/CONTINUE.md +34 -34
  93. package/templates/cli/CURSOR_CLI.md +62 -62
  94. package/templates/cli/FACTORY.md +18 -18
  95. package/templates/cli/GEMINI.md +35 -35
  96. package/templates/cli/KILOCODE.md +18 -18
  97. package/templates/cli/OPENCODE.md +18 -18
  98. package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
  99. package/templates/commands/rulebook-decision-create.md +55 -55
  100. package/templates/commands/rulebook-decision-list.md +15 -15
  101. package/templates/commands/rulebook-knowledge-add.md +41 -41
  102. package/templates/commands/rulebook-knowledge-list.md +15 -15
  103. package/templates/commands/rulebook-learn-capture.md +48 -48
  104. package/templates/commands/rulebook-learn-list.md +13 -13
  105. package/templates/commands/rulebook-memory-save.md +48 -48
  106. package/templates/commands/rulebook-memory-search.md +47 -47
  107. package/templates/commands/rulebook-task-apply.md +67 -67
  108. package/templates/commands/rulebook-task-archive.md +94 -94
  109. package/templates/commands/rulebook-task-create.md +93 -93
  110. package/templates/commands/rulebook-task-list.md +42 -42
  111. package/templates/commands/rulebook-task-show.md +52 -52
  112. package/templates/commands/rulebook-task-validate.md +53 -53
  113. package/templates/compact-context/_default.md +23 -23
  114. package/templates/compact-context/cpp.md +26 -26
  115. package/templates/compact-context/go.md +26 -26
  116. package/templates/compact-context/python.md +26 -26
  117. package/templates/compact-context/rust.md +28 -28
  118. package/templates/compact-context/typescript.md +29 -29
  119. package/templates/core/AGENTS_LEAN.md +26 -1
  120. package/templates/core/AGENTS_OVERRIDE.md +16 -16
  121. package/templates/core/AGENT_AUTOMATION.md +296 -296
  122. package/templates/core/CLAUDE_MD_v2.md +90 -71
  123. package/templates/core/DAG.md +304 -304
  124. package/templates/core/DECISIONS.md +38 -38
  125. package/templates/core/DOCUMENTATION_RULES.md +36 -36
  126. package/templates/core/KNOWLEDGE.md +49 -49
  127. package/templates/core/MULTI_AGENT.md +74 -74
  128. package/templates/core/PLANS.md +28 -28
  129. package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
  130. package/templates/core/RALPH.md +471 -471
  131. package/templates/core/RULEBOOK.md +1947 -1947
  132. package/templates/core/TIER1_PROHIBITIONS.md +154 -154
  133. package/templates/core/TOKEN_OPTIMIZATION.md +49 -49
  134. package/templates/frameworks/ANGULAR.md +36 -36
  135. package/templates/frameworks/DJANGO.md +83 -83
  136. package/templates/frameworks/ELECTRON.md +147 -147
  137. package/templates/frameworks/FLASK.md +38 -38
  138. package/templates/frameworks/FLUTTER.md +55 -55
  139. package/templates/frameworks/JQUERY.md +32 -32
  140. package/templates/frameworks/LARAVEL.md +38 -38
  141. package/templates/frameworks/NESTJS.md +43 -43
  142. package/templates/frameworks/NEXTJS.md +127 -127
  143. package/templates/frameworks/NUXT.md +40 -40
  144. package/templates/frameworks/RAILS.md +66 -66
  145. package/templates/frameworks/REACT.md +38 -38
  146. package/templates/frameworks/REACT_NATIVE.md +47 -47
  147. package/templates/frameworks/SPRING.md +39 -39
  148. package/templates/frameworks/SYMFONY.md +36 -36
  149. package/templates/frameworks/VUE.md +36 -36
  150. package/templates/frameworks/ZEND.md +35 -35
  151. package/templates/git/CI_CD_PATTERNS.md +661 -661
  152. package/templates/git/GITHUB_ACTIONS.md +728 -728
  153. package/templates/git/GITLAB_CI.md +730 -730
  154. package/templates/git/GIT_WORKFLOW.md +1192 -1192
  155. package/templates/git/SECRETS_MANAGEMENT.md +585 -585
  156. package/templates/hooks/COMMIT_MSG.md +530 -530
  157. package/templates/hooks/POST_CHECKOUT.md +546 -546
  158. package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
  159. package/templates/hooks/PRE_COMMIT.md +414 -414
  160. package/templates/hooks/PRE_PUSH.md +601 -601
  161. package/templates/hooks/check-context-and-handoff.ps1 +58 -58
  162. package/templates/hooks/check-context-and-handoff.sh +76 -76
  163. package/templates/hooks/enforce-team-for-background-agents.ps1 +63 -63
  164. package/templates/hooks/enforce-team-for-background-agents.sh +55 -55
  165. package/templates/hooks/on-compact-reinject.sh +34 -34
  166. package/templates/hooks/resume-from-handoff.ps1 +40 -40
  167. package/templates/hooks/resume-from-handoff.sh +61 -61
  168. package/templates/hooks/terse-activate.ps1 +143 -143
  169. package/templates/hooks/terse-activate.sh +197 -197
  170. package/templates/hooks/terse-mode-tracker.ps1 +153 -153
  171. package/templates/hooks/terse-mode-tracker.sh +187 -187
  172. package/templates/ides/CONTINUE_RULES.md +16 -16
  173. package/templates/ides/COPILOT.md +37 -37
  174. package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -23
  175. package/templates/ides/CURSOR.md +43 -43
  176. package/templates/ides/GEMINI_RULES.md +17 -17
  177. package/templates/ides/JETBRAINS_AI.md +35 -35
  178. package/templates/ides/REPLIT.md +36 -36
  179. package/templates/ides/TABNINE.md +29 -29
  180. package/templates/ides/VSCODE.md +40 -40
  181. package/templates/ides/WINDSURF.md +36 -36
  182. package/templates/ides/WINDSURF_RULES.md +14 -14
  183. package/templates/ides/ZED.md +32 -32
  184. package/templates/ides/cursor-mdc/go.mdc +24 -24
  185. package/templates/ides/cursor-mdc/python.mdc +24 -24
  186. package/templates/ides/cursor-mdc/quality.mdc +25 -25
  187. package/templates/ides/cursor-mdc/ralph.mdc +39 -39
  188. package/templates/ides/cursor-mdc/rulebook.mdc +38 -38
  189. package/templates/ides/cursor-mdc/rust.mdc +24 -24
  190. package/templates/ides/cursor-mdc/typescript.mdc +25 -25
  191. package/templates/languages/C.md +333 -333
  192. package/templates/languages/CPP.md +743 -743
  193. package/templates/languages/CSHARP.md +417 -417
  194. package/templates/languages/ELIXIR.md +454 -454
  195. package/templates/languages/ERLANG.md +361 -361
  196. package/templates/languages/GO.md +645 -645
  197. package/templates/languages/HASKELL.md +177 -177
  198. package/templates/languages/JAVA.md +607 -607
  199. package/templates/languages/JAVASCRIPT.md +631 -631
  200. package/templates/languages/JULIA.md +97 -97
  201. package/templates/languages/KOTLIN.md +511 -511
  202. package/templates/languages/LISP.md +100 -100
  203. package/templates/languages/LUA.md +74 -74
  204. package/templates/languages/OBJECTIVEC.md +90 -90
  205. package/templates/languages/PHP.md +416 -416
  206. package/templates/languages/PYTHON.md +682 -682
  207. package/templates/languages/RUBY.md +421 -421
  208. package/templates/languages/RUST.md +477 -477
  209. package/templates/languages/SAS.md +73 -73
  210. package/templates/languages/SCALA.md +348 -348
  211. package/templates/languages/SOLIDITY.md +580 -580
  212. package/templates/languages/SQL.md +137 -137
  213. package/templates/languages/SWIFT.md +466 -466
  214. package/templates/languages/TYPESCRIPT.md +591 -591
  215. package/templates/languages/ZIG.md +265 -265
  216. package/templates/modules/ATLASSIAN.md +255 -255
  217. package/templates/modules/CONTEXT7.md +54 -54
  218. package/templates/modules/FIGMA.md +267 -267
  219. package/templates/modules/GITHUB_MCP.md +64 -64
  220. package/templates/modules/GRAFANA.md +328 -328
  221. package/templates/modules/MEMORY.md +126 -126
  222. package/templates/modules/NOTION.md +247 -247
  223. package/templates/modules/PLAYWRIGHT.md +90 -90
  224. package/templates/modules/RULEBOOK_MCP.md +208 -208
  225. package/templates/modules/SERENA.md +337 -337
  226. package/templates/modules/SUPABASE.md +223 -223
  227. package/templates/modules/SYNAP.md +69 -69
  228. package/templates/modules/VECTORIZER.md +63 -63
  229. package/templates/modules/sequential-thinking.md +42 -42
  230. package/templates/ralph/ralph-history.bat +4 -4
  231. package/templates/ralph/ralph-history.sh +5 -5
  232. package/templates/ralph/ralph-init.bat +5 -5
  233. package/templates/ralph/ralph-init.sh +5 -5
  234. package/templates/ralph/ralph-pause.bat +5 -5
  235. package/templates/ralph/ralph-pause.sh +5 -5
  236. package/templates/ralph/ralph-run.bat +5 -5
  237. package/templates/ralph/ralph-run.sh +5 -5
  238. package/templates/ralph/ralph-status.bat +4 -4
  239. package/templates/ralph/ralph-status.sh +5 -5
  240. package/templates/rules/consult-analysis-before-implementing.md +23 -23
  241. package/templates/rules/cpp.md +46 -46
  242. package/templates/rules/csharp.md +44 -44
  243. package/templates/rules/diagnostic-first.md +39 -39
  244. package/templates/rules/fail-twice-escalate.md +46 -46
  245. package/templates/rules/follow-task-sequence.md +36 -36
  246. package/templates/rules/git-safety.md +29 -29
  247. package/templates/rules/go.md +40 -40
  248. package/templates/rules/incremental-implementation.md +56 -56
  249. package/templates/rules/incremental-tests.md +29 -29
  250. package/templates/rules/java.md +43 -43
  251. package/templates/rules/javascript.md +39 -39
  252. package/templates/rules/knowledge-base-usage.md +41 -41
  253. package/templates/rules/multi-agent-teams.md +75 -75
  254. package/templates/rules/no-deferred.md +31 -31
  255. package/templates/rules/no-shortcuts.md +30 -30
  256. package/templates/rules/python.md +43 -43
  257. package/templates/rules/research-first.md +30 -30
  258. package/templates/rules/respect-handoff-trigger.md +41 -41
  259. package/templates/rules/rust.md +40 -40
  260. package/templates/rules/sequential-editing.md +21 -21
  261. package/templates/rules/session-workflow.md +24 -24
  262. package/templates/rules/task-decomposition.md +32 -32
  263. package/templates/rules/typescript.md +40 -40
  264. package/templates/services/AZURE_BLOB.md +184 -184
  265. package/templates/services/CASSANDRA.md +239 -239
  266. package/templates/services/DATADOG.md +26 -26
  267. package/templates/services/DOCKER.md +124 -124
  268. package/templates/services/DOCKER_COMPOSE.md +168 -168
  269. package/templates/services/DYNAMODB.md +308 -308
  270. package/templates/services/ELASTICSEARCH.md +347 -347
  271. package/templates/services/GCS.md +178 -178
  272. package/templates/services/HELM.md +194 -194
  273. package/templates/services/INFLUXDB.md +265 -265
  274. package/templates/services/KAFKA.md +341 -341
  275. package/templates/services/KUBERNETES.md +208 -208
  276. package/templates/services/MARIADB.md +183 -183
  277. package/templates/services/MEMCACHED.md +242 -242
  278. package/templates/services/MINIO.md +201 -201
  279. package/templates/services/MONGODB.md +268 -268
  280. package/templates/services/MYSQL.md +358 -358
  281. package/templates/services/NEO4J.md +247 -247
  282. package/templates/services/OPENTELEMETRY.md +25 -25
  283. package/templates/services/ORACLE.md +290 -290
  284. package/templates/services/PINO.md +24 -24
  285. package/templates/services/POSTGRESQL.md +326 -326
  286. package/templates/services/PROMETHEUS.md +33 -33
  287. package/templates/services/RABBITMQ.md +286 -286
  288. package/templates/services/REDIS.md +292 -292
  289. package/templates/services/S3.md +298 -298
  290. package/templates/services/SENTRY.md +23 -23
  291. package/templates/services/SQLITE.md +294 -294
  292. package/templates/services/SQLSERVER.md +294 -294
  293. package/templates/services/WINSTON.md +30 -30
  294. package/templates/skills/cli/aider/SKILL.md +59 -59
  295. package/templates/skills/cli/amazon-q/SKILL.md +35 -35
  296. package/templates/skills/cli/auggie/SKILL.md +42 -42
  297. package/templates/skills/cli/claude/SKILL.md +42 -42
  298. package/templates/skills/cli/cline/SKILL.md +42 -42
  299. package/templates/skills/cli/codebuddy/SKILL.md +30 -30
  300. package/templates/skills/cli/codeium/SKILL.md +30 -30
  301. package/templates/skills/cli/codex/SKILL.md +31 -31
  302. package/templates/skills/cli/continue/SKILL.md +44 -44
  303. package/templates/skills/cli/cursor-cli/SKILL.md +38 -38
  304. package/templates/skills/cli/factory/SKILL.md +28 -28
  305. package/templates/skills/cli/gemini/SKILL.md +45 -45
  306. package/templates/skills/cli/kilocode/SKILL.md +28 -28
  307. package/templates/skills/cli/opencode/SKILL.md +28 -28
  308. package/templates/skills/core/agent-automation/SKILL.md +194 -194
  309. package/templates/skills/core/dag/SKILL.md +314 -314
  310. package/templates/skills/core/documentation-rules/SKILL.md +46 -46
  311. package/templates/skills/core/karpathy-guidelines/SKILL.md +93 -0
  312. package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
  313. package/templates/skills/core/rulebook/SKILL.md +176 -176
  314. package/templates/skills/core/rulebook-terse/SKILL.md +116 -116
  315. package/templates/skills/core/rulebook-terse-commit/SKILL.md +96 -96
  316. package/templates/skills/core/rulebook-terse-review/SKILL.md +112 -112
  317. package/templates/skills/dev/accessibility/SKILL.md +17 -17
  318. package/templates/skills/dev/analysis/SKILL.md +19 -19
  319. package/templates/skills/dev/api-design/SKILL.md +15 -15
  320. package/templates/skills/dev/architect/SKILL.md +17 -17
  321. package/templates/skills/dev/build-fix/SKILL.md +17 -17
  322. package/templates/skills/dev/db-design/SKILL.md +15 -15
  323. package/templates/skills/dev/debug/SKILL.md +16 -16
  324. package/templates/skills/dev/deploy/SKILL.md +17 -17
  325. package/templates/skills/dev/docs/SKILL.md +17 -17
  326. package/templates/skills/dev/handoff/SKILL.md +27 -27
  327. package/templates/skills/dev/migrate/SKILL.md +15 -15
  328. package/templates/skills/dev/perf/SKILL.md +17 -17
  329. package/templates/skills/dev/refactor/SKILL.md +17 -17
  330. package/templates/skills/dev/research/SKILL.md +14 -14
  331. package/templates/skills/dev/review/SKILL.md +18 -18
  332. package/templates/skills/dev/security-audit/SKILL.md +17 -17
  333. package/templates/skills/frameworks/angular/SKILL.md +46 -46
  334. package/templates/skills/frameworks/django/SKILL.md +93 -93
  335. package/templates/skills/frameworks/electron/SKILL.md +157 -157
  336. package/templates/skills/frameworks/flask/SKILL.md +48 -48
  337. package/templates/skills/frameworks/flutter/SKILL.md +65 -65
  338. package/templates/skills/frameworks/jquery/SKILL.md +42 -42
  339. package/templates/skills/frameworks/laravel/SKILL.md +48 -48
  340. package/templates/skills/frameworks/nestjs/SKILL.md +53 -53
  341. package/templates/skills/frameworks/nextjs/SKILL.md +137 -137
  342. package/templates/skills/frameworks/nuxt/SKILL.md +50 -50
  343. package/templates/skills/frameworks/rails/SKILL.md +76 -76
  344. package/templates/skills/frameworks/react/SKILL.md +48 -48
  345. package/templates/skills/frameworks/react-native/SKILL.md +57 -57
  346. package/templates/skills/frameworks/spring/SKILL.md +49 -49
  347. package/templates/skills/frameworks/symfony/SKILL.md +46 -46
  348. package/templates/skills/frameworks/vue/SKILL.md +46 -46
  349. package/templates/skills/frameworks/zend/SKILL.md +45 -45
  350. package/templates/skills/ides/copilot/SKILL.md +47 -47
  351. package/templates/skills/ides/cursor/SKILL.md +53 -53
  352. package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -45
  353. package/templates/skills/ides/replit/SKILL.md +46 -46
  354. package/templates/skills/ides/tabnine/SKILL.md +39 -39
  355. package/templates/skills/ides/vscode/SKILL.md +50 -50
  356. package/templates/skills/ides/windsurf/SKILL.md +46 -46
  357. package/templates/skills/ides/zed/SKILL.md +42 -42
  358. package/templates/skills/languages/c/SKILL.md +343 -343
  359. package/templates/skills/languages/cpp/SKILL.md +753 -753
  360. package/templates/skills/languages/csharp/SKILL.md +427 -427
  361. package/templates/skills/languages/elixir/SKILL.md +464 -464
  362. package/templates/skills/languages/erlang/SKILL.md +371 -371
  363. package/templates/skills/languages/go/SKILL.md +655 -655
  364. package/templates/skills/languages/haskell/SKILL.md +187 -187
  365. package/templates/skills/languages/java/SKILL.md +617 -617
  366. package/templates/skills/languages/javascript/SKILL.md +641 -641
  367. package/templates/skills/languages/julia/SKILL.md +107 -107
  368. package/templates/skills/languages/kotlin/SKILL.md +521 -521
  369. package/templates/skills/languages/lisp/SKILL.md +110 -110
  370. package/templates/skills/languages/lua/SKILL.md +84 -84
  371. package/templates/skills/languages/objectivec/SKILL.md +100 -100
  372. package/templates/skills/languages/php/SKILL.md +426 -426
  373. package/templates/skills/languages/python/SKILL.md +692 -692
  374. package/templates/skills/languages/ruby/SKILL.md +431 -431
  375. package/templates/skills/languages/rust/SKILL.md +487 -487
  376. package/templates/skills/languages/sas/SKILL.md +83 -83
  377. package/templates/skills/languages/scala/SKILL.md +358 -358
  378. package/templates/skills/languages/solidity/SKILL.md +590 -590
  379. package/templates/skills/languages/sql/SKILL.md +147 -147
  380. package/templates/skills/languages/swift/SKILL.md +476 -476
  381. package/templates/skills/languages/typescript/SKILL.md +302 -302
  382. package/templates/skills/languages/zig/SKILL.md +275 -275
  383. package/templates/skills/modules/atlassian/SKILL.md +265 -265
  384. package/templates/skills/modules/context7/SKILL.md +64 -64
  385. package/templates/skills/modules/figma/SKILL.md +277 -277
  386. package/templates/skills/modules/github-mcp/SKILL.md +74 -74
  387. package/templates/skills/modules/grafana/SKILL.md +338 -338
  388. package/templates/skills/modules/memory/SKILL.md +73 -73
  389. package/templates/skills/modules/notion/SKILL.md +257 -257
  390. package/templates/skills/modules/playwright/SKILL.md +100 -100
  391. package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
  392. package/templates/skills/modules/serena/SKILL.md +347 -347
  393. package/templates/skills/modules/supabase/SKILL.md +233 -233
  394. package/templates/skills/modules/synap/SKILL.md +79 -79
  395. package/templates/skills/modules/vectorizer/SKILL.md +73 -73
  396. package/templates/skills/services/azure-blob/SKILL.md +194 -194
  397. package/templates/skills/services/cassandra/SKILL.md +249 -249
  398. package/templates/skills/services/dynamodb/SKILL.md +318 -318
  399. package/templates/skills/services/elasticsearch/SKILL.md +357 -357
  400. package/templates/skills/services/gcs/SKILL.md +188 -188
  401. package/templates/skills/services/influxdb/SKILL.md +275 -275
  402. package/templates/skills/services/kafka/SKILL.md +351 -351
  403. package/templates/skills/services/mariadb/SKILL.md +193 -193
  404. package/templates/skills/services/memcached/SKILL.md +252 -252
  405. package/templates/skills/services/minio/SKILL.md +211 -211
  406. package/templates/skills/services/mongodb/SKILL.md +278 -278
  407. package/templates/skills/services/mysql/SKILL.md +368 -368
  408. package/templates/skills/services/neo4j/SKILL.md +257 -257
  409. package/templates/skills/services/oracle/SKILL.md +300 -300
  410. package/templates/skills/services/postgresql/SKILL.md +336 -336
  411. package/templates/skills/services/rabbitmq/SKILL.md +296 -296
  412. package/templates/skills/services/redis/SKILL.md +302 -302
  413. package/templates/skills/services/s3/SKILL.md +308 -308
  414. package/templates/skills/services/sqlite/SKILL.md +304 -304
  415. package/templates/skills/services/sqlserver/SKILL.md +304 -304
  416. package/templates/skills/workflows/ralph/SKILL.md +309 -309
  417. package/templates/skills/workflows/ralph/install.sh +87 -87
  418. package/templates/skills/workflows/ralph/manifest.json +158 -158
@@ -1,63 +1,63 @@
1
- <!-- VECTORIZER:START -->
2
- # Vectorizer Instructions
3
-
4
- **CRITICAL**: Use MCP Vectorizer as primary data source for project information instead of file reading.
5
-
6
- ## Core Functions
7
-
8
- ### Search
9
- ```
10
- mcp_vectorizer_search - Multiple strategies:
11
- - intelligent: AI-powered with query expansion
12
- - semantic: Advanced with reranking
13
- - contextual: Context-aware with filtering
14
- - multi_collection: Cross-project search
15
- - batch: Parallel queries
16
- - by_file_type: Filter by extension (.rs, .ts, .py)
17
- ```
18
-
19
- ### File Operations
20
- ```
21
- get_content - Retrieve file without disk I/O
22
- list_files - List indexed files with metadata
23
- get_summary - File summaries (extractive/structural)
24
- get_chunks - Progressive reading of large files
25
- get_outline - Project structure overview
26
- get_related - Find semantically related files
27
- ```
28
-
29
- ### Discovery
30
- ```
31
- full_pipeline - Complete discovery with scoring
32
- broad_discovery - Multi-query with deduplication
33
- semantic_focus - Deep semantic search
34
- expand_queries - Generate query variations
35
- ```
36
-
37
- ## When to Use
38
-
39
- | Task | Tool |
40
- |------|------|
41
- | Explore unfamiliar code | intelligent search |
42
- | Read file | get_content |
43
- | Understand structure | get_outline |
44
- | Find related files | get_related |
45
- | Read large file | get_chunks |
46
- | Complex question | full_pipeline |
47
-
48
- ## Best Practices
49
-
50
- ✅ **DO:**
51
- - Start with intelligent search for exploration
52
- - Use file_operations to avoid disk I/O
53
- - Batch queries for related items
54
- - Set similarity thresholds (0.6-0.8)
55
- - Use specific collections when known
56
-
57
- ❌ **DON'T:**
58
- - Read files from disk when available in vectorizer
59
- - Use sequential searches (batch instead)
60
- - Skip similarity thresholds
61
- - Search entire codebase when collection is known
62
-
63
- <!-- VECTORIZER:END -->
1
+ <!-- VECTORIZER:START -->
2
+ # Vectorizer Instructions
3
+
4
+ **CRITICAL**: Use MCP Vectorizer as primary data source for project information instead of file reading.
5
+
6
+ ## Core Functions
7
+
8
+ ### Search
9
+ ```
10
+ mcp_vectorizer_search - Multiple strategies:
11
+ - intelligent: AI-powered with query expansion
12
+ - semantic: Advanced with reranking
13
+ - contextual: Context-aware with filtering
14
+ - multi_collection: Cross-project search
15
+ - batch: Parallel queries
16
+ - by_file_type: Filter by extension (.rs, .ts, .py)
17
+ ```
18
+
19
+ ### File Operations
20
+ ```
21
+ get_content - Retrieve file without disk I/O
22
+ list_files - List indexed files with metadata
23
+ get_summary - File summaries (extractive/structural)
24
+ get_chunks - Progressive reading of large files
25
+ get_outline - Project structure overview
26
+ get_related - Find semantically related files
27
+ ```
28
+
29
+ ### Discovery
30
+ ```
31
+ full_pipeline - Complete discovery with scoring
32
+ broad_discovery - Multi-query with deduplication
33
+ semantic_focus - Deep semantic search
34
+ expand_queries - Generate query variations
35
+ ```
36
+
37
+ ## When to Use
38
+
39
+ | Task | Tool |
40
+ |------|------|
41
+ | Explore unfamiliar code | intelligent search |
42
+ | Read file | get_content |
43
+ | Understand structure | get_outline |
44
+ | Find related files | get_related |
45
+ | Read large file | get_chunks |
46
+ | Complex question | full_pipeline |
47
+
48
+ ## Best Practices
49
+
50
+ ✅ **DO:**
51
+ - Start with intelligent search for exploration
52
+ - Use file_operations to avoid disk I/O
53
+ - Batch queries for related items
54
+ - Set similarity thresholds (0.6-0.8)
55
+ - Use specific collections when known
56
+
57
+ ❌ **DON'T:**
58
+ - Read files from disk when available in vectorizer
59
+ - Use sequential searches (batch instead)
60
+ - Skip similarity thresholds
61
+ - Search entire codebase when collection is known
62
+
63
+ <!-- VECTORIZER:END -->
@@ -1,42 +1,42 @@
1
- <!-- SEQUENTIAL_THINKING:START -->
2
- # Sequential Thinking MCP
3
-
4
- Sequential thinking MCP enables structured, step-by-step problem solving for complex tasks.
5
-
6
- ## When to Use
7
-
8
- Use sequential thinking for:
9
- - Complex architectural decisions requiring multiple trade-off analyses
10
- - Debugging hard-to-reproduce issues
11
- - Planning multi-step implementations before writing code
12
- - Tasks where mistakes are costly (data migrations, API changes)
13
-
14
- ## Usage Pattern
15
-
16
- ```
17
- mcp__sequential-thinking__sequentialthinking
18
- ```
19
-
20
- Call with a thought/problem to explore it step by step before committing to an implementation.
21
-
22
- ## Integration
23
-
24
- When sequential thinking MCP is available:
25
- 1. Start complex tasks with a thinking step to plan the approach
26
- 2. Use it to validate assumptions before writing code
27
- 3. Record key decisions from the thinking process in task spec files
28
-
29
- ## Install (if not configured)
30
-
31
- ```bash
32
- # Add to .mcp.json
33
- {
34
- "mcpServers": {
35
- "sequential-thinking": {
36
- "command": "npx",
37
- "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
38
- }
39
- }
40
- }
41
- ```
42
- <!-- SEQUENTIAL_THINKING:END -->
1
+ <!-- SEQUENTIAL_THINKING:START -->
2
+ # Sequential Thinking MCP
3
+
4
+ Sequential thinking MCP enables structured, step-by-step problem solving for complex tasks.
5
+
6
+ ## When to Use
7
+
8
+ Use sequential thinking for:
9
+ - Complex architectural decisions requiring multiple trade-off analyses
10
+ - Debugging hard-to-reproduce issues
11
+ - Planning multi-step implementations before writing code
12
+ - Tasks where mistakes are costly (data migrations, API changes)
13
+
14
+ ## Usage Pattern
15
+
16
+ ```
17
+ mcp__sequential-thinking__sequentialthinking
18
+ ```
19
+
20
+ Call with a thought/problem to explore it step by step before committing to an implementation.
21
+
22
+ ## Integration
23
+
24
+ When sequential thinking MCP is available:
25
+ 1. Start complex tasks with a thinking step to plan the approach
26
+ 2. Use it to validate assumptions before writing code
27
+ 3. Record key decisions from the thinking process in task spec files
28
+
29
+ ## Install (if not configured)
30
+
31
+ ```bash
32
+ # Add to .mcp.json
33
+ {
34
+ "mcpServers": {
35
+ "sequential-thinking": {
36
+ "command": "npx",
37
+ "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
38
+ }
39
+ }
40
+ }
41
+ ```
42
+ <!-- SEQUENTIAL_THINKING:END -->
@@ -1,4 +1,4 @@
1
- @echo off
2
- REM Ralph History — View iteration history
3
- REM Generated by @hivehub/rulebook
4
- npx @hivehub/rulebook@latest ralph history %*
1
+ @echo off
2
+ REM Ralph History — View iteration history
3
+ REM Generated by @hivehub/rulebook
4
+ npx @hivehub/rulebook@latest ralph history %*
@@ -1,5 +1,5 @@
1
- #!/bin/sh
2
- # Ralph History — View iteration history
3
- # Generated by @hivehub/rulebook
4
- echo "Loading Ralph history..."
5
- npx @hivehub/rulebook@latest ralph history "$@"
1
+ #!/bin/sh
2
+ # Ralph History — View iteration history
3
+ # Generated by @hivehub/rulebook
4
+ echo "Loading Ralph history..."
5
+ npx @hivehub/rulebook@latest ralph history "$@"
@@ -1,5 +1,5 @@
1
- @echo off
2
- REM Ralph Init — Initialize autonomous loop
3
- REM Generated by @hivehub/rulebook
4
- echo Initializing Ralph autonomous loop...
5
- npx @hivehub/rulebook@latest ralph init %*
1
+ @echo off
2
+ REM Ralph Init — Initialize autonomous loop
3
+ REM Generated by @hivehub/rulebook
4
+ echo Initializing Ralph autonomous loop...
5
+ npx @hivehub/rulebook@latest ralph init %*
@@ -1,5 +1,5 @@
1
- #!/bin/sh
2
- # Ralph Init — Initialize autonomous loop
3
- # Generated by @hivehub/rulebook
4
- echo "Initializing Ralph autonomous loop..."
5
- npx @hivehub/rulebook@latest ralph init "$@"
1
+ #!/bin/sh
2
+ # Ralph Init — Initialize autonomous loop
3
+ # Generated by @hivehub/rulebook
4
+ echo "Initializing Ralph autonomous loop..."
5
+ npx @hivehub/rulebook@latest ralph init "$@"
@@ -1,5 +1,5 @@
1
- @echo off
2
- REM Ralph Pause — Pause autonomous loop
3
- REM Generated by @hivehub/rulebook
4
- echo Pausing Ralph autonomous loop...
5
- npx @hivehub/rulebook@latest ralph pause %*
1
+ @echo off
2
+ REM Ralph Pause — Pause autonomous loop
3
+ REM Generated by @hivehub/rulebook
4
+ echo Pausing Ralph autonomous loop...
5
+ npx @hivehub/rulebook@latest ralph pause %*
@@ -1,5 +1,5 @@
1
- #!/bin/sh
2
- # Ralph Pause — Pause autonomous loop
3
- # Generated by @hivehub/rulebook
4
- echo "Pausing Ralph autonomous loop..."
5
- npx @hivehub/rulebook@latest ralph pause "$@"
1
+ #!/bin/sh
2
+ # Ralph Pause — Pause autonomous loop
3
+ # Generated by @hivehub/rulebook
4
+ echo "Pausing Ralph autonomous loop..."
5
+ npx @hivehub/rulebook@latest ralph pause "$@"
@@ -1,5 +1,5 @@
1
- @echo off
2
- REM Ralph Run — Start autonomous loop
3
- REM Generated by @hivehub/rulebook
4
- echo Starting Ralph autonomous loop...
5
- npx @hivehub/rulebook@latest ralph run %*
1
+ @echo off
2
+ REM Ralph Run — Start autonomous loop
3
+ REM Generated by @hivehub/rulebook
4
+ echo Starting Ralph autonomous loop...
5
+ npx @hivehub/rulebook@latest ralph run %*
@@ -1,5 +1,5 @@
1
- #!/bin/sh
2
- # Ralph Run — Start autonomous loop
3
- # Generated by @hivehub/rulebook
4
- echo "Starting Ralph autonomous loop..."
5
- npx @hivehub/rulebook@latest ralph run "$@"
1
+ #!/bin/sh
2
+ # Ralph Run — Start autonomous loop
3
+ # Generated by @hivehub/rulebook
4
+ echo "Starting Ralph autonomous loop..."
5
+ npx @hivehub/rulebook@latest ralph run "$@"
@@ -1,4 +1,4 @@
1
- @echo off
2
- REM Ralph Status — Check loop status
3
- REM Generated by @hivehub/rulebook
4
- npx @hivehub/rulebook@latest ralph status %*
1
+ @echo off
2
+ REM Ralph Status — Check loop status
3
+ REM Generated by @hivehub/rulebook
4
+ npx @hivehub/rulebook@latest ralph status %*
@@ -1,5 +1,5 @@
1
- #!/bin/sh
2
- # Ralph Status — Check loop status
3
- # Generated by @hivehub/rulebook
4
- echo "Checking Ralph status..."
5
- npx @hivehub/rulebook@latest ralph status "$@"
1
+ #!/bin/sh
2
+ # Ralph Status — Check loop status
3
+ # Generated by @hivehub/rulebook
4
+ echo "Checking Ralph status..."
5
+ npx @hivehub/rulebook@latest ralph status "$@"
@@ -1,23 +1,23 @@
1
- <!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
2
-
3
- # Consult analysis before implementing
4
-
5
- When you start working on any task whose `proposal.md` contains a
6
- `Source: docs/analysis/<slug>/` reference, you MUST first:
7
-
8
- 1. Read the referenced analysis README and findings
9
- 2. Run `rulebook_knowledge_list` (or `rulebook knowledge list`) and
10
- scan for entries tagged `analysis:<slug>`
11
- 3. Run `rulebook_memory_search` with query `analysis:<slug>` to
12
- retrieve any prior session context about this analysis
13
-
14
- Only after reviewing these results may you begin implementation.
15
-
16
- ## Why
17
-
18
- Analyses accumulate institutional knowledge (patterns, anti-patterns,
19
- architectural decisions, validated findings). Implementing without
20
- consulting them means repeating mistakes or contradicting decisions
21
- that were already made based on evidence.
22
-
23
- This rule is part of the `/analysis` workflow (v5.3.0 F-NEW-4).
1
+ <!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
2
+
3
+ # Consult analysis before implementing
4
+
5
+ When you start working on any task whose `proposal.md` contains a
6
+ `Source: docs/analysis/<slug>/` reference, you MUST first:
7
+
8
+ 1. Read the referenced analysis README and findings
9
+ 2. Run `rulebook_knowledge_list` (or `rulebook knowledge list`) and
10
+ scan for entries tagged `analysis:<slug>`
11
+ 3. Run `rulebook_memory_search` with query `analysis:<slug>` to
12
+ retrieve any prior session context about this analysis
13
+
14
+ Only after reviewing these results may you begin implementation.
15
+
16
+ ## Why
17
+
18
+ Analyses accumulate institutional knowledge (patterns, anti-patterns,
19
+ architectural decisions, validated findings). Implementing without
20
+ consulting them means repeating mistakes or contradicting decisions
21
+ that were already made based on evidence.
22
+
23
+ This rule is part of the `/analysis` workflow (v5.3.0 F-NEW-4).
@@ -1,46 +1,46 @@
1
- ---
2
- paths:
3
- - "**/*.cpp"
4
- - "**/*.cc"
5
- - "**/*.cxx"
6
- - "**/*.hpp"
7
- - "**/*.hh"
8
- - "**/*.h"
9
- - "CMakeLists.txt"
10
- - "**/CMakeLists.txt"
11
- - "**/*.cmake"
12
- ---
13
- <!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
14
-
15
- # C / C++ rules
16
-
17
- Loaded by Claude Code when touching C/C++ or CMake sources.
18
-
19
- ## Non-negotiables
20
-
21
- 1. **Build before test.** Run the compiler (`cmake --build <build>` or equivalent) before running tests. Link errors and missing symbols surface at build time — do not waste time running a binary that cannot link.
22
- 2. **Treat warnings as errors.** `-Wall -Wextra -Werror` (gcc/clang) or `/W4 /WX` (MSVC). If a warning is a false positive, document it with a pragma and a comment.
23
- 3. **Use smart pointers.** `std::unique_ptr` by default, `std::shared_ptr` only when ownership is genuinely shared. Raw `new`/`delete` requires justification.
24
- 4. **RAII for every resource.** File handles, sockets, locks, GPU resources — wrap in a class with a destructor. Never match `open`/`close` pairs by hand.
25
- 5. **No undefined behavior shortcuts.** No signed overflow reliance, no strict-aliasing violations, no reinterpret_cast across unrelated types without `memcpy`.
26
-
27
- ## Conventions
28
-
29
- - C++17 baseline; C++20 features only if the project's CMake confirms support.
30
- - Header guards via `#pragma once` unless the project uses traditional `#ifndef` blocks.
31
- - `const` everywhere you can — parameters, methods, locals.
32
- - `auto` for types that are obvious from RHS (iterators, lambdas); spell the type when it aids the reader.
33
- - Avoid `using namespace std;` in headers (acceptable in .cpp with a tight scope).
34
-
35
- ## Testing
36
-
37
- - Use the project's framework (GoogleTest, Catch2, doctest) — do not add a new one.
38
- - Run under ASan / UBSan on CI (`-fsanitize=address,undefined`).
39
- - Prefer property-based / fuzz tests for parsers and serializers.
40
-
41
- ## Build & tooling
42
-
43
- - Out-of-source builds only. `build/` is gitignored.
44
- - `clang-format` from a committed `.clang-format` is the only formatting authority.
45
- - `compile_commands.json` exported (`-DCMAKE_EXPORT_COMPILE_COMMANDS=ON`) for clangd / tooling.
46
- - Never commit object files, binaries, or PDBs.
1
+ ---
2
+ paths:
3
+ - "**/*.cpp"
4
+ - "**/*.cc"
5
+ - "**/*.cxx"
6
+ - "**/*.hpp"
7
+ - "**/*.hh"
8
+ - "**/*.h"
9
+ - "CMakeLists.txt"
10
+ - "**/CMakeLists.txt"
11
+ - "**/*.cmake"
12
+ ---
13
+ <!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
14
+
15
+ # C / C++ rules
16
+
17
+ Loaded by Claude Code when touching C/C++ or CMake sources.
18
+
19
+ ## Non-negotiables
20
+
21
+ 1. **Build before test.** Run the compiler (`cmake --build <build>` or equivalent) before running tests. Link errors and missing symbols surface at build time — do not waste time running a binary that cannot link.
22
+ 2. **Treat warnings as errors.** `-Wall -Wextra -Werror` (gcc/clang) or `/W4 /WX` (MSVC). If a warning is a false positive, document it with a pragma and a comment.
23
+ 3. **Use smart pointers.** `std::unique_ptr` by default, `std::shared_ptr` only when ownership is genuinely shared. Raw `new`/`delete` requires justification.
24
+ 4. **RAII for every resource.** File handles, sockets, locks, GPU resources — wrap in a class with a destructor. Never match `open`/`close` pairs by hand.
25
+ 5. **No undefined behavior shortcuts.** No signed overflow reliance, no strict-aliasing violations, no reinterpret_cast across unrelated types without `memcpy`.
26
+
27
+ ## Conventions
28
+
29
+ - C++17 baseline; C++20 features only if the project's CMake confirms support.
30
+ - Header guards via `#pragma once` unless the project uses traditional `#ifndef` blocks.
31
+ - `const` everywhere you can — parameters, methods, locals.
32
+ - `auto` for types that are obvious from RHS (iterators, lambdas); spell the type when it aids the reader.
33
+ - Avoid `using namespace std;` in headers (acceptable in .cpp with a tight scope).
34
+
35
+ ## Testing
36
+
37
+ - Use the project's framework (GoogleTest, Catch2, doctest) — do not add a new one.
38
+ - Run under ASan / UBSan on CI (`-fsanitize=address,undefined`).
39
+ - Prefer property-based / fuzz tests for parsers and serializers.
40
+
41
+ ## Build & tooling
42
+
43
+ - Out-of-source builds only. `build/` is gitignored.
44
+ - `clang-format` from a committed `.clang-format` is the only formatting authority.
45
+ - `compile_commands.json` exported (`-DCMAKE_EXPORT_COMPILE_COMMANDS=ON`) for clangd / tooling.
46
+ - Never commit object files, binaries, or PDBs.
@@ -1,44 +1,44 @@
1
- ---
2
- paths:
3
- - "**/*.cs"
4
- - "**/*.csproj"
5
- - "**/*.sln"
6
- - "Directory.Build.props"
7
- - "Directory.Build.targets"
8
- - "global.json"
9
- ---
10
- <!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
11
-
12
- # C# rules
13
-
14
- Loaded by Claude Code when touching C# sources or MSBuild files.
15
-
16
- ## Non-negotiables
17
-
18
- 1. **Build before test.** `dotnet build` before `dotnet test`. Compilation errors surface faster and cheaper than test failures.
19
- 2. **Nullable reference types enabled.** `<Nullable>enable</Nullable>` in the csproj. Treat warnings as errors where the project configures it.
20
- 3. **No `!` (null-forgiving) without a comment** explaining why the compiler is wrong.
21
- 4. **`async` all the way.** No `.Result` / `.Wait()` in async code paths — deadlocks are the inevitable consequence.
22
- 5. **Dispose or `using`.** Every `IDisposable` is either wrapped in `using` / `await using` or explicitly disposed in a `finally`.
23
-
24
- ## Conventions
25
-
26
- - PascalCase for public members, camelCase for parameters and locals, `_camelCase` for private fields.
27
- - `var` when the type is obvious from RHS; spell the type otherwise.
28
- - Prefer records for DTOs (C# 9+); sealed classes by default.
29
- - `CancellationToken` as the last parameter of async methods.
30
- - Do not catch `Exception` — catch the specific type or rethrow.
31
-
32
- ## Testing
33
-
34
- - xUnit, NUnit, or MSTest per project config — do not add a new one.
35
- - FluentAssertions for readable asserts where already used.
36
- - `[Theory]` / parameterized tests for input-table coverage.
37
- - Mocks via Moq / NSubstitute; avoid heavy mocking frameworks.
38
-
39
- ## Build & tooling
40
-
41
- - `dotnet format` before committing.
42
- - Commit `.csproj`, never `bin/` or `obj/`.
43
- - Target framework pinned via `global.json` when multiple SDKs are installed.
44
- - Run `dotnet build --warnaserror` on CI.
1
+ ---
2
+ paths:
3
+ - "**/*.cs"
4
+ - "**/*.csproj"
5
+ - "**/*.sln"
6
+ - "Directory.Build.props"
7
+ - "Directory.Build.targets"
8
+ - "global.json"
9
+ ---
10
+ <!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
11
+
12
+ # C# rules
13
+
14
+ Loaded by Claude Code when touching C# sources or MSBuild files.
15
+
16
+ ## Non-negotiables
17
+
18
+ 1. **Build before test.** `dotnet build` before `dotnet test`. Compilation errors surface faster and cheaper than test failures.
19
+ 2. **Nullable reference types enabled.** `<Nullable>enable</Nullable>` in the csproj. Treat warnings as errors where the project configures it.
20
+ 3. **No `!` (null-forgiving) without a comment** explaining why the compiler is wrong.
21
+ 4. **`async` all the way.** No `.Result` / `.Wait()` in async code paths — deadlocks are the inevitable consequence.
22
+ 5. **Dispose or `using`.** Every `IDisposable` is either wrapped in `using` / `await using` or explicitly disposed in a `finally`.
23
+
24
+ ## Conventions
25
+
26
+ - PascalCase for public members, camelCase for parameters and locals, `_camelCase` for private fields.
27
+ - `var` when the type is obvious from RHS; spell the type otherwise.
28
+ - Prefer records for DTOs (C# 9+); sealed classes by default.
29
+ - `CancellationToken` as the last parameter of async methods.
30
+ - Do not catch `Exception` — catch the specific type or rethrow.
31
+
32
+ ## Testing
33
+
34
+ - xUnit, NUnit, or MSTest per project config — do not add a new one.
35
+ - FluentAssertions for readable asserts where already used.
36
+ - `[Theory]` / parameterized tests for input-table coverage.
37
+ - Mocks via Moq / NSubstitute; avoid heavy mocking frameworks.
38
+
39
+ ## Build & tooling
40
+
41
+ - `dotnet format` before committing.
42
+ - Commit `.csproj`, never `bin/` or `obj/`.
43
+ - Target framework pinned via `global.json` when multiple SDKs are installed.
44
+ - Run `dotnet build --warnaserror` on CI.
@@ -1,39 +1,39 @@
1
- <!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
2
-
3
- # Check before test (diagnostic-first)
4
-
5
- **Always run diagnostic tools before the test suite.**
6
-
7
- | Language | Check command | Run BEFORE |
8
- |----------|--------------|------------|
9
- | TypeScript | `tsc --noEmit` / `npm run type-check` | `npm test` |
10
- | Rust | `cargo check` | `cargo test` |
11
- | Python | `mypy .` / `pyright` | `pytest` |
12
- | Go | `go vet ./...` | `go test ./...` |
13
- | C/C++ | `cmake --build <dir>` | `ctest` |
14
- | Java | `mvn compile` | `mvn test` |
15
- | C# | `dotnet build` | `dotnet test` |
16
- | TML | `mcp__tml__check` (MCP) / `scripts/build.bat` | `mcp__tml__test` |
17
-
18
- ## Why
19
-
20
- Diagnostic tools (type-checkers, linters, compilers) are **5–10x faster**
21
- than test suites and catch a different class of errors. Running them first:
22
-
23
- 1. Surfaces errors that tests would catch slower (or not at all)
24
- 2. Avoids wasting a full test cycle on code that can't compile
25
- 3. Provides faster feedback loops per iteration
26
-
27
- **Evidence**: a single "check before test" prompt rule raised diagnostic
28
- tool adoption from 8.8% to 25.3% in 10 days, accelerating rather than
29
- plateauing. Default-on features reach 95.7% adoption vs 11.1% for opt-in.
30
- (Source: LLM-IR-Debugging paper, §5–6)
31
-
32
- ## Rule
33
-
34
- Before running the project's test suite:
35
- 1. Run the project's configured type-checker or compiler
36
- 2. Fix any errors it reports
37
- 3. Only then run tests
38
-
39
- This applies to every iteration, not just the final commit check.
1
+ <!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
2
+
3
+ # Check before test (diagnostic-first)
4
+
5
+ **Always run diagnostic tools before the test suite.**
6
+
7
+ | Language | Check command | Run BEFORE |
8
+ |----------|--------------|------------|
9
+ | TypeScript | `tsc --noEmit` / `npm run type-check` | `npm test` |
10
+ | Rust | `cargo check` | `cargo test` |
11
+ | Python | `mypy .` / `pyright` | `pytest` |
12
+ | Go | `go vet ./...` | `go test ./...` |
13
+ | C/C++ | `cmake --build <dir>` | `ctest` |
14
+ | Java | `mvn compile` | `mvn test` |
15
+ | C# | `dotnet build` | `dotnet test` |
16
+ | TML | `mcp__tml__check` (MCP) / `scripts/build.bat` | `mcp__tml__test` |
17
+
18
+ ## Why
19
+
20
+ Diagnostic tools (type-checkers, linters, compilers) are **5–10x faster**
21
+ than test suites and catch a different class of errors. Running them first:
22
+
23
+ 1. Surfaces errors that tests would catch slower (or not at all)
24
+ 2. Avoids wasting a full test cycle on code that can't compile
25
+ 3. Provides faster feedback loops per iteration
26
+
27
+ **Evidence**: a single "check before test" prompt rule raised diagnostic
28
+ tool adoption from 8.8% to 25.3% in 10 days, accelerating rather than
29
+ plateauing. Default-on features reach 95.7% adoption vs 11.1% for opt-in.
30
+ (Source: LLM-IR-Debugging paper, §5–6)
31
+
32
+ ## Rule
33
+
34
+ Before running the project's test suite:
35
+ 1. Run the project's configured type-checker or compiler
36
+ 2. Fix any errors it reports
37
+ 3. Only then run tests
38
+
39
+ This applies to every iteration, not just the final commit check.