@hivehub/rulebook 5.7.0 → 5.8.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 (599) hide show
  1. package/.claude/commands/analysis.md +35 -35
  2. package/.claude/commands/continue.md +33 -33
  3. package/.claude/commands/rulebook-decision-create.md +55 -55
  4. package/.claude/commands/rulebook-decision-list.md +15 -15
  5. package/.claude/commands/rulebook-knowledge-add.md +41 -41
  6. package/.claude/commands/rulebook-knowledge-list.md +15 -15
  7. package/.claude/commands/rulebook-memory-save.md +48 -48
  8. package/.claude/commands/rulebook-memory-search.md +47 -47
  9. package/.claude/commands/rulebook-task-apply.md +67 -67
  10. package/.claude/commands/rulebook-task-archive.md +94 -94
  11. package/.claude/commands/rulebook-task-create.md +93 -93
  12. package/.claude/commands/rulebook-task-list.md +42 -42
  13. package/.claude/commands/rulebook-task-show.md +52 -52
  14. package/.claude/commands/rulebook-task-validate.md +53 -53
  15. package/.claude-plugin/marketplace.json +28 -28
  16. package/.claude-plugin/plugin.json +8 -8
  17. package/README.md +86 -0
  18. package/dist/cli/commands/claude.d.ts +17 -0
  19. package/dist/cli/commands/claude.d.ts.map +1 -0
  20. package/dist/cli/commands/claude.js +56 -0
  21. package/dist/cli/commands/claude.js.map +1 -0
  22. package/dist/cli/commands/init.d.ts.map +1 -1
  23. package/dist/cli/commands/init.js +18 -2
  24. package/dist/cli/commands/init.js.map +1 -1
  25. package/dist/cli/commands/update.d.ts.map +1 -1
  26. package/dist/cli/commands/update.js +6 -1
  27. package/dist/cli/commands/update.js.map +1 -1
  28. package/dist/cli/prompts.d.ts +13 -0
  29. package/dist/cli/prompts.d.ts.map +1 -1
  30. package/dist/cli/prompts.js +106 -0
  31. package/dist/cli/prompts.js.map +1 -1
  32. package/dist/core/claude/claude-mcp.d.ts +9 -0
  33. package/dist/core/claude/claude-mcp.d.ts.map +1 -1
  34. package/dist/core/claude/claude-mcp.js +30 -0
  35. package/dist/core/claude/claude-mcp.js.map +1 -1
  36. package/dist/core/claude/claude-settings-manager.d.ts +12 -0
  37. package/dist/core/claude/claude-settings-manager.d.ts.map +1 -1
  38. package/dist/core/claude/claude-settings-manager.js +59 -3
  39. package/dist/core/claude/claude-settings-manager.js.map +1 -1
  40. package/dist/core/detect/detector.d.ts +8 -1
  41. package/dist/core/detect/detector.d.ts.map +1 -1
  42. package/dist/core/detect/detector.js +225 -0
  43. package/dist/core/detect/detector.js.map +1 -1
  44. package/dist/core/detect/library-registry.d.ts +40 -0
  45. package/dist/core/detect/library-registry.d.ts.map +1 -0
  46. package/dist/core/detect/library-registry.js +239 -0
  47. package/dist/core/detect/library-registry.js.map +1 -0
  48. package/dist/core/generators/generator.d.ts +1 -0
  49. package/dist/core/generators/generator.d.ts.map +1 -1
  50. package/dist/core/generators/generator.js +37 -0
  51. package/dist/core/generators/generator.js.map +1 -1
  52. package/dist/core/generators/rules-generator.d.ts +1 -5
  53. package/dist/core/generators/rules-generator.d.ts.map +1 -1
  54. package/dist/core/generators/rules-generator.js +40 -1
  55. package/dist/core/generators/rules-generator.js.map +1 -1
  56. package/dist/index.js +12 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/mcp/rulebook-server.js +0 -0
  59. package/dist/types.d.ts +13 -0
  60. package/dist/types.d.ts.map +1 -1
  61. package/package.json +23 -22
  62. package/templates/agents/accessibility-reviewer.md +43 -43
  63. package/templates/agents/api-designer.md +42 -42
  64. package/templates/agents/architect.md +51 -51
  65. package/templates/agents/build-engineer.md +36 -36
  66. package/templates/agents/code-reviewer.md +47 -47
  67. package/templates/agents/compiler/codegen-debugger.md +34 -34
  68. package/templates/agents/compiler/stdlib-engineer.md +28 -28
  69. package/templates/agents/compiler/test-coverage-guardian.md +31 -31
  70. package/templates/agents/database-architect.md +41 -41
  71. package/templates/agents/devops-engineer.md +42 -42
  72. package/templates/agents/docs-writer.md +38 -38
  73. package/templates/agents/game-engine/cpp-core-expert.md +35 -35
  74. package/templates/agents/game-engine/render-engineer.md +22 -22
  75. package/templates/agents/game-engine/shader-engineer.md +38 -38
  76. package/templates/agents/game-engine/systems-integration.md +43 -43
  77. package/templates/agents/generic/code-reviewer.md +41 -41
  78. package/templates/agents/generic/docs-writer.md +25 -25
  79. package/templates/agents/generic/project-manager.md +36 -36
  80. package/templates/agents/generic/researcher.md +34 -34
  81. package/templates/agents/generic/test-engineer.md +41 -41
  82. package/templates/agents/i18n-engineer.md +42 -42
  83. package/templates/agents/implementer.md +42 -42
  84. package/templates/agents/migration-engineer.md +42 -42
  85. package/templates/agents/mobile/platform-specialist.md +22 -22
  86. package/templates/agents/mobile/ui-engineer.md +22 -22
  87. package/templates/agents/performance-engineer.md +49 -49
  88. package/templates/agents/project-manager.md +215 -0
  89. package/templates/agents/quality-gatekeeper.md +205 -0
  90. package/templates/agents/refactoring-agent.md +41 -41
  91. package/templates/agents/researcher.md +38 -38
  92. package/templates/agents/security-reviewer.md +40 -40
  93. package/templates/agents/team-lead.md +37 -37
  94. package/templates/agents/tester.md +48 -48
  95. package/templates/agents/ux-reviewer.md +43 -43
  96. package/templates/agents/web-app/api-designer.md +22 -22
  97. package/templates/agents/web-app/backend-engineer.md +30 -30
  98. package/templates/agents/web-app/database-engineer.md +22 -22
  99. package/templates/agents/web-app/frontend-engineer.md +29 -29
  100. package/templates/agents/web-app/security-reviewer.md +32 -32
  101. package/templates/ci/rulebook-review.yml +26 -26
  102. package/templates/claude-workflows/bugfix.js +94 -0
  103. package/templates/claude-workflows/feature-pipeline.js +88 -0
  104. package/templates/claude-workflows/release-gate.js +64 -0
  105. package/templates/claude-workflows/review-fanout.js +118 -0
  106. package/templates/claude-workflows/rulebook-driver.js +343 -0
  107. package/templates/claude-workflows/spec-author.js +133 -0
  108. package/templates/cli/AIDER.md +49 -49
  109. package/templates/cli/AMAZON_Q.md +25 -25
  110. package/templates/cli/AUGGIE.md +32 -32
  111. package/templates/cli/CLAUDE.md +117 -117
  112. package/templates/cli/CLINE.md +99 -99
  113. package/templates/cli/CODEBUDDY.md +20 -20
  114. package/templates/cli/CODEIUM.md +20 -20
  115. package/templates/cli/CODEX.md +21 -21
  116. package/templates/cli/CONTINUE.md +34 -34
  117. package/templates/cli/CURSOR_CLI.md +62 -62
  118. package/templates/cli/FACTORY.md +18 -18
  119. package/templates/cli/GEMINI.md +35 -35
  120. package/templates/cli/KILOCODE.md +18 -18
  121. package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
  122. package/templates/commands/rulebook-decision-create.md +55 -55
  123. package/templates/commands/rulebook-decision-list.md +15 -15
  124. package/templates/commands/rulebook-knowledge-add.md +41 -41
  125. package/templates/commands/rulebook-knowledge-list.md +15 -15
  126. package/templates/commands/rulebook-memory-save.md +48 -48
  127. package/templates/commands/rulebook-memory-search.md +47 -47
  128. package/templates/commands/rulebook-task-apply.md +67 -67
  129. package/templates/commands/rulebook-task-archive.md +94 -94
  130. package/templates/commands/rulebook-task-create.md +93 -93
  131. package/templates/commands/rulebook-task-list.md +42 -42
  132. package/templates/commands/rulebook-task-show.md +52 -52
  133. package/templates/commands/rulebook-task-validate.md +53 -53
  134. package/templates/compact-context/_default.md +23 -23
  135. package/templates/compact-context/cpp.md +26 -26
  136. package/templates/compact-context/go.md +26 -26
  137. package/templates/compact-context/python.md +26 -26
  138. package/templates/compact-context/rust.md +28 -28
  139. package/templates/compact-context/typescript.md +29 -29
  140. package/templates/core/AGENTS_OVERRIDE.md +16 -16
  141. package/templates/core/AGENT_AUTOMATION.md +296 -296
  142. package/templates/core/CLAUDE_MD_v2.md +90 -90
  143. package/templates/core/DAG.md +304 -304
  144. package/templates/core/DECISIONS.md +38 -38
  145. package/templates/core/DOCUMENTATION_RULES.md +36 -36
  146. package/templates/core/KNOWLEDGE.md +49 -49
  147. package/templates/core/MULTI_AGENT.md +74 -74
  148. package/templates/core/PLANS.md +28 -28
  149. package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
  150. package/templates/core/RULEBOOK.md +1947 -1947
  151. package/templates/core/TIER1_PROHIBITIONS.md +154 -154
  152. package/templates/core/TOKEN_OPTIMIZATION.md +49 -49
  153. package/templates/git/CI_CD_PATTERNS.md +661 -661
  154. package/templates/git/GITHUB_ACTIONS.md +728 -728
  155. package/templates/git/GITLAB_CI.md +730 -730
  156. package/templates/git/GIT_WORKFLOW.md +1192 -1192
  157. package/templates/git/SECRETS_MANAGEMENT.md +585 -585
  158. package/templates/hooks/COMMIT_MSG.md +530 -530
  159. package/templates/hooks/POST_CHECKOUT.md +546 -546
  160. package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
  161. package/templates/hooks/PRE_COMMIT.md +414 -414
  162. package/templates/hooks/PRE_PUSH.md +601 -601
  163. package/templates/hooks/check-context-and-handoff.sh +16 -6
  164. package/templates/hooks/update-check.ps1 +84 -0
  165. package/templates/hooks/update-check.sh +103 -0
  166. package/templates/ides/CONTINUE_RULES.md +16 -16
  167. package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -23
  168. package/templates/ides/GEMINI_RULES.md +17 -17
  169. package/templates/ides/WINDSURF_RULES.md +14 -14
  170. package/templates/languages/C.md +333 -333
  171. package/templates/languages/CPP.md +743 -743
  172. package/templates/languages/CSHARP.md +417 -417
  173. package/templates/languages/ELIXIR.md +454 -454
  174. package/templates/languages/ERLANG.md +361 -361
  175. package/templates/languages/GO.md +645 -645
  176. package/templates/languages/HASKELL.md +177 -177
  177. package/templates/languages/JAVA.md +607 -607
  178. package/templates/languages/JAVASCRIPT.md +631 -631
  179. package/templates/languages/JULIA.md +97 -97
  180. package/templates/languages/KOTLIN.md +511 -511
  181. package/templates/languages/LISP.md +100 -100
  182. package/templates/languages/LUA.md +74 -74
  183. package/templates/languages/OBJECTIVEC.md +90 -90
  184. package/templates/languages/PHP.md +416 -416
  185. package/templates/languages/PYTHON.md +682 -682
  186. package/templates/languages/RUBY.md +421 -421
  187. package/templates/languages/RUST.md +477 -477
  188. package/templates/languages/SAS.md +73 -73
  189. package/templates/languages/SCALA.md +348 -348
  190. package/templates/languages/SOLIDITY.md +580 -580
  191. package/templates/languages/SQL.md +137 -137
  192. package/templates/languages/SWIFT.md +466 -466
  193. package/templates/languages/TYPESCRIPT.md +591 -591
  194. package/templates/languages/ZIG.md +265 -265
  195. package/templates/libraries/go/ECHO.md +18 -0
  196. package/templates/libraries/go/GIN.md +18 -0
  197. package/templates/libraries/go/GORM.md +18 -0
  198. package/templates/libraries/python/DJANGO.md +18 -0
  199. package/templates/libraries/python/FASTAPI.md +18 -0
  200. package/templates/libraries/python/FLASK.md +17 -0
  201. package/templates/libraries/python/PYDANTIC.md +17 -0
  202. package/templates/libraries/python/PYTEST.md +17 -0
  203. package/templates/libraries/python/SQLALCHEMY.md +17 -0
  204. package/templates/libraries/rust/ACTIX.md +17 -0
  205. package/templates/libraries/rust/AXUM.md +18 -0
  206. package/templates/libraries/rust/SERDE.md +16 -0
  207. package/templates/libraries/rust/SQLX.md +17 -0
  208. package/templates/libraries/rust/TOKIO.md +16 -0
  209. package/templates/libraries/typescript/ANGULAR.md +17 -0
  210. package/templates/libraries/typescript/DRIZZLE.md +16 -0
  211. package/templates/libraries/typescript/EXPRESS.md +17 -0
  212. package/templates/libraries/typescript/HEROUI.md +16 -0
  213. package/templates/libraries/typescript/JEST.md +17 -0
  214. package/templates/libraries/typescript/NESTJS.md +17 -0
  215. package/templates/libraries/typescript/NEXT.md +18 -0
  216. package/templates/libraries/typescript/PRISMA.md +16 -0
  217. package/templates/libraries/typescript/RADIX.md +16 -0
  218. package/templates/libraries/typescript/REACT.md +18 -0
  219. package/templates/libraries/typescript/SHADCN.md +16 -0
  220. package/templates/libraries/typescript/SVELTE.md +16 -0
  221. package/templates/libraries/typescript/TAILWIND.md +16 -0
  222. package/templates/libraries/typescript/TRPC.md +16 -0
  223. package/templates/libraries/typescript/VITEST.md +17 -0
  224. package/templates/libraries/typescript/VUE.md +17 -0
  225. package/templates/libraries/typescript/ZOD.md +17 -0
  226. package/templates/modules/ATLASSIAN.md +255 -255
  227. package/templates/modules/CONTEXT7.md +54 -54
  228. package/templates/modules/FIGMA.md +267 -267
  229. package/templates/modules/GITHUB_MCP.md +64 -64
  230. package/templates/modules/GRAFANA.md +328 -328
  231. package/templates/modules/MEMORY.md +126 -126
  232. package/templates/modules/NOTION.md +247 -247
  233. package/templates/modules/PLAYWRIGHT.md +90 -90
  234. package/templates/modules/RULEBOOK_MCP.md +208 -208
  235. package/templates/modules/SERENA.md +337 -337
  236. package/templates/modules/SUPABASE.md +223 -223
  237. package/templates/modules/SYNAP.md +69 -69
  238. package/templates/modules/VECTORIZER.md +63 -63
  239. package/templates/modules/sequential-thinking.md +42 -42
  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/skills/cli/aider/SKILL.md +59 -59
  265. package/templates/skills/cli/amazon-q/SKILL.md +35 -35
  266. package/templates/skills/cli/auggie/SKILL.md +42 -42
  267. package/templates/skills/cli/claude/SKILL.md +42 -42
  268. package/templates/skills/cli/cline/SKILL.md +42 -42
  269. package/templates/skills/cli/codebuddy/SKILL.md +30 -30
  270. package/templates/skills/cli/codeium/SKILL.md +30 -30
  271. package/templates/skills/cli/codex/SKILL.md +31 -31
  272. package/templates/skills/cli/continue/SKILL.md +44 -44
  273. package/templates/skills/cli/cursor-cli/SKILL.md +38 -38
  274. package/templates/skills/cli/factory/SKILL.md +28 -28
  275. package/templates/skills/cli/gemini/SKILL.md +45 -45
  276. package/templates/skills/cli/kilocode/SKILL.md +28 -28
  277. package/templates/skills/core/agent-automation/SKILL.md +194 -194
  278. package/templates/skills/core/dag/SKILL.md +314 -314
  279. package/templates/skills/core/documentation-rules/SKILL.md +46 -46
  280. package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
  281. package/templates/skills/core/rulebook/SKILL.md +176 -176
  282. package/templates/skills/core/rulebook-terse/SKILL.md +116 -116
  283. package/templates/skills/core/rulebook-terse-commit/SKILL.md +96 -96
  284. package/templates/skills/core/rulebook-terse-review/SKILL.md +112 -112
  285. package/templates/skills/dev/accessibility/SKILL.md +17 -17
  286. package/templates/skills/dev/analysis/SKILL.md +19 -19
  287. package/templates/skills/dev/api-design/SKILL.md +15 -15
  288. package/templates/skills/dev/architect/SKILL.md +17 -17
  289. package/templates/skills/dev/build-fix/SKILL.md +17 -17
  290. package/templates/skills/dev/db-design/SKILL.md +15 -15
  291. package/templates/skills/dev/debug/SKILL.md +16 -16
  292. package/templates/skills/dev/deploy/SKILL.md +17 -17
  293. package/templates/skills/dev/docs/SKILL.md +17 -17
  294. package/templates/skills/dev/handoff/SKILL.md +27 -27
  295. package/templates/skills/dev/migrate/SKILL.md +15 -15
  296. package/templates/skills/dev/perf/SKILL.md +17 -17
  297. package/templates/skills/dev/refactor/SKILL.md +17 -17
  298. package/templates/skills/dev/research/SKILL.md +14 -14
  299. package/templates/skills/dev/review/SKILL.md +18 -18
  300. package/templates/skills/dev/security-audit/SKILL.md +17 -17
  301. package/templates/skills/dev/spec/SKILL.md +65 -0
  302. package/templates/skills/ides/copilot/SKILL.md +47 -47
  303. package/templates/skills/ides/cursor/SKILL.md +53 -53
  304. package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -45
  305. package/templates/skills/ides/replit/SKILL.md +46 -46
  306. package/templates/skills/ides/tabnine/SKILL.md +39 -39
  307. package/templates/skills/ides/vscode/SKILL.md +50 -50
  308. package/templates/skills/ides/windsurf/SKILL.md +46 -46
  309. package/templates/skills/ides/zed/SKILL.md +42 -42
  310. package/templates/skills/languages/c/SKILL.md +343 -343
  311. package/templates/skills/languages/cpp/SKILL.md +753 -753
  312. package/templates/skills/languages/csharp/SKILL.md +427 -427
  313. package/templates/skills/languages/elixir/SKILL.md +464 -464
  314. package/templates/skills/languages/erlang/SKILL.md +371 -371
  315. package/templates/skills/languages/go/SKILL.md +655 -655
  316. package/templates/skills/languages/haskell/SKILL.md +187 -187
  317. package/templates/skills/languages/java/SKILL.md +617 -617
  318. package/templates/skills/languages/javascript/SKILL.md +641 -641
  319. package/templates/skills/languages/julia/SKILL.md +107 -107
  320. package/templates/skills/languages/kotlin/SKILL.md +521 -521
  321. package/templates/skills/languages/lisp/SKILL.md +110 -110
  322. package/templates/skills/languages/lua/SKILL.md +84 -84
  323. package/templates/skills/languages/objectivec/SKILL.md +100 -100
  324. package/templates/skills/languages/php/SKILL.md +426 -426
  325. package/templates/skills/languages/python/SKILL.md +692 -692
  326. package/templates/skills/languages/ruby/SKILL.md +431 -431
  327. package/templates/skills/languages/rust/SKILL.md +487 -487
  328. package/templates/skills/languages/sas/SKILL.md +83 -83
  329. package/templates/skills/languages/scala/SKILL.md +358 -358
  330. package/templates/skills/languages/solidity/SKILL.md +590 -590
  331. package/templates/skills/languages/sql/SKILL.md +147 -147
  332. package/templates/skills/languages/swift/SKILL.md +476 -476
  333. package/templates/skills/languages/typescript/SKILL.md +302 -302
  334. package/templates/skills/languages/zig/SKILL.md +275 -275
  335. package/templates/skills/modules/atlassian/SKILL.md +265 -265
  336. package/templates/skills/modules/context7/SKILL.md +64 -64
  337. package/templates/skills/modules/figma/SKILL.md +277 -277
  338. package/templates/skills/modules/github-mcp/SKILL.md +74 -74
  339. package/templates/skills/modules/grafana/SKILL.md +338 -338
  340. package/templates/skills/modules/memory/SKILL.md +73 -73
  341. package/templates/skills/modules/notion/SKILL.md +257 -257
  342. package/templates/skills/modules/playwright/SKILL.md +100 -100
  343. package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
  344. package/templates/skills/modules/serena/SKILL.md +347 -347
  345. package/templates/skills/modules/supabase/SKILL.md +233 -233
  346. package/templates/skills/modules/synap/SKILL.md +79 -79
  347. package/templates/skills/modules/vectorizer/SKILL.md +73 -73
  348. package/dist/agents/ralph-parser.d.ts +0 -91
  349. package/dist/agents/ralph-parser.d.ts.map +0 -1
  350. package/dist/agents/ralph-parser.js +0 -415
  351. package/dist/agents/ralph-parser.js.map +0 -1
  352. package/dist/cli/commands/analysis.d.ts +0 -8
  353. package/dist/cli/commands/analysis.d.ts.map +0 -1
  354. package/dist/cli/commands/analysis.js +0 -78
  355. package/dist/cli/commands/analysis.js.map +0 -1
  356. package/dist/cli/commands/compress.d.ts +0 -18
  357. package/dist/cli/commands/compress.d.ts.map +0 -1
  358. package/dist/cli/commands/compress.js +0 -100
  359. package/dist/cli/commands/compress.js.map +0 -1
  360. package/dist/cli/commands/ralph.d.ts +0 -45
  361. package/dist/cli/commands/ralph.d.ts.map +0 -1
  362. package/dist/cli/commands/ralph.js +0 -694
  363. package/dist/cli/commands/ralph.js.map +0 -1
  364. package/dist/cli/docs-prompts.d.ts +0 -3
  365. package/dist/cli/docs-prompts.d.ts.map +0 -1
  366. package/dist/cli/docs-prompts.js +0 -45
  367. package/dist/cli/docs-prompts.js.map +0 -1
  368. package/dist/core/agent-manager.d.ts +0 -69
  369. package/dist/core/agent-manager.d.ts.map +0 -1
  370. package/dist/core/agent-manager.js +0 -476
  371. package/dist/core/agent-manager.js.map +0 -1
  372. package/dist/core/agent-template-engine.d.ts +0 -51
  373. package/dist/core/agent-template-engine.d.ts.map +0 -1
  374. package/dist/core/agent-template-engine.js +0 -291
  375. package/dist/core/agent-template-engine.js.map +0 -1
  376. package/dist/core/analysis-manager.d.ts +0 -56
  377. package/dist/core/analysis-manager.d.ts.map +0 -1
  378. package/dist/core/analysis-manager.js +0 -218
  379. package/dist/core/analysis-manager.js.map +0 -1
  380. package/dist/core/auto-fixer.d.ts +0 -14
  381. package/dist/core/auto-fixer.d.ts.map +0 -1
  382. package/dist/core/auto-fixer.js +0 -207
  383. package/dist/core/auto-fixer.js.map +0 -1
  384. package/dist/core/changelog-generator.d.ts +0 -44
  385. package/dist/core/changelog-generator.d.ts.map +0 -1
  386. package/dist/core/changelog-generator.js +0 -222
  387. package/dist/core/changelog-generator.js.map +0 -1
  388. package/dist/core/claude-mcp.d.ts +0 -59
  389. package/dist/core/claude-mcp.d.ts.map +0 -1
  390. package/dist/core/claude-mcp.js +0 -220
  391. package/dist/core/claude-mcp.js.map +0 -1
  392. package/dist/core/claude-md-generator.d.ts +0 -52
  393. package/dist/core/claude-md-generator.d.ts.map +0 -1
  394. package/dist/core/claude-md-generator.js +0 -104
  395. package/dist/core/claude-md-generator.js.map +0 -1
  396. package/dist/core/claude-settings-manager.d.ts +0 -44
  397. package/dist/core/claude-settings-manager.d.ts.map +0 -1
  398. package/dist/core/claude-settings-manager.js +0 -191
  399. package/dist/core/claude-settings-manager.js.map +0 -1
  400. package/dist/core/cli-bridge.d.ts +0 -113
  401. package/dist/core/cli-bridge.d.ts.map +0 -1
  402. package/dist/core/cli-bridge.js +0 -1094
  403. package/dist/core/cli-bridge.js.map +0 -1
  404. package/dist/core/compact-context-manager.d.ts +0 -34
  405. package/dist/core/compact-context-manager.d.ts.map +0 -1
  406. package/dist/core/compact-context-manager.js +0 -60
  407. package/dist/core/compact-context-manager.js.map +0 -1
  408. package/dist/core/complexity-detector.d.ts +0 -36
  409. package/dist/core/complexity-detector.d.ts.map +0 -1
  410. package/dist/core/complexity-detector.js +0 -334
  411. package/dist/core/complexity-detector.js.map +0 -1
  412. package/dist/core/compress/compressor.d.ts +0 -60
  413. package/dist/core/compress/compressor.d.ts.map +0 -1
  414. package/dist/core/compress/compressor.js +0 -232
  415. package/dist/core/compress/compressor.js.map +0 -1
  416. package/dist/core/compress/discover.d.ts +0 -19
  417. package/dist/core/compress/discover.d.ts.map +0 -1
  418. package/dist/core/compress/discover.js +0 -100
  419. package/dist/core/compress/discover.js.map +0 -1
  420. package/dist/core/compress/validator.d.ts +0 -47
  421. package/dist/core/compress/validator.d.ts.map +0 -1
  422. package/dist/core/compress/validator.js +0 -131
  423. package/dist/core/compress/validator.js.map +0 -1
  424. package/dist/core/config-manager.d.ts +0 -86
  425. package/dist/core/config-manager.d.ts.map +0 -1
  426. package/dist/core/config-manager.js +0 -621
  427. package/dist/core/config-manager.js.map +0 -1
  428. package/dist/core/coverage-checker.d.ts +0 -14
  429. package/dist/core/coverage-checker.d.ts.map +0 -1
  430. package/dist/core/coverage-checker.js +0 -176
  431. package/dist/core/coverage-checker.js.map +0 -1
  432. package/dist/core/cursor-mdc-generator.d.ts +0 -30
  433. package/dist/core/cursor-mdc-generator.d.ts.map +0 -1
  434. package/dist/core/cursor-mdc-generator.js +0 -98
  435. package/dist/core/cursor-mdc-generator.js.map +0 -1
  436. package/dist/core/decision-manager.d.ts +0 -25
  437. package/dist/core/decision-manager.d.ts.map +0 -1
  438. package/dist/core/decision-manager.js +0 -183
  439. package/dist/core/decision-manager.js.map +0 -1
  440. package/dist/core/dependency-checker.d.ts +0 -21
  441. package/dist/core/dependency-checker.d.ts.map +0 -1
  442. package/dist/core/dependency-checker.js +0 -247
  443. package/dist/core/dependency-checker.js.map +0 -1
  444. package/dist/core/detector.d.ts +0 -27
  445. package/dist/core/detector.d.ts.map +0 -1
  446. package/dist/core/detector.js +0 -1763
  447. package/dist/core/detector.js.map +0 -1
  448. package/dist/core/docs-generator.d.ts +0 -9
  449. package/dist/core/docs-generator.d.ts.map +0 -1
  450. package/dist/core/docs-generator.js +0 -531
  451. package/dist/core/docs-generator.js.map +0 -1
  452. package/dist/core/doctor.d.ts +0 -19
  453. package/dist/core/doctor.d.ts.map +0 -1
  454. package/dist/core/doctor.js +0 -229
  455. package/dist/core/doctor.js.map +0 -1
  456. package/dist/core/generator.d.ts +0 -56
  457. package/dist/core/generator.d.ts.map +0 -1
  458. package/dist/core/generator.js +0 -1193
  459. package/dist/core/generator.js.map +0 -1
  460. package/dist/core/github-issues-importer.d.ts +0 -82
  461. package/dist/core/github-issues-importer.d.ts.map +0 -1
  462. package/dist/core/github-issues-importer.js +0 -161
  463. package/dist/core/github-issues-importer.js.map +0 -1
  464. package/dist/core/gitignore-generator.d.ts +0 -13
  465. package/dist/core/gitignore-generator.d.ts.map +0 -1
  466. package/dist/core/gitignore-generator.js +0 -307
  467. package/dist/core/gitignore-generator.js.map +0 -1
  468. package/dist/core/health-scorer.d.ts +0 -61
  469. package/dist/core/health-scorer.d.ts.map +0 -1
  470. package/dist/core/health-scorer.js +0 -638
  471. package/dist/core/health-scorer.js.map +0 -1
  472. package/dist/core/iteration-tracker.d.ts +0 -85
  473. package/dist/core/iteration-tracker.d.ts.map +0 -1
  474. package/dist/core/iteration-tracker.js +0 -295
  475. package/dist/core/iteration-tracker.js.map +0 -1
  476. package/dist/core/knowledge-manager.d.ts +0 -24
  477. package/dist/core/knowledge-manager.d.ts.map +0 -1
  478. package/dist/core/knowledge-manager.js +0 -173
  479. package/dist/core/knowledge-manager.js.map +0 -1
  480. package/dist/core/learn-manager.d.ts +0 -29
  481. package/dist/core/learn-manager.d.ts.map +0 -1
  482. package/dist/core/learn-manager.js +0 -159
  483. package/dist/core/learn-manager.js.map +0 -1
  484. package/dist/core/mcp-reference-generator.d.ts +0 -13
  485. package/dist/core/mcp-reference-generator.d.ts.map +0 -1
  486. package/dist/core/mcp-reference-generator.js +0 -66
  487. package/dist/core/mcp-reference-generator.js.map +0 -1
  488. package/dist/core/minimal-scaffolder.d.ts +0 -8
  489. package/dist/core/minimal-scaffolder.d.ts.map +0 -1
  490. package/dist/core/minimal-scaffolder.js +0 -51
  491. package/dist/core/minimal-scaffolder.js.map +0 -1
  492. package/dist/core/modern-console.d.ts +0 -98
  493. package/dist/core/modern-console.d.ts.map +0 -1
  494. package/dist/core/modern-console.js +0 -556
  495. package/dist/core/modern-console.js.map +0 -1
  496. package/dist/core/multi-tool-generator.d.ts +0 -59
  497. package/dist/core/multi-tool-generator.d.ts.map +0 -1
  498. package/dist/core/multi-tool-generator.js +0 -157
  499. package/dist/core/multi-tool-generator.js.map +0 -1
  500. package/dist/core/override-manager.d.ts +0 -23
  501. package/dist/core/override-manager.d.ts.map +0 -1
  502. package/dist/core/override-manager.js +0 -82
  503. package/dist/core/override-manager.js.map +0 -1
  504. package/dist/core/plans-manager.d.ts +0 -46
  505. package/dist/core/plans-manager.d.ts.map +0 -1
  506. package/dist/core/plans-manager.js +0 -158
  507. package/dist/core/plans-manager.js.map +0 -1
  508. package/dist/core/prd-generator.d.ts +0 -48
  509. package/dist/core/prd-generator.d.ts.map +0 -1
  510. package/dist/core/prd-generator.js +0 -233
  511. package/dist/core/prd-generator.js.map +0 -1
  512. package/dist/core/ralph-manager.d.ts +0 -163
  513. package/dist/core/ralph-manager.d.ts.map +0 -1
  514. package/dist/core/ralph-manager.js +0 -555
  515. package/dist/core/ralph-manager.js.map +0 -1
  516. package/dist/core/ralph-parallel.d.ts +0 -55
  517. package/dist/core/ralph-parallel.d.ts.map +0 -1
  518. package/dist/core/ralph-parallel.js +0 -201
  519. package/dist/core/ralph-parallel.js.map +0 -1
  520. package/dist/core/ralph-plan-checkpoint.d.ts +0 -58
  521. package/dist/core/ralph-plan-checkpoint.d.ts.map +0 -1
  522. package/dist/core/ralph-plan-checkpoint.js +0 -154
  523. package/dist/core/ralph-plan-checkpoint.js.map +0 -1
  524. package/dist/core/ralph-scripts.d.ts +0 -12
  525. package/dist/core/ralph-scripts.d.ts.map +0 -1
  526. package/dist/core/ralph-scripts.js +0 -50
  527. package/dist/core/ralph-scripts.js.map +0 -1
  528. package/dist/core/review-manager.d.ts +0 -74
  529. package/dist/core/review-manager.d.ts.map +0 -1
  530. package/dist/core/review-manager.js +0 -371
  531. package/dist/core/review-manager.js.map +0 -1
  532. package/dist/core/rules-generator.d.ts +0 -73
  533. package/dist/core/rules-generator.d.ts.map +0 -1
  534. package/dist/core/rules-generator.js +0 -202
  535. package/dist/core/rules-generator.js.map +0 -1
  536. package/dist/core/skills-manager.d.ts +0 -126
  537. package/dist/core/skills-manager.d.ts.map +0 -1
  538. package/dist/core/skills-manager.js +0 -654
  539. package/dist/core/skills-manager.js.map +0 -1
  540. package/dist/core/state-writer.d.ts +0 -35
  541. package/dist/core/state-writer.d.ts.map +0 -1
  542. package/dist/core/state-writer.js +0 -81
  543. package/dist/core/state-writer.js.map +0 -1
  544. package/dist/core/task-manager.d.ts +0 -127
  545. package/dist/core/task-manager.d.ts.map +0 -1
  546. package/dist/core/task-manager.js +0 -607
  547. package/dist/core/task-manager.js.map +0 -1
  548. package/dist/core/telemetry.d.ts +0 -29
  549. package/dist/core/telemetry.d.ts.map +0 -1
  550. package/dist/core/telemetry.js +0 -57
  551. package/dist/core/telemetry.js.map +0 -1
  552. package/dist/core/validator.d.ts +0 -21
  553. package/dist/core/validator.d.ts.map +0 -1
  554. package/dist/core/validator.js +0 -177
  555. package/dist/core/validator.js.map +0 -1
  556. package/dist/core/version-bumper.d.ts +0 -19
  557. package/dist/core/version-bumper.d.ts.map +0 -1
  558. package/dist/core/version-bumper.js +0 -180
  559. package/dist/core/version-bumper.js.map +0 -1
  560. package/dist/core/watcher.d.ts +0 -9
  561. package/dist/core/watcher.d.ts.map +0 -1
  562. package/dist/core/watcher.js +0 -22
  563. package/dist/core/watcher.js.map +0 -1
  564. package/dist/core/workflow-generator.d.ts +0 -15
  565. package/dist/core/workflow-generator.d.ts.map +0 -1
  566. package/dist/core/workflow-generator.js +0 -391
  567. package/dist/core/workflow-generator.js.map +0 -1
  568. package/dist/hooks/terse-activate.d.ts +0 -59
  569. package/dist/hooks/terse-activate.d.ts.map +0 -1
  570. package/dist/hooks/terse-activate.js +0 -149
  571. package/dist/hooks/terse-activate.js.map +0 -1
  572. package/dist/hooks/terse-config.d.ts +0 -51
  573. package/dist/hooks/terse-config.d.ts.map +0 -1
  574. package/dist/hooks/terse-config.js +0 -130
  575. package/dist/hooks/terse-config.js.map +0 -1
  576. package/dist/hooks/terse-mode-tracker.d.ts +0 -78
  577. package/dist/hooks/terse-mode-tracker.d.ts.map +0 -1
  578. package/dist/hooks/terse-mode-tracker.js +0 -213
  579. package/dist/hooks/terse-mode-tracker.js.map +0 -1
  580. package/dist/memory/hnsw-index.d.ts +0 -68
  581. package/dist/memory/hnsw-index.d.ts.map +0 -1
  582. package/dist/memory/hnsw-index.js +0 -544
  583. package/dist/memory/hnsw-index.js.map +0 -1
  584. package/dist/memory/memory-cache.d.ts +0 -33
  585. package/dist/memory/memory-cache.d.ts.map +0 -1
  586. package/dist/memory/memory-cache.js +0 -85
  587. package/dist/memory/memory-cache.js.map +0 -1
  588. package/dist/memory/memory-search.d.ts +0 -42
  589. package/dist/memory/memory-search.d.ts.map +0 -1
  590. package/dist/memory/memory-search.js +0 -180
  591. package/dist/memory/memory-search.js.map +0 -1
  592. package/dist/memory/memory-store.d.ts +0 -84
  593. package/dist/memory/memory-store.d.ts.map +0 -1
  594. package/dist/memory/memory-store.js +0 -566
  595. package/dist/memory/memory-store.js.map +0 -1
  596. package/dist/memory/memory-vectorizer.d.ts +0 -29
  597. package/dist/memory/memory-vectorizer.d.ts.map +0 -1
  598. package/dist/memory/memory-vectorizer.js +0 -199
  599. package/dist/memory/memory-vectorizer.js.map +0 -1
