@hivehub/rulebook 5.3.3 → 5.4.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/LICENSE +191 -191
- package/README.md +42 -3
- package/dist/cli/commands/compress.d.ts +18 -0
- package/dist/cli/commands/compress.d.ts.map +1 -0
- package/dist/cli/commands/compress.js +100 -0
- package/dist/cli/commands/compress.js.map +1 -0
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -0
- 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 +2 -0
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +2 -0
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/core/claude-settings-manager.d.ts +7 -0
- package/dist/core/claude-settings-manager.d.ts.map +1 -1
- package/dist/core/claude-settings-manager.js +31 -14
- package/dist/core/claude-settings-manager.js.map +1 -1
- package/dist/core/compress/compressor.d.ts +60 -0
- package/dist/core/compress/compressor.d.ts.map +1 -0
- package/dist/core/compress/compressor.js +232 -0
- package/dist/core/compress/compressor.js.map +1 -0
- package/dist/core/compress/discover.d.ts +19 -0
- package/dist/core/compress/discover.d.ts.map +1 -0
- package/dist/core/compress/discover.js +100 -0
- package/dist/core/compress/discover.js.map +1 -0
- package/dist/core/compress/validator.d.ts +47 -0
- package/dist/core/compress/validator.d.ts.map +1 -0
- package/dist/core/compress/validator.js +131 -0
- package/dist/core/compress/validator.js.map +1 -0
- package/dist/core/doctor.d.ts.map +1 -1
- package/dist/core/doctor.js +66 -0
- package/dist/core/doctor.js.map +1 -1
- package/dist/core/generator.d.ts +16 -0
- package/dist/core/generator.d.ts.map +1 -1
- package/dist/core/generator.js +36 -11
- package/dist/core/generator.js.map +1 -1
- package/dist/hooks/safe-flag-io.d.ts +77 -0
- package/dist/hooks/safe-flag-io.d.ts.map +1 -0
- package/dist/hooks/safe-flag-io.js +169 -0
- package/dist/hooks/safe-flag-io.js.map +1 -0
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/rulebook-server.d.ts.map +1 -1
- package/dist/mcp/rulebook-server.js +236 -0
- package/dist/mcp/rulebook-server.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +23 -21
- 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/cli/gemini-extension.json +77 -77
- 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_OVERRIDE.md +16 -16
- package/templates/core/AGENT_AUTOMATION.md +296 -296
- package/templates/core/CLAUDE_MD_v2.md +71 -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/core/WORKSPACE.md +69 -69
- 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 -0
- package/templates/hooks/terse-activate.sh +197 -0
- package/templates/hooks/terse-mode-tracker.ps1 +153 -0
- package/templates/hooks/terse-mode-tracker.sh +187 -0
- 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 -156
- 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/quality-enforcement/SKILL.md +78 -78
- package/templates/skills/core/rulebook/SKILL.md +176 -176
- package/templates/skills/core/rulebook-terse/SKILL.md +116 -0
- package/templates/skills/core/rulebook-terse-commit/SKILL.md +96 -0
- package/templates/skills/core/rulebook-terse-review/SKILL.md +112 -0
- 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
- package/templates/workflows/codespell.yml +31 -31
- package/templates/workflows/cpp-lint.yml +47 -47
- package/templates/workflows/cpp-publish.yml +119 -119
- package/templates/workflows/cpp-test.yml +77 -77
- package/templates/workflows/dotnet-lint.yml +29 -29
- package/templates/workflows/dotnet-publish.yml +40 -40
- package/templates/workflows/dotnet-test.yml +41 -41
- package/templates/workflows/elixir-lint.yml +45 -45
- package/templates/workflows/elixir-publish.yml +49 -49
- package/templates/workflows/elixir-test.yml +54 -54
- package/templates/workflows/erlang-lint.yml +47 -47
- package/templates/workflows/erlang-test.yml +62 -62
- package/templates/workflows/go-lint.yml +39 -39
- package/templates/workflows/go-publish.yml +95 -95
- package/templates/workflows/go-test.yml +59 -59
- package/templates/workflows/java-lint.yml +60 -60
- package/templates/workflows/java-publish.yml +120 -120
- package/templates/workflows/java-test.yml +85 -85
- package/templates/workflows/kotlin-lint.yml +34 -34
- package/templates/workflows/kotlin-publish.yml +56 -56
- package/templates/workflows/kotlin-test.yml +48 -48
- package/templates/workflows/php-lint.yml +39 -39
- package/templates/workflows/php-publish.yml +50 -50
- package/templates/workflows/php-test.yml +54 -54
- package/templates/workflows/python-lint.yml +47 -47
- package/templates/workflows/python-publish.yml +91 -91
- package/templates/workflows/python-test.yml +59 -59
- package/templates/workflows/rust-lint.yml +54 -54
- package/templates/workflows/rust-publish.yml +66 -66
- package/templates/workflows/rust-test.yml +75 -75
- package/templates/workflows/solidity-lint.yml +41 -41
- package/templates/workflows/solidity-test.yml +47 -47
- package/templates/workflows/swift-lint.yml +32 -32
- package/templates/workflows/swift-publish.yml +58 -58
- package/templates/workflows/swift-test.yml +44 -44
- package/templates/workflows/typescript-publish.yml +60 -60
- package/templates/workflows/typescript-test.yml +73 -73
- package/templates/workflows/zig-lint.yml +27 -27
- package/templates/workflows/zig-test.yml +40 -40
- package/dist/cli/commands.d.ts +0 -225
- package/dist/cli/commands.d.ts.map +0 -1
- package/dist/cli/commands.js +0 -3984
- package/dist/cli/commands.js.map +0 -1
|
@@ -1,309 +1,309 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Ralph Autonomous Loop"
|
|
3
|
-
description: "Autonomous AI agent loop for iterative task implementation (@hivehub/rulebook ralph)"
|
|
4
|
-
version: "1.0.0"
|
|
5
|
-
category: "workflow"
|
|
6
|
-
author: "Rulebook"
|
|
7
|
-
tags: ["autonomous", "ralph", "iterative", "workflow"]
|
|
8
|
-
dependencies: ["rulebook"]
|
|
9
|
-
conflicts: []
|
|
10
|
-
---
|
|
11
|
-
<!-- RALPH:START -->
|
|
12
|
-
# Ralph Autonomous Loop Skill
|
|
13
|
-
|
|
14
|
-
**Purpose**: Automate iterative feature implementation using Ralph's autonomous agent loop pattern.
|
|
15
|
-
|
|
16
|
-
## Installation
|
|
17
|
-
|
|
18
|
-
Ralph is installed as part of @hivehub/rulebook:
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
npm install -g @hivehub/rulebook
|
|
22
|
-
# or
|
|
23
|
-
npx @hivehub/rulebook init
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Quick Start
|
|
27
|
-
|
|
28
|
-
### Step 1: Initialize Ralph for Your Project
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
# Create task specifications in .rulebook/tasks/
|
|
32
|
-
rulebook task create my-feature
|
|
33
|
-
|
|
34
|
-
# Initialize Ralph
|
|
35
|
-
rulebook ralph init
|
|
36
|
-
|
|
37
|
-
# This creates:
|
|
38
|
-
# - .rulebook-ralph/prd.json (task specifications in PRD format)
|
|
39
|
-
# - .rulebook-ralph/progress.txt (learning log across iterations)
|
|
40
|
-
# - .rulebook-ralph/history/ (per-iteration metadata)
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### Step 2: Run Autonomous Loop
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
# Run with default settings
|
|
47
|
-
rulebook ralph run
|
|
48
|
-
|
|
49
|
-
# Or with custom iterations and tool
|
|
50
|
-
rulebook ralph run --max-iterations 10 --tool claude
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### Step 3: Monitor Progress
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
# Check current status
|
|
57
|
-
rulebook ralph status
|
|
58
|
-
|
|
59
|
-
# View iteration history
|
|
60
|
-
rulebook ralph history
|
|
61
|
-
|
|
62
|
-
# See learnings discovered
|
|
63
|
-
rulebook ralph history --learnings
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
## Understanding the Ralph Loop
|
|
67
|
-
|
|
68
|
-
### Loop Workflow
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
1. Pick highest-priority incomplete task from PRD
|
|
72
|
-
2. Execute AI agent (Claude Code, Cursor, or Gemini)
|
|
73
|
-
- Provide full PRD context
|
|
74
|
-
- Include progress.txt (learnings from past iterations)
|
|
75
|
-
- Include git history (recent commits)
|
|
76
|
-
3. Run quality gates (type-check, lint, tests)
|
|
77
|
-
4. If success:
|
|
78
|
-
- Commit changes with iteration metadata
|
|
79
|
-
- Update task status to completed
|
|
80
|
-
- Record learnings to progress.txt
|
|
81
|
-
5. If failure:
|
|
82
|
-
- Mark task as blocked
|
|
83
|
-
- Record error and blockers to progress.txt
|
|
84
|
-
6. Repeat until all tasks completed or max iterations reached
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### Fresh Context Per Iteration
|
|
88
|
-
|
|
89
|
-
Each iteration starts fresh:
|
|
90
|
-
- New AI agent instance (clean context)
|
|
91
|
-
- Memory persists through: git commits, PRD.json, progress.txt
|
|
92
|
-
- AI agent reads past learnings to avoid repeating mistakes
|
|
93
|
-
|
|
94
|
-
This pattern prevents "context degradation" where AI agent loses track of architectural decisions across many iterations.
|
|
95
|
-
|
|
96
|
-
## Configuration
|
|
97
|
-
|
|
98
|
-
### .rulebook Configuration
|
|
99
|
-
|
|
100
|
-
```json
|
|
101
|
-
{
|
|
102
|
-
"ralph": {
|
|
103
|
-
"enabled": false,
|
|
104
|
-
"maxIterations": 10,
|
|
105
|
-
"tool": "claude",
|
|
106
|
-
"maxContextLoss": 3
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
**Options**:
|
|
112
|
-
- `enabled`: Enable Ralph autonomous loop (default: false)
|
|
113
|
-
- `maxIterations`: Max iterations before stopping (default: 10)
|
|
114
|
-
- `tool`: AI CLI tool to use (default: "claude")
|
|
115
|
-
- `"claude"` — Claude Code CLI
|
|
116
|
-
- `"amp"` — Amp CLI (for Cursor)
|
|
117
|
-
- `"gemini"` — Gemini CLI
|
|
118
|
-
- `maxContextLoss`: Tolerance for incomplete agent outputs (default: 3)
|
|
119
|
-
|
|
120
|
-
### PRD Format (.rulebook-ralph/prd.json)
|
|
121
|
-
|
|
122
|
-
```json
|
|
123
|
-
{
|
|
124
|
-
"tasks": [
|
|
125
|
-
{
|
|
126
|
-
"id": "task-id",
|
|
127
|
-
"title": "Task Title",
|
|
128
|
-
"description": "What needs to be done",
|
|
129
|
-
"priority": 1,
|
|
130
|
-
"status": "pending",
|
|
131
|
-
"acceptanceCriteria": [
|
|
132
|
-
"Criterion 1",
|
|
133
|
-
"Criterion 2"
|
|
134
|
-
],
|
|
135
|
-
"estimatedComplexity": "medium"
|
|
136
|
-
}
|
|
137
|
-
]
|
|
138
|
-
}
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
### Progress Log (.rulebook-ralph/progress.txt)
|
|
142
|
-
|
|
143
|
-
Append-only learning log:
|
|
144
|
-
|
|
145
|
-
```
|
|
146
|
-
=== Iteration 1 ===
|
|
147
|
-
Task: implement-auth
|
|
148
|
-
Tool: Claude Code
|
|
149
|
-
Result: SUCCESS
|
|
150
|
-
Learnings:
|
|
151
|
-
- Discovered OAuth token refresh pattern (30-min expiry)
|
|
152
|
-
- Gotcha: Tokens expire silently, need header check before retry
|
|
153
|
-
- Pattern: Use interceptor middleware for transparent refresh
|
|
154
|
-
|
|
155
|
-
=== Iteration 2 ===
|
|
156
|
-
Task: add-caching
|
|
157
|
-
Tool: Claude Code
|
|
158
|
-
Result: FAILED - Tests failed
|
|
159
|
-
Error: Cache invalidation not handling concurrent updates
|
|
160
|
-
Blockers: Need to implement distributed cache locking
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
## Usage Patterns
|
|
164
|
-
|
|
165
|
-
### Pattern 1: Progressive Feature Implementation
|
|
166
|
-
|
|
167
|
-
Break large features into tasks:
|
|
168
|
-
|
|
169
|
-
```bash
|
|
170
|
-
# Create tasks for phases
|
|
171
|
-
rulebook task create setup-database
|
|
172
|
-
rulebook task create create-api-endpoints
|
|
173
|
-
rulebook task create add-authentication
|
|
174
|
-
rulebook task create write-tests
|
|
175
|
-
|
|
176
|
-
# Initialize Ralph
|
|
177
|
-
rulebook ralph init
|
|
178
|
-
|
|
179
|
-
# Run autonomous loop — implements all tasks iteratively
|
|
180
|
-
rulebook ralph run --max-iterations 20
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
### Pattern 2: Learning Across Iterations
|
|
184
|
-
|
|
185
|
-
Ralph learns from past iterations:
|
|
186
|
-
|
|
187
|
-
1. **Iteration 1**: Implements feature A, discovers pattern X
|
|
188
|
-
2. **Progress.txt updated**: Records pattern X
|
|
189
|
-
3. **Iteration 2**: Reads progress.txt, applies pattern X to feature B
|
|
190
|
-
4. **Iteration 3+**: Builds on discovered patterns
|
|
191
|
-
|
|
192
|
-
### Pattern 3: Pause and Resume
|
|
193
|
-
|
|
194
|
-
Stop loop gracefully and resume later:
|
|
195
|
-
|
|
196
|
-
```bash
|
|
197
|
-
# Start autonomous loop
|
|
198
|
-
rulebook ralph run --max-iterations 100
|
|
199
|
-
|
|
200
|
-
# (User presses Ctrl+C)
|
|
201
|
-
# Loop pauses, state saved
|
|
202
|
-
|
|
203
|
-
# Resume later
|
|
204
|
-
rulebook ralph resume
|
|
205
|
-
|
|
206
|
-
# Continues from last incomplete task with full history
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
## Quality Gates
|
|
210
|
-
|
|
211
|
-
Ralph enforces quality checks after each iteration:
|
|
212
|
-
|
|
213
|
-
```bash
|
|
214
|
-
# After each implementation, Ralph runs:
|
|
215
|
-
npm run type-check # TypeScript compilation
|
|
216
|
-
npm run lint # ESLint (0 warnings)
|
|
217
|
-
npm run test # All tests (100% pass)
|
|
218
|
-
npm run test:coverage # Coverage threshold met (95%)
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
**If ANY gate fails**:
|
|
222
|
-
- Task marked as `blocked` with error details
|
|
223
|
-
- Error recorded to progress.txt
|
|
224
|
-
- Loop continues to next task (unless `--strict` mode)
|
|
225
|
-
|
|
226
|
-
## MCP Integration
|
|
227
|
-
|
|
228
|
-
Use Ralph via Model Context Protocol:
|
|
229
|
-
|
|
230
|
-
```javascript
|
|
231
|
-
// Initialize Ralph
|
|
232
|
-
rulebook_ralph_init({ force: false })
|
|
233
|
-
→ Returns: { success: true, taskCount: 5, prdPath: "..." }
|
|
234
|
-
|
|
235
|
-
// Start autonomous loop
|
|
236
|
-
rulebook_ralph_run({ maxIterations: 10, tool: "claude" })
|
|
237
|
-
→ Returns: { success: true, loopId: "loop-123", status: "running" }
|
|
238
|
-
|
|
239
|
-
// Query loop status
|
|
240
|
-
rulebook_ralph_status()
|
|
241
|
-
→ Returns: { loopStatus: "running", iteration: 5, currentTask: "task-id", ... }
|
|
242
|
-
|
|
243
|
-
// Get iteration history
|
|
244
|
-
rulebook_ralph_get_iteration_history({ limit: 10 })
|
|
245
|
-
→ Returns: { iterations: [...], total: 12 }
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
## Best Practices
|
|
249
|
-
|
|
250
|
-
### DO ✅
|
|
251
|
-
|
|
252
|
-
- **Break features into right-sized tasks**: 1-2 context windows each
|
|
253
|
-
- **Write clear acceptance criteria**: AI uses these to validate completion
|
|
254
|
-
- **Monitor iteration history**: Review learnings and errors
|
|
255
|
-
- **Run manual testing**: Ralph is automated but human review is important
|
|
256
|
-
- **Commit frequently**: Each iteration commits, creating audit trail
|
|
257
|
-
- **Use meaningful task IDs**: Descriptive names help AI understand context
|
|
258
|
-
|
|
259
|
-
### DON'T ❌
|
|
260
|
-
|
|
261
|
-
- **Don't create huge tasks**: "Build entire backend" won't fit in one iteration
|
|
262
|
-
- **Don't skip acceptance criteria**: AI needs clear completion signals
|
|
263
|
-
- **Don't ignore blocked tasks**: Review errors and adjust task sizing
|
|
264
|
-
- **Don't run without version control**: You need git history for learning
|
|
265
|
-
- **Don't disable quality gates**: Tests catch failures early
|
|
266
|
-
|
|
267
|
-
## Troubleshooting
|
|
268
|
-
|
|
269
|
-
### Loop Stops Early
|
|
270
|
-
|
|
271
|
-
**Problem**: Ralph stops before reaching max iterations
|
|
272
|
-
**Cause**: All tasks completed (success!) or multiple blockers
|
|
273
|
-
**Solution**: Check `rulebook ralph history` for blockers
|
|
274
|
-
|
|
275
|
-
### Same Task Keeps Failing
|
|
276
|
-
|
|
277
|
-
**Problem**: Task marked blocked multiple times
|
|
278
|
-
**Cause**: Task too large, acceptance criteria unclear, or AI context insufficient
|
|
279
|
-
**Solution**:
|
|
280
|
-
1. Break task into smaller subtasks
|
|
281
|
-
2. Clarify acceptance criteria
|
|
282
|
-
3. Add examples to task spec
|
|
283
|
-
|
|
284
|
-
### Quality Gates Failing
|
|
285
|
-
|
|
286
|
-
**Problem**: Type-check, lint, or tests fail after implementation
|
|
287
|
-
**Cause**: AI-generated code doesn't meet project standards
|
|
288
|
-
**Solution**:
|
|
289
|
-
1. Review error details in progress.txt
|
|
290
|
-
2. Update AGENTS.md with clearer standards
|
|
291
|
-
3. Provide more examples in task specs
|
|
292
|
-
|
|
293
|
-
## Next Steps
|
|
294
|
-
|
|
295
|
-
1. **Create tasks**: `rulebook task create <task-id>` (multiple times)
|
|
296
|
-
2. **Initialize Ralph**: `rulebook ralph init`
|
|
297
|
-
3. **Run loop**: `rulebook ralph run --max-iterations N`
|
|
298
|
-
4. **Monitor**: `rulebook ralph status` and `rulebook ralph history`
|
|
299
|
-
5. **Review**: Check generated code and learnings
|
|
300
|
-
6. **Deploy**: Code is committed and ready
|
|
301
|
-
|
|
302
|
-
## References
|
|
303
|
-
|
|
304
|
-
- **Ralph Pattern**: https://github.com/snarktank/ralph
|
|
305
|
-
- **Task Management**: See `RULEBOOK.md` in AGENTS.md
|
|
306
|
-
- **Rulebook CLI**: `rulebook --help`
|
|
307
|
-
- **MCP Server**: `rulebook-mcp` (stdio transport)
|
|
308
|
-
|
|
309
|
-
<!-- RALPH:END -->
|
|
1
|
+
---
|
|
2
|
+
name: "Ralph Autonomous Loop"
|
|
3
|
+
description: "Autonomous AI agent loop for iterative task implementation (@hivehub/rulebook ralph)"
|
|
4
|
+
version: "1.0.0"
|
|
5
|
+
category: "workflow"
|
|
6
|
+
author: "Rulebook"
|
|
7
|
+
tags: ["autonomous", "ralph", "iterative", "workflow"]
|
|
8
|
+
dependencies: ["rulebook"]
|
|
9
|
+
conflicts: []
|
|
10
|
+
---
|
|
11
|
+
<!-- RALPH:START -->
|
|
12
|
+
# Ralph Autonomous Loop Skill
|
|
13
|
+
|
|
14
|
+
**Purpose**: Automate iterative feature implementation using Ralph's autonomous agent loop pattern.
|
|
15
|
+
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
Ralph is installed as part of @hivehub/rulebook:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm install -g @hivehub/rulebook
|
|
22
|
+
# or
|
|
23
|
+
npx @hivehub/rulebook init
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Quick Start
|
|
27
|
+
|
|
28
|
+
### Step 1: Initialize Ralph for Your Project
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Create task specifications in .rulebook/tasks/
|
|
32
|
+
rulebook task create my-feature
|
|
33
|
+
|
|
34
|
+
# Initialize Ralph
|
|
35
|
+
rulebook ralph init
|
|
36
|
+
|
|
37
|
+
# This creates:
|
|
38
|
+
# - .rulebook-ralph/prd.json (task specifications in PRD format)
|
|
39
|
+
# - .rulebook-ralph/progress.txt (learning log across iterations)
|
|
40
|
+
# - .rulebook-ralph/history/ (per-iteration metadata)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Step 2: Run Autonomous Loop
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Run with default settings
|
|
47
|
+
rulebook ralph run
|
|
48
|
+
|
|
49
|
+
# Or with custom iterations and tool
|
|
50
|
+
rulebook ralph run --max-iterations 10 --tool claude
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Step 3: Monitor Progress
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# Check current status
|
|
57
|
+
rulebook ralph status
|
|
58
|
+
|
|
59
|
+
# View iteration history
|
|
60
|
+
rulebook ralph history
|
|
61
|
+
|
|
62
|
+
# See learnings discovered
|
|
63
|
+
rulebook ralph history --learnings
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Understanding the Ralph Loop
|
|
67
|
+
|
|
68
|
+
### Loop Workflow
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
1. Pick highest-priority incomplete task from PRD
|
|
72
|
+
2. Execute AI agent (Claude Code, Cursor, or Gemini)
|
|
73
|
+
- Provide full PRD context
|
|
74
|
+
- Include progress.txt (learnings from past iterations)
|
|
75
|
+
- Include git history (recent commits)
|
|
76
|
+
3. Run quality gates (type-check, lint, tests)
|
|
77
|
+
4. If success:
|
|
78
|
+
- Commit changes with iteration metadata
|
|
79
|
+
- Update task status to completed
|
|
80
|
+
- Record learnings to progress.txt
|
|
81
|
+
5. If failure:
|
|
82
|
+
- Mark task as blocked
|
|
83
|
+
- Record error and blockers to progress.txt
|
|
84
|
+
6. Repeat until all tasks completed or max iterations reached
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Fresh Context Per Iteration
|
|
88
|
+
|
|
89
|
+
Each iteration starts fresh:
|
|
90
|
+
- New AI agent instance (clean context)
|
|
91
|
+
- Memory persists through: git commits, PRD.json, progress.txt
|
|
92
|
+
- AI agent reads past learnings to avoid repeating mistakes
|
|
93
|
+
|
|
94
|
+
This pattern prevents "context degradation" where AI agent loses track of architectural decisions across many iterations.
|
|
95
|
+
|
|
96
|
+
## Configuration
|
|
97
|
+
|
|
98
|
+
### .rulebook Configuration
|
|
99
|
+
|
|
100
|
+
```json
|
|
101
|
+
{
|
|
102
|
+
"ralph": {
|
|
103
|
+
"enabled": false,
|
|
104
|
+
"maxIterations": 10,
|
|
105
|
+
"tool": "claude",
|
|
106
|
+
"maxContextLoss": 3
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**Options**:
|
|
112
|
+
- `enabled`: Enable Ralph autonomous loop (default: false)
|
|
113
|
+
- `maxIterations`: Max iterations before stopping (default: 10)
|
|
114
|
+
- `tool`: AI CLI tool to use (default: "claude")
|
|
115
|
+
- `"claude"` — Claude Code CLI
|
|
116
|
+
- `"amp"` — Amp CLI (for Cursor)
|
|
117
|
+
- `"gemini"` — Gemini CLI
|
|
118
|
+
- `maxContextLoss`: Tolerance for incomplete agent outputs (default: 3)
|
|
119
|
+
|
|
120
|
+
### PRD Format (.rulebook-ralph/prd.json)
|
|
121
|
+
|
|
122
|
+
```json
|
|
123
|
+
{
|
|
124
|
+
"tasks": [
|
|
125
|
+
{
|
|
126
|
+
"id": "task-id",
|
|
127
|
+
"title": "Task Title",
|
|
128
|
+
"description": "What needs to be done",
|
|
129
|
+
"priority": 1,
|
|
130
|
+
"status": "pending",
|
|
131
|
+
"acceptanceCriteria": [
|
|
132
|
+
"Criterion 1",
|
|
133
|
+
"Criterion 2"
|
|
134
|
+
],
|
|
135
|
+
"estimatedComplexity": "medium"
|
|
136
|
+
}
|
|
137
|
+
]
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Progress Log (.rulebook-ralph/progress.txt)
|
|
142
|
+
|
|
143
|
+
Append-only learning log:
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
=== Iteration 1 ===
|
|
147
|
+
Task: implement-auth
|
|
148
|
+
Tool: Claude Code
|
|
149
|
+
Result: SUCCESS
|
|
150
|
+
Learnings:
|
|
151
|
+
- Discovered OAuth token refresh pattern (30-min expiry)
|
|
152
|
+
- Gotcha: Tokens expire silently, need header check before retry
|
|
153
|
+
- Pattern: Use interceptor middleware for transparent refresh
|
|
154
|
+
|
|
155
|
+
=== Iteration 2 ===
|
|
156
|
+
Task: add-caching
|
|
157
|
+
Tool: Claude Code
|
|
158
|
+
Result: FAILED - Tests failed
|
|
159
|
+
Error: Cache invalidation not handling concurrent updates
|
|
160
|
+
Blockers: Need to implement distributed cache locking
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## Usage Patterns
|
|
164
|
+
|
|
165
|
+
### Pattern 1: Progressive Feature Implementation
|
|
166
|
+
|
|
167
|
+
Break large features into tasks:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# Create tasks for phases
|
|
171
|
+
rulebook task create setup-database
|
|
172
|
+
rulebook task create create-api-endpoints
|
|
173
|
+
rulebook task create add-authentication
|
|
174
|
+
rulebook task create write-tests
|
|
175
|
+
|
|
176
|
+
# Initialize Ralph
|
|
177
|
+
rulebook ralph init
|
|
178
|
+
|
|
179
|
+
# Run autonomous loop — implements all tasks iteratively
|
|
180
|
+
rulebook ralph run --max-iterations 20
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Pattern 2: Learning Across Iterations
|
|
184
|
+
|
|
185
|
+
Ralph learns from past iterations:
|
|
186
|
+
|
|
187
|
+
1. **Iteration 1**: Implements feature A, discovers pattern X
|
|
188
|
+
2. **Progress.txt updated**: Records pattern X
|
|
189
|
+
3. **Iteration 2**: Reads progress.txt, applies pattern X to feature B
|
|
190
|
+
4. **Iteration 3+**: Builds on discovered patterns
|
|
191
|
+
|
|
192
|
+
### Pattern 3: Pause and Resume
|
|
193
|
+
|
|
194
|
+
Stop loop gracefully and resume later:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
# Start autonomous loop
|
|
198
|
+
rulebook ralph run --max-iterations 100
|
|
199
|
+
|
|
200
|
+
# (User presses Ctrl+C)
|
|
201
|
+
# Loop pauses, state saved
|
|
202
|
+
|
|
203
|
+
# Resume later
|
|
204
|
+
rulebook ralph resume
|
|
205
|
+
|
|
206
|
+
# Continues from last incomplete task with full history
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## Quality Gates
|
|
210
|
+
|
|
211
|
+
Ralph enforces quality checks after each iteration:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
# After each implementation, Ralph runs:
|
|
215
|
+
npm run type-check # TypeScript compilation
|
|
216
|
+
npm run lint # ESLint (0 warnings)
|
|
217
|
+
npm run test # All tests (100% pass)
|
|
218
|
+
npm run test:coverage # Coverage threshold met (95%)
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
**If ANY gate fails**:
|
|
222
|
+
- Task marked as `blocked` with error details
|
|
223
|
+
- Error recorded to progress.txt
|
|
224
|
+
- Loop continues to next task (unless `--strict` mode)
|
|
225
|
+
|
|
226
|
+
## MCP Integration
|
|
227
|
+
|
|
228
|
+
Use Ralph via Model Context Protocol:
|
|
229
|
+
|
|
230
|
+
```javascript
|
|
231
|
+
// Initialize Ralph
|
|
232
|
+
rulebook_ralph_init({ force: false })
|
|
233
|
+
→ Returns: { success: true, taskCount: 5, prdPath: "..." }
|
|
234
|
+
|
|
235
|
+
// Start autonomous loop
|
|
236
|
+
rulebook_ralph_run({ maxIterations: 10, tool: "claude" })
|
|
237
|
+
→ Returns: { success: true, loopId: "loop-123", status: "running" }
|
|
238
|
+
|
|
239
|
+
// Query loop status
|
|
240
|
+
rulebook_ralph_status()
|
|
241
|
+
→ Returns: { loopStatus: "running", iteration: 5, currentTask: "task-id", ... }
|
|
242
|
+
|
|
243
|
+
// Get iteration history
|
|
244
|
+
rulebook_ralph_get_iteration_history({ limit: 10 })
|
|
245
|
+
→ Returns: { iterations: [...], total: 12 }
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
## Best Practices
|
|
249
|
+
|
|
250
|
+
### DO ✅
|
|
251
|
+
|
|
252
|
+
- **Break features into right-sized tasks**: 1-2 context windows each
|
|
253
|
+
- **Write clear acceptance criteria**: AI uses these to validate completion
|
|
254
|
+
- **Monitor iteration history**: Review learnings and errors
|
|
255
|
+
- **Run manual testing**: Ralph is automated but human review is important
|
|
256
|
+
- **Commit frequently**: Each iteration commits, creating audit trail
|
|
257
|
+
- **Use meaningful task IDs**: Descriptive names help AI understand context
|
|
258
|
+
|
|
259
|
+
### DON'T ❌
|
|
260
|
+
|
|
261
|
+
- **Don't create huge tasks**: "Build entire backend" won't fit in one iteration
|
|
262
|
+
- **Don't skip acceptance criteria**: AI needs clear completion signals
|
|
263
|
+
- **Don't ignore blocked tasks**: Review errors and adjust task sizing
|
|
264
|
+
- **Don't run without version control**: You need git history for learning
|
|
265
|
+
- **Don't disable quality gates**: Tests catch failures early
|
|
266
|
+
|
|
267
|
+
## Troubleshooting
|
|
268
|
+
|
|
269
|
+
### Loop Stops Early
|
|
270
|
+
|
|
271
|
+
**Problem**: Ralph stops before reaching max iterations
|
|
272
|
+
**Cause**: All tasks completed (success!) or multiple blockers
|
|
273
|
+
**Solution**: Check `rulebook ralph history` for blockers
|
|
274
|
+
|
|
275
|
+
### Same Task Keeps Failing
|
|
276
|
+
|
|
277
|
+
**Problem**: Task marked blocked multiple times
|
|
278
|
+
**Cause**: Task too large, acceptance criteria unclear, or AI context insufficient
|
|
279
|
+
**Solution**:
|
|
280
|
+
1. Break task into smaller subtasks
|
|
281
|
+
2. Clarify acceptance criteria
|
|
282
|
+
3. Add examples to task spec
|
|
283
|
+
|
|
284
|
+
### Quality Gates Failing
|
|
285
|
+
|
|
286
|
+
**Problem**: Type-check, lint, or tests fail after implementation
|
|
287
|
+
**Cause**: AI-generated code doesn't meet project standards
|
|
288
|
+
**Solution**:
|
|
289
|
+
1. Review error details in progress.txt
|
|
290
|
+
2. Update AGENTS.md with clearer standards
|
|
291
|
+
3. Provide more examples in task specs
|
|
292
|
+
|
|
293
|
+
## Next Steps
|
|
294
|
+
|
|
295
|
+
1. **Create tasks**: `rulebook task create <task-id>` (multiple times)
|
|
296
|
+
2. **Initialize Ralph**: `rulebook ralph init`
|
|
297
|
+
3. **Run loop**: `rulebook ralph run --max-iterations N`
|
|
298
|
+
4. **Monitor**: `rulebook ralph status` and `rulebook ralph history`
|
|
299
|
+
5. **Review**: Check generated code and learnings
|
|
300
|
+
6. **Deploy**: Code is committed and ready
|
|
301
|
+
|
|
302
|
+
## References
|
|
303
|
+
|
|
304
|
+
- **Ralph Pattern**: https://github.com/snarktank/ralph
|
|
305
|
+
- **Task Management**: See `RULEBOOK.md` in AGENTS.md
|
|
306
|
+
- **Rulebook CLI**: `rulebook --help`
|
|
307
|
+
- **MCP Server**: `rulebook-mcp` (stdio transport)
|
|
308
|
+
|
|
309
|
+
<!-- RALPH:END -->
|