@hivehub/rulebook 5.3.3 → 5.4.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 (492) 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/LICENSE +191 -191
  26. package/README.md +42 -3
  27. package/dist/cli/commands/compress.d.ts +18 -0
  28. package/dist/cli/commands/compress.d.ts.map +1 -0
  29. package/dist/cli/commands/compress.js +100 -0
  30. package/dist/cli/commands/compress.js.map +1 -0
  31. package/dist/cli/commands/index.d.ts +1 -0
  32. package/dist/cli/commands/index.d.ts.map +1 -1
  33. package/dist/cli/commands/index.js +1 -0
  34. package/dist/cli/commands/index.js.map +1 -1
  35. package/dist/cli/commands/init.d.ts.map +1 -1
  36. package/dist/cli/commands/init.js +2 -0
  37. package/dist/cli/commands/init.js.map +1 -1
  38. package/dist/cli/commands/update.d.ts.map +1 -1
  39. package/dist/cli/commands/update.js +2 -0
  40. package/dist/cli/commands/update.js.map +1 -1
  41. package/dist/core/claude-settings-manager.d.ts +7 -0
  42. package/dist/core/claude-settings-manager.d.ts.map +1 -1
  43. package/dist/core/claude-settings-manager.js +31 -14
  44. package/dist/core/claude-settings-manager.js.map +1 -1
  45. package/dist/core/compress/compressor.d.ts +60 -0
  46. package/dist/core/compress/compressor.d.ts.map +1 -0
  47. package/dist/core/compress/compressor.js +232 -0
  48. package/dist/core/compress/compressor.js.map +1 -0
  49. package/dist/core/compress/discover.d.ts +19 -0
  50. package/dist/core/compress/discover.d.ts.map +1 -0
  51. package/dist/core/compress/discover.js +100 -0
  52. package/dist/core/compress/discover.js.map +1 -0
  53. package/dist/core/compress/validator.d.ts +47 -0
  54. package/dist/core/compress/validator.d.ts.map +1 -0
  55. package/dist/core/compress/validator.js +131 -0
  56. package/dist/core/compress/validator.js.map +1 -0
  57. package/dist/core/doctor.d.ts.map +1 -1
  58. package/dist/core/doctor.js +66 -0
  59. package/dist/core/doctor.js.map +1 -1
  60. package/dist/core/generator.d.ts +16 -0
  61. package/dist/core/generator.d.ts.map +1 -1
  62. package/dist/core/generator.js +36 -11
  63. package/dist/core/generator.js.map +1 -1
  64. package/dist/hooks/safe-flag-io.d.ts +77 -0
  65. package/dist/hooks/safe-flag-io.d.ts.map +1 -0
  66. package/dist/hooks/safe-flag-io.js +169 -0
  67. package/dist/hooks/safe-flag-io.js.map +1 -0
  68. package/dist/index.js +11 -1
  69. package/dist/index.js.map +1 -1
  70. package/dist/mcp/rulebook-server.d.ts.map +1 -1
  71. package/dist/mcp/rulebook-server.js +236 -0
  72. package/dist/mcp/rulebook-server.js.map +1 -1
  73. package/dist/types.d.ts +4 -0
  74. package/dist/types.d.ts.map +1 -1
  75. package/package.json +23 -21
  76. package/templates/agents/accessibility-reviewer.md +43 -43
  77. package/templates/agents/api-designer.md +42 -42
  78. package/templates/agents/architect.md +51 -51
  79. package/templates/agents/build-engineer.md +36 -36
  80. package/templates/agents/code-reviewer.md +47 -47
  81. package/templates/agents/compiler/codegen-debugger.md +34 -34
  82. package/templates/agents/compiler/stdlib-engineer.md +28 -28
  83. package/templates/agents/compiler/test-coverage-guardian.md +31 -31
  84. package/templates/agents/context-intelligence.md +52 -52
  85. package/templates/agents/database-architect.md +41 -41
  86. package/templates/agents/devops-engineer.md +42 -42
  87. package/templates/agents/docs-writer.md +38 -38
  88. package/templates/agents/game-engine/cpp-core-expert.md +35 -35
  89. package/templates/agents/game-engine/render-engineer.md +22 -22
  90. package/templates/agents/game-engine/shader-engineer.md +38 -38
  91. package/templates/agents/game-engine/systems-integration.md +43 -43
  92. package/templates/agents/generic/code-reviewer.md +41 -41
  93. package/templates/agents/generic/docs-writer.md +25 -25
  94. package/templates/agents/generic/project-manager.md +36 -36
  95. package/templates/agents/generic/researcher.md +34 -34
  96. package/templates/agents/generic/test-engineer.md +41 -41
  97. package/templates/agents/i18n-engineer.md +42 -42
  98. package/templates/agents/implementer.md +42 -42
  99. package/templates/agents/migration-engineer.md +42 -42
  100. package/templates/agents/mobile/platform-specialist.md +22 -22
  101. package/templates/agents/mobile/ui-engineer.md +22 -22
  102. package/templates/agents/performance-engineer.md +49 -49
  103. package/templates/agents/refactoring-agent.md +41 -41
  104. package/templates/agents/researcher.md +38 -38
  105. package/templates/agents/security-reviewer.md +40 -40
  106. package/templates/agents/team-lead.md +37 -37
  107. package/templates/agents/tester.md +48 -48
  108. package/templates/agents/ux-reviewer.md +43 -43
  109. package/templates/agents/web-app/api-designer.md +22 -22
  110. package/templates/agents/web-app/backend-engineer.md +30 -30
  111. package/templates/agents/web-app/database-engineer.md +22 -22
  112. package/templates/agents/web-app/frontend-engineer.md +29 -29
  113. package/templates/agents/web-app/security-reviewer.md +32 -32
  114. package/templates/ci/rulebook-review.yml +26 -26
  115. package/templates/cli/AIDER.md +49 -49
  116. package/templates/cli/AMAZON_Q.md +25 -25
  117. package/templates/cli/AUGGIE.md +32 -32
  118. package/templates/cli/CLAUDE.md +117 -117
  119. package/templates/cli/CLINE.md +99 -99
  120. package/templates/cli/CODEBUDDY.md +20 -20
  121. package/templates/cli/CODEIUM.md +20 -20
  122. package/templates/cli/CODEX.md +21 -21
  123. package/templates/cli/CONTINUE.md +34 -34
  124. package/templates/cli/CURSOR_CLI.md +62 -62
  125. package/templates/cli/FACTORY.md +18 -18
  126. package/templates/cli/GEMINI.md +35 -35
  127. package/templates/cli/KILOCODE.md +18 -18
  128. package/templates/cli/OPENCODE.md +18 -18
  129. package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
  130. package/templates/cli/gemini-extension.json +77 -77
  131. package/templates/commands/rulebook-decision-create.md +55 -55
  132. package/templates/commands/rulebook-decision-list.md +15 -15
  133. package/templates/commands/rulebook-knowledge-add.md +41 -41
  134. package/templates/commands/rulebook-knowledge-list.md +15 -15
  135. package/templates/commands/rulebook-learn-capture.md +48 -48
  136. package/templates/commands/rulebook-learn-list.md +13 -13
  137. package/templates/commands/rulebook-memory-save.md +48 -48
  138. package/templates/commands/rulebook-memory-search.md +47 -47
  139. package/templates/commands/rulebook-task-apply.md +67 -67
  140. package/templates/commands/rulebook-task-archive.md +94 -94
  141. package/templates/commands/rulebook-task-create.md +93 -93
  142. package/templates/commands/rulebook-task-list.md +42 -42
  143. package/templates/commands/rulebook-task-show.md +52 -52
  144. package/templates/commands/rulebook-task-validate.md +53 -53
  145. package/templates/compact-context/_default.md +23 -23
  146. package/templates/compact-context/cpp.md +26 -26
  147. package/templates/compact-context/go.md +26 -26
  148. package/templates/compact-context/python.md +26 -26
  149. package/templates/compact-context/rust.md +28 -28
  150. package/templates/compact-context/typescript.md +29 -29
  151. package/templates/core/AGENTS_OVERRIDE.md +16 -16
  152. package/templates/core/AGENT_AUTOMATION.md +296 -296
  153. package/templates/core/CLAUDE_MD_v2.md +71 -71
  154. package/templates/core/DAG.md +304 -304
  155. package/templates/core/DECISIONS.md +38 -38
  156. package/templates/core/DOCUMENTATION_RULES.md +36 -36
  157. package/templates/core/KNOWLEDGE.md +49 -49
  158. package/templates/core/MULTI_AGENT.md +74 -74
  159. package/templates/core/PLANS.md +28 -28
  160. package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
  161. package/templates/core/RALPH.md +471 -471
  162. package/templates/core/RULEBOOK.md +1947 -1947
  163. package/templates/core/TIER1_PROHIBITIONS.md +154 -154
  164. package/templates/core/TOKEN_OPTIMIZATION.md +49 -49
  165. package/templates/core/WORKSPACE.md +69 -69
  166. package/templates/frameworks/ANGULAR.md +36 -36
  167. package/templates/frameworks/DJANGO.md +83 -83
  168. package/templates/frameworks/ELECTRON.md +147 -147
  169. package/templates/frameworks/FLASK.md +38 -38
  170. package/templates/frameworks/FLUTTER.md +55 -55
  171. package/templates/frameworks/JQUERY.md +32 -32
  172. package/templates/frameworks/LARAVEL.md +38 -38
  173. package/templates/frameworks/NESTJS.md +43 -43
  174. package/templates/frameworks/NEXTJS.md +127 -127
  175. package/templates/frameworks/NUXT.md +40 -40
  176. package/templates/frameworks/RAILS.md +66 -66
  177. package/templates/frameworks/REACT.md +38 -38
  178. package/templates/frameworks/REACT_NATIVE.md +47 -47
  179. package/templates/frameworks/SPRING.md +39 -39
  180. package/templates/frameworks/SYMFONY.md +36 -36
  181. package/templates/frameworks/VUE.md +36 -36
  182. package/templates/frameworks/ZEND.md +35 -35
  183. package/templates/git/CI_CD_PATTERNS.md +661 -661
  184. package/templates/git/GITHUB_ACTIONS.md +728 -728
  185. package/templates/git/GITLAB_CI.md +730 -730
  186. package/templates/git/GIT_WORKFLOW.md +1192 -1192
  187. package/templates/git/SECRETS_MANAGEMENT.md +585 -585
  188. package/templates/hooks/COMMIT_MSG.md +530 -530
  189. package/templates/hooks/POST_CHECKOUT.md +546 -546
  190. package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
  191. package/templates/hooks/PRE_COMMIT.md +414 -414
  192. package/templates/hooks/PRE_PUSH.md +601 -601
  193. package/templates/hooks/check-context-and-handoff.ps1 +58 -58
  194. package/templates/hooks/check-context-and-handoff.sh +76 -76
  195. package/templates/hooks/enforce-team-for-background-agents.ps1 +63 -63
  196. package/templates/hooks/enforce-team-for-background-agents.sh +55 -55
  197. package/templates/hooks/on-compact-reinject.sh +34 -34
  198. package/templates/hooks/resume-from-handoff.ps1 +40 -40
  199. package/templates/hooks/resume-from-handoff.sh +61 -61
  200. package/templates/hooks/terse-activate.ps1 +143 -0
  201. package/templates/hooks/terse-activate.sh +197 -0
  202. package/templates/hooks/terse-mode-tracker.ps1 +153 -0
  203. package/templates/hooks/terse-mode-tracker.sh +187 -0
  204. package/templates/ides/CONTINUE_RULES.md +16 -16
  205. package/templates/ides/COPILOT.md +37 -37
  206. package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -23
  207. package/templates/ides/CURSOR.md +43 -43
  208. package/templates/ides/GEMINI_RULES.md +17 -17
  209. package/templates/ides/JETBRAINS_AI.md +35 -35
  210. package/templates/ides/REPLIT.md +36 -36
  211. package/templates/ides/TABNINE.md +29 -29
  212. package/templates/ides/VSCODE.md +40 -40
  213. package/templates/ides/WINDSURF.md +36 -36
  214. package/templates/ides/WINDSURF_RULES.md +14 -14
  215. package/templates/ides/ZED.md +32 -32
  216. package/templates/ides/cursor-mdc/go.mdc +24 -24
  217. package/templates/ides/cursor-mdc/python.mdc +24 -24
  218. package/templates/ides/cursor-mdc/quality.mdc +25 -25
  219. package/templates/ides/cursor-mdc/ralph.mdc +39 -39
  220. package/templates/ides/cursor-mdc/rulebook.mdc +38 -38
  221. package/templates/ides/cursor-mdc/rust.mdc +24 -24
  222. package/templates/ides/cursor-mdc/typescript.mdc +25 -25
  223. package/templates/languages/C.md +333 -333
  224. package/templates/languages/CPP.md +743 -743
  225. package/templates/languages/CSHARP.md +417 -417
  226. package/templates/languages/ELIXIR.md +454 -454
  227. package/templates/languages/ERLANG.md +361 -361
  228. package/templates/languages/GO.md +645 -645
  229. package/templates/languages/HASKELL.md +177 -177
  230. package/templates/languages/JAVA.md +607 -607
  231. package/templates/languages/JAVASCRIPT.md +631 -631
  232. package/templates/languages/JULIA.md +97 -97
  233. package/templates/languages/KOTLIN.md +511 -511
  234. package/templates/languages/LISP.md +100 -100
  235. package/templates/languages/LUA.md +74 -74
  236. package/templates/languages/OBJECTIVEC.md +90 -90
  237. package/templates/languages/PHP.md +416 -416
  238. package/templates/languages/PYTHON.md +682 -682
  239. package/templates/languages/RUBY.md +421 -421
  240. package/templates/languages/RUST.md +477 -477
  241. package/templates/languages/SAS.md +73 -73
  242. package/templates/languages/SCALA.md +348 -348
  243. package/templates/languages/SOLIDITY.md +580 -580
  244. package/templates/languages/SQL.md +137 -137
  245. package/templates/languages/SWIFT.md +466 -466
  246. package/templates/languages/TYPESCRIPT.md +591 -591
  247. package/templates/languages/ZIG.md +265 -265
  248. package/templates/modules/ATLASSIAN.md +255 -255
  249. package/templates/modules/CONTEXT7.md +54 -54
  250. package/templates/modules/FIGMA.md +267 -267
  251. package/templates/modules/GITHUB_MCP.md +64 -64
  252. package/templates/modules/GRAFANA.md +328 -328
  253. package/templates/modules/MEMORY.md +126 -126
  254. package/templates/modules/NOTION.md +247 -247
  255. package/templates/modules/PLAYWRIGHT.md +90 -90
  256. package/templates/modules/RULEBOOK_MCP.md +208 -156
  257. package/templates/modules/SERENA.md +337 -337
  258. package/templates/modules/SUPABASE.md +223 -223
  259. package/templates/modules/SYNAP.md +69 -69
  260. package/templates/modules/VECTORIZER.md +63 -63
  261. package/templates/modules/sequential-thinking.md +42 -42
  262. package/templates/ralph/ralph-history.bat +4 -4
  263. package/templates/ralph/ralph-history.sh +5 -5
  264. package/templates/ralph/ralph-init.bat +5 -5
  265. package/templates/ralph/ralph-init.sh +5 -5
  266. package/templates/ralph/ralph-pause.bat +5 -5
  267. package/templates/ralph/ralph-pause.sh +5 -5
  268. package/templates/ralph/ralph-run.bat +5 -5
  269. package/templates/ralph/ralph-run.sh +5 -5
  270. package/templates/ralph/ralph-status.bat +4 -4
  271. package/templates/ralph/ralph-status.sh +5 -5
  272. package/templates/rules/consult-analysis-before-implementing.md +23 -23
  273. package/templates/rules/cpp.md +46 -46
  274. package/templates/rules/csharp.md +44 -44
  275. package/templates/rules/diagnostic-first.md +39 -39
  276. package/templates/rules/fail-twice-escalate.md +46 -46
  277. package/templates/rules/follow-task-sequence.md +36 -36
  278. package/templates/rules/git-safety.md +29 -29
  279. package/templates/rules/go.md +40 -40
  280. package/templates/rules/incremental-implementation.md +56 -56
  281. package/templates/rules/incremental-tests.md +29 -29
  282. package/templates/rules/java.md +43 -43
  283. package/templates/rules/javascript.md +39 -39
  284. package/templates/rules/knowledge-base-usage.md +41 -41
  285. package/templates/rules/multi-agent-teams.md +75 -75
  286. package/templates/rules/no-deferred.md +31 -31
  287. package/templates/rules/no-shortcuts.md +30 -30
  288. package/templates/rules/python.md +43 -43
  289. package/templates/rules/research-first.md +30 -30
  290. package/templates/rules/respect-handoff-trigger.md +41 -41
  291. package/templates/rules/rust.md +40 -40
  292. package/templates/rules/sequential-editing.md +21 -21
  293. package/templates/rules/session-workflow.md +24 -24
  294. package/templates/rules/task-decomposition.md +32 -32
  295. package/templates/rules/typescript.md +40 -40
  296. package/templates/services/AZURE_BLOB.md +184 -184
  297. package/templates/services/CASSANDRA.md +239 -239
  298. package/templates/services/DATADOG.md +26 -26
  299. package/templates/services/DOCKER.md +124 -124
  300. package/templates/services/DOCKER_COMPOSE.md +168 -168
  301. package/templates/services/DYNAMODB.md +308 -308
  302. package/templates/services/ELASTICSEARCH.md +347 -347
  303. package/templates/services/GCS.md +178 -178
  304. package/templates/services/HELM.md +194 -194
  305. package/templates/services/INFLUXDB.md +265 -265
  306. package/templates/services/KAFKA.md +341 -341
  307. package/templates/services/KUBERNETES.md +208 -208
  308. package/templates/services/MARIADB.md +183 -183
  309. package/templates/services/MEMCACHED.md +242 -242
  310. package/templates/services/MINIO.md +201 -201
  311. package/templates/services/MONGODB.md +268 -268
  312. package/templates/services/MYSQL.md +358 -358
  313. package/templates/services/NEO4J.md +247 -247
  314. package/templates/services/OPENTELEMETRY.md +25 -25
  315. package/templates/services/ORACLE.md +290 -290
  316. package/templates/services/PINO.md +24 -24
  317. package/templates/services/POSTGRESQL.md +326 -326
  318. package/templates/services/PROMETHEUS.md +33 -33
  319. package/templates/services/RABBITMQ.md +286 -286
  320. package/templates/services/REDIS.md +292 -292
  321. package/templates/services/S3.md +298 -298
  322. package/templates/services/SENTRY.md +23 -23
  323. package/templates/services/SQLITE.md +294 -294
  324. package/templates/services/SQLSERVER.md +294 -294
  325. package/templates/services/WINSTON.md +30 -30
  326. package/templates/skills/cli/aider/SKILL.md +59 -59
  327. package/templates/skills/cli/amazon-q/SKILL.md +35 -35
  328. package/templates/skills/cli/auggie/SKILL.md +42 -42
  329. package/templates/skills/cli/claude/SKILL.md +42 -42
  330. package/templates/skills/cli/cline/SKILL.md +42 -42
  331. package/templates/skills/cli/codebuddy/SKILL.md +30 -30
  332. package/templates/skills/cli/codeium/SKILL.md +30 -30
  333. package/templates/skills/cli/codex/SKILL.md +31 -31
  334. package/templates/skills/cli/continue/SKILL.md +44 -44
  335. package/templates/skills/cli/cursor-cli/SKILL.md +38 -38
  336. package/templates/skills/cli/factory/SKILL.md +28 -28
  337. package/templates/skills/cli/gemini/SKILL.md +45 -45
  338. package/templates/skills/cli/kilocode/SKILL.md +28 -28
  339. package/templates/skills/cli/opencode/SKILL.md +28 -28
  340. package/templates/skills/core/agent-automation/SKILL.md +194 -194
  341. package/templates/skills/core/dag/SKILL.md +314 -314
  342. package/templates/skills/core/documentation-rules/SKILL.md +46 -46
  343. package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
  344. package/templates/skills/core/rulebook/SKILL.md +176 -176
  345. package/templates/skills/core/rulebook-terse/SKILL.md +116 -0
  346. package/templates/skills/core/rulebook-terse-commit/SKILL.md +96 -0
  347. package/templates/skills/core/rulebook-terse-review/SKILL.md +112 -0
  348. package/templates/skills/dev/accessibility/SKILL.md +17 -17
  349. package/templates/skills/dev/analysis/SKILL.md +19 -19
  350. package/templates/skills/dev/api-design/SKILL.md +15 -15
  351. package/templates/skills/dev/architect/SKILL.md +17 -17
  352. package/templates/skills/dev/build-fix/SKILL.md +17 -17
  353. package/templates/skills/dev/db-design/SKILL.md +15 -15
  354. package/templates/skills/dev/debug/SKILL.md +16 -16
  355. package/templates/skills/dev/deploy/SKILL.md +17 -17
  356. package/templates/skills/dev/docs/SKILL.md +17 -17
  357. package/templates/skills/dev/handoff/SKILL.md +27 -27
  358. package/templates/skills/dev/migrate/SKILL.md +15 -15
  359. package/templates/skills/dev/perf/SKILL.md +17 -17
  360. package/templates/skills/dev/refactor/SKILL.md +17 -17
  361. package/templates/skills/dev/research/SKILL.md +14 -14
  362. package/templates/skills/dev/review/SKILL.md +18 -18
  363. package/templates/skills/dev/security-audit/SKILL.md +17 -17
  364. package/templates/skills/frameworks/angular/SKILL.md +46 -46
  365. package/templates/skills/frameworks/django/SKILL.md +93 -93
  366. package/templates/skills/frameworks/electron/SKILL.md +157 -157
  367. package/templates/skills/frameworks/flask/SKILL.md +48 -48
  368. package/templates/skills/frameworks/flutter/SKILL.md +65 -65
  369. package/templates/skills/frameworks/jquery/SKILL.md +42 -42
  370. package/templates/skills/frameworks/laravel/SKILL.md +48 -48
  371. package/templates/skills/frameworks/nestjs/SKILL.md +53 -53
  372. package/templates/skills/frameworks/nextjs/SKILL.md +137 -137
  373. package/templates/skills/frameworks/nuxt/SKILL.md +50 -50
  374. package/templates/skills/frameworks/rails/SKILL.md +76 -76
  375. package/templates/skills/frameworks/react/SKILL.md +48 -48
  376. package/templates/skills/frameworks/react-native/SKILL.md +57 -57
  377. package/templates/skills/frameworks/spring/SKILL.md +49 -49
  378. package/templates/skills/frameworks/symfony/SKILL.md +46 -46
  379. package/templates/skills/frameworks/vue/SKILL.md +46 -46
  380. package/templates/skills/frameworks/zend/SKILL.md +45 -45
  381. package/templates/skills/ides/copilot/SKILL.md +47 -47
  382. package/templates/skills/ides/cursor/SKILL.md +53 -53
  383. package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -45
  384. package/templates/skills/ides/replit/SKILL.md +46 -46
  385. package/templates/skills/ides/tabnine/SKILL.md +39 -39
  386. package/templates/skills/ides/vscode/SKILL.md +50 -50
  387. package/templates/skills/ides/windsurf/SKILL.md +46 -46
  388. package/templates/skills/ides/zed/SKILL.md +42 -42
  389. package/templates/skills/languages/c/SKILL.md +343 -343
  390. package/templates/skills/languages/cpp/SKILL.md +753 -753
  391. package/templates/skills/languages/csharp/SKILL.md +427 -427
  392. package/templates/skills/languages/elixir/SKILL.md +464 -464
  393. package/templates/skills/languages/erlang/SKILL.md +371 -371
  394. package/templates/skills/languages/go/SKILL.md +655 -655
  395. package/templates/skills/languages/haskell/SKILL.md +187 -187
  396. package/templates/skills/languages/java/SKILL.md +617 -617
  397. package/templates/skills/languages/javascript/SKILL.md +641 -641
  398. package/templates/skills/languages/julia/SKILL.md +107 -107
  399. package/templates/skills/languages/kotlin/SKILL.md +521 -521
  400. package/templates/skills/languages/lisp/SKILL.md +110 -110
  401. package/templates/skills/languages/lua/SKILL.md +84 -84
  402. package/templates/skills/languages/objectivec/SKILL.md +100 -100
  403. package/templates/skills/languages/php/SKILL.md +426 -426
  404. package/templates/skills/languages/python/SKILL.md +692 -692
  405. package/templates/skills/languages/ruby/SKILL.md +431 -431
  406. package/templates/skills/languages/rust/SKILL.md +487 -487
  407. package/templates/skills/languages/sas/SKILL.md +83 -83
  408. package/templates/skills/languages/scala/SKILL.md +358 -358
  409. package/templates/skills/languages/solidity/SKILL.md +590 -590
  410. package/templates/skills/languages/sql/SKILL.md +147 -147
  411. package/templates/skills/languages/swift/SKILL.md +476 -476
  412. package/templates/skills/languages/typescript/SKILL.md +302 -302
  413. package/templates/skills/languages/zig/SKILL.md +275 -275
  414. package/templates/skills/modules/atlassian/SKILL.md +265 -265
  415. package/templates/skills/modules/context7/SKILL.md +64 -64
  416. package/templates/skills/modules/figma/SKILL.md +277 -277
  417. package/templates/skills/modules/github-mcp/SKILL.md +74 -74
  418. package/templates/skills/modules/grafana/SKILL.md +338 -338
  419. package/templates/skills/modules/memory/SKILL.md +73 -73
  420. package/templates/skills/modules/notion/SKILL.md +257 -257
  421. package/templates/skills/modules/playwright/SKILL.md +100 -100
  422. package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
  423. package/templates/skills/modules/serena/SKILL.md +347 -347
  424. package/templates/skills/modules/supabase/SKILL.md +233 -233
  425. package/templates/skills/modules/synap/SKILL.md +79 -79
  426. package/templates/skills/modules/vectorizer/SKILL.md +73 -73
  427. package/templates/skills/services/azure-blob/SKILL.md +194 -194
  428. package/templates/skills/services/cassandra/SKILL.md +249 -249
  429. package/templates/skills/services/dynamodb/SKILL.md +318 -318
  430. package/templates/skills/services/elasticsearch/SKILL.md +357 -357
  431. package/templates/skills/services/gcs/SKILL.md +188 -188
  432. package/templates/skills/services/influxdb/SKILL.md +275 -275
  433. package/templates/skills/services/kafka/SKILL.md +351 -351
  434. package/templates/skills/services/mariadb/SKILL.md +193 -193
  435. package/templates/skills/services/memcached/SKILL.md +252 -252
  436. package/templates/skills/services/minio/SKILL.md +211 -211
  437. package/templates/skills/services/mongodb/SKILL.md +278 -278
  438. package/templates/skills/services/mysql/SKILL.md +368 -368
  439. package/templates/skills/services/neo4j/SKILL.md +257 -257
  440. package/templates/skills/services/oracle/SKILL.md +300 -300
  441. package/templates/skills/services/postgresql/SKILL.md +336 -336
  442. package/templates/skills/services/rabbitmq/SKILL.md +296 -296
  443. package/templates/skills/services/redis/SKILL.md +302 -302
  444. package/templates/skills/services/s3/SKILL.md +308 -308
  445. package/templates/skills/services/sqlite/SKILL.md +304 -304
  446. package/templates/skills/services/sqlserver/SKILL.md +304 -304
  447. package/templates/skills/workflows/ralph/SKILL.md +309 -309
  448. package/templates/skills/workflows/ralph/install.sh +87 -87
  449. package/templates/skills/workflows/ralph/manifest.json +158 -158
  450. package/templates/workflows/codespell.yml +31 -31
  451. package/templates/workflows/cpp-lint.yml +47 -47
  452. package/templates/workflows/cpp-publish.yml +119 -119
  453. package/templates/workflows/cpp-test.yml +77 -77
  454. package/templates/workflows/dotnet-lint.yml +29 -29
  455. package/templates/workflows/dotnet-publish.yml +40 -40
  456. package/templates/workflows/dotnet-test.yml +41 -41
  457. package/templates/workflows/elixir-lint.yml +45 -45
  458. package/templates/workflows/elixir-publish.yml +49 -49
  459. package/templates/workflows/elixir-test.yml +54 -54
  460. package/templates/workflows/erlang-lint.yml +47 -47
  461. package/templates/workflows/erlang-test.yml +62 -62
  462. package/templates/workflows/go-lint.yml +39 -39
  463. package/templates/workflows/go-publish.yml +95 -95
  464. package/templates/workflows/go-test.yml +59 -59
  465. package/templates/workflows/java-lint.yml +60 -60
  466. package/templates/workflows/java-publish.yml +120 -120
  467. package/templates/workflows/java-test.yml +85 -85
  468. package/templates/workflows/kotlin-lint.yml +34 -34
  469. package/templates/workflows/kotlin-publish.yml +56 -56
  470. package/templates/workflows/kotlin-test.yml +48 -48
  471. package/templates/workflows/php-lint.yml +39 -39
  472. package/templates/workflows/php-publish.yml +50 -50
  473. package/templates/workflows/php-test.yml +54 -54
  474. package/templates/workflows/python-lint.yml +47 -47
  475. package/templates/workflows/python-publish.yml +91 -91
  476. package/templates/workflows/python-test.yml +59 -59
  477. package/templates/workflows/rust-lint.yml +54 -54
  478. package/templates/workflows/rust-publish.yml +66 -66
  479. package/templates/workflows/rust-test.yml +75 -75
  480. package/templates/workflows/solidity-lint.yml +41 -41
  481. package/templates/workflows/solidity-test.yml +47 -47
  482. package/templates/workflows/swift-lint.yml +32 -32
  483. package/templates/workflows/swift-publish.yml +58 -58
  484. package/templates/workflows/swift-test.yml +44 -44
  485. package/templates/workflows/typescript-publish.yml +60 -60
  486. package/templates/workflows/typescript-test.yml +73 -73
  487. package/templates/workflows/zig-lint.yml +27 -27
  488. package/templates/workflows/zig-test.yml +40 -40
  489. package/dist/cli/commands.d.ts +0 -225
  490. package/dist/cli/commands.d.ts.map +0 -1
  491. package/dist/cli/commands.js +0 -3984
  492. package/dist/cli/commands.js.map +0 -1
