@hivehub/rulebook 5.8.2 → 6.0.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.
- package/README.md +86 -216
- package/dist/cli/commands/claude.d.ts.map +1 -1
- package/dist/cli/commands/claude.js +10 -4
- package/dist/cli/commands/claude.js.map +1 -1
- package/dist/cli/commands/context-intelligence.d.ts.map +1 -1
- package/dist/cli/commands/context-intelligence.js.map +1 -1
- package/dist/cli/commands/index.d.ts +1 -2
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -2
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +16 -91
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/misc.d.ts +0 -1
- package/dist/cli/commands/misc.d.ts.map +1 -1
- package/dist/cli/commands/misc.js +0 -76
- package/dist/cli/commands/misc.js.map +1 -1
- package/dist/cli/commands/plans.d.ts.map +1 -1
- package/dist/cli/commands/plans.js.map +1 -1
- package/dist/cli/commands/skills.d.ts.map +1 -1
- package/dist/cli/commands/skills.js +6 -2
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli/commands/task.d.ts.map +1 -1
- package/dist/cli/commands/task.js +3 -1
- package/dist/cli/commands/task.js.map +1 -1
- package/dist/cli/commands/update.d.ts +7 -0
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +61 -165
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/workspace.d.ts.map +1 -1
- package/dist/cli/commands/workspace.js +4 -3
- package/dist/cli/commands/workspace.js.map +1 -1
- package/dist/cli/prompts.d.ts.map +1 -1
- package/dist/cli/prompts.js +0 -40
- package/dist/cli/prompts.js.map +1 -1
- package/dist/core/claude/claude-mcp.d.ts.map +1 -1
- package/dist/core/claude/claude-mcp.js +1 -1
- package/dist/core/claude/claude-mcp.js.map +1 -1
- package/dist/core/claude/claude-md-generator.d.ts.map +1 -1
- package/dist/core/claude/claude-md-generator.js.map +1 -1
- package/dist/core/claude/claude-settings-manager.d.ts.map +1 -1
- package/dist/core/claude/claude-settings-manager.js +9 -6
- package/dist/core/claude/claude-settings-manager.js.map +1 -1
- package/dist/core/custom-templates.d.ts.map +1 -1
- package/dist/core/custom-templates.js.map +1 -1
- package/dist/core/detect/detector.d.ts +0 -28
- package/dist/core/detect/detector.d.ts.map +1 -1
- package/dist/core/detect/detector.js +5 -84
- package/dist/core/detect/detector.js.map +1 -1
- package/dist/core/detect/library-registry.d.ts.map +1 -1
- package/dist/core/detect/library-registry.js.map +1 -1
- package/dist/core/docs/docs-generator.d.ts.map +1 -1
- package/dist/core/docs/docs-generator.js.map +1 -1
- package/dist/core/docs/mcp-reference-generator.d.ts.map +1 -1
- package/dist/core/docs/mcp-reference-generator.js.map +1 -1
- package/dist/core/generators/generator.d.ts.map +1 -1
- package/dist/core/generators/generator.js +0 -72
- package/dist/core/generators/generator.js.map +1 -1
- package/dist/core/generators/gitignore-generator.d.ts.map +1 -1
- package/dist/core/generators/gitignore-generator.js +12 -1
- package/dist/core/generators/gitignore-generator.js.map +1 -1
- package/dist/core/generators/minimal-scaffolder.d.ts.map +1 -1
- package/dist/core/generators/minimal-scaffolder.js.map +1 -1
- package/dist/core/generators/rules-generator.d.ts.map +1 -1
- package/dist/core/generators/rules-generator.js.map +1 -1
- package/dist/core/generators/workflow-generator.d.ts +0 -10
- package/dist/core/generators/workflow-generator.d.ts.map +1 -1
- package/dist/core/generators/workflow-generator.js +0 -307
- package/dist/core/generators/workflow-generator.js.map +1 -1
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js.map +1 -1
- package/dist/core/merger.d.ts.map +1 -1
- package/dist/core/merger.js.map +1 -1
- package/dist/core/migrator.d.ts.map +1 -1
- package/dist/core/migrator.js +2 -1
- package/dist/core/migrator.js.map +1 -1
- package/dist/core/quality/coverage-checker.d.ts.map +1 -1
- package/dist/core/quality/coverage-checker.js.map +1 -1
- package/dist/core/quality/dependency-checker.d.ts.map +1 -1
- package/dist/core/quality/dependency-checker.js +3 -1
- package/dist/core/quality/dependency-checker.js.map +1 -1
- package/dist/core/quality/doctor.d.ts.map +1 -1
- package/dist/core/quality/doctor.js.map +1 -1
- package/dist/core/quality/validator.d.ts.map +1 -1
- package/dist/core/quality/validator.js.map +1 -1
- package/dist/core/rule-engine.d.ts +5 -21
- package/dist/core/rule-engine.d.ts.map +1 -1
- package/dist/core/rule-engine.js +9 -191
- package/dist/core/rule-engine.js.map +1 -1
- package/dist/core/skills/skills-manager.d.ts.map +1 -1
- package/dist/core/skills/skills-manager.js.map +1 -1
- package/dist/core/state/config-manager.d.ts.map +1 -1
- package/dist/core/state/config-manager.js +6 -50
- package/dist/core/state/config-manager.js.map +1 -1
- package/dist/core/state/override-manager.js.map +1 -1
- package/dist/core/state/state-writer.d.ts.map +1 -1
- package/dist/core/state/state-writer.js.map +1 -1
- package/dist/core/state/version-bumper.d.ts.map +1 -1
- package/dist/core/state/version-bumper.js.map +1 -1
- package/dist/core/tasks/decision-manager.d.ts.map +1 -1
- package/dist/core/tasks/decision-manager.js +6 -1
- package/dist/core/tasks/decision-manager.js.map +1 -1
- package/dist/core/tasks/knowledge-manager.d.ts.map +1 -1
- package/dist/core/tasks/knowledge-manager.js.map +1 -1
- package/dist/core/tasks/learn-manager.d.ts.map +1 -1
- package/dist/core/tasks/learn-manager.js.map +1 -1
- package/dist/core/tasks/plans-manager.d.ts.map +1 -1
- package/dist/core/tasks/plans-manager.js.map +1 -1
- package/dist/core/tasks/task-manager.d.ts.map +1 -1
- package/dist/core/tasks/task-manager.js.map +1 -1
- package/dist/core/workspace/legacy-migrator.d.ts.map +1 -1
- package/dist/core/workspace/legacy-migrator.js.map +1 -1
- package/dist/core/workspace/project-worker.d.ts +0 -4
- package/dist/core/workspace/project-worker.d.ts.map +1 -1
- package/dist/core/workspace/project-worker.js +0 -28
- package/dist/core/workspace/project-worker.js.map +1 -1
- package/dist/core/workspace/workspace-manager.d.ts +0 -11
- package/dist/core/workspace/workspace-manager.d.ts.map +1 -1
- package/dist/core/workspace/workspace-manager.js +6 -30
- package/dist/core/workspace/workspace-manager.js.map +1 -1
- package/dist/core/workspace/workspace-types.d.ts +0 -1
- package/dist/core/workspace/workspace-types.d.ts.map +1 -1
- package/dist/hooks/safe-flag-io.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -82
- package/dist/index.js.map +1 -1
- package/dist/mcp/rulebook-server.d.ts.map +1 -1
- package/dist/mcp/rulebook-server.js +55 -1634
- package/dist/mcp/rulebook-server.js.map +1 -1
- package/dist/mcp/tools/context.d.ts +23 -0
- package/dist/mcp/tools/context.d.ts.map +1 -0
- package/dist/mcp/tools/context.js +2 -0
- package/dist/mcp/tools/context.js.map +1 -0
- package/dist/mcp/tools/decision-tools.d.ts +5 -0
- package/dist/mcp/tools/decision-tools.d.ts.map +1 -0
- package/dist/mcp/tools/decision-tools.js +220 -0
- package/dist/mcp/tools/decision-tools.js.map +1 -0
- package/dist/mcp/tools/knowledge-tools.d.ts +5 -0
- package/dist/mcp/tools/knowledge-tools.d.ts.map +1 -0
- package/dist/mcp/tools/knowledge-tools.js +157 -0
- package/dist/mcp/tools/knowledge-tools.js.map +1 -0
- package/dist/mcp/tools/learn-tools.d.ts +5 -0
- package/dist/mcp/tools/learn-tools.d.ts.map +1 -0
- package/dist/mcp/tools/learn-tools.js +150 -0
- package/dist/mcp/tools/learn-tools.js.map +1 -0
- package/dist/mcp/tools/rules-tools.d.ts +4 -0
- package/dist/mcp/tools/rules-tools.d.ts.map +1 -0
- package/dist/mcp/tools/rules-tools.js +47 -0
- package/dist/mcp/tools/rules-tools.js.map +1 -0
- package/dist/mcp/tools/skill-tools.d.ts +5 -0
- package/dist/mcp/tools/skill-tools.d.ts.map +1 -0
- package/dist/mcp/tools/skill-tools.js +330 -0
- package/dist/mcp/tools/skill-tools.js.map +1 -0
- package/dist/mcp/tools/task-tools.d.ts +5 -0
- package/dist/mcp/tools/task-tools.d.ts.map +1 -0
- package/dist/mcp/tools/task-tools.js +185 -0
- package/dist/mcp/tools/task-tools.js.map +1 -0
- package/dist/mcp/tools/workspace-tools.d.ts +6 -0
- package/dist/mcp/tools/workspace-tools.d.ts.map +1 -0
- package/dist/mcp/tools/workspace-tools.js +118 -0
- package/dist/mcp/tools/workspace-tools.js.map +1 -0
- package/dist/types.d.ts +1 -46
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/file-system.d.ts.map +1 -1
- package/dist/utils/file-system.js.map +1 -1
- package/dist/utils/git-hooks.d.ts.map +1 -1
- package/dist/utils/git-hooks.js.map +1 -1
- package/dist/utils/gitignore.d.ts.map +1 -1
- package/dist/utils/gitignore.js.map +1 -1
- package/dist/utils/rulesignore.d.ts.map +1 -1
- package/dist/utils/rulesignore.js.map +1 -1
- package/package.json +25 -27
- package/templates/agents/architect.md +51 -51
- package/templates/agents/build-engineer.md +36 -36
- package/templates/agents/code-reviewer.md +47 -47
- package/templates/agents/docs-writer.md +38 -38
- package/templates/agents/implementer.md +42 -42
- package/templates/agents/performance-engineer.md +49 -49
- package/templates/agents/researcher.md +38 -38
- package/templates/agents/security-reviewer.md +40 -40
- package/templates/agents/team-lead.md +37 -37
- package/templates/agents/tester.md +48 -48
- package/templates/ci/rulebook-review.yml +26 -26
- package/templates/cli/CLAUDE.md +102 -117
- package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
- package/templates/commands/rulebook-decision-create.md +55 -55
- package/templates/commands/rulebook-decision-list.md +15 -15
- package/templates/commands/rulebook-knowledge-add.md +41 -41
- package/templates/commands/rulebook-knowledge-list.md +15 -15
- package/templates/commands/rulebook-learn-capture.md +1 -2
- package/templates/commands/rulebook-task-apply.md +67 -67
- package/templates/commands/rulebook-task-archive.md +94 -94
- package/templates/commands/rulebook-task-create.md +93 -93
- package/templates/commands/rulebook-task-list.md +42 -42
- package/templates/commands/rulebook-task-show.md +52 -52
- package/templates/commands/rulebook-task-validate.md +53 -53
- package/templates/compact-context/_default.md +23 -23
- package/templates/compact-context/cpp.md +26 -26
- package/templates/compact-context/go.md +26 -26
- package/templates/compact-context/python.md +26 -26
- package/templates/compact-context/rust.md +28 -28
- package/templates/compact-context/typescript.md +29 -29
- package/templates/core/AGENTS_LEAN.md +4 -9
- package/templates/core/AGENTS_OVERRIDE.md +16 -16
- package/templates/core/AGENT_AUTOMATION.md +273 -296
- package/templates/core/CLAUDE_MD_v2.md +85 -90
- package/templates/core/DAG.md +304 -304
- package/templates/core/DECISIONS.md +38 -38
- package/templates/core/DOCUMENTATION_RULES.md +36 -36
- package/templates/core/KNOWLEDGE.md +49 -49
- package/templates/core/MULTI_AGENT.md +74 -74
- package/templates/core/PLANS.md +28 -28
- package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
- package/templates/core/RULEBOOK.md +1936 -1947
- package/templates/core/TIER1_PROHIBITIONS.md +154 -154
- package/templates/core/TOKEN_OPTIMIZATION.md +49 -49
- package/templates/core/WORKSPACE.md +4 -8
- package/templates/git/CI_CD_PATTERNS.md +661 -661
- package/templates/git/GITHUB_ACTIONS.md +728 -728
- package/templates/git/GITLAB_CI.md +730 -730
- package/templates/git/GIT_WORKFLOW.md +1192 -1192
- package/templates/git/SECRETS_MANAGEMENT.md +585 -585
- package/templates/hooks/COMMIT_MSG.md +530 -530
- package/templates/hooks/POST_CHECKOUT.md +546 -546
- package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
- package/templates/hooks/PRE_COMMIT.md +414 -414
- package/templates/hooks/PRE_PUSH.md +601 -601
- package/templates/hooks/enforce-pre-tool.sh +26 -9
- package/templates/hooks/update-check.ps1 +84 -84
- package/templates/hooks/update-check.sh +45 -21
- package/templates/languages/C.md +333 -333
- package/templates/languages/CPP.md +743 -743
- package/templates/languages/CSHARP.md +417 -417
- package/templates/languages/ELIXIR.md +454 -454
- package/templates/languages/ERLANG.md +361 -361
- package/templates/languages/GO.md +645 -645
- package/templates/languages/HASKELL.md +177 -177
- package/templates/languages/JAVA.md +607 -607
- package/templates/languages/JAVASCRIPT.md +631 -631
- package/templates/languages/JULIA.md +97 -97
- package/templates/languages/KOTLIN.md +511 -511
- package/templates/languages/LISP.md +100 -100
- package/templates/languages/LUA.md +74 -74
- package/templates/languages/OBJECTIVEC.md +90 -90
- package/templates/languages/PHP.md +416 -416
- package/templates/languages/PYTHON.md +682 -682
- package/templates/languages/RUBY.md +421 -421
- package/templates/languages/RUST.md +477 -477
- package/templates/languages/SAS.md +73 -73
- package/templates/languages/SCALA.md +348 -348
- package/templates/languages/SOLIDITY.md +580 -580
- package/templates/languages/SQL.md +137 -137
- package/templates/languages/SWIFT.md +466 -466
- package/templates/languages/TYPESCRIPT.md +591 -591
- package/templates/languages/ZIG.md +265 -265
- package/templates/modules/CONTEXT7.md +54 -54
- package/templates/modules/GITHUB_MCP.md +64 -64
- package/templates/modules/PLAYWRIGHT.md +90 -90
- package/templates/modules/RULEBOOK_MCP.md +208 -208
- package/templates/modules/SERENA.md +337 -337
- package/templates/modules/SUPABASE.md +223 -223
- package/templates/modules/SYNAP.md +69 -69
- package/templates/modules/VECTORIZER.md +63 -63
- package/templates/modules/sequential-thinking.md +42 -42
- package/templates/rules/consult-analysis-before-implementing.md +21 -23
- package/templates/rules/cpp.md +46 -46
- package/templates/rules/csharp.md +44 -44
- package/templates/rules/diagnostic-first.md +39 -39
- package/templates/rules/fail-twice-escalate.md +46 -46
- package/templates/rules/follow-task-sequence.md +36 -36
- package/templates/rules/git-safety.md +29 -29
- package/templates/rules/go.md +40 -40
- package/templates/rules/incremental-implementation.md +56 -56
- package/templates/rules/incremental-tests.md +29 -29
- package/templates/rules/java.md +43 -43
- package/templates/rules/javascript.md +39 -39
- package/templates/rules/knowledge-base-usage.md +41 -41
- package/templates/rules/multi-agent-teams.md +75 -75
- package/templates/rules/no-deferred.md +31 -31
- package/templates/rules/no-shortcuts.md +30 -30
- package/templates/rules/python.md +43 -43
- package/templates/rules/research-first.md +30 -30
- package/templates/rules/respect-handoff-trigger.md +41 -41
- package/templates/rules/rust.md +40 -40
- package/templates/rules/sequential-editing.md +21 -21
- package/templates/rules/session-workflow.md +24 -24
- package/templates/rules/task-decomposition.md +32 -32
- package/templates/rules/typescript.md +40 -40
- package/templates/skills/cli/claude/SKILL.md +42 -42
- package/templates/skills/core/agent-automation/SKILL.md +194 -194
- package/templates/skills/core/dag/SKILL.md +314 -314
- package/templates/skills/core/documentation-rules/SKILL.md +46 -46
- package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
- package/templates/skills/core/rulebook/SKILL.md +176 -176
- package/templates/skills/core/rulebook-terse/SKILL.md +116 -116
- package/templates/skills/core/rulebook-terse-commit/SKILL.md +96 -96
- package/templates/skills/core/rulebook-terse-review/SKILL.md +112 -112
- package/templates/skills/dev/accessibility/SKILL.md +17 -17
- package/templates/skills/dev/analysis/SKILL.md +19 -19
- package/templates/skills/dev/api-design/SKILL.md +15 -15
- package/templates/skills/dev/architect/SKILL.md +17 -17
- package/templates/skills/dev/build-fix/SKILL.md +17 -17
- package/templates/skills/dev/db-design/SKILL.md +15 -15
- package/templates/skills/dev/debug/SKILL.md +16 -16
- package/templates/skills/dev/deploy/SKILL.md +17 -17
- package/templates/skills/dev/docs/SKILL.md +17 -17
- package/templates/skills/dev/handoff/SKILL.md +27 -27
- package/templates/skills/dev/migrate/SKILL.md +15 -15
- package/templates/skills/dev/perf/SKILL.md +17 -17
- package/templates/skills/dev/refactor/SKILL.md +17 -17
- package/templates/skills/dev/research/SKILL.md +14 -14
- package/templates/skills/dev/review/SKILL.md +18 -18
- package/templates/skills/dev/security-audit/SKILL.md +17 -17
- package/templates/skills/languages/c/SKILL.md +343 -343
- package/templates/skills/languages/cpp/SKILL.md +753 -753
- package/templates/skills/languages/csharp/SKILL.md +427 -427
- package/templates/skills/languages/elixir/SKILL.md +464 -464
- package/templates/skills/languages/erlang/SKILL.md +371 -371
- package/templates/skills/languages/go/SKILL.md +655 -655
- package/templates/skills/languages/haskell/SKILL.md +187 -187
- package/templates/skills/languages/java/SKILL.md +617 -617
- package/templates/skills/languages/javascript/SKILL.md +641 -641
- package/templates/skills/languages/julia/SKILL.md +107 -107
- package/templates/skills/languages/kotlin/SKILL.md +521 -521
- package/templates/skills/languages/lisp/SKILL.md +110 -110
- package/templates/skills/languages/lua/SKILL.md +84 -84
- package/templates/skills/languages/objectivec/SKILL.md +100 -100
- package/templates/skills/languages/php/SKILL.md +426 -426
- package/templates/skills/languages/python/SKILL.md +692 -692
- package/templates/skills/languages/ruby/SKILL.md +431 -431
- package/templates/skills/languages/rust/SKILL.md +487 -487
- package/templates/skills/languages/sas/SKILL.md +83 -83
- package/templates/skills/languages/scala/SKILL.md +358 -358
- package/templates/skills/languages/solidity/SKILL.md +590 -590
- package/templates/skills/languages/sql/SKILL.md +147 -147
- package/templates/skills/languages/swift/SKILL.md +476 -476
- package/templates/skills/languages/typescript/SKILL.md +302 -302
- package/templates/skills/languages/zig/SKILL.md +275 -275
- package/templates/skills/modules/context7/SKILL.md +64 -64
- package/templates/skills/modules/github-mcp/SKILL.md +74 -74
- package/templates/skills/modules/playwright/SKILL.md +100 -100
- package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
- package/templates/skills/modules/serena/SKILL.md +347 -347
- package/templates/skills/modules/supabase/SKILL.md +233 -233
- package/templates/skills/modules/synap/SKILL.md +79 -79
- package/templates/skills/modules/vectorizer/SKILL.md +73 -73
- package/.claude/commands/analysis.md +0 -35
- package/.claude/commands/continue.md +0 -33
- package/.claude/commands/rulebook-decision-create.md +0 -55
- package/.claude/commands/rulebook-decision-list.md +0 -15
- package/.claude/commands/rulebook-knowledge-add.md +0 -41
- package/.claude/commands/rulebook-knowledge-list.md +0 -15
- package/.claude/commands/rulebook-learn-capture.md +0 -41
- package/.claude/commands/rulebook-learn-list.md +0 -13
- package/.claude/commands/rulebook-memory-save.md +0 -48
- package/.claude/commands/rulebook-memory-search.md +0 -47
- package/.claude/commands/rulebook-task-apply.md +0 -67
- package/.claude/commands/rulebook-task-archive.md +0 -94
- package/.claude/commands/rulebook-task-create.md +0 -93
- package/.claude/commands/rulebook-task-list.md +0 -42
- package/.claude/commands/rulebook-task-show.md +0 -52
- package/.claude/commands/rulebook-task-validate.md +0 -53
- package/.claude-plugin/marketplace.json +0 -28
- package/.claude-plugin/plugin.json +0 -8
- package/dist/agents/claude-code.d.ts +0 -69
- package/dist/agents/claude-code.d.ts.map +0 -1
- package/dist/agents/claude-code.js +0 -180
- package/dist/agents/claude-code.js.map +0 -1
- package/dist/agents/cursor-agent.d.ts +0 -184
- package/dist/agents/cursor-agent.d.ts.map +0 -1
- package/dist/agents/cursor-agent.js +0 -299
- package/dist/agents/cursor-agent.js.map +0 -1
- package/dist/agents/gemini-cli.d.ts +0 -69
- package/dist/agents/gemini-cli.d.ts.map +0 -1
- package/dist/agents/gemini-cli.js +0 -180
- package/dist/agents/gemini-cli.js.map +0 -1
- package/dist/cli/commands/memory.d.ts +0 -30
- package/dist/cli/commands/memory.d.ts.map +0 -1
- package/dist/cli/commands/memory.js +0 -259
- package/dist/cli/commands/memory.js.map +0 -1
- package/dist/core/console/cli-bridge.d.ts +0 -113
- package/dist/core/console/cli-bridge.d.ts.map +0 -1
- package/dist/core/console/cli-bridge.js +0 -1094
- package/dist/core/console/cli-bridge.js.map +0 -1
- package/dist/core/ide/multi-tool-generator.d.ts +0 -59
- package/dist/core/ide/multi-tool-generator.d.ts.map +0 -1
- package/dist/core/ide/multi-tool-generator.js +0 -157
- package/dist/core/ide/multi-tool-generator.js.map +0 -1
- package/dist/core/ide/opencode-generator.d.ts +0 -72
- package/dist/core/ide/opencode-generator.d.ts.map +0 -1
- package/dist/core/ide/opencode-generator.js +0 -450
- package/dist/core/ide/opencode-generator.js.map +0 -1
- package/dist/core/indexer/background-indexer.d.ts +0 -35
- package/dist/core/indexer/background-indexer.d.ts.map +0 -1
- package/dist/core/indexer/background-indexer.js +0 -267
- package/dist/core/indexer/background-indexer.js.map +0 -1
- package/dist/core/indexer/file-parser.d.ts +0 -28
- package/dist/core/indexer/file-parser.d.ts.map +0 -1
- package/dist/core/indexer/file-parser.js +0 -171
- package/dist/core/indexer/file-parser.js.map +0 -1
- package/dist/core/indexer/indexer-types.d.ts +0 -37
- package/dist/core/indexer/indexer-types.d.ts.map +0 -1
- package/dist/core/indexer/indexer-types.js +0 -8
- package/dist/core/indexer/indexer-types.js.map +0 -1
- package/dist/memory/file-search.d.ts +0 -43
- package/dist/memory/file-search.d.ts.map +0 -1
- package/dist/memory/file-search.js +0 -228
- package/dist/memory/file-search.js.map +0 -1
- package/dist/memory/file-store.d.ts +0 -99
- package/dist/memory/file-store.d.ts.map +0 -1
- package/dist/memory/file-store.js +0 -615
- package/dist/memory/file-store.js.map +0 -1
- package/dist/memory/legacy-migrator.d.ts +0 -27
- package/dist/memory/legacy-migrator.d.ts.map +0 -1
- package/dist/memory/legacy-migrator.js +0 -185
- package/dist/memory/legacy-migrator.js.map +0 -1
- package/dist/memory/memory-hooks.d.ts +0 -48
- package/dist/memory/memory-hooks.d.ts.map +0 -1
- package/dist/memory/memory-hooks.js +0 -248
- package/dist/memory/memory-hooks.js.map +0 -1
- package/dist/memory/memory-manager.d.ts +0 -65
- package/dist/memory/memory-manager.d.ts.map +0 -1
- package/dist/memory/memory-manager.js +0 -223
- package/dist/memory/memory-manager.js.map +0 -1
- package/dist/memory/memory-types.d.ts +0 -85
- package/dist/memory/memory-types.d.ts.map +0 -1
- package/dist/memory/memory-types.js +0 -7
- package/dist/memory/memory-types.js.map +0 -1
- package/templates/agents/accessibility-reviewer.md +0 -43
- package/templates/agents/api-designer.md +0 -42
- package/templates/agents/compiler/codegen-debugger.md +0 -34
- package/templates/agents/compiler/stdlib-engineer.md +0 -28
- package/templates/agents/compiler/test-coverage-guardian.md +0 -31
- package/templates/agents/context-intelligence.md +0 -50
- package/templates/agents/database-architect.md +0 -41
- package/templates/agents/devops-engineer.md +0 -42
- package/templates/agents/game-engine/cpp-core-expert.md +0 -35
- package/templates/agents/game-engine/render-engineer.md +0 -22
- package/templates/agents/game-engine/shader-engineer.md +0 -38
- package/templates/agents/game-engine/systems-integration.md +0 -43
- package/templates/agents/generic/code-reviewer.md +0 -41
- package/templates/agents/generic/docs-writer.md +0 -25
- package/templates/agents/generic/project-manager.md +0 -36
- package/templates/agents/generic/researcher.md +0 -34
- package/templates/agents/generic/test-engineer.md +0 -41
- package/templates/agents/i18n-engineer.md +0 -42
- package/templates/agents/migration-engineer.md +0 -42
- package/templates/agents/mobile/platform-specialist.md +0 -22
- package/templates/agents/mobile/ui-engineer.md +0 -22
- package/templates/agents/project-manager.md +0 -217
- package/templates/agents/refactoring-agent.md +0 -41
- package/templates/agents/ux-reviewer.md +0 -43
- package/templates/agents/web-app/api-designer.md +0 -22
- package/templates/agents/web-app/backend-engineer.md +0 -30
- package/templates/agents/web-app/database-engineer.md +0 -22
- package/templates/agents/web-app/frontend-engineer.md +0 -29
- package/templates/agents/web-app/security-reviewer.md +0 -32
- package/templates/cli/AIDER.md +0 -49
- package/templates/cli/AMAZON_Q.md +0 -25
- package/templates/cli/AUGGIE.md +0 -32
- package/templates/cli/CLINE.md +0 -99
- package/templates/cli/CODEBUDDY.md +0 -20
- package/templates/cli/CODEIUM.md +0 -20
- package/templates/cli/CODEX.md +0 -21
- package/templates/cli/CONTINUE.md +0 -34
- package/templates/cli/CURSOR_CLI.md +0 -62
- package/templates/cli/FACTORY.md +0 -18
- package/templates/cli/GEMINI.md +0 -35
- package/templates/cli/KILOCODE.md +0 -18
- package/templates/cli/OPENCODE.md +0 -85
- package/templates/cli/gemini-extension.json +0 -77
- package/templates/commands/rulebook-memory-save.md +0 -48
- package/templates/commands/rulebook-memory-search.md +0 -47
- package/templates/ides/CONTINUE_RULES.md +0 -16
- package/templates/ides/COPILOT_INSTRUCTIONS.md +0 -23
- package/templates/ides/GEMINI_RULES.md +0 -17
- package/templates/ides/OPENCODE.md +0 -63
- package/templates/ides/WINDSURF_RULES.md +0 -14
- package/templates/modules/ATLASSIAN.md +0 -255
- package/templates/modules/FIGMA.md +0 -267
- package/templates/modules/GRAFANA.md +0 -328
- package/templates/modules/MEMORY.md +0 -126
- package/templates/modules/NOTION.md +0 -247
- package/templates/skills/cli/aider/SKILL.md +0 -59
- package/templates/skills/cli/amazon-q/SKILL.md +0 -35
- package/templates/skills/cli/auggie/SKILL.md +0 -42
- package/templates/skills/cli/cline/SKILL.md +0 -42
- package/templates/skills/cli/codebuddy/SKILL.md +0 -30
- package/templates/skills/cli/codeium/SKILL.md +0 -30
- package/templates/skills/cli/codex/SKILL.md +0 -31
- package/templates/skills/cli/continue/SKILL.md +0 -44
- package/templates/skills/cli/cursor-cli/SKILL.md +0 -38
- package/templates/skills/cli/factory/SKILL.md +0 -28
- package/templates/skills/cli/gemini/SKILL.md +0 -45
- package/templates/skills/cli/kilocode/SKILL.md +0 -28
- package/templates/skills/cli/opencode/SKILL.md +0 -82
- package/templates/skills/ides/copilot/SKILL.md +0 -47
- package/templates/skills/ides/cursor/SKILL.md +0 -53
- package/templates/skills/ides/jetbrains-ai/SKILL.md +0 -45
- package/templates/skills/ides/replit/SKILL.md +0 -46
- package/templates/skills/ides/tabnine/SKILL.md +0 -39
- package/templates/skills/ides/vscode/SKILL.md +0 -50
- package/templates/skills/ides/windsurf/SKILL.md +0 -46
- package/templates/skills/ides/zed/SKILL.md +0 -42
- package/templates/skills/modules/atlassian/SKILL.md +0 -265
- package/templates/skills/modules/figma/SKILL.md +0 -277
- package/templates/skills/modules/grafana/SKILL.md +0 -338
- package/templates/skills/modules/memory/SKILL.md +0 -73
- package/templates/skills/modules/notion/SKILL.md +0 -257
|
@@ -1,338 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Grafana"
|
|
3
|
-
description: "Use MCP Grafana for metrics visualization, alerting, and observability dashboards."
|
|
4
|
-
version: "1.0.0"
|
|
5
|
-
category: "modules"
|
|
6
|
-
author: "Rulebook"
|
|
7
|
-
tags: ["modules", "mcp"]
|
|
8
|
-
dependencies: []
|
|
9
|
-
conflicts: []
|
|
10
|
-
---
|
|
11
|
-
<!-- GRAFANA:START -->
|
|
12
|
-
# Grafana MCP Instructions
|
|
13
|
-
|
|
14
|
-
**CRITICAL**: Use MCP Grafana for metrics visualization, alerting, and observability dashboards.
|
|
15
|
-
|
|
16
|
-
## Core Operations
|
|
17
|
-
|
|
18
|
-
### Dashboard Management
|
|
19
|
-
```typescript
|
|
20
|
-
// Get dashboard
|
|
21
|
-
grafana.dashboards.getDashboardByUid({ uid: 'dashboard-uid' })
|
|
22
|
-
|
|
23
|
-
// Create dashboard
|
|
24
|
-
grafana.dashboards.postDashboard({
|
|
25
|
-
dashboard: {
|
|
26
|
-
title: 'Application Metrics',
|
|
27
|
-
tags: ['production', 'api'],
|
|
28
|
-
timezone: 'browser',
|
|
29
|
-
panels: [
|
|
30
|
-
{
|
|
31
|
-
title: 'Request Rate',
|
|
32
|
-
type: 'graph',
|
|
33
|
-
targets: [{ expr: 'rate(http_requests_total[5m])' }]
|
|
34
|
-
}
|
|
35
|
-
]
|
|
36
|
-
},
|
|
37
|
-
overwrite: false
|
|
38
|
-
})
|
|
39
|
-
|
|
40
|
-
// Update dashboard
|
|
41
|
-
grafana.dashboards.postDashboard({
|
|
42
|
-
dashboard: modifiedDashboard,
|
|
43
|
-
overwrite: true
|
|
44
|
-
})
|
|
45
|
-
|
|
46
|
-
// Delete dashboard
|
|
47
|
-
grafana.dashboards.deleteDashboardByUid({ uid: 'dashboard-uid' })
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### Data Sources
|
|
51
|
-
```typescript
|
|
52
|
-
// Get data sources
|
|
53
|
-
grafana.datasources.getDataSources()
|
|
54
|
-
|
|
55
|
-
// Add data source
|
|
56
|
-
grafana.datasources.addDataSource({
|
|
57
|
-
name: 'Prometheus',
|
|
58
|
-
type: 'prometheus',
|
|
59
|
-
url: 'http://prometheus:9090',
|
|
60
|
-
access: 'proxy',
|
|
61
|
-
isDefault: true
|
|
62
|
-
})
|
|
63
|
-
|
|
64
|
-
// Query data source
|
|
65
|
-
grafana.datasources.queryDataSource({
|
|
66
|
-
datasourceId: 1,
|
|
67
|
-
from: Date.now() - 3600000, // 1 hour ago
|
|
68
|
-
to: Date.now(),
|
|
69
|
-
queries: [
|
|
70
|
-
{ expr: 'up', refId: 'A' }
|
|
71
|
-
]
|
|
72
|
-
})
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### Alerts
|
|
76
|
-
```typescript
|
|
77
|
-
// Get alerts
|
|
78
|
-
grafana.alerting.getAlerts({ state: 'alerting' })
|
|
79
|
-
|
|
80
|
-
// Create alert rule
|
|
81
|
-
grafana.alerting.postAlertRule({
|
|
82
|
-
title: 'High Error Rate',
|
|
83
|
-
condition: 'A',
|
|
84
|
-
data: [
|
|
85
|
-
{
|
|
86
|
-
refId: 'A',
|
|
87
|
-
queryType: '',
|
|
88
|
-
relativeTimeRange: { from: 600, to: 0 },
|
|
89
|
-
datasourceUid: 'prometheus-uid',
|
|
90
|
-
model: {
|
|
91
|
-
expr: 'rate(http_errors_total[5m]) > 0.05'
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
],
|
|
95
|
-
noDataState: 'NoData',
|
|
96
|
-
execErrState: 'Alerting',
|
|
97
|
-
for: '5m',
|
|
98
|
-
annotations: {
|
|
99
|
-
description: 'Error rate exceeded 5%'
|
|
100
|
-
},
|
|
101
|
-
labels: { severity: 'high' }
|
|
102
|
-
})
|
|
103
|
-
|
|
104
|
-
// Pause alert
|
|
105
|
-
grafana.alerting.pauseAlertRule({ uid: 'alert-uid', paused: true })
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
### Annotations
|
|
109
|
-
```typescript
|
|
110
|
-
// Create annotation
|
|
111
|
-
grafana.annotations.postAnnotation({
|
|
112
|
-
dashboardUid: 'dashboard-uid',
|
|
113
|
-
time: Date.now(),
|
|
114
|
-
timeEnd: Date.now(),
|
|
115
|
-
tags: ['deployment'],
|
|
116
|
-
text: 'Deployed version 1.2.0'
|
|
117
|
-
})
|
|
118
|
-
|
|
119
|
-
// Get annotations
|
|
120
|
-
grafana.annotations.getAnnotations({
|
|
121
|
-
from: Date.now() - 86400000, // Last 24h
|
|
122
|
-
to: Date.now(),
|
|
123
|
-
tags: ['deployment']
|
|
124
|
-
})
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
### Organizations & Users
|
|
128
|
-
```typescript
|
|
129
|
-
// Get organization
|
|
130
|
-
grafana.orgs.getOrgByName({ orgName: 'Main Org' })
|
|
131
|
-
|
|
132
|
-
// Add user
|
|
133
|
-
grafana.users.createUser({
|
|
134
|
-
email: 'user@example.com',
|
|
135
|
-
login: 'username',
|
|
136
|
-
password: 'secure-password',
|
|
137
|
-
name: 'User Name'
|
|
138
|
-
})
|
|
139
|
-
|
|
140
|
-
// Update user permissions
|
|
141
|
-
grafana.org.updateOrgUser({
|
|
142
|
-
userId: 123,
|
|
143
|
-
role: 'Editor' // Viewer, Editor, Admin
|
|
144
|
-
})
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
## Common Patterns
|
|
148
|
-
|
|
149
|
-
### Deployment Tracking
|
|
150
|
-
```typescript
|
|
151
|
-
// Mark deployment on dashboard
|
|
152
|
-
await grafana.annotations.postAnnotation({
|
|
153
|
-
time: Date.now(),
|
|
154
|
-
tags: ['deployment', 'production'],
|
|
155
|
-
text: `Deployed ${process.env.GIT_SHA}`,
|
|
156
|
-
dashboardUid: 'main-dashboard'
|
|
157
|
-
})
|
|
158
|
-
|
|
159
|
-
// Create snapshot after deployment
|
|
160
|
-
const snapshot = await grafana.snapshots.createDashboardSnapshot({
|
|
161
|
-
dashboard: dashboard,
|
|
162
|
-
name: `Production Metrics - ${new Date().toISOString()}`,
|
|
163
|
-
expires: 86400 // 24 hours
|
|
164
|
-
})
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
### Automated Dashboard Creation
|
|
168
|
-
```typescript
|
|
169
|
-
// Create dashboard for new service
|
|
170
|
-
async function createServiceDashboard(serviceName) {
|
|
171
|
-
const dashboard = {
|
|
172
|
-
title: `${serviceName} Metrics`,
|
|
173
|
-
tags: ['microservices', serviceName],
|
|
174
|
-
panels: [
|
|
175
|
-
{
|
|
176
|
-
title: 'Request Rate',
|
|
177
|
-
type: 'graph',
|
|
178
|
-
targets: [{
|
|
179
|
-
expr: `rate(http_requests_total{service="${serviceName}"}[5m])`
|
|
180
|
-
}]
|
|
181
|
-
},
|
|
182
|
-
{
|
|
183
|
-
title: 'Error Rate',
|
|
184
|
-
type: 'graph',
|
|
185
|
-
targets: [{
|
|
186
|
-
expr: `rate(http_errors_total{service="${serviceName}"}[5m])`
|
|
187
|
-
}]
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
title: 'Response Time (p95)',
|
|
191
|
-
type: 'graph',
|
|
192
|
-
targets: [{
|
|
193
|
-
expr: `histogram_quantile(0.95, rate(http_duration_seconds_bucket{service="${serviceName}"}[5m]))`
|
|
194
|
-
}]
|
|
195
|
-
}
|
|
196
|
-
]
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
return await grafana.dashboards.postDashboard({
|
|
200
|
-
dashboard,
|
|
201
|
-
overwrite: false
|
|
202
|
-
})
|
|
203
|
-
}
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
### Alert Management
|
|
207
|
-
```typescript
|
|
208
|
-
// Check for firing alerts
|
|
209
|
-
const alerts = await grafana.alerting.getAlerts({ state: 'alerting' })
|
|
210
|
-
|
|
211
|
-
if (alerts.length > 0) {
|
|
212
|
-
console.log(`${alerts.length} alerts firing:`)
|
|
213
|
-
|
|
214
|
-
for (const alert of alerts) {
|
|
215
|
-
console.log(`- ${alert.labels.alertname}: ${alert.annotations.description}`)
|
|
216
|
-
|
|
217
|
-
// Create incident ticket
|
|
218
|
-
await jira.issues.createIssue({
|
|
219
|
-
fields: {
|
|
220
|
-
project: { key: 'OPS' },
|
|
221
|
-
summary: `Alert: ${alert.labels.alertname}`,
|
|
222
|
-
description: alert.annotations.description,
|
|
223
|
-
issuetype: { name: 'Incident' },
|
|
224
|
-
priority: { name: alert.labels.severity === 'critical' ? 'Highest' : 'High' }
|
|
225
|
-
}
|
|
226
|
-
})
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
### Metrics Reporting
|
|
232
|
-
```typescript
|
|
233
|
-
// Generate daily metrics report
|
|
234
|
-
async function generateDailyReport() {
|
|
235
|
-
const datasourceId = 1 // Prometheus
|
|
236
|
-
const from = Date.now() - 86400000 // 24h ago
|
|
237
|
-
const to = Date.now()
|
|
238
|
-
|
|
239
|
-
// Query metrics
|
|
240
|
-
const requestRate = await grafana.datasources.queryDataSource({
|
|
241
|
-
datasourceId,
|
|
242
|
-
from,
|
|
243
|
-
to,
|
|
244
|
-
queries: [{ expr: 'sum(rate(http_requests_total[24h]))', refId: 'A' }]
|
|
245
|
-
})
|
|
246
|
-
|
|
247
|
-
const errorRate = await grafana.datasources.queryDataSource({
|
|
248
|
-
datasourceId,
|
|
249
|
-
from,
|
|
250
|
-
to,
|
|
251
|
-
queries: [{ expr: 'sum(rate(http_errors_total[24h]))', refId: 'A' }]
|
|
252
|
-
})
|
|
253
|
-
|
|
254
|
-
// Create report
|
|
255
|
-
const report = {
|
|
256
|
-
date: new Date().toISOString(),
|
|
257
|
-
totalRequests: requestRate.results.A.frames[0].data.values[1][0],
|
|
258
|
-
totalErrors: errorRate.results.A.frames[0].data.values[1][0],
|
|
259
|
-
errorPercentage: (totalErrors / totalRequests * 100).toFixed(2)
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
// Post to Confluence/Notion
|
|
263
|
-
await notion.pages.create({
|
|
264
|
-
parent: { database_id: reportsDbId },
|
|
265
|
-
properties: {
|
|
266
|
-
'Title': { title: [{ text: { content: `Daily Metrics - ${report.date}` } }] },
|
|
267
|
-
'Requests': { number: report.totalRequests },
|
|
268
|
-
'Errors': { number: report.totalErrors },
|
|
269
|
-
'Error Rate': { number: parseFloat(report.errorPercentage) }
|
|
270
|
-
}
|
|
271
|
-
})
|
|
272
|
-
}
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
## Best Practices
|
|
276
|
-
|
|
277
|
-
✅ **DO:**
|
|
278
|
-
- Use dashboard folders for organization
|
|
279
|
-
- Tag dashboards appropriately
|
|
280
|
-
- Set up proper alert thresholds
|
|
281
|
-
- Use variables for flexibility
|
|
282
|
-
- Create snapshots before changes
|
|
283
|
-
- Document dashboard purpose
|
|
284
|
-
- Use templating for multi-instance dashboards
|
|
285
|
-
|
|
286
|
-
❌ **DON'T:**
|
|
287
|
-
- Create duplicate dashboards
|
|
288
|
-
- Set alerts without testing
|
|
289
|
-
- Ignore alert fatigue
|
|
290
|
-
- Hardcode dashboard IDs
|
|
291
|
-
- Skip dashboard backups
|
|
292
|
-
- Over-complicate queries
|
|
293
|
-
|
|
294
|
-
## Configuration
|
|
295
|
-
|
|
296
|
-
```json
|
|
297
|
-
{
|
|
298
|
-
"mcpServers": {
|
|
299
|
-
"grafana": {
|
|
300
|
-
"command": "npx",
|
|
301
|
-
"args": ["-y", "@modelcontextprotocol/server-grafana"],
|
|
302
|
-
"env": {
|
|
303
|
-
"GRAFANA_URL": "http://grafana:3000",
|
|
304
|
-
"GRAFANA_API_KEY": "your-api-key",
|
|
305
|
-
"GRAFANA_ORG_ID": "1"
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
```
|
|
311
|
-
|
|
312
|
-
**Setup:**
|
|
313
|
-
1. Create API key: Configuration → API Keys → Add API key
|
|
314
|
-
2. Grant appropriate permissions (Admin for management, Viewer for read-only)
|
|
315
|
-
3. Store securely
|
|
316
|
-
|
|
317
|
-
## Integration with CI/CD
|
|
318
|
-
|
|
319
|
-
```typescript
|
|
320
|
-
// Add deployment annotation on successful deploy
|
|
321
|
-
if (deploymentSuccess) {
|
|
322
|
-
await grafana.annotations.postAnnotation({
|
|
323
|
-
time: Date.now(),
|
|
324
|
-
tags: ['deployment', process.env.ENVIRONMENT],
|
|
325
|
-
text: `Deployed ${process.env.GIT_SHA} to ${process.env.ENVIRONMENT}`,
|
|
326
|
-
dashboardUid: process.env.GRAFANA_DASHBOARD_UID
|
|
327
|
-
})
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
// Check alerts before deployment
|
|
331
|
-
const alerts = await grafana.alerting.getAlerts({ state: 'alerting' })
|
|
332
|
-
if (alerts.length > 0) {
|
|
333
|
-
console.warn('⚠️ Active alerts detected. Deployment may be risky.')
|
|
334
|
-
}
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
<!-- GRAFANA:END -->
|
|
338
|
-
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Memory"
|
|
3
|
-
description: "The rulebook memory system provides persistent context across AI sessions using hybrid search (BM25 keyword + HNSW vector) with zero native dependenci"
|
|
4
|
-
version: "1.0.0"
|
|
5
|
-
category: "modules"
|
|
6
|
-
author: "Rulebook"
|
|
7
|
-
tags: ["modules", "mcp"]
|
|
8
|
-
dependencies: []
|
|
9
|
-
conflicts: []
|
|
10
|
-
---
|
|
11
|
-
<!-- MEMORY:START -->
|
|
12
|
-
## Persistent Memory System
|
|
13
|
-
|
|
14
|
-
The rulebook memory system provides persistent context across AI sessions using hybrid search (BM25 keyword + HNSW vector) with zero native dependencies.
|
|
15
|
-
|
|
16
|
-
### 3-Layer Search Pattern (Token-Efficient)
|
|
17
|
-
|
|
18
|
-
**Layer 1 — Compact Search**: Get brief results to scan relevance.
|
|
19
|
-
```
|
|
20
|
-
rulebook_memory_search({ query: "authentication bug", mode: "hybrid", limit: 10 })
|
|
21
|
-
→ Returns: { id, title, type, score, matchType, createdAt } per result (~50 tokens each)
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
**Layer 2 — Timeline**: Get chronological context around a memory.
|
|
25
|
-
```
|
|
26
|
-
rulebook_memory_timeline({ memoryId: "abc-123", window: 5 })
|
|
27
|
-
→ Returns: 5 memories before + anchor + 5 memories after (~200 tokens each)
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
**Layer 3 — Full Details**: Get complete content only for selected memories.
|
|
31
|
-
```
|
|
32
|
-
rulebook_memory_get({ ids: ["abc-123", "def-456"] })
|
|
33
|
-
→ Returns: Full memory objects with content (~500-1000 tokens each)
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
### Memory Types
|
|
37
|
-
|
|
38
|
-
- **bugfix**: Bug fixes, error resolutions
|
|
39
|
-
- **feature**: New features, additions
|
|
40
|
-
- **refactor**: Code restructuring
|
|
41
|
-
- **decision**: Architectural decisions (protected from eviction)
|
|
42
|
-
- **discovery**: Insights and learnings
|
|
43
|
-
- **change**: Updates and modifications
|
|
44
|
-
- **observation**: General observations
|
|
45
|
-
|
|
46
|
-
### CLI Commands
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
rulebook memory search "authentication bug" # Hybrid search
|
|
50
|
-
rulebook memory save "Decided to use sql.js" --type decision --title "DB Choice"
|
|
51
|
-
rulebook memory list --limit 10 # Recent memories
|
|
52
|
-
rulebook memory stats # Database statistics
|
|
53
|
-
rulebook memory cleanup --force # Force eviction
|
|
54
|
-
rulebook memory export --format json # Export all memories
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### Configuration (.rulebook)
|
|
58
|
-
|
|
59
|
-
```json
|
|
60
|
-
{
|
|
61
|
-
"memory": {
|
|
62
|
-
"enabled": true,
|
|
63
|
-
"dbPath": ".rulebook-memory/memory.db",
|
|
64
|
-
"maxSizeBytes": 524288000,
|
|
65
|
-
"vectorDimensions": 256
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### Privacy
|
|
71
|
-
|
|
72
|
-
Content between `<private>` and `</private>` tags is automatically stripped before storage.
|
|
73
|
-
<!-- MEMORY:END -->
|
|
@@ -1,257 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Notion"
|
|
3
|
-
description: "Use MCP Notion for documentation, task tracking, and knowledge management."
|
|
4
|
-
version: "1.0.0"
|
|
5
|
-
category: "modules"
|
|
6
|
-
author: "Rulebook"
|
|
7
|
-
tags: ["modules", "mcp"]
|
|
8
|
-
dependencies: []
|
|
9
|
-
conflicts: []
|
|
10
|
-
---
|
|
11
|
-
<!-- NOTION:START -->
|
|
12
|
-
# Notion MCP Instructions
|
|
13
|
-
|
|
14
|
-
**CRITICAL**: Use MCP Notion for documentation, task tracking, and knowledge management.
|
|
15
|
-
|
|
16
|
-
## Core Operations
|
|
17
|
-
|
|
18
|
-
### Database Queries
|
|
19
|
-
```typescript
|
|
20
|
-
// Query database
|
|
21
|
-
notion.databases.query({
|
|
22
|
-
database_id: 'database-id',
|
|
23
|
-
filter: {
|
|
24
|
-
property: 'Status',
|
|
25
|
-
select: { equals: 'In Progress' }
|
|
26
|
-
},
|
|
27
|
-
sorts: [{ property: 'Created', direction: 'descending' }]
|
|
28
|
-
})
|
|
29
|
-
|
|
30
|
-
// Get database
|
|
31
|
-
notion.databases.retrieve({ database_id: 'database-id' })
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
### Page Operations
|
|
35
|
-
```typescript
|
|
36
|
-
// Create page
|
|
37
|
-
notion.pages.create({
|
|
38
|
-
parent: { database_id: 'database-id' },
|
|
39
|
-
properties: {
|
|
40
|
-
'Name': { title: [{ text: { content: 'New Task' } }] },
|
|
41
|
-
'Status': { select: { name: 'To Do' } },
|
|
42
|
-
'Priority': { select: { name: 'High' } }
|
|
43
|
-
}
|
|
44
|
-
})
|
|
45
|
-
|
|
46
|
-
// Update page
|
|
47
|
-
notion.pages.update({
|
|
48
|
-
page_id: 'page-id',
|
|
49
|
-
properties: {
|
|
50
|
-
'Status': { select: { name: 'Done' } }
|
|
51
|
-
}
|
|
52
|
-
})
|
|
53
|
-
|
|
54
|
-
// Get page
|
|
55
|
-
notion.pages.retrieve({ page_id: 'page-id' })
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### Block Operations
|
|
59
|
-
```typescript
|
|
60
|
-
// Get blocks
|
|
61
|
-
notion.blocks.children.list({ block_id: 'page-id' })
|
|
62
|
-
|
|
63
|
-
// Append blocks
|
|
64
|
-
notion.blocks.children.append({
|
|
65
|
-
block_id: 'page-id',
|
|
66
|
-
children: [
|
|
67
|
-
{
|
|
68
|
-
object: 'block',
|
|
69
|
-
type: 'heading_2',
|
|
70
|
-
heading_2: {
|
|
71
|
-
rich_text: [{ type: 'text', text: { content: 'Section Title' } }]
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
object: 'block',
|
|
76
|
-
type: 'paragraph',
|
|
77
|
-
paragraph: {
|
|
78
|
-
rich_text: [{ type: 'text', text: { content: 'Content here' } }]
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
]
|
|
82
|
-
})
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### Search
|
|
86
|
-
```typescript
|
|
87
|
-
// Search all content
|
|
88
|
-
notion.search({
|
|
89
|
-
query: 'search term',
|
|
90
|
-
filter: { property: 'object', value: 'page' },
|
|
91
|
-
sort: { direction: 'descending', timestamp: 'last_edited_time' }
|
|
92
|
-
})
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
## Common Patterns
|
|
96
|
-
|
|
97
|
-
### Task Management
|
|
98
|
-
```typescript
|
|
99
|
-
// Create task
|
|
100
|
-
await notion.pages.create({
|
|
101
|
-
parent: { database_id: tasksDbId },
|
|
102
|
-
properties: {
|
|
103
|
-
'Task': { title: [{ text: { content: 'Implement feature X' } }] },
|
|
104
|
-
'Status': { select: { name: 'To Do' } },
|
|
105
|
-
'Assignee': { people: [{ id: userId }] },
|
|
106
|
-
'Due Date': { date: { start: '2024-12-31' } }
|
|
107
|
-
}
|
|
108
|
-
})
|
|
109
|
-
|
|
110
|
-
// Update task status
|
|
111
|
-
await notion.pages.update({
|
|
112
|
-
page_id: taskId,
|
|
113
|
-
properties: {
|
|
114
|
-
'Status': { select: { name: 'In Progress' } },
|
|
115
|
-
'Started': { date: { start: new Date().toISOString() } }
|
|
116
|
-
}
|
|
117
|
-
})
|
|
118
|
-
|
|
119
|
-
// Complete task
|
|
120
|
-
await notion.pages.update({
|
|
121
|
-
page_id: taskId,
|
|
122
|
-
properties: {
|
|
123
|
-
'Status': { select: { name: 'Done' } },
|
|
124
|
-
'Completed': { date: { start: new Date().toISOString() } }
|
|
125
|
-
}
|
|
126
|
-
})
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
### Documentation Generation
|
|
130
|
-
```typescript
|
|
131
|
-
// Create documentation page
|
|
132
|
-
const page = await notion.pages.create({
|
|
133
|
-
parent: { database_id: docsDbId },
|
|
134
|
-
properties: {
|
|
135
|
-
'Title': { title: [{ text: { content: 'API Documentation' } }] },
|
|
136
|
-
'Category': { select: { name: 'Technical' } }
|
|
137
|
-
}
|
|
138
|
-
})
|
|
139
|
-
|
|
140
|
-
// Add content blocks
|
|
141
|
-
await notion.blocks.children.append({
|
|
142
|
-
block_id: page.id,
|
|
143
|
-
children: [
|
|
144
|
-
{ type: 'heading_1', heading_1: { rich_text: [{ text: { content: 'API Reference' } }] } },
|
|
145
|
-
{ type: 'paragraph', paragraph: { rich_text: [{ text: { content: 'Endpoints overview...' } }] } },
|
|
146
|
-
{ type: 'code', code: {
|
|
147
|
-
language: 'typescript',
|
|
148
|
-
rich_text: [{ text: { content: 'const api = new API()' } }]
|
|
149
|
-
}}
|
|
150
|
-
]
|
|
151
|
-
})
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
### Meeting Notes
|
|
155
|
-
```typescript
|
|
156
|
-
// Create meeting notes
|
|
157
|
-
await notion.pages.create({
|
|
158
|
-
parent: { database_id: meetingsDbId },
|
|
159
|
-
properties: {
|
|
160
|
-
'Title': { title: [{ text: { content: 'Sprint Planning - Jan 2024' } }] },
|
|
161
|
-
'Date': { date: { start: '2024-01-15' } },
|
|
162
|
-
'Attendees': { people: attendeeIds }
|
|
163
|
-
}
|
|
164
|
-
})
|
|
165
|
-
|
|
166
|
-
// Add agenda and notes
|
|
167
|
-
await notion.blocks.children.append({
|
|
168
|
-
block_id: pageId,
|
|
169
|
-
children: [
|
|
170
|
-
{ type: 'heading_2', heading_2: { rich_text: [{ text: { content: 'Agenda' } }] } },
|
|
171
|
-
{ type: 'bulleted_list_item', bulleted_list_item: { rich_text: [{ text: { content: 'Review last sprint' } }] } },
|
|
172
|
-
{ type: 'bulleted_list_item', bulleted_list_item: { rich_text: [{ text: { content: 'Plan next sprint' } }] } },
|
|
173
|
-
{ type: 'heading_2', heading_2: { rich_text: [{ text: { content: 'Action Items' } }] } }
|
|
174
|
-
]
|
|
175
|
-
})
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
## Best Practices
|
|
179
|
-
|
|
180
|
-
✅ **DO:**
|
|
181
|
-
- Use databases for structured data
|
|
182
|
-
- Cache database schemas
|
|
183
|
-
- Batch operations when possible
|
|
184
|
-
- Handle rate limits (3 requests/second)
|
|
185
|
-
- Use rich text for formatting
|
|
186
|
-
- Archive instead of delete
|
|
187
|
-
|
|
188
|
-
❌ **DON'T:**
|
|
189
|
-
- Make excessive API calls
|
|
190
|
-
- Ignore rate limiting
|
|
191
|
-
- Store large binary files
|
|
192
|
-
- Skip error handling
|
|
193
|
-
- Hardcode database IDs
|
|
194
|
-
|
|
195
|
-
## Configuration
|
|
196
|
-
|
|
197
|
-
```json
|
|
198
|
-
{
|
|
199
|
-
"mcpServers": {
|
|
200
|
-
"notion": {
|
|
201
|
-
"command": "npx",
|
|
202
|
-
"args": ["-y", "@modelcontextprotocol/server-notion"],
|
|
203
|
-
"env": {
|
|
204
|
-
"NOTION_API_KEY": "secret_xxx",
|
|
205
|
-
"NOTION_VERSION": "2022-06-28"
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
**Setup:**
|
|
213
|
-
1. Create integration at https://www.notion.so/my-integrations
|
|
214
|
-
2. Copy internal integration token
|
|
215
|
-
3. Share databases/pages with integration
|
|
216
|
-
4. Use token as `NOTION_API_KEY`
|
|
217
|
-
|
|
218
|
-
## Integration Patterns
|
|
219
|
-
|
|
220
|
-
### Sync Tasks from Code
|
|
221
|
-
```typescript
|
|
222
|
-
// Sync OpenSpec tasks to Notion
|
|
223
|
-
const tasks = parseOpenSpecTasks('openspec/changes/my-feature/tasks.md')
|
|
224
|
-
|
|
225
|
-
for (const task of tasks) {
|
|
226
|
-
await notion.pages.create({
|
|
227
|
-
parent: { database_id: tasksDbId },
|
|
228
|
-
properties: {
|
|
229
|
-
'Task': { title: [{ text: { content: task.title } }] },
|
|
230
|
-
'Status': { select: { name: task.completed ? 'Done' : 'To Do' } },
|
|
231
|
-
'Source': { select: { name: 'OpenSpec' } }
|
|
232
|
-
}
|
|
233
|
-
})
|
|
234
|
-
}
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
### Generate Changelog
|
|
238
|
-
```typescript
|
|
239
|
-
// Query completed tasks
|
|
240
|
-
const completed = await notion.databases.query({
|
|
241
|
-
database_id: tasksDbId,
|
|
242
|
-
filter: {
|
|
243
|
-
and: [
|
|
244
|
-
{ property: 'Status', select: { equals: 'Done' } },
|
|
245
|
-
{ property: 'Completed', date: { after: '2024-01-01' } }
|
|
246
|
-
]
|
|
247
|
-
}
|
|
248
|
-
})
|
|
249
|
-
|
|
250
|
-
// Generate CHANGELOG.md entries
|
|
251
|
-
const entries = completed.results.map(task =>
|
|
252
|
-
`- ${task.properties.Task.title[0].plain_text}`
|
|
253
|
-
)
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
<!-- NOTION:END -->
|
|
257
|
-
|