@hivehub/rulebook 5.4.1 → 5.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/analysis.md +35 -35
- package/.claude/commands/continue.md +33 -33
- package/.claude/commands/ralph-config.md +112 -112
- package/.claude/commands/ralph-history.md +110 -110
- package/.claude/commands/ralph-init.md +72 -72
- package/.claude/commands/ralph-pause-resume.md +105 -105
- package/.claude/commands/ralph-run.md +101 -101
- package/.claude/commands/ralph-status.md +76 -76
- package/.claude/commands/rulebook-decision-create.md +55 -55
- package/.claude/commands/rulebook-decision-list.md +15 -15
- package/.claude/commands/rulebook-knowledge-add.md +41 -41
- package/.claude/commands/rulebook-knowledge-list.md +15 -15
- package/.claude/commands/rulebook-learn-capture.md +48 -48
- package/.claude/commands/rulebook-learn-list.md +13 -13
- package/.claude/commands/rulebook-memory-save.md +48 -48
- package/.claude/commands/rulebook-memory-search.md +47 -47
- package/.claude/commands/rulebook-task-apply.md +67 -67
- package/.claude/commands/rulebook-task-archive.md +94 -94
- package/.claude/commands/rulebook-task-create.md +93 -93
- package/.claude/commands/rulebook-task-list.md +42 -42
- package/.claude/commands/rulebook-task-show.md +52 -52
- package/.claude/commands/rulebook-task-validate.md +53 -53
- package/.claude-plugin/marketplace.json +28 -28
- package/.claude-plugin/plugin.json +8 -8
- package/README.md +394 -393
- package/dist/core/generator.d.ts +1 -1
- package/dist/core/generator.d.ts.map +1 -1
- package/dist/core/generator.js +1 -0
- package/dist/core/generator.js.map +1 -1
- package/dist/hooks/terse-activate.d.ts +59 -0
- package/dist/hooks/terse-activate.d.ts.map +1 -0
- package/dist/hooks/terse-activate.js +149 -0
- package/dist/hooks/terse-activate.js.map +1 -0
- package/dist/hooks/terse-config.d.ts +51 -0
- package/dist/hooks/terse-config.d.ts.map +1 -0
- package/dist/hooks/terse-config.js +130 -0
- package/dist/hooks/terse-config.js.map +1 -0
- package/dist/hooks/terse-mode-tracker.d.ts +78 -0
- package/dist/hooks/terse-mode-tracker.d.ts.map +1 -0
- package/dist/hooks/terse-mode-tracker.js +213 -0
- package/dist/hooks/terse-mode-tracker.js.map +1 -0
- package/dist/index.js +0 -0
- package/dist/mcp/rulebook-server.js +0 -0
- package/package.json +21 -22
- package/templates/agents/accessibility-reviewer.md +43 -43
- package/templates/agents/api-designer.md +42 -42
- 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/compiler/codegen-debugger.md +34 -34
- package/templates/agents/compiler/stdlib-engineer.md +28 -28
- package/templates/agents/compiler/test-coverage-guardian.md +31 -31
- package/templates/agents/context-intelligence.md +52 -52
- package/templates/agents/database-architect.md +41 -41
- package/templates/agents/devops-engineer.md +42 -42
- package/templates/agents/docs-writer.md +38 -38
- package/templates/agents/game-engine/cpp-core-expert.md +35 -35
- package/templates/agents/game-engine/render-engineer.md +22 -22
- package/templates/agents/game-engine/shader-engineer.md +38 -38
- package/templates/agents/game-engine/systems-integration.md +43 -43
- package/templates/agents/generic/code-reviewer.md +41 -41
- package/templates/agents/generic/docs-writer.md +25 -25
- package/templates/agents/generic/project-manager.md +36 -36
- package/templates/agents/generic/researcher.md +34 -34
- package/templates/agents/generic/test-engineer.md +41 -41
- package/templates/agents/i18n-engineer.md +42 -42
- package/templates/agents/implementer.md +42 -42
- package/templates/agents/migration-engineer.md +42 -42
- package/templates/agents/mobile/platform-specialist.md +22 -22
- package/templates/agents/mobile/ui-engineer.md +22 -22
- package/templates/agents/performance-engineer.md +49 -49
- package/templates/agents/refactoring-agent.md +41 -41
- 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/agents/ux-reviewer.md +43 -43
- package/templates/agents/web-app/api-designer.md +22 -22
- package/templates/agents/web-app/backend-engineer.md +30 -30
- package/templates/agents/web-app/database-engineer.md +22 -22
- package/templates/agents/web-app/frontend-engineer.md +29 -29
- package/templates/agents/web-app/security-reviewer.md +32 -32
- package/templates/ci/rulebook-review.yml +26 -26
- package/templates/cli/AIDER.md +49 -49
- package/templates/cli/AMAZON_Q.md +25 -25
- package/templates/cli/AUGGIE.md +32 -32
- package/templates/cli/CLAUDE.md +117 -117
- package/templates/cli/CLINE.md +99 -99
- package/templates/cli/CODEBUDDY.md +20 -20
- package/templates/cli/CODEIUM.md +20 -20
- package/templates/cli/CODEX.md +21 -21
- package/templates/cli/CONTINUE.md +34 -34
- package/templates/cli/CURSOR_CLI.md +62 -62
- package/templates/cli/FACTORY.md +18 -18
- package/templates/cli/GEMINI.md +35 -35
- package/templates/cli/KILOCODE.md +18 -18
- package/templates/cli/OPENCODE.md +18 -18
- 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 +48 -48
- package/templates/commands/rulebook-learn-list.md +13 -13
- package/templates/commands/rulebook-memory-save.md +48 -48
- package/templates/commands/rulebook-memory-search.md +47 -47
- 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 +26 -1
- package/templates/core/AGENTS_OVERRIDE.md +16 -16
- package/templates/core/AGENT_AUTOMATION.md +296 -296
- package/templates/core/CLAUDE_MD_v2.md +90 -71
- 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/RALPH.md +471 -471
- package/templates/core/RULEBOOK.md +1947 -1947
- package/templates/core/TIER1_PROHIBITIONS.md +154 -154
- package/templates/core/TOKEN_OPTIMIZATION.md +49 -49
- package/templates/frameworks/ANGULAR.md +36 -36
- package/templates/frameworks/DJANGO.md +83 -83
- package/templates/frameworks/ELECTRON.md +147 -147
- package/templates/frameworks/FLASK.md +38 -38
- package/templates/frameworks/FLUTTER.md +55 -55
- package/templates/frameworks/JQUERY.md +32 -32
- package/templates/frameworks/LARAVEL.md +38 -38
- package/templates/frameworks/NESTJS.md +43 -43
- package/templates/frameworks/NEXTJS.md +127 -127
- package/templates/frameworks/NUXT.md +40 -40
- package/templates/frameworks/RAILS.md +66 -66
- package/templates/frameworks/REACT.md +38 -38
- package/templates/frameworks/REACT_NATIVE.md +47 -47
- package/templates/frameworks/SPRING.md +39 -39
- package/templates/frameworks/SYMFONY.md +36 -36
- package/templates/frameworks/VUE.md +36 -36
- package/templates/frameworks/ZEND.md +35 -35
- 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/check-context-and-handoff.ps1 +58 -58
- package/templates/hooks/check-context-and-handoff.sh +76 -76
- package/templates/hooks/enforce-team-for-background-agents.ps1 +63 -63
- package/templates/hooks/enforce-team-for-background-agents.sh +55 -55
- package/templates/hooks/on-compact-reinject.sh +34 -34
- package/templates/hooks/resume-from-handoff.ps1 +40 -40
- package/templates/hooks/resume-from-handoff.sh +61 -61
- package/templates/hooks/terse-activate.ps1 +143 -143
- package/templates/hooks/terse-activate.sh +197 -197
- package/templates/hooks/terse-mode-tracker.ps1 +153 -153
- package/templates/hooks/terse-mode-tracker.sh +187 -187
- package/templates/ides/CONTINUE_RULES.md +16 -16
- package/templates/ides/COPILOT.md +37 -37
- package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -23
- package/templates/ides/CURSOR.md +43 -43
- package/templates/ides/GEMINI_RULES.md +17 -17
- package/templates/ides/JETBRAINS_AI.md +35 -35
- package/templates/ides/REPLIT.md +36 -36
- package/templates/ides/TABNINE.md +29 -29
- package/templates/ides/VSCODE.md +40 -40
- package/templates/ides/WINDSURF.md +36 -36
- package/templates/ides/WINDSURF_RULES.md +14 -14
- package/templates/ides/ZED.md +32 -32
- package/templates/ides/cursor-mdc/go.mdc +24 -24
- package/templates/ides/cursor-mdc/python.mdc +24 -24
- package/templates/ides/cursor-mdc/quality.mdc +25 -25
- package/templates/ides/cursor-mdc/ralph.mdc +39 -39
- package/templates/ides/cursor-mdc/rulebook.mdc +38 -38
- package/templates/ides/cursor-mdc/rust.mdc +24 -24
- package/templates/ides/cursor-mdc/typescript.mdc +25 -25
- 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/ATLASSIAN.md +255 -255
- package/templates/modules/CONTEXT7.md +54 -54
- package/templates/modules/FIGMA.md +267 -267
- package/templates/modules/GITHUB_MCP.md +64 -64
- package/templates/modules/GRAFANA.md +328 -328
- package/templates/modules/MEMORY.md +126 -126
- package/templates/modules/NOTION.md +247 -247
- 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/ralph/ralph-history.bat +4 -4
- package/templates/ralph/ralph-history.sh +5 -5
- package/templates/ralph/ralph-init.bat +5 -5
- package/templates/ralph/ralph-init.sh +5 -5
- package/templates/ralph/ralph-pause.bat +5 -5
- package/templates/ralph/ralph-pause.sh +5 -5
- package/templates/ralph/ralph-run.bat +5 -5
- package/templates/ralph/ralph-run.sh +5 -5
- package/templates/ralph/ralph-status.bat +4 -4
- package/templates/ralph/ralph-status.sh +5 -5
- package/templates/rules/consult-analysis-before-implementing.md +23 -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/services/AZURE_BLOB.md +184 -184
- package/templates/services/CASSANDRA.md +239 -239
- package/templates/services/DATADOG.md +26 -26
- package/templates/services/DOCKER.md +124 -124
- package/templates/services/DOCKER_COMPOSE.md +168 -168
- package/templates/services/DYNAMODB.md +308 -308
- package/templates/services/ELASTICSEARCH.md +347 -347
- package/templates/services/GCS.md +178 -178
- package/templates/services/HELM.md +194 -194
- package/templates/services/INFLUXDB.md +265 -265
- package/templates/services/KAFKA.md +341 -341
- package/templates/services/KUBERNETES.md +208 -208
- package/templates/services/MARIADB.md +183 -183
- package/templates/services/MEMCACHED.md +242 -242
- package/templates/services/MINIO.md +201 -201
- package/templates/services/MONGODB.md +268 -268
- package/templates/services/MYSQL.md +358 -358
- package/templates/services/NEO4J.md +247 -247
- package/templates/services/OPENTELEMETRY.md +25 -25
- package/templates/services/ORACLE.md +290 -290
- package/templates/services/PINO.md +24 -24
- package/templates/services/POSTGRESQL.md +326 -326
- package/templates/services/PROMETHEUS.md +33 -33
- package/templates/services/RABBITMQ.md +286 -286
- package/templates/services/REDIS.md +292 -292
- package/templates/services/S3.md +298 -298
- package/templates/services/SENTRY.md +23 -23
- package/templates/services/SQLITE.md +294 -294
- package/templates/services/SQLSERVER.md +294 -294
- package/templates/services/WINSTON.md +30 -30
- package/templates/skills/cli/aider/SKILL.md +59 -59
- package/templates/skills/cli/amazon-q/SKILL.md +35 -35
- package/templates/skills/cli/auggie/SKILL.md +42 -42
- package/templates/skills/cli/claude/SKILL.md +42 -42
- package/templates/skills/cli/cline/SKILL.md +42 -42
- package/templates/skills/cli/codebuddy/SKILL.md +30 -30
- package/templates/skills/cli/codeium/SKILL.md +30 -30
- package/templates/skills/cli/codex/SKILL.md +31 -31
- package/templates/skills/cli/continue/SKILL.md +44 -44
- package/templates/skills/cli/cursor-cli/SKILL.md +38 -38
- package/templates/skills/cli/factory/SKILL.md +28 -28
- package/templates/skills/cli/gemini/SKILL.md +45 -45
- package/templates/skills/cli/kilocode/SKILL.md +28 -28
- package/templates/skills/cli/opencode/SKILL.md +28 -28
- 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/karpathy-guidelines/SKILL.md +93 -0
- 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/frameworks/angular/SKILL.md +46 -46
- package/templates/skills/frameworks/django/SKILL.md +93 -93
- package/templates/skills/frameworks/electron/SKILL.md +157 -157
- package/templates/skills/frameworks/flask/SKILL.md +48 -48
- package/templates/skills/frameworks/flutter/SKILL.md +65 -65
- package/templates/skills/frameworks/jquery/SKILL.md +42 -42
- package/templates/skills/frameworks/laravel/SKILL.md +48 -48
- package/templates/skills/frameworks/nestjs/SKILL.md +53 -53
- package/templates/skills/frameworks/nextjs/SKILL.md +137 -137
- package/templates/skills/frameworks/nuxt/SKILL.md +50 -50
- package/templates/skills/frameworks/rails/SKILL.md +76 -76
- package/templates/skills/frameworks/react/SKILL.md +48 -48
- package/templates/skills/frameworks/react-native/SKILL.md +57 -57
- package/templates/skills/frameworks/spring/SKILL.md +49 -49
- package/templates/skills/frameworks/symfony/SKILL.md +46 -46
- package/templates/skills/frameworks/vue/SKILL.md +46 -46
- package/templates/skills/frameworks/zend/SKILL.md +45 -45
- package/templates/skills/ides/copilot/SKILL.md +47 -47
- package/templates/skills/ides/cursor/SKILL.md +53 -53
- package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -45
- package/templates/skills/ides/replit/SKILL.md +46 -46
- package/templates/skills/ides/tabnine/SKILL.md +39 -39
- package/templates/skills/ides/vscode/SKILL.md +50 -50
- package/templates/skills/ides/windsurf/SKILL.md +46 -46
- package/templates/skills/ides/zed/SKILL.md +42 -42
- 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/atlassian/SKILL.md +265 -265
- package/templates/skills/modules/context7/SKILL.md +64 -64
- package/templates/skills/modules/figma/SKILL.md +277 -277
- package/templates/skills/modules/github-mcp/SKILL.md +74 -74
- package/templates/skills/modules/grafana/SKILL.md +338 -338
- package/templates/skills/modules/memory/SKILL.md +73 -73
- package/templates/skills/modules/notion/SKILL.md +257 -257
- 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/templates/skills/services/azure-blob/SKILL.md +194 -194
- package/templates/skills/services/cassandra/SKILL.md +249 -249
- package/templates/skills/services/dynamodb/SKILL.md +318 -318
- package/templates/skills/services/elasticsearch/SKILL.md +357 -357
- package/templates/skills/services/gcs/SKILL.md +188 -188
- package/templates/skills/services/influxdb/SKILL.md +275 -275
- package/templates/skills/services/kafka/SKILL.md +351 -351
- package/templates/skills/services/mariadb/SKILL.md +193 -193
- package/templates/skills/services/memcached/SKILL.md +252 -252
- package/templates/skills/services/minio/SKILL.md +211 -211
- package/templates/skills/services/mongodb/SKILL.md +278 -278
- package/templates/skills/services/mysql/SKILL.md +368 -368
- package/templates/skills/services/neo4j/SKILL.md +257 -257
- package/templates/skills/services/oracle/SKILL.md +300 -300
- package/templates/skills/services/postgresql/SKILL.md +336 -336
- package/templates/skills/services/rabbitmq/SKILL.md +296 -296
- package/templates/skills/services/redis/SKILL.md +302 -302
- package/templates/skills/services/s3/SKILL.md +308 -308
- package/templates/skills/services/sqlite/SKILL.md +304 -304
- package/templates/skills/services/sqlserver/SKILL.md +304 -304
- package/templates/skills/workflows/ralph/SKILL.md +309 -309
- package/templates/skills/workflows/ralph/install.sh +87 -87
- package/templates/skills/workflows/ralph/manifest.json +158 -158
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
<!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
|
|
2
|
-
|
|
3
|
-
# Fail twice → escalate
|
|
4
|
-
|
|
5
|
-
If a fix attempt fails **twice with the same approach**, you MUST:
|
|
6
|
-
|
|
7
|
-
1. **Stop** — do not try a third variation of the same approach
|
|
8
|
-
2. **Analyze** what went wrong — identify root causes, not symptoms
|
|
9
|
-
3. **Escalate** — choose one:
|
|
10
|
-
- Open a **Team** (`TeamCreate`) and bring in a specialist agent
|
|
11
|
-
- **Research** the problem (read source code, search docs, use diagnostic tools)
|
|
12
|
-
- **Ask the user** for guidance (only if research does not resolve it)
|
|
13
|
-
4. **Record** the failed approach as context so the next attempt is informed
|
|
14
|
-
|
|
15
|
-
## Why
|
|
16
|
-
|
|
17
|
-
LLMs in agentic loops tend to retry the same approach with minor
|
|
18
|
-
variations until the iteration limit is reached. This wastes cycles
|
|
19
|
-
and produces cascading patches that are harder to debug than a clean
|
|
20
|
-
restart. The "fail twice → escalate" pattern breaks the loop early.
|
|
21
|
-
|
|
22
|
-
**Evidence**: UzEngine's "RULE -3" (FAIL TWICE → OPEN TEAM) has been
|
|
23
|
-
field-validated across 30+ specialized sub-agents. The LLM-IR-debugging
|
|
24
|
-
paper (§6) documents the same failure mode and confirms that structural
|
|
25
|
-
escape mechanisms are effective.
|
|
26
|
-
|
|
27
|
-
## What counts as "the same approach"
|
|
28
|
-
|
|
29
|
-
Two attempts are "the same approach" if:
|
|
30
|
-
- They modify the same file(s) in the same function/block
|
|
31
|
-
- They produce the same category of error (e.g. both fail the type-checker)
|
|
32
|
-
- The second attempt is a small variation of the first (e.g. changing a
|
|
33
|
-
parameter value, adding a cast, swapping an operator)
|
|
34
|
-
|
|
35
|
-
Two attempts are "different approaches" if:
|
|
36
|
-
- They target different root causes
|
|
37
|
-
- They modify different subsystems
|
|
38
|
-
- The second attempt was informed by new diagnostic information not
|
|
39
|
-
available during the first
|
|
40
|
-
|
|
41
|
-
## Interaction with other rules
|
|
42
|
-
|
|
43
|
-
- **incremental-implementation.md**: "spend more than 3 failed attempts"
|
|
44
|
-
is the outer limit; this rule fires earlier (at 2)
|
|
45
|
-
- **research-first.md**: escalation via research satisfies both rules
|
|
46
|
-
- **git-safety.md**: never revert as an "escalation" — fix forward
|
|
1
|
+
<!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
|
|
2
|
+
|
|
3
|
+
# Fail twice → escalate
|
|
4
|
+
|
|
5
|
+
If a fix attempt fails **twice with the same approach**, you MUST:
|
|
6
|
+
|
|
7
|
+
1. **Stop** — do not try a third variation of the same approach
|
|
8
|
+
2. **Analyze** what went wrong — identify root causes, not symptoms
|
|
9
|
+
3. **Escalate** — choose one:
|
|
10
|
+
- Open a **Team** (`TeamCreate`) and bring in a specialist agent
|
|
11
|
+
- **Research** the problem (read source code, search docs, use diagnostic tools)
|
|
12
|
+
- **Ask the user** for guidance (only if research does not resolve it)
|
|
13
|
+
4. **Record** the failed approach as context so the next attempt is informed
|
|
14
|
+
|
|
15
|
+
## Why
|
|
16
|
+
|
|
17
|
+
LLMs in agentic loops tend to retry the same approach with minor
|
|
18
|
+
variations until the iteration limit is reached. This wastes cycles
|
|
19
|
+
and produces cascading patches that are harder to debug than a clean
|
|
20
|
+
restart. The "fail twice → escalate" pattern breaks the loop early.
|
|
21
|
+
|
|
22
|
+
**Evidence**: UzEngine's "RULE -3" (FAIL TWICE → OPEN TEAM) has been
|
|
23
|
+
field-validated across 30+ specialized sub-agents. The LLM-IR-debugging
|
|
24
|
+
paper (§6) documents the same failure mode and confirms that structural
|
|
25
|
+
escape mechanisms are effective.
|
|
26
|
+
|
|
27
|
+
## What counts as "the same approach"
|
|
28
|
+
|
|
29
|
+
Two attempts are "the same approach" if:
|
|
30
|
+
- They modify the same file(s) in the same function/block
|
|
31
|
+
- They produce the same category of error (e.g. both fail the type-checker)
|
|
32
|
+
- The second attempt is a small variation of the first (e.g. changing a
|
|
33
|
+
parameter value, adding a cast, swapping an operator)
|
|
34
|
+
|
|
35
|
+
Two attempts are "different approaches" if:
|
|
36
|
+
- They target different root causes
|
|
37
|
+
- They modify different subsystems
|
|
38
|
+
- The second attempt was informed by new diagnostic information not
|
|
39
|
+
available during the first
|
|
40
|
+
|
|
41
|
+
## Interaction with other rules
|
|
42
|
+
|
|
43
|
+
- **incremental-implementation.md**: "spend more than 3 failed attempts"
|
|
44
|
+
is the outer limit; this rule fires earlier (at 2)
|
|
45
|
+
- **research-first.md**: escalation via research satisfies both rules
|
|
46
|
+
- **git-safety.md**: never revert as an "escalation" — fix forward
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: follow-task-sequence
|
|
3
|
-
tier: 1
|
|
4
|
-
description: "Execute tasks in the exact order defined — no reordering, no cherry-picking"
|
|
5
|
-
alwaysApply: true
|
|
6
|
-
filePatterns: ["*"]
|
|
7
|
-
tools: ["all"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Follow Task Sequence — No Reordering, No Cherry-Picking
|
|
11
|
-
|
|
12
|
-
When a `tasks.md` checklist defines a sequence, execute items in EXACTLY that order.
|
|
13
|
-
|
|
14
|
-
## Forbidden
|
|
15
|
-
|
|
16
|
-
- Skipping ahead to "easier" or "more interesting" tasks
|
|
17
|
-
- Reordering tasks because you think a different order is better
|
|
18
|
-
- Cherry-picking tasks from the middle of a list
|
|
19
|
-
- Deciding which tasks are "important enough" to do
|
|
20
|
-
- Grouping or batching tasks in a different sequence
|
|
21
|
-
- Starting Phase N+1 before Phase N is 100% complete
|
|
22
|
-
|
|
23
|
-
## Required Behavior
|
|
24
|
-
|
|
25
|
-
1. Read `tasks.md` from top to bottom
|
|
26
|
-
2. Find the FIRST unchecked item (`- [ ]`)
|
|
27
|
-
3. Implement THAT item — not the one you prefer
|
|
28
|
-
4. Mark it `[x]` with what was done
|
|
29
|
-
5. Move to the NEXT unchecked item
|
|
30
|
-
6. Repeat until all items are checked
|
|
31
|
-
|
|
32
|
-
## Why
|
|
33
|
-
|
|
34
|
-
The human spent time defining the task sequence for a reason. The order reflects dependencies, priorities, and a deliberate implementation strategy. When AI agents skip around, dependencies break, progress tracking becomes unreliable, and work has to be redone.
|
|
35
|
-
|
|
36
|
-
**The task list is an ORDER, not a MENU.**
|
|
1
|
+
---
|
|
2
|
+
name: follow-task-sequence
|
|
3
|
+
tier: 1
|
|
4
|
+
description: "Execute tasks in the exact order defined — no reordering, no cherry-picking"
|
|
5
|
+
alwaysApply: true
|
|
6
|
+
filePatterns: ["*"]
|
|
7
|
+
tools: ["all"]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Follow Task Sequence — No Reordering, No Cherry-Picking
|
|
11
|
+
|
|
12
|
+
When a `tasks.md` checklist defines a sequence, execute items in EXACTLY that order.
|
|
13
|
+
|
|
14
|
+
## Forbidden
|
|
15
|
+
|
|
16
|
+
- Skipping ahead to "easier" or "more interesting" tasks
|
|
17
|
+
- Reordering tasks because you think a different order is better
|
|
18
|
+
- Cherry-picking tasks from the middle of a list
|
|
19
|
+
- Deciding which tasks are "important enough" to do
|
|
20
|
+
- Grouping or batching tasks in a different sequence
|
|
21
|
+
- Starting Phase N+1 before Phase N is 100% complete
|
|
22
|
+
|
|
23
|
+
## Required Behavior
|
|
24
|
+
|
|
25
|
+
1. Read `tasks.md` from top to bottom
|
|
26
|
+
2. Find the FIRST unchecked item (`- [ ]`)
|
|
27
|
+
3. Implement THAT item — not the one you prefer
|
|
28
|
+
4. Mark it `[x]` with what was done
|
|
29
|
+
5. Move to the NEXT unchecked item
|
|
30
|
+
6. Repeat until all items are checked
|
|
31
|
+
|
|
32
|
+
## Why
|
|
33
|
+
|
|
34
|
+
The human spent time defining the task sequence for a reason. The order reflects dependencies, priorities, and a deliberate implementation strategy. When AI agents skip around, dependencies break, progress tracking becomes unreliable, and work has to be redone.
|
|
35
|
+
|
|
36
|
+
**The task list is an ORDER, not a MENU.**
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: git-safety
|
|
3
|
-
tier: 1
|
|
4
|
-
description: "Git safety — explicit allow-list, forbidden destructive operations"
|
|
5
|
-
alwaysApply: true
|
|
6
|
-
filePatterns: ["*"]
|
|
7
|
-
tools: ["all"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Git Safety Rules
|
|
11
|
-
|
|
12
|
-
## Allowed (always safe)
|
|
13
|
-
- `git status`, `git diff`, `git log`, `git blame`
|
|
14
|
-
- `git add <files>`, `git commit` (after quality checks)
|
|
15
|
-
|
|
16
|
-
## Forbidden (require explicit user authorization)
|
|
17
|
-
- `git stash` — hidden state gets forgotten
|
|
18
|
-
- `git rebase` — rewrites history
|
|
19
|
-
- `git reset --hard` — destroys uncommitted changes
|
|
20
|
-
- `git checkout -- .` / `git restore .` — discards all changes
|
|
21
|
-
- `git revert` — creates unexpected commits
|
|
22
|
-
- `git cherry-pick` — can cause conflicts
|
|
23
|
-
- `git merge` — requires human judgment
|
|
24
|
-
- `git branch -D` — permanent branch deletion
|
|
25
|
-
- `git push --force` — NEVER on main/master
|
|
26
|
-
- `git clean -f` — permanently deletes untracked files
|
|
27
|
-
- `git checkout <branch>` / `git switch` — breaks concurrent AI sessions
|
|
28
|
-
|
|
29
|
-
Multiple AI sessions may share the same working tree. Branch switching or destructive operations affect ALL concurrent sessions.
|
|
1
|
+
---
|
|
2
|
+
name: git-safety
|
|
3
|
+
tier: 1
|
|
4
|
+
description: "Git safety — explicit allow-list, forbidden destructive operations"
|
|
5
|
+
alwaysApply: true
|
|
6
|
+
filePatterns: ["*"]
|
|
7
|
+
tools: ["all"]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Git Safety Rules
|
|
11
|
+
|
|
12
|
+
## Allowed (always safe)
|
|
13
|
+
- `git status`, `git diff`, `git log`, `git blame`
|
|
14
|
+
- `git add <files>`, `git commit` (after quality checks)
|
|
15
|
+
|
|
16
|
+
## Forbidden (require explicit user authorization)
|
|
17
|
+
- `git stash` — hidden state gets forgotten
|
|
18
|
+
- `git rebase` — rewrites history
|
|
19
|
+
- `git reset --hard` — destroys uncommitted changes
|
|
20
|
+
- `git checkout -- .` / `git restore .` — discards all changes
|
|
21
|
+
- `git revert` — creates unexpected commits
|
|
22
|
+
- `git cherry-pick` — can cause conflicts
|
|
23
|
+
- `git merge` — requires human judgment
|
|
24
|
+
- `git branch -D` — permanent branch deletion
|
|
25
|
+
- `git push --force` — NEVER on main/master
|
|
26
|
+
- `git clean -f` — permanently deletes untracked files
|
|
27
|
+
- `git checkout <branch>` / `git switch` — breaks concurrent AI sessions
|
|
28
|
+
|
|
29
|
+
Multiple AI sessions may share the same working tree. Branch switching or destructive operations affect ALL concurrent sessions.
|
package/templates/rules/go.md
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
---
|
|
2
|
-
paths:
|
|
3
|
-
- "**/*.go"
|
|
4
|
-
- "go.mod"
|
|
5
|
-
- "go.sum"
|
|
6
|
-
---
|
|
7
|
-
<!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
|
|
8
|
-
|
|
9
|
-
# Go rules
|
|
10
|
-
|
|
11
|
-
Loaded by Claude Code when touching Go sources.
|
|
12
|
-
|
|
13
|
-
## Non-negotiables
|
|
14
|
-
|
|
15
|
-
1. **`go vet ./...` before `go test ./...`.** Vet is near-instant and catches common issues before the slower test runner.
|
|
16
|
-
2. **`gofmt -s -w .` and `goimports -w .`** on every file you touch. There is no formatting debate in Go.
|
|
17
|
-
3. **Error handling is explicit.** Every `err` is either handled, wrapped with `fmt.Errorf("context: %w", err)`, or propagated up. Never `_ = err`.
|
|
18
|
-
4. **No naked returns in functions longer than 5 lines.** They obscure control flow.
|
|
19
|
-
5. **`context.Context` is the first parameter** for any function that does I/O or may block. Never store contexts in structs.
|
|
20
|
-
|
|
21
|
-
## Conventions
|
|
22
|
-
|
|
23
|
-
- Package names are short, lowercase, and singular (`user`, not `users` or `userManager`).
|
|
24
|
-
- Interfaces defined by the consumer, not the producer. Keep them small (1–3 methods).
|
|
25
|
-
- Struct fields ordered: exported before unexported, grouped by logical purpose.
|
|
26
|
-
- Use `any` instead of `interface{}` (Go 1.18+).
|
|
27
|
-
- Prefer table-driven tests with `t.Run` subtests.
|
|
28
|
-
|
|
29
|
-
## Testing
|
|
30
|
-
|
|
31
|
-
- Test files live in the same package, suffix `_test.go`.
|
|
32
|
-
- `testify/require` or stdlib `testing` — pick one and stick with it.
|
|
33
|
-
- Race detector on CI: `go test -race ./...`.
|
|
34
|
-
- No test skipping without `t.Skip("reason: ...")`.
|
|
35
|
-
|
|
36
|
-
## Build & tooling
|
|
37
|
-
|
|
38
|
-
- `go mod tidy` after adding imports; commit both `go.mod` and `go.sum`.
|
|
39
|
-
- Never commit `vendor/` unless the project explicitly vendors.
|
|
40
|
-
- Use `go build ./...` to catch packages you forgot to test.
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.go"
|
|
4
|
+
- "go.mod"
|
|
5
|
+
- "go.sum"
|
|
6
|
+
---
|
|
7
|
+
<!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
|
|
8
|
+
|
|
9
|
+
# Go rules
|
|
10
|
+
|
|
11
|
+
Loaded by Claude Code when touching Go sources.
|
|
12
|
+
|
|
13
|
+
## Non-negotiables
|
|
14
|
+
|
|
15
|
+
1. **`go vet ./...` before `go test ./...`.** Vet is near-instant and catches common issues before the slower test runner.
|
|
16
|
+
2. **`gofmt -s -w .` and `goimports -w .`** on every file you touch. There is no formatting debate in Go.
|
|
17
|
+
3. **Error handling is explicit.** Every `err` is either handled, wrapped with `fmt.Errorf("context: %w", err)`, or propagated up. Never `_ = err`.
|
|
18
|
+
4. **No naked returns in functions longer than 5 lines.** They obscure control flow.
|
|
19
|
+
5. **`context.Context` is the first parameter** for any function that does I/O or may block. Never store contexts in structs.
|
|
20
|
+
|
|
21
|
+
## Conventions
|
|
22
|
+
|
|
23
|
+
- Package names are short, lowercase, and singular (`user`, not `users` or `userManager`).
|
|
24
|
+
- Interfaces defined by the consumer, not the producer. Keep them small (1–3 methods).
|
|
25
|
+
- Struct fields ordered: exported before unexported, grouped by logical purpose.
|
|
26
|
+
- Use `any` instead of `interface{}` (Go 1.18+).
|
|
27
|
+
- Prefer table-driven tests with `t.Run` subtests.
|
|
28
|
+
|
|
29
|
+
## Testing
|
|
30
|
+
|
|
31
|
+
- Test files live in the same package, suffix `_test.go`.
|
|
32
|
+
- `testify/require` or stdlib `testing` — pick one and stick with it.
|
|
33
|
+
- Race detector on CI: `go test -race ./...`.
|
|
34
|
+
- No test skipping without `t.Skip("reason: ...")`.
|
|
35
|
+
|
|
36
|
+
## Build & tooling
|
|
37
|
+
|
|
38
|
+
- `go mod tidy` after adding imports; commit both `go.mod` and `go.sum`.
|
|
39
|
+
- Never commit `vendor/` unless the project explicitly vendors.
|
|
40
|
+
- Use `go build ./...` to catch packages you forgot to test.
|
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: incremental-implementation
|
|
3
|
-
tier: 1
|
|
4
|
-
description: "Implement step by step, test each step, restart from scratch if stuck"
|
|
5
|
-
alwaysApply: true
|
|
6
|
-
filePatterns: ["*"]
|
|
7
|
-
tools: ["all"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Incremental Implementation — Step by Step, Test Each Step
|
|
11
|
-
|
|
12
|
-
NEVER implement everything at once. Build incrementally, verify at every step, and restart from scratch when stuck.
|
|
13
|
-
|
|
14
|
-
## Required Process
|
|
15
|
-
|
|
16
|
-
1. **Understand** the full scope before writing any code
|
|
17
|
-
2. **Decompose** into the smallest possible steps
|
|
18
|
-
3. **Implement ONE step** at a time
|
|
19
|
-
4. **Test/verify** that step immediately (compile, run, test)
|
|
20
|
-
5. **Fix any errors** before moving to the next step
|
|
21
|
-
6. **Record learnings** in the knowledge base after each significant discovery
|
|
22
|
-
7. **Repeat** until complete
|
|
23
|
-
|
|
24
|
-
## The Restart Rule
|
|
25
|
-
|
|
26
|
-
If you have spent more than 3 failed attempts fixing the same error:
|
|
27
|
-
|
|
28
|
-
1. **STOP** — do not try a 4th variation of the same approach
|
|
29
|
-
2. **Analyze** what went wrong — write down root causes, not symptoms
|
|
30
|
-
3. **Record** the failed approach as an anti-pattern in the knowledge base
|
|
31
|
-
4. **Remove** the broken code completely — do not patch on top of patches
|
|
32
|
-
5. **Reimplementation from scratch** using a different approach informed by what you learned
|
|
33
|
-
6. **Test each step** of the new approach before proceeding
|
|
34
|
-
|
|
35
|
-
## Knowledge Base Integration
|
|
36
|
-
|
|
37
|
-
After every significant implementation:
|
|
38
|
-
|
|
39
|
-
1. **Check existing knowledge** before starting: `rulebook knowledge list` or search `.rulebook/knowledge/`
|
|
40
|
-
2. **Record patterns** that worked: `rulebook knowledge add pattern "<title>" --category <cat>`
|
|
41
|
-
3. **Record anti-patterns** that failed: `rulebook knowledge add anti-pattern "<title>" --category <cat>`
|
|
42
|
-
4. **Capture learnings** from debugging: `rulebook learn capture --title "<title>" --content "<content>"`
|
|
43
|
-
|
|
44
|
-
## Forbidden
|
|
45
|
-
|
|
46
|
-
- Implementing an entire feature in one pass without intermediate verification
|
|
47
|
-
- Spending more than 3 attempts fixing the same error with the same approach
|
|
48
|
-
- Patching broken code on top of broken code instead of restarting clean
|
|
49
|
-
- Ignoring the knowledge base — check it BEFORE implementing, update it AFTER
|
|
50
|
-
- Batching all tests to the end instead of testing each step
|
|
51
|
-
|
|
52
|
-
## Why
|
|
53
|
-
|
|
54
|
-
AI agents that implement everything at once produce cascading errors. One early mistake propagates through the entire implementation, and debugging becomes exponentially harder. Step-by-step with immediate verification catches errors at the source. When stuck, restarting from scratch with new knowledge is always faster than patching endlessly. The line between persistence and stubbornness is thin.
|
|
55
|
-
|
|
56
|
-
**"Slow is smooth, smooth is fast."**
|
|
1
|
+
---
|
|
2
|
+
name: incremental-implementation
|
|
3
|
+
tier: 1
|
|
4
|
+
description: "Implement step by step, test each step, restart from scratch if stuck"
|
|
5
|
+
alwaysApply: true
|
|
6
|
+
filePatterns: ["*"]
|
|
7
|
+
tools: ["all"]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Incremental Implementation — Step by Step, Test Each Step
|
|
11
|
+
|
|
12
|
+
NEVER implement everything at once. Build incrementally, verify at every step, and restart from scratch when stuck.
|
|
13
|
+
|
|
14
|
+
## Required Process
|
|
15
|
+
|
|
16
|
+
1. **Understand** the full scope before writing any code
|
|
17
|
+
2. **Decompose** into the smallest possible steps
|
|
18
|
+
3. **Implement ONE step** at a time
|
|
19
|
+
4. **Test/verify** that step immediately (compile, run, test)
|
|
20
|
+
5. **Fix any errors** before moving to the next step
|
|
21
|
+
6. **Record learnings** in the knowledge base after each significant discovery
|
|
22
|
+
7. **Repeat** until complete
|
|
23
|
+
|
|
24
|
+
## The Restart Rule
|
|
25
|
+
|
|
26
|
+
If you have spent more than 3 failed attempts fixing the same error:
|
|
27
|
+
|
|
28
|
+
1. **STOP** — do not try a 4th variation of the same approach
|
|
29
|
+
2. **Analyze** what went wrong — write down root causes, not symptoms
|
|
30
|
+
3. **Record** the failed approach as an anti-pattern in the knowledge base
|
|
31
|
+
4. **Remove** the broken code completely — do not patch on top of patches
|
|
32
|
+
5. **Reimplementation from scratch** using a different approach informed by what you learned
|
|
33
|
+
6. **Test each step** of the new approach before proceeding
|
|
34
|
+
|
|
35
|
+
## Knowledge Base Integration
|
|
36
|
+
|
|
37
|
+
After every significant implementation:
|
|
38
|
+
|
|
39
|
+
1. **Check existing knowledge** before starting: `rulebook knowledge list` or search `.rulebook/knowledge/`
|
|
40
|
+
2. **Record patterns** that worked: `rulebook knowledge add pattern "<title>" --category <cat>`
|
|
41
|
+
3. **Record anti-patterns** that failed: `rulebook knowledge add anti-pattern "<title>" --category <cat>`
|
|
42
|
+
4. **Capture learnings** from debugging: `rulebook learn capture --title "<title>" --content "<content>"`
|
|
43
|
+
|
|
44
|
+
## Forbidden
|
|
45
|
+
|
|
46
|
+
- Implementing an entire feature in one pass without intermediate verification
|
|
47
|
+
- Spending more than 3 attempts fixing the same error with the same approach
|
|
48
|
+
- Patching broken code on top of broken code instead of restarting clean
|
|
49
|
+
- Ignoring the knowledge base — check it BEFORE implementing, update it AFTER
|
|
50
|
+
- Batching all tests to the end instead of testing each step
|
|
51
|
+
|
|
52
|
+
## Why
|
|
53
|
+
|
|
54
|
+
AI agents that implement everything at once produce cascading errors. One early mistake propagates through the entire implementation, and debugging becomes exponentially harder. Step-by-step with immediate verification catches errors at the source. When stuck, restarting from scratch with new knowledge is always faster than patching endlessly. The line between persistence and stubbornness is thin.
|
|
55
|
+
|
|
56
|
+
**"Slow is smooth, smooth is fast."**
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: incremental-tests
|
|
3
|
-
tier: 2
|
|
4
|
-
description: "Write tests in small batches, verify immediately"
|
|
5
|
-
alwaysApply: true
|
|
6
|
-
filePatterns: ["*.test.*", "*.spec.*", "*_test.*"]
|
|
7
|
-
tools: ["all"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Incremental Test Development
|
|
11
|
-
|
|
12
|
-
Write tests 1-3 at a time. Test immediately after writing. Fix errors before proceeding.
|
|
13
|
-
|
|
14
|
-
## Rules
|
|
15
|
-
|
|
16
|
-
1. **Write 1-3 tests** at a time, NOT entire test files at once
|
|
17
|
-
2. **Run immediately** after writing — use single-file test execution
|
|
18
|
-
3. **Fix errors** before writing more tests
|
|
19
|
-
4. **Never run full suite** while developing tests — use individual file execution
|
|
20
|
-
5. **Coverage updates** only after completing a block of tests
|
|
21
|
-
|
|
22
|
-
## Why
|
|
23
|
-
|
|
24
|
-
Writing full test files at once leads to cascading failures. One early error invalidates all subsequent tests, creating debug fatigue and wasted time.
|
|
25
|
-
|
|
26
|
-
## Development Testing vs Validation Testing
|
|
27
|
-
|
|
28
|
-
- **Development**: Run single test file (`vitest run tests/my.test.ts`)
|
|
29
|
-
- **Validation**: Run full suite only when a batch of tests is complete
|
|
1
|
+
---
|
|
2
|
+
name: incremental-tests
|
|
3
|
+
tier: 2
|
|
4
|
+
description: "Write tests in small batches, verify immediately"
|
|
5
|
+
alwaysApply: true
|
|
6
|
+
filePatterns: ["*.test.*", "*.spec.*", "*_test.*"]
|
|
7
|
+
tools: ["all"]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Incremental Test Development
|
|
11
|
+
|
|
12
|
+
Write tests 1-3 at a time. Test immediately after writing. Fix errors before proceeding.
|
|
13
|
+
|
|
14
|
+
## Rules
|
|
15
|
+
|
|
16
|
+
1. **Write 1-3 tests** at a time, NOT entire test files at once
|
|
17
|
+
2. **Run immediately** after writing — use single-file test execution
|
|
18
|
+
3. **Fix errors** before writing more tests
|
|
19
|
+
4. **Never run full suite** while developing tests — use individual file execution
|
|
20
|
+
5. **Coverage updates** only after completing a block of tests
|
|
21
|
+
|
|
22
|
+
## Why
|
|
23
|
+
|
|
24
|
+
Writing full test files at once leads to cascading failures. One early error invalidates all subsequent tests, creating debug fatigue and wasted time.
|
|
25
|
+
|
|
26
|
+
## Development Testing vs Validation Testing
|
|
27
|
+
|
|
28
|
+
- **Development**: Run single test file (`vitest run tests/my.test.ts`)
|
|
29
|
+
- **Validation**: Run full suite only when a batch of tests is complete
|
package/templates/rules/java.md
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
---
|
|
2
|
-
paths:
|
|
3
|
-
- "**/*.java"
|
|
4
|
-
- "pom.xml"
|
|
5
|
-
- "**/build.gradle"
|
|
6
|
-
- "**/build.gradle.kts"
|
|
7
|
-
- "**/settings.gradle"
|
|
8
|
-
- "**/settings.gradle.kts"
|
|
9
|
-
---
|
|
10
|
-
<!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
|
|
11
|
-
|
|
12
|
-
# Java rules
|
|
13
|
-
|
|
14
|
-
Loaded by Claude Code when touching Java sources or build files.
|
|
15
|
-
|
|
16
|
-
## Non-negotiables
|
|
17
|
-
|
|
18
|
-
1. **Compile before test.** `mvn compile` / `gradle classes` before running the test suite. Compilation errors are cheaper to fix than a broken test run.
|
|
19
|
-
2. **Static analysis enabled.** SpotBugs, ErrorProne, or Checkstyle per project config. Warnings count as failures.
|
|
20
|
-
3. **Null safety.** Use `Optional<T>` for values that may be absent at API boundaries. Annotate fields with `@Nullable` / `@NonNull` where the project uses JSR-305 / JSpecify.
|
|
21
|
-
4. **Immutability first.** `final` by default on fields, parameters, and local variables. Prefer records (Java 16+) for data carriers.
|
|
22
|
-
5. **Never swallow exceptions.** Every `catch` either handles, wraps (`throw new X("context", e)`), or logs with context.
|
|
23
|
-
|
|
24
|
-
## Conventions
|
|
25
|
-
|
|
26
|
-
- Follow the project's Google Java Style or similar — formatter handles it.
|
|
27
|
-
- Package names all lowercase, reverse-DNS (`com.hivehub.rulebook.foo`).
|
|
28
|
-
- One public class per file; file name matches the class.
|
|
29
|
-
- Prefer composition over inheritance; avoid deep hierarchies.
|
|
30
|
-
- Use `java.time` (not `java.util.Date`) for dates and times.
|
|
31
|
-
|
|
32
|
-
## Testing
|
|
33
|
-
|
|
34
|
-
- JUnit 5 is default; use the project's configured framework.
|
|
35
|
-
- AssertJ or Hamcrest for readable assertions.
|
|
36
|
-
- Mockito for mocks; avoid PowerMock unless strictly necessary.
|
|
37
|
-
- One logical assertion per test; multiple mechanical ones allowed.
|
|
38
|
-
|
|
39
|
-
## Build & tooling
|
|
40
|
-
|
|
41
|
-
- Commit `pom.xml` / `build.gradle`, never `target/` / `build/`.
|
|
42
|
-
- Pin plugin versions; do not use ranges.
|
|
43
|
-
- Java version declared in the build file, not assumed from the environment.
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.java"
|
|
4
|
+
- "pom.xml"
|
|
5
|
+
- "**/build.gradle"
|
|
6
|
+
- "**/build.gradle.kts"
|
|
7
|
+
- "**/settings.gradle"
|
|
8
|
+
- "**/settings.gradle.kts"
|
|
9
|
+
---
|
|
10
|
+
<!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
|
|
11
|
+
|
|
12
|
+
# Java rules
|
|
13
|
+
|
|
14
|
+
Loaded by Claude Code when touching Java sources or build files.
|
|
15
|
+
|
|
16
|
+
## Non-negotiables
|
|
17
|
+
|
|
18
|
+
1. **Compile before test.** `mvn compile` / `gradle classes` before running the test suite. Compilation errors are cheaper to fix than a broken test run.
|
|
19
|
+
2. **Static analysis enabled.** SpotBugs, ErrorProne, or Checkstyle per project config. Warnings count as failures.
|
|
20
|
+
3. **Null safety.** Use `Optional<T>` for values that may be absent at API boundaries. Annotate fields with `@Nullable` / `@NonNull` where the project uses JSR-305 / JSpecify.
|
|
21
|
+
4. **Immutability first.** `final` by default on fields, parameters, and local variables. Prefer records (Java 16+) for data carriers.
|
|
22
|
+
5. **Never swallow exceptions.** Every `catch` either handles, wraps (`throw new X("context", e)`), or logs with context.
|
|
23
|
+
|
|
24
|
+
## Conventions
|
|
25
|
+
|
|
26
|
+
- Follow the project's Google Java Style or similar — formatter handles it.
|
|
27
|
+
- Package names all lowercase, reverse-DNS (`com.hivehub.rulebook.foo`).
|
|
28
|
+
- One public class per file; file name matches the class.
|
|
29
|
+
- Prefer composition over inheritance; avoid deep hierarchies.
|
|
30
|
+
- Use `java.time` (not `java.util.Date`) for dates and times.
|
|
31
|
+
|
|
32
|
+
## Testing
|
|
33
|
+
|
|
34
|
+
- JUnit 5 is default; use the project's configured framework.
|
|
35
|
+
- AssertJ or Hamcrest for readable assertions.
|
|
36
|
+
- Mockito for mocks; avoid PowerMock unless strictly necessary.
|
|
37
|
+
- One logical assertion per test; multiple mechanical ones allowed.
|
|
38
|
+
|
|
39
|
+
## Build & tooling
|
|
40
|
+
|
|
41
|
+
- Commit `pom.xml` / `build.gradle`, never `target/` / `build/`.
|
|
42
|
+
- Pin plugin versions; do not use ranges.
|
|
43
|
+
- Java version declared in the build file, not assumed from the environment.
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
---
|
|
2
|
-
paths:
|
|
3
|
-
- "**/*.js"
|
|
4
|
-
- "**/*.jsx"
|
|
5
|
-
- "**/*.mjs"
|
|
6
|
-
- "**/*.cjs"
|
|
7
|
-
- "package.json"
|
|
8
|
-
---
|
|
9
|
-
<!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
|
|
10
|
-
|
|
11
|
-
# JavaScript rules
|
|
12
|
-
|
|
13
|
-
Loaded by Claude Code when touching JavaScript files.
|
|
14
|
-
|
|
15
|
-
## Non-negotiables
|
|
16
|
-
|
|
17
|
-
1. **Lint before test.** Run the project's linter (ESLint / Biome) before the test suite. Lint errors are cheaper to surface than test failures.
|
|
18
|
-
2. **No `var`.** Use `const` by default, `let` only when reassignment is necessary.
|
|
19
|
-
3. **Strict equality.** Always `===` and `!==`, never `==` / `!=`.
|
|
20
|
-
4. **No implicit globals.** Every file that modifies state at the top level should explicitly export it.
|
|
21
|
-
5. **Module type matches the project.** If the project is ESM (`"type": "module"` in package.json), use `import`/`export`; if CommonJS, use `require`/`module.exports`. Do not mix without a clear boundary.
|
|
22
|
-
|
|
23
|
-
## Conventions
|
|
24
|
-
|
|
25
|
-
- Prefer arrow functions for callbacks; named `function` declarations for top-level or hoisted functions.
|
|
26
|
-
- `async`/`await` over raw Promise chains.
|
|
27
|
-
- Destructure function arguments when there are 3+ parameters.
|
|
28
|
-
- Never rely on falsy checks for "value exists" — use explicit `=== undefined` / `!= null` where the distinction matters.
|
|
29
|
-
|
|
30
|
-
## Testing
|
|
31
|
-
|
|
32
|
-
- Use the project's configured test runner. Do not add a new one.
|
|
33
|
-
- Mock external boundaries (network, filesystem, time).
|
|
34
|
-
- No `describe.skip` / `it.skip` left behind in committed code.
|
|
35
|
-
|
|
36
|
-
## Dependencies
|
|
37
|
-
|
|
38
|
-
- Check `package.json` before adding imports. Do not install new dependencies without explicit authorization.
|
|
39
|
-
- Pin `peerDependencies` carefully; they affect consumers of the package.
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.js"
|
|
4
|
+
- "**/*.jsx"
|
|
5
|
+
- "**/*.mjs"
|
|
6
|
+
- "**/*.cjs"
|
|
7
|
+
- "package.json"
|
|
8
|
+
---
|
|
9
|
+
<!-- Generated by @hivehub/rulebook v5.3.0 — delete this comment to prevent regeneration on `rulebook update` -->
|
|
10
|
+
|
|
11
|
+
# JavaScript rules
|
|
12
|
+
|
|
13
|
+
Loaded by Claude Code when touching JavaScript files.
|
|
14
|
+
|
|
15
|
+
## Non-negotiables
|
|
16
|
+
|
|
17
|
+
1. **Lint before test.** Run the project's linter (ESLint / Biome) before the test suite. Lint errors are cheaper to surface than test failures.
|
|
18
|
+
2. **No `var`.** Use `const` by default, `let` only when reassignment is necessary.
|
|
19
|
+
3. **Strict equality.** Always `===` and `!==`, never `==` / `!=`.
|
|
20
|
+
4. **No implicit globals.** Every file that modifies state at the top level should explicitly export it.
|
|
21
|
+
5. **Module type matches the project.** If the project is ESM (`"type": "module"` in package.json), use `import`/`export`; if CommonJS, use `require`/`module.exports`. Do not mix without a clear boundary.
|
|
22
|
+
|
|
23
|
+
## Conventions
|
|
24
|
+
|
|
25
|
+
- Prefer arrow functions for callbacks; named `function` declarations for top-level or hoisted functions.
|
|
26
|
+
- `async`/`await` over raw Promise chains.
|
|
27
|
+
- Destructure function arguments when there are 3+ parameters.
|
|
28
|
+
- Never rely on falsy checks for "value exists" — use explicit `=== undefined` / `!= null` where the distinction matters.
|
|
29
|
+
|
|
30
|
+
## Testing
|
|
31
|
+
|
|
32
|
+
- Use the project's configured test runner. Do not add a new one.
|
|
33
|
+
- Mock external boundaries (network, filesystem, time).
|
|
34
|
+
- No `describe.skip` / `it.skip` left behind in committed code.
|
|
35
|
+
|
|
36
|
+
## Dependencies
|
|
37
|
+
|
|
38
|
+
- Check `package.json` before adding imports. Do not install new dependencies without explicit authorization.
|
|
39
|
+
- Pin `peerDependencies` carefully; they affect consumers of the package.
|