@@ -1,41 +1,41 @@
1
- # Always use the knowledge base — read before implementing, write after learning
2
-
3
- # Knowledge Base Usage — Mandatory for All Implementation Work
4
-
5
- The knowledge base (`rulebook knowledge` + `rulebook learn`) is the project's institutional memory. It prevents repeating mistakes and ensures proven patterns are reused.
6
-
7
- ## BEFORE Starting Any Implementation
8
-
9
- 1. **Check existing knowledge**: `rulebook knowledge list`
10
- 2. **Search for relevant learnings**: `rulebook learn list`
11
- 3. **Apply patterns** that match your task — do NOT reinvent approaches that are already documented
12
- 4. **Avoid anti-patterns** — if a documented anti-pattern matches your planned approach, STOP and choose a different path
13
-
14
- ## DURING Implementation
15
-
16
- When you discover something non-obvious:
17
- - A workaround for a framework limitation → `rulebook learn capture`
18
- - A debugging technique that saved time → `rulebook learn capture`
19
- - A pattern that emerged and worked well → `rulebook knowledge add pattern`
20
- - An approach that failed → `rulebook knowledge add anti-pattern`
21
-
22
- ## AFTER Completing a Task (before archive)
23
-
24
- **Minimum 1 entry per task**. Record at least one of:
25
- - `rulebook knowledge add pattern "<what worked>"` — reusable approach
26
- - `rulebook knowledge add anti-pattern "<what failed>"` — approach to avoid
27
- - `rulebook learn capture --title "<title>" --content "<insight>"` — implementation insight
28
- - `rulebook decision create` — if a significant architectural choice was made
29
-
30
- ## Forbidden
31
-
32
- - Starting implementation without checking `rulebook knowledge list`
33
- - Archiving a task without capturing at least one learning
34
- - Ignoring documented anti-patterns and repeating known mistakes
35
- - Discovering a useful pattern and not recording it
36
-
37
- ## Why
38
-
39
- Without the knowledge base, every session starts from zero. AI agents repeat the same mistakes, rediscover the same patterns, and waste cycles on approaches that were already tried and failed. The knowledge base is what makes the project smarter over time.
40
-
41
- **"Those who cannot remember the past are condemned to repeat it."**
1
+ # Always use the knowledge base — read before implementing, write after learning
2
+
3
+ # Knowledge Base Usage — Mandatory for All Implementation Work
4
+
5
+ The knowledge base (`rulebook knowledge` + `rulebook learn`) is the project's institutional memory. It prevents repeating mistakes and ensures proven patterns are reused.
6
+
7
+ ## BEFORE Starting Any Implementation
8
+
9
+ 1. **Check existing knowledge**: `rulebook knowledge list`
10
+ 2. **Search for relevant learnings**: `rulebook learn list`
11
+ 3. **Apply patterns** that match your task — do NOT reinvent approaches that are already documented
12
+ 4. **Avoid anti-patterns** — if a documented anti-pattern matches your planned approach, STOP and choose a different path
13
+
14
+ ## DURING Implementation
15
+
16
+ When you discover something non-obvious:
17
+ - A workaround for a framework limitation → `rulebook learn capture`
18
+ - A debugging technique that saved time → `rulebook learn capture`
19
+ - A pattern that emerged and worked well → `rulebook knowledge add pattern`
20
+ - An approach that failed → `rulebook knowledge add anti-pattern`
21
+
22
+ ## AFTER Completing a Task (before archive)
23
+
24
+ **Minimum 1 entry per task**. Record at least one of:
25
+ - `rulebook knowledge add pattern "<what worked>"` — reusable approach
26
+ - `rulebook knowledge add anti-pattern "<what failed>"` — approach to avoid
27
+ - `rulebook learn capture --title "<title>" --content "<insight>"` — implementation insight
28
+ - `rulebook decision create` — if a significant architectural choice was made
29
+
30
+ ## Forbidden
31
+
32
+ - Starting implementation without checking `rulebook knowledge list`
33
+ - Archiving a task without capturing at least one learning
34
+ - Ignoring documented anti-patterns and repeating known mistakes
35
+ - Discovering a useful pattern and not recording it
36
+
37
+ ## Why
38
+
39
+ Without the knowledge base, every session starts from zero. AI agents repeat the same mistakes, rediscover the same patterns, and waste cycles on approaches that were already tried and failed. The knowledge base is what makes the project smarter over time.
40
+
41
+ **"Those who cannot remember the past are condemned to repeat it."**
@@ -1,75 +1,75 @@
1
- <!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
2
-
3
- # Multi-agent work MUST use Teams
4
-
5
- This project has **more than one specialized agent** and relies on Claude Code's
6
- experimental Teams feature (`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`). When
7
- you need parallel execution across agents, use **Teams** — not standalone
8
- background `Agent` calls.
9
-
10
- ## Why
11
-
12
- Standalone background agents **cannot communicate with each other**. Only
13
- agents inside a Team have access to the `SendMessage` tool. When two or
14
- more independent background agents run without a Team:
15
-
16
- - They cannot coordinate, share intermediate results, or reach consensus.
17
- - They silently produce conflicting edits or duplicate work.
18
- - You lose the ability to orchestrate hand-offs between specialists.
19
-
20
- Rulebook enforces this with a `PreToolUse` hook that **denies** any
21
- `Agent` invocation with `run_in_background: true` unless it is either:
22
-
23
- 1. `subagent_type: team-lead` (the coordinator that will create the Team), or
24
- 2. Passes `team_name` (already joined to an existing Team).
25
-
26
- Foreground single-agent calls are unaffected.
27
-
28
- ## How to do parallel multi-agent work correctly
29
-
30
- **Option A — Spawn a team-lead that creates the Team:**
31
-
32
- ```
33
- Agent(
34
- subagent_type: "team-lead",
35
- run_in_background: true,
36
- description: "Coordinate the refactor",
37
- prompt: "Create a team with roles [...]"
38
- )
39
- ```
40
-
41
- The team-lead then uses `TeamCreate` and dispatches members with `team_name`.
42
-
43
- **Option B — Create the Team first, then spawn members:**
44
-
45
- ```
46
- TeamCreate(name: "refactor-team", members: [...])
47
- Agent(
48
- subagent_type: "rust-expert",
49
- team_name: "refactor-team",
50
- run_in_background: true,
51
- description: "Port the auth module",
52
- prompt: "..."
53
- )
54
- Agent(
55
- subagent_type: "test-writer",
56
- team_name: "refactor-team",
57
- run_in_background: true,
58
- description: "Write tests",
59
- prompt: "..."
60
- )
61
- ```
62
-
63
- Both members can now exchange messages via `SendMessage`.
64
-
65
- ## What is NOT blocked
66
-
67
- - **Foreground `Agent`** (any `subagent_type`, no `run_in_background`): always allowed. Use this for simple delegation where you just need the result.
68
- - **Background `Agent` with `team_name` set**: allowed because the agent has a coordination channel.
69
- - **Background `Agent` with `subagent_type: "team-lead"`**: allowed because a team-lead is expected to bootstrap its Team before dispatching members.
70
-
71
- ## Environment requirement
72
-
73
- This feature requires `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` in your
74
- `.claude/settings.json`. Rulebook sets this automatically when
75
- `multi_agent: true` is enabled in `.rulebook/rulebook.json`.
1
+ <!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
2
+
3
+ # Multi-agent work MUST use Teams
4
+
5
+ This project has **more than one specialized agent** and relies on Claude Code's
6
+ experimental Teams feature (`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`). When
7
+ you need parallel execution across agents, use **Teams** — not standalone
8
+ background `Agent` calls.
9
+
10
+ ## Why
11
+
12
+ Standalone background agents **cannot communicate with each other**. Only
13
+ agents inside a Team have access to the `SendMessage` tool. When two or
14
+ more independent background agents run without a Team:
15
+
16
+ - They cannot coordinate, share intermediate results, or reach consensus.
17
+ - They silently produce conflicting edits or duplicate work.
18
+ - You lose the ability to orchestrate hand-offs between specialists.
19
+
20
+ Rulebook enforces this with a `PreToolUse` hook that **denies** any
21
+ `Agent` invocation with `run_in_background: true` unless it is either:
22
+
23
+ 1. `subagent_type: team-lead` (the coordinator that will create the Team), or
24
+ 2. Passes `team_name` (already joined to an existing Team).
25
+
26
+ Foreground single-agent calls are unaffected.
27
+
28
+ ## How to do parallel multi-agent work correctly
29
+
30
+ **Option A — Spawn a team-lead that creates the Team:**
31
+
32
+ ```
33
+ Agent(
34
+ subagent_type: "team-lead",
35
+ run_in_background: true,
36
+ description: "Coordinate the refactor",
37
+ prompt: "Create a team with roles [...]"
38
+ )
39
+ ```
40
+
41
+ The team-lead then uses `TeamCreate` and dispatches members with `team_name`.
42
+
43
+ **Option B — Create the Team first, then spawn members:**
44
+
45
+ ```
46
+ TeamCreate(name: "refactor-team", members: [...])
47
+ Agent(
48
+ subagent_type: "rust-expert",
49
+ team_name: "refactor-team",
50
+ run_in_background: true,
51
+ description: "Port the auth module",
52
+ prompt: "..."
53
+ )
54
+ Agent(
55
+ subagent_type: "test-writer",
56
+ team_name: "refactor-team",
57
+ run_in_background: true,
58
+ description: "Write tests",
59
+ prompt: "..."
60
+ )
61
+ ```
62
+
63
+ Both members can now exchange messages via `SendMessage`.
64
+
65
+ ## What is NOT blocked
66
+
67
+ - **Foreground `Agent`** (any `subagent_type`, no `run_in_background`): always allowed. Use this for simple delegation where you just need the result.
68
+ - **Background `Agent` with `team_name` set**: allowed because the agent has a coordination channel.
69
+ - **Background `Agent` with `subagent_type: "team-lead"`**: allowed because a team-lead is expected to bootstrap its Team before dispatching members.
70
+
71
+ ## Environment requirement
72
+
73
+ This feature requires `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` in your
74
+ `.claude/settings.json`. Rulebook sets this automatically when
75
+ `multi_agent: true` is enabled in `.rulebook/rulebook.json`.
@@ -1,31 +1,31 @@
1
- ---
2
- name: no-deferred
3
- tier: 2
4
- description: "Never defer tasks — implement or explain why impossible"
5
- alwaysApply: true
6
- filePatterns: ["*"]
7
- tools: ["all"]
8
- ---
9
-
10
- # No Deferred Tasks
11
-
12
- If a task is in the checklist, **implement it**. No exceptions.
13
-
14
- ## Forbidden
15
-
16
- - Marking tasks as "Deferred"
17
- - Writing "Deferred — requires X"
18
- - Skipping tasks with excuses
19
- - Partial implementations with "will do later"
20
-
21
- ## Required Behavior
22
-
23
- If a task has a genuine dependency:
24
- 1. Implement the dependency FIRST
25
- 2. Then implement the task
26
- 3. Mark BOTH as done
27
-
28
- If you truly cannot implement something:
29
- 1. Explain WHY in concrete terms
30
- 2. Propose an alternative solution
31
- 3. Do NOT just write "Deferred"
1
+ ---
2
+ name: no-deferred
3
+ tier: 2
4
+ description: "Never defer tasks — implement or explain why impossible"
5
+ alwaysApply: true
6
+ filePatterns: ["*"]
7
+ tools: ["all"]
8
+ ---
9
+
10
+ # No Deferred Tasks
11
+
12
+ If a task is in the checklist, **implement it**. No exceptions.
13
+
14
+ ## Forbidden
15
+
16
+ - Marking tasks as "Deferred"
17
+ - Writing "Deferred — requires X"
18
+ - Skipping tasks with excuses
19
+ - Partial implementations with "will do later"
20
+
21
+ ## Required Behavior
22
+
23
+ If a task has a genuine dependency:
24
+ 1. Implement the dependency FIRST
25
+ 2. Then implement the task
26
+ 3. Mark BOTH as done
27
+
28
+ If you truly cannot implement something:
29
+ 1. Explain WHY in concrete terms
30
+ 2. Propose an alternative solution
31
+ 3. Do NOT just write "Deferred"
@@ -1,30 +1,30 @@
1
- ---
2
- name: no-shortcuts
3
- tier: 1
4
- description: "Never use stubs, TODOs, placeholders, or approximations"
5
- alwaysApply: true
6
- filePatterns: ["*"]
7
- tools: ["all"]
8
- ---
9
-
10
- # No Shortcuts — Quality Over Speed
11
-
12
- Response time is IRRELEVANT. The ONLY thing that matters is quality.
13
-
14
- ## Absolutely Forbidden
15
-
16
- 1. **NEVER simplify logic** to deliver faster — implement the correct algorithm
17
- 2. **NEVER add TODOs** — if it needs to be done, do it NOW
18
- 3. **NEVER use stubs** — every function must have its real implementation
19
- 4. **NEVER use placeholders** — no `// placeholder`, no `return 0; // fixme`
20
- 5. **NEVER cut corners** to reduce output size
21
- 6. **NEVER skip edge cases** — handle all of them
22
- 7. **NEVER deliver partial implementations** — complete or explain why not
23
- 8. **NEVER alter existing logic** to make your task easier
24
-
25
- ## Required Behavior
26
-
27
- - **Research** the correct approach before writing code
28
- - **Implement completely** — every function, every edge case, every error path
29
- - **Take as long as needed** — correct > fast
30
- - **Ask if unsure** — propose a plan, never silently simplify
1
+ ---
2
+ name: no-shortcuts
3
+ tier: 1
4
+ description: "Never use stubs, TODOs, placeholders, or approximations"
5
+ alwaysApply: true
6
+ filePatterns: ["*"]
7
+ tools: ["all"]
8
+ ---
9
+
10
+ # No Shortcuts — Quality Over Speed
11
+
12
+ Response time is IRRELEVANT. The ONLY thing that matters is quality.
13
+
14
+ ## Absolutely Forbidden
15
+
16
+ 1. **NEVER simplify logic** to deliver faster — implement the correct algorithm
17
+ 2. **NEVER add TODOs** — if it needs to be done, do it NOW
18
+ 3. **NEVER use stubs** — every function must have its real implementation
19
+ 4. **NEVER use placeholders** — no `// placeholder`, no `return 0; // fixme`
20
+ 5. **NEVER cut corners** to reduce output size
21
+ 6. **NEVER skip edge cases** — handle all of them
22
+ 7. **NEVER deliver partial implementations** — complete or explain why not
23
+ 8. **NEVER alter existing logic** to make your task easier
24
+
25
+ ## Required Behavior
26
+
27
+ - **Research** the correct approach before writing code
28
+ - **Implement completely** — every function, every edge case, every error path
29
+ - **Take as long as needed** — correct > fast
30
+ - **Ask if unsure** — propose a plan, never silently simplify
@@ -1,43 +1,43 @@
1
- ---
2
- paths:
3
- - "**/*.py"
4
- - "**/*.pyi"
5
- - "pyproject.toml"
6
- - "setup.py"
7
- - "setup.cfg"
8
- - "requirements*.txt"
9
- ---
10
- <!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
11
-
12
- # Python rules
13
-
14
- Loaded by Claude Code when touching Python files.
15
-
16
- ## Non-negotiables
17
-
18
- 1. **Type-check before test.** Run `mypy` / `pyright` / `pyre` (whichever the project configures) before `pytest`. Type errors are 10x cheaper to discover than test failures.
19
- 2. **Lint with `ruff` or the project's linter** before committing. `ruff check` is fast enough to run on every save.
20
- 3. **Format with `black` / `ruff format`** — never hand-format.
21
- 4. **Type hints on all public functions.** `def foo(x: int) -> str` minimum. Use `from __future__ import annotations` for forward refs.
22
- 5. **No bare `except:`** — catch specific exceptions or `except Exception as e:` at the very least.
23
-
24
- ## Conventions
25
-
26
- - Follow PEP 8 (handled by the formatter).
27
- - `pathlib.Path` over `os.path` for filesystem operations.
28
- - f-strings over `.format()` and `%` formatting.
29
- - Dataclasses or `pydantic` for data containers, not raw dicts at API boundaries.
30
- - `logging` module, never `print()`, for anything that ships.
31
-
32
- ## Testing
33
-
34
- - `pytest` is the default; use the project's configured runner.
35
- - Fixtures in `conftest.py`, one per module where relevant.
36
- - `pytest-cov` for coverage; meet the project's threshold.
37
- - No skipped tests without an explicit comment linking to an issue.
38
-
39
- ## Dependencies & environments
40
-
41
- - Respect the project's virtualenv / pyenv / poetry / uv setup. Do not install globally.
42
- - `pyproject.toml` over `setup.py` for new projects.
43
- - Pin versions in production; unpin only in libraries.
1
+ ---
2
+ paths:
3
+ - "**/*.py"
4
+ - "**/*.pyi"
5
+ - "pyproject.toml"
6
+ - "setup.py"
7
+ - "setup.cfg"
8
+ - "requirements*.txt"
9
+ ---
10
+ <!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
11
+
12
+ # Python rules
13
+
14
+ Loaded by Claude Code when touching Python files.
15
+
16
+ ## Non-negotiables
17
+
18
+ 1. **Type-check before test.** Run `mypy` / `pyright` / `pyre` (whichever the project configures) before `pytest`. Type errors are 10x cheaper to discover than test failures.
19
+ 2. **Lint with `ruff` or the project's linter** before committing. `ruff check` is fast enough to run on every save.
20
+ 3. **Format with `black` / `ruff format`** — never hand-format.
21
+ 4. **Type hints on all public functions.** `def foo(x: int) -> str` minimum. Use `from __future__ import annotations` for forward refs.
22
+ 5. **No bare `except:`** — catch specific exceptions or `except Exception as e:` at the very least.
23
+
24
+ ## Conventions
25
+
26
+ - Follow PEP 8 (handled by the formatter).
27
+ - `pathlib.Path` over `os.path` for filesystem operations.
28
+ - f-strings over `.format()` and `%` formatting.
29
+ - Dataclasses or `pydantic` for data containers, not raw dicts at API boundaries.
30
+ - `logging` module, never `print()`, for anything that ships.
31
+
32
+ ## Testing
33
+
34
+ - `pytest` is the default; use the project's configured runner.
35
+ - Fixtures in `conftest.py`, one per module where relevant.
36
+ - `pytest-cov` for coverage; meet the project's threshold.
37
+ - No skipped tests without an explicit comment linking to an issue.
38
+
39
+ ## Dependencies & environments
40
+
41
+ - Respect the project's virtualenv / pyenv / poetry / uv setup. Do not install globally.
42
+ - `pyproject.toml` over `setup.py` for new projects.
43
+ - Pin versions in production; unpin only in libraries.
@@ -1,30 +1,30 @@
1
- ---
2
- name: research-first
3
- tier: 1
4
- description: "Always research before implementing — never guess"
5
- alwaysApply: true
6
- filePatterns: ["*"]
7
- tools: ["all"]
8
- ---
9
-
10
- # Research Before Implementing
11
-
12
- NEVER guess at bug causes, API behavior, or algorithm correctness.
13
-
14
- ## Required Process
15
-
16
- 1. **State what you KNOW** (from logs, debug output, code reading)
17
- 2. **State what you DON'T KNOW**
18
- 3. **Research** the unknown (read source, check docs, use diagnostic tools)
19
- 4. **Only then** implement the fix
20
-
21
- ## Forbidden
22
-
23
- - Guessing at the cause of a bug
24
- - "Trying things" to see if they work
25
- - Hypothesizing without reading code
26
- - Assuming how an API works without checking docs
27
- - Iterating blindly — each attempt must be informed by new data
28
-
29
- **"I think this might be the problem" is NOT acceptable.**
30
- **"Source X does Y at file:line, we do Z, the difference causes W" IS acceptable.**
1
+ ---
2
+ name: research-first
3
+ tier: 1
4
+ description: "Always research before implementing — never guess"
5
+ alwaysApply: true
6
+ filePatterns: ["*"]
7
+ tools: ["all"]
8
+ ---
9
+
10
+ # Research Before Implementing
11
+
12
+ NEVER guess at bug causes, API behavior, or algorithm correctness.
13
+
14
+ ## Required Process
15
+
16
+ 1. **State what you KNOW** (from logs, debug output, code reading)
17
+ 2. **State what you DON'T KNOW**
18
+ 3. **Research** the unknown (read source, check docs, use diagnostic tools)
19
+ 4. **Only then** implement the fix
20
+
21
+ ## Forbidden
22
+
23
+ - Guessing at the cause of a bug
24
+ - "Trying things" to see if they work
25
+ - Hypothesizing without reading code
26
+ - Assuming how an API works without checking docs
27
+ - Iterating blindly — each attempt must be informed by new data
28
+
29
+ **"I think this might be the problem" is NOT acceptable.**
30
+ **"Source X does Y at file:line, we do Z, the difference causes W" IS acceptable.**
@@ -1,41 +1,41 @@
1
- <!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
2
-
3
- # Respect handoff triggers
4
-
5
- When you receive `additionalContext` mentioning a **handoff trigger**
6
- (containing phrases like "CONTEXT AT", "invoke /handoff", or
7
- "session state"), you MUST:
8
-
9
- 1. **Stop** your current task immediately — do not finish the current
10
- step, do not start a new one.
11
- 2. **Invoke the `/handoff` skill** to write `.rulebook/handoff/_pending.md`
12
- with: active task, decisions made this session, files touched, next
13
- steps, and the exact resume command.
14
- 3. **Display the message** `>>> TYPE /clear NOW — your context will be auto-restored <<<`
15
- prominently so the user sees it.
16
- 4. **Do not continue working** past the handoff message. The user must
17
- type `/clear` before any further implementation.
18
-
19
- ## Why
20
-
21
- Sessions degrade as context fills. Research shows that model quality
22
- at 80%+ context is measurably lower than at 0–50%. The handoff
23
- mechanism ensures work is preserved and the next session starts fresh
24
- with full context loaded via the `SessionStart` resume hook.
25
-
26
- This rule has the **highest precedence** after `git-safety.md`. If a
27
- handoff trigger fires while you are mid-edit, finish the current
28
- atomic write (do not leave a file in a broken state), then stop.
29
-
30
- ## What triggers a handoff
31
-
32
- The `Stop` hook (`check-context-and-handoff.sh`) estimates context
33
- usage from the JSONL transcript. Two thresholds:
34
-
35
- - **warn (default 75%)**: advisory — the model should invoke `/handoff`
36
- and suggest `/clear`.
37
- - **force (default 90%)**: mandatory — the model MUST invoke `/handoff`
38
- and MUST NOT continue working.
39
-
40
- Both thresholds are configurable in `.rulebook/rulebook.json` under
41
- `handoff.warnThresholdPct` and `handoff.forceThresholdPct`.
1
+ <!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
2
+
3
+ # Respect handoff triggers
4
+
5
+ When you receive `additionalContext` mentioning a **handoff trigger**
6
+ (containing phrases like "CONTEXT AT", "invoke /handoff", or
7
+ "session state"), you MUST:
8
+
9
+ 1. **Stop** your current task immediately — do not finish the current
10
+ step, do not start a new one.
11
+ 2. **Invoke the `/handoff` skill** to write `.rulebook/handoff/_pending.md`
12
+ with: active task, decisions made this session, files touched, next
13
+ steps, and the exact resume command.
14
+ 3. **Display the message** `>>> TYPE /clear NOW — your context will be auto-restored <<<`
15
+ prominently so the user sees it.
16
+ 4. **Do not continue working** past the handoff message. The user must
17
+ type `/clear` before any further implementation.
18
+
19
+ ## Why
20
+
21
+ Sessions degrade as context fills. Research shows that model quality
22
+ at 80%+ context is measurably lower than at 0–50%. The handoff
23
+ mechanism ensures work is preserved and the next session starts fresh
24
+ with full context loaded via the `SessionStart` resume hook.
25
+
26
+ This rule has the **highest precedence** after `git-safety.md`. If a
27
+ handoff trigger fires while you are mid-edit, finish the current
28
+ atomic write (do not leave a file in a broken state), then stop.
29
+
30
+ ## What triggers a handoff
31
+
32
+ The `Stop` hook (`check-context-and-handoff.sh`) estimates context
33
+ usage from the JSONL transcript. Two thresholds:
34
+
35
+ - **warn (default 75%)**: advisory — the model should invoke `/handoff`
36
+ and suggest `/clear`.
37
+ - **force (default 90%)**: mandatory — the model MUST invoke `/handoff`
38
+ and MUST NOT continue working.
39
+
40
+ Both thresholds are configurable in `.rulebook/rulebook.json` under
41
+ `handoff.warnThresholdPct` and `handoff.forceThresholdPct`.