@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,75 +1,75 @@
|
|
|
1
|
-
<!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
|
|
2
|
-
|
|
3
|
-
# Multi-agent work MUST use Teams
|
|
4
|
-
|
|
5
|
-
This project has **more than one specialized agent** and relies on Claude Code's
|
|
6
|
-
experimental Teams feature (`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`). When
|
|
7
|
-
you need parallel execution across agents, use **Teams** — not standalone
|
|
8
|
-
background `Agent` calls.
|
|
9
|
-
|
|
10
|
-
## Why
|
|
11
|
-
|
|
12
|
-
Standalone background agents **cannot communicate with each other**. Only
|
|
13
|
-
agents inside a Team have access to the `SendMessage` tool. When two or
|
|
14
|
-
more independent background agents run without a Team:
|
|
15
|
-
|
|
16
|
-
- They cannot coordinate, share intermediate results, or reach consensus.
|
|
17
|
-
- They silently produce conflicting edits or duplicate work.
|
|
18
|
-
- You lose the ability to orchestrate hand-offs between specialists.
|
|
19
|
-
|
|
20
|
-
Rulebook enforces this with a `PreToolUse` hook that **denies** any
|
|
21
|
-
`Agent` invocation with `run_in_background: true` unless it is either:
|
|
22
|
-
|
|
23
|
-
1. `subagent_type: team-lead` (the coordinator that will create the Team), or
|
|
24
|
-
2. Passes `team_name` (already joined to an existing Team).
|
|
25
|
-
|
|
26
|
-
Foreground single-agent calls are unaffected.
|
|
27
|
-
|
|
28
|
-
## How to do parallel multi-agent work correctly
|
|
29
|
-
|
|
30
|
-
**Option A — Spawn a team-lead that creates the Team:**
|
|
31
|
-
|
|
32
|
-
```
|
|
33
|
-
Agent(
|
|
34
|
-
subagent_type: "team-lead",
|
|
35
|
-
run_in_background: true,
|
|
36
|
-
description: "Coordinate the refactor",
|
|
37
|
-
prompt: "Create a team with roles [...]"
|
|
38
|
-
)
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
The team-lead then uses `TeamCreate` and dispatches members with `team_name`.
|
|
42
|
-
|
|
43
|
-
**Option B — Create the Team first, then spawn members:**
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
TeamCreate(name: "refactor-team", members: [...])
|
|
47
|
-
Agent(
|
|
48
|
-
subagent_type: "rust-expert",
|
|
49
|
-
team_name: "refactor-team",
|
|
50
|
-
run_in_background: true,
|
|
51
|
-
description: "Port the auth module",
|
|
52
|
-
prompt: "..."
|
|
53
|
-
)
|
|
54
|
-
Agent(
|
|
55
|
-
subagent_type: "test-writer",
|
|
56
|
-
team_name: "refactor-team",
|
|
57
|
-
run_in_background: true,
|
|
58
|
-
description: "Write tests",
|
|
59
|
-
prompt: "..."
|
|
60
|
-
)
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Both members can now exchange messages via `SendMessage`.
|
|
64
|
-
|
|
65
|
-
## What is NOT blocked
|
|
66
|
-
|
|
67
|
-
- **Foreground `Agent`** (any `subagent_type`, no `run_in_background`): always allowed. Use this for simple delegation where you just need the result.
|
|
68
|
-
- **Background `Agent` with `team_name` set**: allowed because the agent has a coordination channel.
|
|
69
|
-
- **Background `Agent` with `subagent_type: "team-lead"`**: allowed because a team-lead is expected to bootstrap its Team before dispatching members.
|
|
70
|
-
|
|
71
|
-
## Environment requirement
|
|
72
|
-
|
|
73
|
-
This feature requires `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` in your
|
|
74
|
-
`.claude/settings.json`. Rulebook sets this automatically when
|
|
75
|
-
`multi_agent: true` is enabled in `.rulebook/rulebook.json`.
|
|
1
|
+
<!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
|
|
2
|
+
|
|
3
|
+
# Multi-agent work MUST use Teams
|
|
4
|
+
|
|
5
|
+
This project has **more than one specialized agent** and relies on Claude Code's
|
|
6
|
+
experimental Teams feature (`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`). When
|
|
7
|
+
you need parallel execution across agents, use **Teams** — not standalone
|
|
8
|
+
background `Agent` calls.
|
|
9
|
+
|
|
10
|
+
## Why
|
|
11
|
+
|
|
12
|
+
Standalone background agents **cannot communicate with each other**. Only
|
|
13
|
+
agents inside a Team have access to the `SendMessage` tool. When two or
|
|
14
|
+
more independent background agents run without a Team:
|
|
15
|
+
|
|
16
|
+
- They cannot coordinate, share intermediate results, or reach consensus.
|
|
17
|
+
- They silently produce conflicting edits or duplicate work.
|
|
18
|
+
- You lose the ability to orchestrate hand-offs between specialists.
|
|
19
|
+
|
|
20
|
+
Rulebook enforces this with a `PreToolUse` hook that **denies** any
|
|
21
|
+
`Agent` invocation with `run_in_background: true` unless it is either:
|
|
22
|
+
|
|
23
|
+
1. `subagent_type: team-lead` (the coordinator that will create the Team), or
|
|
24
|
+
2. Passes `team_name` (already joined to an existing Team).
|
|
25
|
+
|
|
26
|
+
Foreground single-agent calls are unaffected.
|
|
27
|
+
|
|
28
|
+
## How to do parallel multi-agent work correctly
|
|
29
|
+
|
|
30
|
+
**Option A — Spawn a team-lead that creates the Team:**
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
Agent(
|
|
34
|
+
subagent_type: "team-lead",
|
|
35
|
+
run_in_background: true,
|
|
36
|
+
description: "Coordinate the refactor",
|
|
37
|
+
prompt: "Create a team with roles [...]"
|
|
38
|
+
)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
The team-lead then uses `TeamCreate` and dispatches members with `team_name`.
|
|
42
|
+
|
|
43
|
+
**Option B — Create the Team first, then spawn members:**
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
TeamCreate(name: "refactor-team", members: [...])
|
|
47
|
+
Agent(
|
|
48
|
+
subagent_type: "rust-expert",
|
|
49
|
+
team_name: "refactor-team",
|
|
50
|
+
run_in_background: true,
|
|
51
|
+
description: "Port the auth module",
|
|
52
|
+
prompt: "..."
|
|
53
|
+
)
|
|
54
|
+
Agent(
|
|
55
|
+
subagent_type: "test-writer",
|
|
56
|
+
team_name: "refactor-team",
|
|
57
|
+
run_in_background: true,
|
|
58
|
+
description: "Write tests",
|
|
59
|
+
prompt: "..."
|
|
60
|
+
)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Both members can now exchange messages via `SendMessage`.
|
|
64
|
+
|
|
65
|
+
## What is NOT blocked
|
|
66
|
+
|
|
67
|
+
- **Foreground `Agent`** (any `subagent_type`, no `run_in_background`): always allowed. Use this for simple delegation where you just need the result.
|
|
68
|
+
- **Background `Agent` with `team_name` set**: allowed because the agent has a coordination channel.
|
|
69
|
+
- **Background `Agent` with `subagent_type: "team-lead"`**: allowed because a team-lead is expected to bootstrap its Team before dispatching members.
|
|
70
|
+
|
|
71
|
+
## Environment requirement
|
|
72
|
+
|
|
73
|
+
This feature requires `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` in your
|
|
74
|
+
`.claude/settings.json`. Rulebook sets this automatically when
|
|
75
|
+
`multi_agent: true` is enabled in `.rulebook/rulebook.json`.
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: no-deferred
|
|
3
|
-
tier: 2
|
|
4
|
-
description: "Never defer tasks — implement or explain why impossible"
|
|
5
|
-
alwaysApply: true
|
|
6
|
-
filePatterns: ["*"]
|
|
7
|
-
tools: ["all"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# No Deferred Tasks
|
|
11
|
-
|
|
12
|
-
If a task is in the checklist, **implement it**. No exceptions.
|
|
13
|
-
|
|
14
|
-
## Forbidden
|
|
15
|
-
|
|
16
|
-
- Marking tasks as "Deferred"
|
|
17
|
-
- Writing "Deferred — requires X"
|
|
18
|
-
- Skipping tasks with excuses
|
|
19
|
-
- Partial implementations with "will do later"
|
|
20
|
-
|
|
21
|
-
## Required Behavior
|
|
22
|
-
|
|
23
|
-
If a task has a genuine dependency:
|
|
24
|
-
1. Implement the dependency FIRST
|
|
25
|
-
2. Then implement the task
|
|
26
|
-
3. Mark BOTH as done
|
|
27
|
-
|
|
28
|
-
If you truly cannot implement something:
|
|
29
|
-
1. Explain WHY in concrete terms
|
|
30
|
-
2. Propose an alternative solution
|
|
31
|
-
3. Do NOT just write "Deferred"
|
|
1
|
+
---
|
|
2
|
+
name: no-deferred
|
|
3
|
+
tier: 2
|
|
4
|
+
description: "Never defer tasks — implement or explain why impossible"
|
|
5
|
+
alwaysApply: true
|
|
6
|
+
filePatterns: ["*"]
|
|
7
|
+
tools: ["all"]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# No Deferred Tasks
|
|
11
|
+
|
|
12
|
+
If a task is in the checklist, **implement it**. No exceptions.
|
|
13
|
+
|
|
14
|
+
## Forbidden
|
|
15
|
+
|
|
16
|
+
- Marking tasks as "Deferred"
|
|
17
|
+
- Writing "Deferred — requires X"
|
|
18
|
+
- Skipping tasks with excuses
|
|
19
|
+
- Partial implementations with "will do later"
|
|
20
|
+
|
|
21
|
+
## Required Behavior
|
|
22
|
+
|
|
23
|
+
If a task has a genuine dependency:
|
|
24
|
+
1. Implement the dependency FIRST
|
|
25
|
+
2. Then implement the task
|
|
26
|
+
3. Mark BOTH as done
|
|
27
|
+
|
|
28
|
+
If you truly cannot implement something:
|
|
29
|
+
1. Explain WHY in concrete terms
|
|
30
|
+
2. Propose an alternative solution
|
|
31
|
+
3. Do NOT just write "Deferred"
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: no-shortcuts
|
|
3
|
-
tier: 1
|
|
4
|
-
description: "Never use stubs, TODOs, placeholders, or approximations"
|
|
5
|
-
alwaysApply: true
|
|
6
|
-
filePatterns: ["*"]
|
|
7
|
-
tools: ["all"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# No Shortcuts — Quality Over Speed
|
|
11
|
-
|
|
12
|
-
Response time is IRRELEVANT. The ONLY thing that matters is quality.
|
|
13
|
-
|
|
14
|
-
## Absolutely Forbidden
|
|
15
|
-
|
|
16
|
-
1. **NEVER simplify logic** to deliver faster — implement the correct algorithm
|
|
17
|
-
2. **NEVER add TODOs** — if it needs to be done, do it NOW
|
|
18
|
-
3. **NEVER use stubs** — every function must have its real implementation
|
|
19
|
-
4. **NEVER use placeholders** — no `// placeholder`, no `return 0; // fixme`
|
|
20
|
-
5. **NEVER cut corners** to reduce output size
|
|
21
|
-
6. **NEVER skip edge cases** — handle all of them
|
|
22
|
-
7. **NEVER deliver partial implementations** — complete or explain why not
|
|
23
|
-
8. **NEVER alter existing logic** to make your task easier
|
|
24
|
-
|
|
25
|
-
## Required Behavior
|
|
26
|
-
|
|
27
|
-
- **Research** the correct approach before writing code
|
|
28
|
-
- **Implement completely** — every function, every edge case, every error path
|
|
29
|
-
- **Take as long as needed** — correct > fast
|
|
30
|
-
- **Ask if unsure** — propose a plan, never silently simplify
|
|
1
|
+
---
|
|
2
|
+
name: no-shortcuts
|
|
3
|
+
tier: 1
|
|
4
|
+
description: "Never use stubs, TODOs, placeholders, or approximations"
|
|
5
|
+
alwaysApply: true
|
|
6
|
+
filePatterns: ["*"]
|
|
7
|
+
tools: ["all"]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# No Shortcuts — Quality Over Speed
|
|
11
|
+
|
|
12
|
+
Response time is IRRELEVANT. The ONLY thing that matters is quality.
|
|
13
|
+
|
|
14
|
+
## Absolutely Forbidden
|
|
15
|
+
|
|
16
|
+
1. **NEVER simplify logic** to deliver faster — implement the correct algorithm
|
|
17
|
+
2. **NEVER add TODOs** — if it needs to be done, do it NOW
|
|
18
|
+
3. **NEVER use stubs** — every function must have its real implementation
|
|
19
|
+
4. **NEVER use placeholders** — no `// placeholder`, no `return 0; // fixme`
|
|
20
|
+
5. **NEVER cut corners** to reduce output size
|
|
21
|
+
6. **NEVER skip edge cases** — handle all of them
|
|
22
|
+
7. **NEVER deliver partial implementations** — complete or explain why not
|
|
23
|
+
8. **NEVER alter existing logic** to make your task easier
|
|
24
|
+
|
|
25
|
+
## Required Behavior
|
|
26
|
+
|
|
27
|
+
- **Research** the correct approach before writing code
|
|
28
|
+
- **Implement completely** — every function, every edge case, every error path
|
|
29
|
+
- **Take as long as needed** — correct > fast
|
|
30
|
+
- **Ask if unsure** — propose a plan, never silently simplify
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
---
|
|
2
|
-
paths:
|
|
3
|
-
- "**/*.py"
|
|
4
|
-
- "**/*.pyi"
|
|
5
|
-
- "pyproject.toml"
|
|
6
|
-
- "setup.py"
|
|
7
|
-
- "setup.cfg"
|
|
8
|
-
- "requirements*.txt"
|
|
9
|
-
---
|
|
10
|
-
<!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
|
|
11
|
-
|
|
12
|
-
# Python rules
|
|
13
|
-
|
|
14
|
-
Loaded by Claude Code when touching Python files.
|
|
15
|
-
|
|
16
|
-
## Non-negotiables
|
|
17
|
-
|
|
18
|
-
1. **Type-check before test.** Run `mypy` / `pyright` / `pyre` (whichever the project configures) before `pytest`. Type errors are 10x cheaper to discover than test failures.
|
|
19
|
-
2. **Lint with `ruff` or the project's linter** before committing. `ruff check` is fast enough to run on every save.
|
|
20
|
-
3. **Format with `black` / `ruff format`** — never hand-format.
|
|
21
|
-
4. **Type hints on all public functions.** `def foo(x: int) -> str` minimum. Use `from __future__ import annotations` for forward refs.
|
|
22
|
-
5. **No bare `except:`** — catch specific exceptions or `except Exception as e:` at the very least.
|
|
23
|
-
|
|
24
|
-
## Conventions
|
|
25
|
-
|
|
26
|
-
- Follow PEP 8 (handled by the formatter).
|
|
27
|
-
- `pathlib.Path` over `os.path` for filesystem operations.
|
|
28
|
-
- f-strings over `.format()` and `%` formatting.
|
|
29
|
-
- Dataclasses or `pydantic` for data containers, not raw dicts at API boundaries.
|
|
30
|
-
- `logging` module, never `print()`, for anything that ships.
|
|
31
|
-
|
|
32
|
-
## Testing
|
|
33
|
-
|
|
34
|
-
- `pytest` is the default; use the project's configured runner.
|
|
35
|
-
- Fixtures in `conftest.py`, one per module where relevant.
|
|
36
|
-
- `pytest-cov` for coverage; meet the project's threshold.
|
|
37
|
-
- No skipped tests without an explicit comment linking to an issue.
|
|
38
|
-
|
|
39
|
-
## Dependencies & environments
|
|
40
|
-
|
|
41
|
-
- Respect the project's virtualenv / pyenv / poetry / uv setup. Do not install globally.
|
|
42
|
-
- `pyproject.toml` over `setup.py` for new projects.
|
|
43
|
-
- Pin versions in production; unpin only in libraries.
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.py"
|
|
4
|
+
- "**/*.pyi"
|
|
5
|
+
- "pyproject.toml"
|
|
6
|
+
- "setup.py"
|
|
7
|
+
- "setup.cfg"
|
|
8
|
+
- "requirements*.txt"
|
|
9
|
+
---
|
|
10
|
+
<!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
|
|
11
|
+
|
|
12
|
+
# Python rules
|
|
13
|
+
|
|
14
|
+
Loaded by Claude Code when touching Python files.
|
|
15
|
+
|
|
16
|
+
## Non-negotiables
|
|
17
|
+
|
|
18
|
+
1. **Type-check before test.** Run `mypy` / `pyright` / `pyre` (whichever the project configures) before `pytest`. Type errors are 10x cheaper to discover than test failures.
|
|
19
|
+
2. **Lint with `ruff` or the project's linter** before committing. `ruff check` is fast enough to run on every save.
|
|
20
|
+
3. **Format with `black` / `ruff format`** — never hand-format.
|
|
21
|
+
4. **Type hints on all public functions.** `def foo(x: int) -> str` minimum. Use `from __future__ import annotations` for forward refs.
|
|
22
|
+
5. **No bare `except:`** — catch specific exceptions or `except Exception as e:` at the very least.
|
|
23
|
+
|
|
24
|
+
## Conventions
|
|
25
|
+
|
|
26
|
+
- Follow PEP 8 (handled by the formatter).
|
|
27
|
+
- `pathlib.Path` over `os.path` for filesystem operations.
|
|
28
|
+
- f-strings over `.format()` and `%` formatting.
|
|
29
|
+
- Dataclasses or `pydantic` for data containers, not raw dicts at API boundaries.
|
|
30
|
+
- `logging` module, never `print()`, for anything that ships.
|
|
31
|
+
|
|
32
|
+
## Testing
|
|
33
|
+
|
|
34
|
+
- `pytest` is the default; use the project's configured runner.
|
|
35
|
+
- Fixtures in `conftest.py`, one per module where relevant.
|
|
36
|
+
- `pytest-cov` for coverage; meet the project's threshold.
|
|
37
|
+
- No skipped tests without an explicit comment linking to an issue.
|
|
38
|
+
|
|
39
|
+
## Dependencies & environments
|
|
40
|
+
|
|
41
|
+
- Respect the project's virtualenv / pyenv / poetry / uv setup. Do not install globally.
|
|
42
|
+
- `pyproject.toml` over `setup.py` for new projects.
|
|
43
|
+
- Pin versions in production; unpin only in libraries.
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: research-first
|
|
3
|
-
tier: 1
|
|
4
|
-
description: "Always research before implementing — never guess"
|
|
5
|
-
alwaysApply: true
|
|
6
|
-
filePatterns: ["*"]
|
|
7
|
-
tools: ["all"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Research Before Implementing
|
|
11
|
-
|
|
12
|
-
NEVER guess at bug causes, API behavior, or algorithm correctness.
|
|
13
|
-
|
|
14
|
-
## Required Process
|
|
15
|
-
|
|
16
|
-
1. **State what you KNOW** (from logs, debug output, code reading)
|
|
17
|
-
2. **State what you DON'T KNOW**
|
|
18
|
-
3. **Research** the unknown (read source, check docs, use diagnostic tools)
|
|
19
|
-
4. **Only then** implement the fix
|
|
20
|
-
|
|
21
|
-
## Forbidden
|
|
22
|
-
|
|
23
|
-
- Guessing at the cause of a bug
|
|
24
|
-
- "Trying things" to see if they work
|
|
25
|
-
- Hypothesizing without reading code
|
|
26
|
-
- Assuming how an API works without checking docs
|
|
27
|
-
- Iterating blindly — each attempt must be informed by new data
|
|
28
|
-
|
|
29
|
-
**"I think this might be the problem" is NOT acceptable.**
|
|
30
|
-
**"Source X does Y at file:line, we do Z, the difference causes W" IS acceptable.**
|
|
1
|
+
---
|
|
2
|
+
name: research-first
|
|
3
|
+
tier: 1
|
|
4
|
+
description: "Always research before implementing — never guess"
|
|
5
|
+
alwaysApply: true
|
|
6
|
+
filePatterns: ["*"]
|
|
7
|
+
tools: ["all"]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Research Before Implementing
|
|
11
|
+
|
|
12
|
+
NEVER guess at bug causes, API behavior, or algorithm correctness.
|
|
13
|
+
|
|
14
|
+
## Required Process
|
|
15
|
+
|
|
16
|
+
1. **State what you KNOW** (from logs, debug output, code reading)
|
|
17
|
+
2. **State what you DON'T KNOW**
|
|
18
|
+
3. **Research** the unknown (read source, check docs, use diagnostic tools)
|
|
19
|
+
4. **Only then** implement the fix
|
|
20
|
+
|
|
21
|
+
## Forbidden
|
|
22
|
+
|
|
23
|
+
- Guessing at the cause of a bug
|
|
24
|
+
- "Trying things" to see if they work
|
|
25
|
+
- Hypothesizing without reading code
|
|
26
|
+
- Assuming how an API works without checking docs
|
|
27
|
+
- Iterating blindly — each attempt must be informed by new data
|
|
28
|
+
|
|
29
|
+
**"I think this might be the problem" is NOT acceptable.**
|
|
30
|
+
**"Source X does Y at file:line, we do Z, the difference causes W" IS acceptable.**
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
<!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
|
|
2
|
-
|
|
3
|
-
# Respect handoff triggers
|
|
4
|
-
|
|
5
|
-
When you receive `additionalContext` mentioning a **handoff trigger**
|
|
6
|
-
(containing phrases like "CONTEXT AT", "invoke /handoff", or
|
|
7
|
-
"session state"), you MUST:
|
|
8
|
-
|
|
9
|
-
1. **Stop** your current task immediately — do not finish the current
|
|
10
|
-
step, do not start a new one.
|
|
11
|
-
2. **Invoke the `/handoff` skill** to write `.rulebook/handoff/_pending.md`
|
|
12
|
-
with: active task, decisions made this session, files touched, next
|
|
13
|
-
steps, and the exact resume command.
|
|
14
|
-
3. **Display the message** `>>> TYPE /clear NOW — your context will be auto-restored <<<`
|
|
15
|
-
prominently so the user sees it.
|
|
16
|
-
4. **Do not continue working** past the handoff message. The user must
|
|
17
|
-
type `/clear` before any further implementation.
|
|
18
|
-
|
|
19
|
-
## Why
|
|
20
|
-
|
|
21
|
-
Sessions degrade as context fills. Research shows that model quality
|
|
22
|
-
at 80%+ context is measurably lower than at 0–50%. The handoff
|
|
23
|
-
mechanism ensures work is preserved and the next session starts fresh
|
|
24
|
-
with full context loaded via the `SessionStart` resume hook.
|
|
25
|
-
|
|
26
|
-
This rule has the **highest precedence** after `git-safety.md`. If a
|
|
27
|
-
handoff trigger fires while you are mid-edit, finish the current
|
|
28
|
-
atomic write (do not leave a file in a broken state), then stop.
|
|
29
|
-
|
|
30
|
-
## What triggers a handoff
|
|
31
|
-
|
|
32
|
-
The `Stop` hook (`check-context-and-handoff.sh`) estimates context
|
|
33
|
-
usage from the JSONL transcript. Two thresholds:
|
|
34
|
-
|
|
35
|
-
- **warn (default 75%)**: advisory — the model should invoke `/handoff`
|
|
36
|
-
and suggest `/clear`.
|
|
37
|
-
- **force (default 90%)**: mandatory — the model MUST invoke `/handoff`
|
|
38
|
-
and MUST NOT continue working.
|
|
39
|
-
|
|
40
|
-
Both thresholds are configurable in `.rulebook/rulebook.json` under
|
|
41
|
-
`handoff.warnThresholdPct` and `handoff.forceThresholdPct`.
|
|
1
|
+
<!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
|
|
2
|
+
|
|
3
|
+
# Respect handoff triggers
|
|
4
|
+
|
|
5
|
+
When you receive `additionalContext` mentioning a **handoff trigger**
|
|
6
|
+
(containing phrases like "CONTEXT AT", "invoke /handoff", or
|
|
7
|
+
"session state"), you MUST:
|
|
8
|
+
|
|
9
|
+
1. **Stop** your current task immediately — do not finish the current
|
|
10
|
+
step, do not start a new one.
|
|
11
|
+
2. **Invoke the `/handoff` skill** to write `.rulebook/handoff/_pending.md`
|
|
12
|
+
with: active task, decisions made this session, files touched, next
|
|
13
|
+
steps, and the exact resume command.
|
|
14
|
+
3. **Display the message** `>>> TYPE /clear NOW — your context will be auto-restored <<<`
|
|
15
|
+
prominently so the user sees it.
|
|
16
|
+
4. **Do not continue working** past the handoff message. The user must
|
|
17
|
+
type `/clear` before any further implementation.
|
|
18
|
+
|
|
19
|
+
## Why
|
|
20
|
+
|
|
21
|
+
Sessions degrade as context fills. Research shows that model quality
|
|
22
|
+
at 80%+ context is measurably lower than at 0–50%. The handoff
|
|
23
|
+
mechanism ensures work is preserved and the next session starts fresh
|
|
24
|
+
with full context loaded via the `SessionStart` resume hook.
|
|
25
|
+
|
|
26
|
+
This rule has the **highest precedence** after `git-safety.md`. If a
|
|
27
|
+
handoff trigger fires while you are mid-edit, finish the current
|
|
28
|
+
atomic write (do not leave a file in a broken state), then stop.
|
|
29
|
+
|
|
30
|
+
## What triggers a handoff
|
|
31
|
+
|
|
32
|
+
The `Stop` hook (`check-context-and-handoff.sh`) estimates context
|
|
33
|
+
usage from the JSONL transcript. Two thresholds:
|
|
34
|
+
|
|
35
|
+
- **warn (default 75%)**: advisory — the model should invoke `/handoff`
|
|
36
|
+
and suggest `/clear`.
|
|
37
|
+
- **force (default 90%)**: mandatory — the model MUST invoke `/handoff`
|
|
38
|
+
and MUST NOT continue working.
|
|
39
|
+
|
|
40
|
+
Both thresholds are configurable in `.rulebook/rulebook.json` under
|
|
41
|
+
`handoff.warnThresholdPct` and `handoff.forceThresholdPct`.
|
package/templates/rules/rust.md
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
---
|
|
2
|
-
paths:
|
|
3
|
-
- "**/*.rs"
|
|
4
|
-
- "Cargo.toml"
|
|
5
|
-
- "Cargo.lock"
|
|
6
|
-
- "rust-toolchain.toml"
|
|
7
|
-
---
|
|
8
|
-
<!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
|
|
9
|
-
|
|
10
|
-
# Rust rules
|
|
11
|
-
|
|
12
|
-
Loaded by Claude Code when touching Rust sources or Cargo manifests.
|
|
13
|
-
|
|
14
|
-
## Non-negotiables
|
|
15
|
-
|
|
16
|
-
1. **`cargo check` before `cargo test`.** Check is 5–10x faster and surfaces type/borrow errors immediately. `cargo test` runs the checker anyway, but you lose the fast feedback loop.
|
|
17
|
-
2. **`cargo clippy -- -D warnings`** must pass before committing. Warnings are errors in this project.
|
|
18
|
-
3. **`cargo fmt`** before committing. Formatting is not a stylistic choice — `rustfmt` is the only authority.
|
|
19
|
-
4. **No `unwrap()` / `expect()` in non-test code** unless the invariant is obvious from the surrounding 5 lines. Prefer `?` and proper error types.
|
|
20
|
-
5. **No `unsafe` without a `// SAFETY:` comment** explaining why the invariants hold.
|
|
21
|
-
|
|
22
|
-
## Conventions
|
|
23
|
-
|
|
24
|
-
- Error types: use `thiserror` for libraries, `anyhow` for applications. Do not mix.
|
|
25
|
-
- `Result<T, E>` returns on public APIs; never panic for recoverable errors.
|
|
26
|
-
- `#[must_use]` on functions returning a value the caller must handle.
|
|
27
|
-
- Lifetimes explicit only when the compiler asks for them. Do not add elided lifetimes "for clarity".
|
|
28
|
-
- Trait bounds on the impl block, not on every method, unless they genuinely differ.
|
|
29
|
-
|
|
30
|
-
## Testing
|
|
31
|
-
|
|
32
|
-
- Unit tests in `#[cfg(test)] mod tests { ... }` at the bottom of the same file.
|
|
33
|
-
- Integration tests in `tests/`, one file per public behavior.
|
|
34
|
-
- `cargo test --all-features` is the baseline; default features may hide bugs.
|
|
35
|
-
|
|
36
|
-
## Build & tooling
|
|
37
|
-
|
|
38
|
-
- Never commit `target/` or `Cargo.lock` for libraries (commit for binaries).
|
|
39
|
-
- Prefer `cargo add <crate>` over editing `Cargo.toml` by hand.
|
|
40
|
-
- Use `cargo-watch` locally; never add watchers to CI.
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.rs"
|
|
4
|
+
- "Cargo.toml"
|
|
5
|
+
- "Cargo.lock"
|
|
6
|
+
- "rust-toolchain.toml"
|
|
7
|
+
---
|
|
8
|
+
<!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
|
|
9
|
+
|
|
10
|
+
# Rust rules
|
|
11
|
+
|
|
12
|
+
Loaded by Claude Code when touching Rust sources or Cargo manifests.
|
|
13
|
+
|
|
14
|
+
## Non-negotiables
|
|
15
|
+
|
|
16
|
+
1. **`cargo check` before `cargo test`.** Check is 5–10x faster and surfaces type/borrow errors immediately. `cargo test` runs the checker anyway, but you lose the fast feedback loop.
|
|
17
|
+
2. **`cargo clippy -- -D warnings`** must pass before committing. Warnings are errors in this project.
|
|
18
|
+
3. **`cargo fmt`** before committing. Formatting is not a stylistic choice — `rustfmt` is the only authority.
|
|
19
|
+
4. **No `unwrap()` / `expect()` in non-test code** unless the invariant is obvious from the surrounding 5 lines. Prefer `?` and proper error types.
|
|
20
|
+
5. **No `unsafe` without a `// SAFETY:` comment** explaining why the invariants hold.
|
|
21
|
+
|
|
22
|
+
## Conventions
|
|
23
|
+
|
|
24
|
+
- Error types: use `thiserror` for libraries, `anyhow` for applications. Do not mix.
|
|
25
|
+
- `Result<T, E>` returns on public APIs; never panic for recoverable errors.
|
|
26
|
+
- `#[must_use]` on functions returning a value the caller must handle.
|
|
27
|
+
- Lifetimes explicit only when the compiler asks for them. Do not add elided lifetimes "for clarity".
|
|
28
|
+
- Trait bounds on the impl block, not on every method, unless they genuinely differ.
|
|
29
|
+
|
|
30
|
+
## Testing
|
|
31
|
+
|
|
32
|
+
- Unit tests in `#[cfg(test)] mod tests { ... }` at the bottom of the same file.
|
|
33
|
+
- Integration tests in `tests/`, one file per public behavior.
|
|
34
|
+
- `cargo test --all-features` is the baseline; default features may hide bugs.
|
|
35
|
+
|
|
36
|
+
## Build & tooling
|
|
37
|
+
|
|
38
|
+
- Never commit `target/` or `Cargo.lock` for libraries (commit for binaries).
|
|
39
|
+
- Prefer `cargo add <crate>` over editing `Cargo.toml` by hand.
|
|
40
|
+
- Use `cargo-watch` locally; never add watchers to CI.
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sequential-editing
|
|
3
|
-
tier: 1
|
|
4
|
-
description: "Edit files one at a time, never batch-edit"
|
|
5
|
-
alwaysApply: true
|
|
6
|
-
filePatterns: ["*"]
|
|
7
|
-
tools: ["all"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Sequential File Editing
|
|
11
|
-
|
|
12
|
-
ALWAYS edit files one at a time: Read file1 → Edit file1 → Read file2 → Edit file2.
|
|
13
|
-
|
|
14
|
-
NEVER batch-read multiple files then batch-edit them. By the time you edit file 3, context from file 1 may be stale.
|
|
15
|
-
|
|
16
|
-
When a task touches 3+ files across subsystems:
|
|
17
|
-
1. **STOP** — do not start implementing
|
|
18
|
-
2. **Plan** the changes (list files, dependency order)
|
|
19
|
-
3. **Decompose** into sub-tasks of 1-2 files each
|
|
20
|
-
4. **Execute** sub-tasks in dependency order (upstream first)
|
|
21
|
-
5. **Build/test** after each sub-task
|
|
1
|
+
---
|
|
2
|
+
name: sequential-editing
|
|
3
|
+
tier: 1
|
|
4
|
+
description: "Edit files one at a time, never batch-edit"
|
|
5
|
+
alwaysApply: true
|
|
6
|
+
filePatterns: ["*"]
|
|
7
|
+
tools: ["all"]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Sequential File Editing
|
|
11
|
+
|
|
12
|
+
ALWAYS edit files one at a time: Read file1 → Edit file1 → Read file2 → Edit file2.
|
|
13
|
+
|
|
14
|
+
NEVER batch-read multiple files then batch-edit them. By the time you edit file 3, context from file 1 may be stale.
|
|
15
|
+
|
|
16
|
+
When a task touches 3+ files across subsystems:
|
|
17
|
+
1. **STOP** — do not start implementing
|
|
18
|
+
2. **Plan** the changes (list files, dependency order)
|
|
19
|
+
3. **Decompose** into sub-tasks of 1-2 files each
|
|
20
|
+
4. **Execute** sub-tasks in dependency order (upstream first)
|
|
21
|
+
5. **Build/test** after each sub-task
|