@hivehub/rulebook 5.4.1 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +9 -0
  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 +80 -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,187 +1,187 @@
1
- #!/usr/bin/env bash
2
- # Claude Code UserPromptSubmit hook for rulebook-terse (v5.4.0).
3
- #
4
- # Parses slash commands + natural-language activation/deactivation
5
- # phrases in the user prompt, updates the project-local flag file,
6
- # and emits a short (~45 token) attention anchor as hookSpecificOutput
7
- # when a persistent mode is active — keeps the compression register in
8
- # the model's attention on every user message.
9
- #
10
- # Independent sub-skill modes (commit / review) do NOT get the anchor:
11
- # their own SKILL.md files drive behavior for the single turn they're
12
- # invoked.
13
- #
14
- # Silent-fails on every filesystem error.
15
-
16
- set -u
17
-
18
- input="$(cat || true)"
19
- prompt=""
20
- cwd=""
21
- if [ -n "$input" ]; then
22
- # Parse JSON via node (always available in Claude Code hook env).
23
- # Emits two lines: prompt on line 1, cwd on line 2.
24
- parsed="$(printf '%s' "$input" | node -e "
25
- try {
26
- const data = JSON.parse(require('fs').readFileSync(0, 'utf8'));
27
- process.stdout.write((data.prompt || '') + '\\n' + (data.cwd || ''));
28
- } catch { process.stdout.write('\\n'); }
29
- " 2>/dev/null || printf '\n')"
30
- prompt="$(printf '%s' "$parsed" | head -n 1)"
31
- cwd="$(printf '%s' "$parsed" | tail -n +2)"
32
- fi
33
-
34
- PROJECT_ROOT="${cwd:-${CLAUDE_PROJECT_DIR:-$(pwd)}}"
35
- FLAG_PATH="${PROJECT_ROOT}/.rulebook/.terse-mode"
36
- CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/rulebook"
37
- USER_CONFIG="${CONFIG_DIR}/config.json"
38
- PROJECT_CONFIG="${PROJECT_ROOT}/.rulebook/rulebook.json"
39
-
40
- VALID_MODES_RE='^(off|brief|terse|ultra|commit|review)$'
41
- MAX_FLAG_BYTES=32
42
-
43
- resolve_default_mode() {
44
- if [ -n "${RULEBOOK_TERSE_MODE:-}" ]; then
45
- local m="$(printf '%s' "$RULEBOOK_TERSE_MODE" | tr '[:upper:]' '[:lower:]' | tr -d '[:space:]')"
46
- if [[ "$m" =~ $VALID_MODES_RE ]]; then printf '%s' "$m"; return; fi
47
- fi
48
- if [ -f "$PROJECT_CONFIG" ]; then
49
- local m
50
- m="$(node -e "
51
- try {
52
- const cfg = JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8'));
53
- if (cfg.terse && cfg.terse.defaultMode) process.stdout.write(String(cfg.terse.defaultMode));
54
- } catch { }
55
- " "$PROJECT_CONFIG" 2>/dev/null | tr '[:upper:]' '[:lower:]' | tr -d '[:space:]' || true)"
56
- if [ -n "$m" ] && [[ "$m" =~ $VALID_MODES_RE ]]; then printf '%s' "$m"; return; fi
57
- fi
58
- if [ -f "$USER_CONFIG" ]; then
59
- local m
60
- m="$(node -e "
61
- try {
62
- const cfg = JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8'));
63
- if (cfg.terse && cfg.terse.defaultMode) process.stdout.write(String(cfg.terse.defaultMode));
64
- } catch { }
65
- " "$USER_CONFIG" 2>/dev/null | tr '[:upper:]' '[:lower:]' | tr -d '[:space:]' || true)"
66
- if [ -n "$m" ] && [[ "$m" =~ $VALID_MODES_RE ]]; then printf '%s' "$m"; return; fi
67
- fi
68
- printf 'terse'
69
- }
70
-
71
- safe_write_flag() {
72
- local content="$1"
73
- local dir
74
- dir="$(dirname "$FLAG_PATH")"
75
- mkdir -p "$dir" 2>/dev/null || return 0
76
- [ -L "$dir" ] && return 0
77
- [ -L "$FLAG_PATH" ] && return 0
78
-
79
- local tmp
80
- tmp="$(mktemp "$dir/.terse-mode.XXXXXX" 2>/dev/null)" || return 0
81
- {
82
- umask 077
83
- printf '%s' "$content" > "$tmp" 2>/dev/null || { rm -f "$tmp"; return 0; }
84
- }
85
- chmod 600 "$tmp" 2>/dev/null || true
86
- mv -f "$tmp" "$FLAG_PATH" 2>/dev/null || rm -f "$tmp"
87
- }
88
-
89
- read_flag() {
90
- # Symlink-safe, size-capped, whitelist-validated read.
91
- [ ! -f "$FLAG_PATH" ] && return 1
92
- [ -L "$FLAG_PATH" ] && return 1
93
- local size
94
- size="$(wc -c < "$FLAG_PATH" 2>/dev/null || echo "$MAX_FLAG_BYTES")"
95
- [ "$size" -gt "$MAX_FLAG_BYTES" ] && return 1
96
-
97
- local raw
98
- raw="$(head -c "$MAX_FLAG_BYTES" "$FLAG_PATH" 2>/dev/null | tr '[:upper:]' '[:lower:]' | tr -d '[:space:]')"
99
- if [[ "$raw" =~ $VALID_MODES_RE ]]; then
100
- printf '%s' "$raw"
101
- return 0
102
- fi
103
- return 1
104
- }
105
-
106
- default_mode="$(resolve_default_mode)"
107
- lower_prompt="$(printf '%s' "$prompt" | tr '[:upper:]' '[:lower:]')"
108
-
109
- # Parse intent. Order matters: deactivation wins over accidental
110
- # activation, slash commands win over natural-language patterns.
111
- new_mode=""
112
- deactivate=0
113
-
114
- # Slash commands
115
- if [[ "$lower_prompt" == /rulebook-terse-commit* ]]; then
116
- new_mode="commit"
117
- elif [[ "$lower_prompt" == /rulebook-terse-review* ]]; then
118
- new_mode="review"
119
- elif [[ "$lower_prompt" == /rulebook-terse ]]; then
120
- new_mode="$default_mode"
121
- elif [[ "$lower_prompt" == /rulebook-terse\ * ]]; then
122
- arg="$(printf '%s' "$lower_prompt" | awk '{print $2}')"
123
- case "$arg" in
124
- off) deactivate=1 ;;
125
- brief|terse|ultra|commit|review) new_mode="$arg" ;;
126
- *) : ;; # unknown subcommand → leave state unchanged
127
- esac
128
- fi
129
-
130
- # Natural-language deactivation — checked first so "stop terse" wins.
131
- if [ -z "$new_mode" ] && [ "$deactivate" -eq 0 ]; then
132
- if echo "$prompt" | grep -qiE '\b(stop|disable|turn off|deactivate)\b.*\brulebook[- ]?terse\b' \
133
- || echo "$prompt" | grep -qiE '\brulebook[- ]?terse\b.*\b(stop|disable|turn off|deactivate)\b' \
134
- || echo "$prompt" | grep -qiE '\b(stop|disable) terse\b' \
135
- || echo "$prompt" | grep -qiE '\bnormal mode\b'; then
136
- deactivate=1
137
- fi
138
- fi
139
-
140
- # Natural-language activation
141
- if [ -z "$new_mode" ] && [ "$deactivate" -eq 0 ]; then
142
- if echo "$prompt" | grep -qiE '\b(activate|enable|turn on|start)\b.*\brulebook[- ]?terse\b' \
143
- || echo "$prompt" | grep -qiE '\brulebook[- ]?terse\b.*\b(mode|activate|enable|turn on|start)\b' \
144
- || echo "$prompt" | grep -qiE '\bbe terse\b' \
145
- || echo "$prompt" | grep -qiE '\bterse mode\b' \
146
- || echo "$prompt" | grep -qiE '\bless tokens?\b'; then
147
- new_mode="$default_mode"
148
- fi
149
- fi
150
-
151
- # Apply intent
152
- if [ "$deactivate" -eq 1 ]; then
153
- rm -f "$FLAG_PATH" 2>/dev/null || true
154
- elif [ -n "$new_mode" ]; then
155
- if [ "$new_mode" = "off" ]; then
156
- rm -f "$FLAG_PATH" 2>/dev/null || true
157
- else
158
- safe_write_flag "$new_mode"
159
- fi
160
- fi
161
-
162
- # Emit attention anchor for persistent modes only.
163
- active_mode="$(read_flag || true)"
164
- case "$active_mode" in
165
- brief|terse|ultra)
166
- if [ "$active_mode" = "brief" ]; then
167
- keep_clause="Keep articles and full sentences."
168
- else
169
- keep_clause="Fragments OK."
170
- fi
171
- text="RULEBOOK-TERSE ACTIVE (${active_mode}). Drop filler/hedging/pleasantries. ${keep_clause} Code/tests/commits/security: write full. Quality-gate failures + destructive ops: write full."
172
- # Emit hookSpecificOutput JSON via node — universal across platforms.
173
- node -e "
174
- const text = process.argv[1];
175
- process.stdout.write(JSON.stringify({
176
- hookSpecificOutput: {
177
- hookEventName: 'UserPromptSubmit',
178
- additionalContext: text
179
- }
180
- }));
181
- " "$text" 2>/dev/null || true
182
- ;;
183
- *)
184
- # No active persistent mode, or commit/review sub-skill — no anchor.
185
- :
186
- ;;
187
- esac
1
+ #!/usr/bin/env bash
2
+ # Claude Code UserPromptSubmit hook for rulebook-terse (v5.4.0).
3
+ #
4
+ # Parses slash commands + natural-language activation/deactivation
5
+ # phrases in the user prompt, updates the project-local flag file,
6
+ # and emits a short (~45 token) attention anchor as hookSpecificOutput
7
+ # when a persistent mode is active — keeps the compression register in
8
+ # the model's attention on every user message.
9
+ #
10
+ # Independent sub-skill modes (commit / review) do NOT get the anchor:
11
+ # their own SKILL.md files drive behavior for the single turn they're
12
+ # invoked.
13
+ #
14
+ # Silent-fails on every filesystem error.
15
+
16
+ set -u
17
+
18
+ input="$(cat || true)"
19
+ prompt=""
20
+ cwd=""
21
+ if [ -n "$input" ]; then
22
+ # Parse JSON via node (always available in Claude Code hook env).
23
+ # Emits two lines: prompt on line 1, cwd on line 2.
24
+ parsed="$(printf '%s' "$input" | node -e "
25
+ try {
26
+ const data = JSON.parse(require('fs').readFileSync(0, 'utf8'));
27
+ process.stdout.write((data.prompt || '') + '\\n' + (data.cwd || ''));
28
+ } catch { process.stdout.write('\\n'); }
29
+ " 2>/dev/null || printf '\n')"
30
+ prompt="$(printf '%s' "$parsed" | head -n 1)"
31
+ cwd="$(printf '%s' "$parsed" | tail -n +2)"
32
+ fi
33
+
34
+ PROJECT_ROOT="${cwd:-${CLAUDE_PROJECT_DIR:-$(pwd)}}"
35
+ FLAG_PATH="${PROJECT_ROOT}/.rulebook/.terse-mode"
36
+ CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/rulebook"
37
+ USER_CONFIG="${CONFIG_DIR}/config.json"
38
+ PROJECT_CONFIG="${PROJECT_ROOT}/.rulebook/rulebook.json"
39
+
40
+ VALID_MODES_RE='^(off|brief|terse|ultra|commit|review)$'
41
+ MAX_FLAG_BYTES=32
42
+
43
+ resolve_default_mode() {
44
+ if [ -n "${RULEBOOK_TERSE_MODE:-}" ]; then
45
+ local m="$(printf '%s' "$RULEBOOK_TERSE_MODE" | tr '[:upper:]' '[:lower:]' | tr -d '[:space:]')"
46
+ if [[ "$m" =~ $VALID_MODES_RE ]]; then printf '%s' "$m"; return; fi
47
+ fi
48
+ if [ -f "$PROJECT_CONFIG" ]; then
49
+ local m
50
+ m="$(node -e "
51
+ try {
52
+ const cfg = JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8'));
53
+ if (cfg.terse && cfg.terse.defaultMode) process.stdout.write(String(cfg.terse.defaultMode));
54
+ } catch { }
55
+ " "$PROJECT_CONFIG" 2>/dev/null | tr '[:upper:]' '[:lower:]' | tr -d '[:space:]' || true)"
56
+ if [ -n "$m" ] && [[ "$m" =~ $VALID_MODES_RE ]]; then printf '%s' "$m"; return; fi
57
+ fi
58
+ if [ -f "$USER_CONFIG" ]; then
59
+ local m
60
+ m="$(node -e "
61
+ try {
62
+ const cfg = JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8'));
63
+ if (cfg.terse && cfg.terse.defaultMode) process.stdout.write(String(cfg.terse.defaultMode));
64
+ } catch { }
65
+ " "$USER_CONFIG" 2>/dev/null | tr '[:upper:]' '[:lower:]' | tr -d '[:space:]' || true)"
66
+ if [ -n "$m" ] && [[ "$m" =~ $VALID_MODES_RE ]]; then printf '%s' "$m"; return; fi
67
+ fi
68
+ printf 'terse'
69
+ }
70
+
71
+ safe_write_flag() {
72
+ local content="$1"
73
+ local dir
74
+ dir="$(dirname "$FLAG_PATH")"
75
+ mkdir -p "$dir" 2>/dev/null || return 0
76
+ [ -L "$dir" ] && return 0
77
+ [ -L "$FLAG_PATH" ] && return 0
78
+
79
+ local tmp
80
+ tmp="$(mktemp "$dir/.terse-mode.XXXXXX" 2>/dev/null)" || return 0
81
+ {
82
+ umask 077
83
+ printf '%s' "$content" > "$tmp" 2>/dev/null || { rm -f "$tmp"; return 0; }
84
+ }
85
+ chmod 600 "$tmp" 2>/dev/null || true
86
+ mv -f "$tmp" "$FLAG_PATH" 2>/dev/null || rm -f "$tmp"
87
+ }
88
+
89
+ read_flag() {
90
+ # Symlink-safe, size-capped, whitelist-validated read.
91
+ [ ! -f "$FLAG_PATH" ] && return 1
92
+ [ -L "$FLAG_PATH" ] && return 1
93
+ local size
94
+ size="$(wc -c < "$FLAG_PATH" 2>/dev/null || echo "$MAX_FLAG_BYTES")"
95
+ [ "$size" -gt "$MAX_FLAG_BYTES" ] && return 1
96
+
97
+ local raw
98
+ raw="$(head -c "$MAX_FLAG_BYTES" "$FLAG_PATH" 2>/dev/null | tr '[:upper:]' '[:lower:]' | tr -d '[:space:]')"
99
+ if [[ "$raw" =~ $VALID_MODES_RE ]]; then
100
+ printf '%s' "$raw"
101
+ return 0
102
+ fi
103
+ return 1
104
+ }
105
+
106
+ default_mode="$(resolve_default_mode)"
107
+ lower_prompt="$(printf '%s' "$prompt" | tr '[:upper:]' '[:lower:]')"
108
+
109
+ # Parse intent. Order matters: deactivation wins over accidental
110
+ # activation, slash commands win over natural-language patterns.
111
+ new_mode=""
112
+ deactivate=0
113
+
114
+ # Slash commands
115
+ if [[ "$lower_prompt" == /rulebook-terse-commit* ]]; then
116
+ new_mode="commit"
117
+ elif [[ "$lower_prompt" == /rulebook-terse-review* ]]; then
118
+ new_mode="review"
119
+ elif [[ "$lower_prompt" == /rulebook-terse ]]; then
120
+ new_mode="$default_mode"
121
+ elif [[ "$lower_prompt" == /rulebook-terse\ * ]]; then
122
+ arg="$(printf '%s' "$lower_prompt" | awk '{print $2}')"
123
+ case "$arg" in
124
+ off) deactivate=1 ;;
125
+ brief|terse|ultra|commit|review) new_mode="$arg" ;;
126
+ *) : ;; # unknown subcommand → leave state unchanged
127
+ esac
128
+ fi
129
+
130
+ # Natural-language deactivation — checked first so "stop terse" wins.
131
+ if [ -z "$new_mode" ] && [ "$deactivate" -eq 0 ]; then
132
+ if echo "$prompt" | grep -qiE '\b(stop|disable|turn off|deactivate)\b.*\brulebook[- ]?terse\b' \
133
+ || echo "$prompt" | grep -qiE '\brulebook[- ]?terse\b.*\b(stop|disable|turn off|deactivate)\b' \
134
+ || echo "$prompt" | grep -qiE '\b(stop|disable) terse\b' \
135
+ || echo "$prompt" | grep -qiE '\bnormal mode\b'; then
136
+ deactivate=1
137
+ fi
138
+ fi
139
+
140
+ # Natural-language activation
141
+ if [ -z "$new_mode" ] && [ "$deactivate" -eq 0 ]; then
142
+ if echo "$prompt" | grep -qiE '\b(activate|enable|turn on|start)\b.*\brulebook[- ]?terse\b' \
143
+ || echo "$prompt" | grep -qiE '\brulebook[- ]?terse\b.*\b(mode|activate|enable|turn on|start)\b' \
144
+ || echo "$prompt" | grep -qiE '\bbe terse\b' \
145
+ || echo "$prompt" | grep -qiE '\bterse mode\b' \
146
+ || echo "$prompt" | grep -qiE '\bless tokens?\b'; then
147
+ new_mode="$default_mode"
148
+ fi
149
+ fi
150
+
151
+ # Apply intent
152
+ if [ "$deactivate" -eq 1 ]; then
153
+ rm -f "$FLAG_PATH" 2>/dev/null || true
154
+ elif [ -n "$new_mode" ]; then
155
+ if [ "$new_mode" = "off" ]; then
156
+ rm -f "$FLAG_PATH" 2>/dev/null || true
157
+ else
158
+ safe_write_flag "$new_mode"
159
+ fi
160
+ fi
161
+
162
+ # Emit attention anchor for persistent modes only.
163
+ active_mode="$(read_flag || true)"
164
+ case "$active_mode" in
165
+ brief|terse|ultra)
166
+ if [ "$active_mode" = "brief" ]; then
167
+ keep_clause="Keep articles and full sentences."
168
+ else
169
+ keep_clause="Fragments OK."
170
+ fi
171
+ text="RULEBOOK-TERSE ACTIVE (${active_mode}). Drop filler/hedging/pleasantries. ${keep_clause} Code/tests/commits/security: write full. Quality-gate failures + destructive ops: write full."
172
+ # Emit hookSpecificOutput JSON via node — universal across platforms.
173
+ node -e "
174
+ const text = process.argv[1];
175
+ process.stdout.write(JSON.stringify({
176
+ hookSpecificOutput: {
177
+ hookEventName: 'UserPromptSubmit',
178
+ additionalContext: text
179
+ }
180
+ }));
181
+ " "$text" 2>/dev/null || true
182
+ ;;
183
+ *)
184
+ # No active persistent mode, or commit/review sub-skill — no anchor.
185
+ :
186
+ ;;
187
+ esac
@@ -1,16 +1,16 @@
1
- <!-- RULEBOOK:START -->
2
- # Continue.dev — Code Assistant Rules
3
-
4
- ## Context Loading
5
- - Always read AGENTS.md before making changes
6
- - Check `.rulebook/specs/` for relevant spec files
7
-
8
- ## Code Standards
9
- - Match existing code style and conventions
10
- - Prefer editing existing files over creating new ones
11
- - Add types for all new parameters and return values
12
-
13
- ## Testing
14
- - Write tests for every new function
15
- - Run existing tests after changes to verify no regressions
16
- <!-- RULEBOOK:END -->
1
+ <!-- RULEBOOK:START -->
2
+ # Continue.dev — Code Assistant Rules
3
+
4
+ ## Context Loading
5
+ - Always read AGENTS.md before making changes
6
+ - Check `.rulebook/specs/` for relevant spec files
7
+
8
+ ## Code Standards
9
+ - Match existing code style and conventions
10
+ - Prefer editing existing files over creating new ones
11
+ - Add types for all new parameters and return values
12
+
13
+ ## Testing
14
+ - Write tests for every new function
15
+ - Run existing tests after changes to verify no regressions
16
+ <!-- RULEBOOK:END -->
@@ -1,37 +1,37 @@
1
- <!-- COPILOT:START -->
2
- # GitHub Copilot Rules
3
-
4
- **Tool**: GitHub's AI pair programmer (inline + chat)
5
-
6
- ## Quick Start
7
-
8
- Copilot reads:
9
- - `.github/copilot-instructions.md` (generated by `rulebook init`)
10
- - Workspace context (open files)
11
-
12
- ## Usage
13
-
14
- ```bash
15
- # In Copilot Chat:
16
- "Follow @AGENTS.md. Implement [feature] with tests (95%+ coverage)."
17
-
18
- # Inline suggestions:
19
- Accept/reject based on AGENTS.md standards
20
- ```
21
-
22
- ## Modes
23
-
24
- **Inline Completions**: Context-aware suggestions while typing
25
- **Copilot Chat**: Ask questions, request implementations
26
- **Workspace Agent** (Labs): Multi-file autonomous mode
27
-
28
- ## Workflow
29
-
30
- 1. Rulebook generates `.github/copilot-instructions.md` → references AGENTS.md
31
- 2. Keep AGENTS.md open for context
32
- 3. Use `@workspace` to include project context
33
- 4. Reference `@AGENTS.md` explicitly in chat
34
-
35
- **Critical**: Generated `copilot-instructions.md` points Copilot to AGENTS.md standards.
36
-
37
- <!-- COPILOT:END -->
1
+ <!-- COPILOT:START -->
2
+ # GitHub Copilot Rules
3
+
4
+ **Tool**: GitHub's AI pair programmer (inline + chat)
5
+
6
+ ## Quick Start
7
+
8
+ Copilot reads:
9
+ - `.github/copilot-instructions.md` (generated by `rulebook init`)
10
+ - Workspace context (open files)
11
+
12
+ ## Usage
13
+
14
+ ```bash
15
+ # In Copilot Chat:
16
+ "Follow @AGENTS.md. Implement [feature] with tests (95%+ coverage)."
17
+
18
+ # Inline suggestions:
19
+ Accept/reject based on AGENTS.md standards
20
+ ```
21
+
22
+ ## Modes
23
+
24
+ **Inline Completions**: Context-aware suggestions while typing
25
+ **Copilot Chat**: Ask questions, request implementations
26
+ **Workspace Agent** (Labs): Multi-file autonomous mode
27
+
28
+ ## Workflow
29
+
30
+ 1. Rulebook generates `.github/copilot-instructions.md` → references AGENTS.md
31
+ 2. Keep AGENTS.md open for context
32
+ 3. Use `@workspace` to include project context
33
+ 4. Reference `@AGENTS.md` explicitly in chat
34
+
35
+ **Critical**: Generated `copilot-instructions.md` points Copilot to AGENTS.md standards.
36
+
37
+ <!-- COPILOT:END -->
@@ -1,23 +1,23 @@
1
- <!-- RULEBOOK:START -->
2
- # GitHub Copilot — Project Instructions
3
-
4
- ## Code Style
5
- - Use TypeScript with strict mode
6
- - Follow existing naming conventions (camelCase functions, PascalCase classes)
7
- - Prefer `async/await` over callbacks or raw Promises
8
-
9
- ## Architecture
10
- - Follow the module structure described in AGENTS.md
11
- - Keep functions small and focused (single responsibility)
12
- - Use dependency injection over direct imports where possible
13
-
14
- ## Testing
15
- - Write Vitest tests for all new functions
16
- - Place tests in `tests/` directory, not alongside source files
17
- - Mock external dependencies in unit tests
18
-
19
- ## Security
20
- - Never commit credentials or API keys
21
- - Validate all external input at system boundaries
22
- - Follow OWASP top 10 guidelines
23
- <!-- RULEBOOK:END -->
1
+ <!-- RULEBOOK:START -->
2
+ # GitHub Copilot — Project Instructions
3
+
4
+ ## Code Style
5
+ - Use TypeScript with strict mode
6
+ - Follow existing naming conventions (camelCase functions, PascalCase classes)
7
+ - Prefer `async/await` over callbacks or raw Promises
8
+
9
+ ## Architecture
10
+ - Follow the module structure described in AGENTS.md
11
+ - Keep functions small and focused (single responsibility)
12
+ - Use dependency injection over direct imports where possible
13
+
14
+ ## Testing
15
+ - Write Vitest tests for all new functions
16
+ - Place tests in `tests/` directory, not alongside source files
17
+ - Mock external dependencies in unit tests
18
+
19
+ ## Security
20
+ - Never commit credentials or API keys
21
+ - Validate all external input at system boundaries
22
+ - Follow OWASP top 10 guidelines
23
+ <!-- RULEBOOK:END -->
@@ -1,43 +1,43 @@
1
- <!-- CURSOR:START -->
2
- # Cursor IDE Rules
3
-
4
- **IDE**: AI-first code editor with Agent mode and Composer
5
-
6
- ## Quick Start
7
-
8
- Cursor automatically reads:
9
- - `.cursorrules` (generated by `rulebook init`)
10
- - `AGENTS.md` (via `@AGENTS.md` references)
11
-
12
- ## Usage
13
-
14
- ```bash
15
- # In Cursor chat/composer:
16
- "Follow @AGENTS.md. Implement [feature] with tests (95%+ coverage)."
17
-
18
- # Agent mode (Ctrl+Shift+K):
19
- Use for complex multi-file changes
20
- Reference @AGENTS.md for standards
21
-
22
- # Composer (Cmd+I):
23
- Use for quick edits
24
- Reference @AGENTS.md when needed
25
- ```
26
-
27
- ## Features
28
-
29
- - **Auto-context**: Reads .cursorrules automatically
30
- - **@ Mentions**: Use `@AGENTS.md` to include standards
31
- - **Agent Mode**: Autonomous multi-step implementations
32
- - **Composer**: Quick inline edits
33
-
34
- ## Workflow
35
-
36
- 1. Rulebook generates `.cursorrules` pointing to AGENTS.md
37
- 2. Use `@AGENTS.md` in prompts for explicit reference
38
- 3. Agent/Composer follows standards automatically
39
- 4. Review changes and run quality checks
40
-
41
- **Critical**: `.cursorrules` ensures Cursor follows AGENTS.md by default.
42
-
43
- <!-- CURSOR:END -->
1
+ <!-- CURSOR:START -->
2
+ # Cursor IDE Rules
3
+
4
+ **IDE**: AI-first code editor with Agent mode and Composer
5
+
6
+ ## Quick Start
7
+
8
+ Cursor automatically reads:
9
+ - `.cursorrules` (generated by `rulebook init`)
10
+ - `AGENTS.md` (via `@AGENTS.md` references)
11
+
12
+ ## Usage
13
+
14
+ ```bash
15
+ # In Cursor chat/composer:
16
+ "Follow @AGENTS.md. Implement [feature] with tests (95%+ coverage)."
17
+
18
+ # Agent mode (Ctrl+Shift+K):
19
+ Use for complex multi-file changes
20
+ Reference @AGENTS.md for standards
21
+
22
+ # Composer (Cmd+I):
23
+ Use for quick edits
24
+ Reference @AGENTS.md when needed
25
+ ```
26
+
27
+ ## Features
28
+
29
+ - **Auto-context**: Reads .cursorrules automatically
30
+ - **@ Mentions**: Use `@AGENTS.md` to include standards
31
+ - **Agent Mode**: Autonomous multi-step implementations
32
+ - **Composer**: Quick inline edits
33
+
34
+ ## Workflow
35
+
36
+ 1. Rulebook generates `.cursorrules` pointing to AGENTS.md
37
+ 2. Use `@AGENTS.md` in prompts for explicit reference
38
+ 3. Agent/Composer follows standards automatically
39
+ 4. Review changes and run quality checks
40
+
41
+ **Critical**: `.cursorrules` ensures Cursor follows AGENTS.md by default.
42
+
43
+ <!-- CURSOR:END -->
@@ -1,17 +1,17 @@
1
- <!-- RULEBOOK:START -->
2
- # Gemini CLI — Project Directives
3
-
4
- ## Code Generation Rules
5
- - Generate TypeScript with strict mode enabled
6
- - Follow existing file and function naming conventions
7
- - Always add error handling for async operations
8
- - Generate tests alongside implementation code
9
-
10
- ## Quality Standards
11
- - All code must pass TypeScript type-check
12
- - All code must pass ESLint without warnings
13
- - Test coverage must meet project thresholds
14
-
15
- ## Project Context
16
- See AGENTS.md for full project architecture and team conventions.
17
- <!-- RULEBOOK:END -->
1
+ <!-- RULEBOOK:START -->
2
+ # Gemini CLI — Project Directives
3
+
4
+ ## Code Generation Rules
5
+ - Generate TypeScript with strict mode enabled
6
+ - Follow existing file and function naming conventions
7
+ - Always add error handling for async operations
8
+ - Generate tests alongside implementation code
9
+
10
+ ## Quality Standards
11
+ - All code must pass TypeScript type-check
12
+ - All code must pass ESLint without warnings
13
+ - Test coverage must meet project thresholds
14
+
15
+ ## Project Context
16
+ See AGENTS.md for full project architecture and team conventions.
17
+ <!-- RULEBOOK:END -->