@@ -1,233 +1,233 @@
1
- ---
2
- name: "Supabase"
3
- description: "Use MCP Supabase for database operations, authentication, and storage."
4
- version: "1.0.0"
5
- category: "modules"
6
- author: "Rulebook"
7
- tags: ["modules", "mcp"]
8
- dependencies: []
9
- conflicts: []
10
- ---
11
- <!-- SUPABASE:START -->
12
- # Supabase MCP Instructions
13
-
14
- **CRITICAL**: Use MCP Supabase for database operations, authentication, and storage.
15
-
16
- ## Core Features
17
-
18
- ### Database Operations
19
- ```typescript
20
- // Query data
21
- supabase.from('users').select('*')
22
- supabase.from('users').select('id, name, email')
23
-
24
- // Insert
25
- supabase.from('users').insert({ name: 'John', email: 'john@example.com' })
26
-
27
- // Update
28
- supabase.from('users').update({ name: 'Jane' }).eq('id', 1)
29
-
30
- // Delete
31
- supabase.from('users').delete().eq('id', 1)
32
-
33
- // Filters
34
- supabase.from('users').select('*').eq('status', 'active')
35
- supabase.from('users').select('*').gt('age', 18)
36
- supabase.from('users').select('*').like('name', '%John%')
37
- ```
38
-
39
- ### Authentication
40
- ```typescript
41
- // Sign up
42
- supabase.auth.signUp({ email, password })
43
-
44
- // Sign in
45
- supabase.auth.signInWithPassword({ email, password })
46
-
47
- // Sign out
48
- supabase.auth.signOut()
49
-
50
- // Get session
51
- supabase.auth.getSession()
52
-
53
- // Get user
54
- supabase.auth.getUser()
55
- ```
56
-
57
- ### Storage
58
- ```typescript
59
- // Upload file
60
- supabase.storage.from('avatars').upload('path/file.jpg', file)
61
-
62
- // Download file
63
- supabase.storage.from('avatars').download('path/file.jpg')
64
-
65
- // List files
66
- supabase.storage.from('avatars').list('folder')
67
-
68
- // Delete file
69
- supabase.storage.from('avatars').remove(['path/file.jpg'])
70
-
71
- // Get public URL
72
- supabase.storage.from('avatars').getPublicUrl('path/file.jpg')
73
- ```
74
-
75
- ### Real-time Subscriptions
76
- ```typescript
77
- // Subscribe to changes
78
- supabase
79
- .channel('room1')
80
- .on('postgres_changes', {
81
- event: '*',
82
- schema: 'public',
83
- table: 'users'
84
- }, (payload) => {
85
- console.log('Change received!', payload)
86
- })
87
- .subscribe()
88
- ```
89
-
90
- ## Common Patterns
91
-
92
- ### CRUD Operations
93
- ```typescript
94
- // Create
95
- const { data, error } = await supabase
96
- .from('tasks')
97
- .insert({ title: 'New Task', completed: false })
98
- .select()
99
-
100
- // Read
101
- const { data, error } = await supabase
102
- .from('tasks')
103
- .select('*')
104
- .eq('completed', false)
105
-
106
- // Update
107
- const { data, error } = await supabase
108
- .from('tasks')
109
- .update({ completed: true })
110
- .eq('id', taskId)
111
-
112
- // Delete
113
- const { data, error } = await supabase
114
- .from('tasks')
115
- .delete()
116
- .eq('id', taskId)
117
- ```
118
-
119
- ### Authentication Flow
120
- ```typescript
121
- // 1. Sign up user
122
- const { data: signUpData, error: signUpError } = await supabase.auth.signUp({
123
- email: 'user@example.com',
124
- password: 'secure-password'
125
- })
126
-
127
- // 2. Sign in
128
- const { data: signInData, error: signInError } = await supabase.auth.signInWithPassword({
129
- email: 'user@example.com',
130
- password: 'secure-password'
131
- })
132
-
133
- // 3. Check session
134
- const { data: { session } } = await supabase.auth.getSession()
135
-
136
- // 4. Sign out
137
- await supabase.auth.signOut()
138
- ```
139
-
140
- ### File Upload with Validation
141
- ```typescript
142
- // 1. Validate file
143
- if (file.size > 5 * 1024 * 1024) {
144
- throw new Error('File too large (max 5MB)')
145
- }
146
-
147
- // 2. Upload
148
- const { data, error } = await supabase.storage
149
- .from('uploads')
150
- .upload(`${userId}/${file.name}`, file, {
151
- cacheControl: '3600',
152
- upsert: false
153
- })
154
-
155
- // 3. Get public URL
156
- if (!error) {
157
- const { data: { publicUrl } } = supabase.storage
158
- .from('uploads')
159
- .getPublicUrl(`${userId}/${file.name}`)
160
- }
161
- ```
162
-
163
- ## Best Practices
164
-
165
- ✅ **DO:**
166
- - Use Row Level Security (RLS) policies
167
- - Handle errors properly (`if (error) throw error`)
168
- - Use `.select()` after insert/update to get returned data
169
- - Use prepared statements (automatic with Supabase)
170
- - Enable real-time only when needed
171
- - Use storage buckets with proper permissions
172
-
173
- ❌ **DON'T:**
174
- - Expose service role key in client code
175
- - Skip RLS policies (always enable)
176
- - Ignore error responses
177
- - Store sensitive data without encryption
178
- - Use anon key for admin operations
179
-
180
- ## Configuration
181
-
182
- ```json
183
- {
184
- "mcpServers": {
185
- "supabase": {
186
- "command": "npx",
187
- "args": ["-y", "@modelcontextprotocol/server-supabase"],
188
- "env": {
189
- "SUPABASE_URL": "https://your-project.supabase.co",
190
- "SUPABASE_ANON_KEY": "your-anon-key",
191
- "SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key"
192
- }
193
- }
194
- }
195
- }
196
- ```
197
-
198
- **Security:**
199
- - Use `SUPABASE_ANON_KEY` for client-side operations
200
- - Use `SUPABASE_SERVICE_ROLE_KEY` only server-side
201
- - Never commit keys to version control
202
- - Enable RLS on all tables
203
-
204
- ## Integration with Development
205
-
206
- ### Testing
207
- ```typescript
208
- // Use test database for development
209
- const supabase = createClient(
210
- process.env.SUPABASE_TEST_URL,
211
- process.env.SUPABASE_TEST_KEY
212
- )
213
-
214
- // Clean up after tests
215
- afterEach(async () => {
216
- await supabase.from('test_table').delete().neq('id', 0)
217
- })
218
- ```
219
-
220
- ### Migrations
221
- ```bash
222
- # Create migration
223
- supabase migration new add_users_table
224
-
225
- # Apply migrations
226
- supabase db push
227
-
228
- # Reset database
229
- supabase db reset
230
- ```
231
-
232
- <!-- SUPABASE:END -->
233
-
1
+ ---
2
+ name: "Supabase"
3
+ description: "Use MCP Supabase for database operations, authentication, and storage."
4
+ version: "1.0.0"
5
+ category: "modules"
6
+ author: "Rulebook"
7
+ tags: ["modules", "mcp"]
8
+ dependencies: []
9
+ conflicts: []
10
+ ---
11
+ <!-- SUPABASE:START -->
12
+ # Supabase MCP Instructions
13
+
14
+ **CRITICAL**: Use MCP Supabase for database operations, authentication, and storage.
15
+
16
+ ## Core Features
17
+
18
+ ### Database Operations
19
+ ```typescript
20
+ // Query data
21
+ supabase.from('users').select('*')
22
+ supabase.from('users').select('id, name, email')
23
+
24
+ // Insert
25
+ supabase.from('users').insert({ name: 'John', email: 'john@example.com' })
26
+
27
+ // Update
28
+ supabase.from('users').update({ name: 'Jane' }).eq('id', 1)
29
+
30
+ // Delete
31
+ supabase.from('users').delete().eq('id', 1)
32
+
33
+ // Filters
34
+ supabase.from('users').select('*').eq('status', 'active')
35
+ supabase.from('users').select('*').gt('age', 18)
36
+ supabase.from('users').select('*').like('name', '%John%')
37
+ ```
38
+
39
+ ### Authentication
40
+ ```typescript
41
+ // Sign up
42
+ supabase.auth.signUp({ email, password })
43
+
44
+ // Sign in
45
+ supabase.auth.signInWithPassword({ email, password })
46
+
47
+ // Sign out
48
+ supabase.auth.signOut()
49
+
50
+ // Get session
51
+ supabase.auth.getSession()
52
+
53
+ // Get user
54
+ supabase.auth.getUser()
55
+ ```
56
+
57
+ ### Storage
58
+ ```typescript
59
+ // Upload file
60
+ supabase.storage.from('avatars').upload('path/file.jpg', file)
61
+
62
+ // Download file
63
+ supabase.storage.from('avatars').download('path/file.jpg')
64
+
65
+ // List files
66
+ supabase.storage.from('avatars').list('folder')
67
+
68
+ // Delete file
69
+ supabase.storage.from('avatars').remove(['path/file.jpg'])
70
+
71
+ // Get public URL
72
+ supabase.storage.from('avatars').getPublicUrl('path/file.jpg')
73
+ ```
74
+
75
+ ### Real-time Subscriptions
76
+ ```typescript
77
+ // Subscribe to changes
78
+ supabase
79
+ .channel('room1')
80
+ .on('postgres_changes', {
81
+ event: '*',
82
+ schema: 'public',
83
+ table: 'users'
84
+ }, (payload) => {
85
+ console.log('Change received!', payload)
86
+ })
87
+ .subscribe()
88
+ ```
89
+
90
+ ## Common Patterns
91
+
92
+ ### CRUD Operations
93
+ ```typescript
94
+ // Create
95
+ const { data, error } = await supabase
96
+ .from('tasks')
97
+ .insert({ title: 'New Task', completed: false })
98
+ .select()
99
+
100
+ // Read
101
+ const { data, error } = await supabase
102
+ .from('tasks')
103
+ .select('*')
104
+ .eq('completed', false)
105
+
106
+ // Update
107
+ const { data, error } = await supabase
108
+ .from('tasks')
109
+ .update({ completed: true })
110
+ .eq('id', taskId)
111
+
112
+ // Delete
113
+ const { data, error } = await supabase
114
+ .from('tasks')
115
+ .delete()
116
+ .eq('id', taskId)
117
+ ```
118
+
119
+ ### Authentication Flow
120
+ ```typescript
121
+ // 1. Sign up user
122
+ const { data: signUpData, error: signUpError } = await supabase.auth.signUp({
123
+ email: 'user@example.com',
124
+ password: 'secure-password'
125
+ })
126
+
127
+ // 2. Sign in
128
+ const { data: signInData, error: signInError } = await supabase.auth.signInWithPassword({
129
+ email: 'user@example.com',
130
+ password: 'secure-password'
131
+ })
132
+
133
+ // 3. Check session
134
+ const { data: { session } } = await supabase.auth.getSession()
135
+
136
+ // 4. Sign out
137
+ await supabase.auth.signOut()
138
+ ```
139
+
140
+ ### File Upload with Validation
141
+ ```typescript
142
+ // 1. Validate file
143
+ if (file.size > 5 * 1024 * 1024) {
144
+ throw new Error('File too large (max 5MB)')
145
+ }
146
+
147
+ // 2. Upload
148
+ const { data, error } = await supabase.storage
149
+ .from('uploads')
150
+ .upload(`${userId}/${file.name}`, file, {
151
+ cacheControl: '3600',
152
+ upsert: false
153
+ })
154
+
155
+ // 3. Get public URL
156
+ if (!error) {
157
+ const { data: { publicUrl } } = supabase.storage
158
+ .from('uploads')
159
+ .getPublicUrl(`${userId}/${file.name}`)
160
+ }
161
+ ```
162
+
163
+ ## Best Practices
164
+
165
+ ✅ **DO:**
166
+ - Use Row Level Security (RLS) policies
167
+ - Handle errors properly (`if (error) throw error`)
168
+ - Use `.select()` after insert/update to get returned data
169
+ - Use prepared statements (automatic with Supabase)
170
+ - Enable real-time only when needed
171
+ - Use storage buckets with proper permissions
172
+
173
+ ❌ **DON'T:**
174
+ - Expose service role key in client code
175
+ - Skip RLS policies (always enable)
176
+ - Ignore error responses
177
+ - Store sensitive data without encryption
178
+ - Use anon key for admin operations
179
+
180
+ ## Configuration
181
+
182
+ ```json
183
+ {
184
+ "mcpServers": {
185
+ "supabase": {
186
+ "command": "npx",
187
+ "args": ["-y", "@modelcontextprotocol/server-supabase"],
188
+ "env": {
189
+ "SUPABASE_URL": "https://your-project.supabase.co",
190
+ "SUPABASE_ANON_KEY": "your-anon-key",
191
+ "SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key"
192
+ }
193
+ }
194
+ }
195
+ }
196
+ ```
197
+
198
+ **Security:**
199
+ - Use `SUPABASE_ANON_KEY` for client-side operations
200
+ - Use `SUPABASE_SERVICE_ROLE_KEY` only server-side
201
+ - Never commit keys to version control
202
+ - Enable RLS on all tables
203
+
204
+ ## Integration with Development
205
+
206
+ ### Testing
207
+ ```typescript
208
+ // Use test database for development
209
+ const supabase = createClient(
210
+ process.env.SUPABASE_TEST_URL,
211
+ process.env.SUPABASE_TEST_KEY
212
+ )
213
+
214
+ // Clean up after tests
215
+ afterEach(async () => {
216
+ await supabase.from('test_table').delete().neq('id', 0)
217
+ })
218
+ ```
219
+
220
+ ### Migrations
221
+ ```bash
222
+ # Create migration
223
+ supabase migration new add_users_table
224
+
225
+ # Apply migrations
226
+ supabase db push
227
+
228
+ # Reset database
229
+ supabase db reset
230
+ ```
231
+
232
+ <!-- SUPABASE:END -->
233
+
@@ -1,79 +1,79 @@
1
- ---
2
- name: "Synap"
3
- description: "Use MCP Synap for persistent task and data storage across context windows."
4
- version: "1.0.0"
5
- category: "modules"
6
- author: "Rulebook"
7
- tags: ["modules", "mcp"]
8
- dependencies: []
9
- conflicts: []
10
- ---
11
- <!-- SYNAP:START -->
12
- # Synap Instructions
13
-
14
- **CRITICAL**: Use MCP Synap for persistent task and data storage across context windows.
15
-
16
- ## Core Features
17
-
18
- ### Key-Value Store
19
- ```
20
- synap_kv_set(key, value, ttl?) # Store with optional TTL
21
- synap_kv_get(key) # Retrieve
22
- synap_kv_delete(key) # Remove
23
- synap_kv_scan(prefix) # List by prefix
24
- ```
25
-
26
- ### Queue & Pub/Sub
27
- ```
28
- synap_queue_publish(queue, message, priority) # Add to queue
29
- synap_queue_consume(queue) # Process from queue
30
- synap_pubsub_publish(topic, message) # Broadcast
31
- synap_stream_publish(room, event) # Stream events
32
- ```
33
-
34
- ## Common Patterns
35
-
36
- ### Task Tracking
37
- ```
38
- Pattern: "task:<feature>:<subtask-id>"
39
-
40
- synap_kv_set("task:auth:login", JSON.stringify({
41
- status: "in_progress",
42
- tests: ["test_login_success"],
43
- coverage: 95.2
44
- }))
45
- ```
46
-
47
- ### Session State
48
- ```
49
- Pattern: "session:<id>:<data-type>"
50
-
51
- synap_kv_set("session:abc:current-file", "/src/auth.ts")
52
- synap_kv_set("session:abc:todo-list", JSON.stringify([...]))
53
- ```
54
-
55
- ### Test Results
56
- ```
57
- Pattern: "test:<suite>:<timestamp>"
58
-
59
- synap_kv_set("test:integration:latest", JSON.stringify({
60
- passed: 42,
61
- failed: 0,
62
- coverage: 96.5
63
- }), 86400) // TTL: 24 hours
64
- ```
65
-
66
- ## Best Practices
67
-
68
- ✅ **DO:**
69
- - Use TTL for temporary data
70
- - Use prefixes for organization
71
- - Store session state before context switch
72
- - Clean up old data regularly
73
-
74
- ❌ **DON'T:**
75
- - Store large binary data
76
- - Use random keys (use structured prefixes)
77
- - Skip TTL for temporary data
78
-
79
- <!-- SYNAP:END -->
1
+ ---
2
+ name: "Synap"
3
+ description: "Use MCP Synap for persistent task and data storage across context windows."
4
+ version: "1.0.0"
5
+ category: "modules"
6
+ author: "Rulebook"
7
+ tags: ["modules", "mcp"]
8
+ dependencies: []
9
+ conflicts: []
10
+ ---
11
+ <!-- SYNAP:START -->
12
+ # Synap Instructions
13
+
14
+ **CRITICAL**: Use MCP Synap for persistent task and data storage across context windows.
15
+
16
+ ## Core Features
17
+
18
+ ### Key-Value Store
19
+ ```
20
+ synap_kv_set(key, value, ttl?) # Store with optional TTL
21
+ synap_kv_get(key) # Retrieve
22
+ synap_kv_delete(key) # Remove
23
+ synap_kv_scan(prefix) # List by prefix
24
+ ```
25
+
26
+ ### Queue & Pub/Sub
27
+ ```
28
+ synap_queue_publish(queue, message, priority) # Add to queue
29
+ synap_queue_consume(queue) # Process from queue
30
+ synap_pubsub_publish(topic, message) # Broadcast
31
+ synap_stream_publish(room, event) # Stream events
32
+ ```
33
+
34
+ ## Common Patterns
35
+
36
+ ### Task Tracking
37
+ ```
38
+ Pattern: "task:<feature>:<subtask-id>"
39
+
40
+ synap_kv_set("task:auth:login", JSON.stringify({
41
+ status: "in_progress",
42
+ tests: ["test_login_success"],
43
+ coverage: 95.2
44
+ }))
45
+ ```
46
+
47
+ ### Session State
48
+ ```
49
+ Pattern: "session:<id>:<data-type>"
50
+
51
+ synap_kv_set("session:abc:current-file", "/src/auth.ts")
52
+ synap_kv_set("session:abc:todo-list", JSON.stringify([...]))
53
+ ```
54
+
55
+ ### Test Results
56
+ ```
57
+ Pattern: "test:<suite>:<timestamp>"
58
+
59
+ synap_kv_set("test:integration:latest", JSON.stringify({
60
+ passed: 42,
61
+ failed: 0,
62
+ coverage: 96.5
63
+ }), 86400) // TTL: 24 hours
64
+ ```
65
+
66
+ ## Best Practices
67
+
68
+ ✅ **DO:**
69
+ - Use TTL for temporary data
70
+ - Use prefixes for organization
71
+ - Store session state before context switch
72
+ - Clean up old data regularly
73
+
74
+ ❌ **DON'T:**
75
+ - Store large binary data
76
+ - Use random keys (use structured prefixes)
77
+ - Skip TTL for temporary data
78
+
79
+ <!-- SYNAP:END -->