@hivehub/rulebook 4.2.2 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/.claude/commands/continue.md +33 -33
  2. package/.claude/commands/ralph-config.md +112 -112
  3. package/.claude/commands/ralph-history.md +110 -110
  4. package/.claude/commands/ralph-init.md +72 -72
  5. package/.claude/commands/ralph-pause-resume.md +105 -105
  6. package/.claude/commands/ralph-run.md +101 -101
  7. package/.claude/commands/ralph-status.md +76 -76
  8. package/.claude/commands/rulebook-memory-save.md +48 -48
  9. package/.claude/commands/rulebook-memory-search.md +47 -47
  10. package/.claude/commands/rulebook-task-apply.md +67 -67
  11. package/.claude/commands/rulebook-task-archive.md +70 -70
  12. package/.claude/commands/rulebook-task-create.md +93 -93
  13. package/.claude/commands/rulebook-task-list.md +42 -42
  14. package/.claude/commands/rulebook-task-show.md +52 -52
  15. package/.claude/commands/rulebook-task-validate.md +53 -53
  16. package/.claude-plugin/marketplace.json +28 -28
  17. package/.claude-plugin/plugin.json +8 -8
  18. package/README.md +8 -1
  19. package/dist/cli/commands.d.ts.map +1 -1
  20. package/dist/cli/commands.js +4 -4
  21. package/dist/cli/commands.js.map +1 -1
  22. package/dist/core/claude-mcp.d.ts +8 -1
  23. package/dist/core/claude-mcp.d.ts.map +1 -1
  24. package/dist/core/claude-mcp.js +32 -1
  25. package/dist/core/claude-mcp.js.map +1 -1
  26. package/dist/core/generator.d.ts +13 -0
  27. package/dist/core/generator.d.ts.map +1 -1
  28. package/dist/core/generator.js +283 -28
  29. package/dist/core/generator.js.map +1 -1
  30. package/dist/core/workspace/workspace-manager.d.ts.map +1 -1
  31. package/dist/core/workspace/workspace-manager.js +2 -6
  32. package/dist/core/workspace/workspace-manager.js.map +1 -1
  33. package/dist/index.js +1 -3
  34. package/dist/index.js.map +1 -1
  35. package/dist/mcp/rulebook-server.d.ts.map +1 -1
  36. package/dist/mcp/rulebook-server.js +5 -4
  37. package/dist/mcp/rulebook-server.js.map +1 -1
  38. package/package.json +21 -22
  39. package/templates/agents/accessibility-reviewer.md +43 -0
  40. package/templates/agents/api-designer.md +42 -0
  41. package/templates/agents/architect.md +51 -0
  42. package/templates/agents/build-engineer.md +36 -0
  43. package/templates/agents/code-reviewer.md +47 -0
  44. package/templates/agents/database-architect.md +41 -0
  45. package/templates/agents/devops-engineer.md +42 -0
  46. package/templates/agents/docs-writer.md +38 -0
  47. package/templates/agents/i18n-engineer.md +42 -0
  48. package/templates/agents/implementer.md +38 -35
  49. package/templates/agents/migration-engineer.md +42 -0
  50. package/templates/agents/performance-engineer.md +49 -0
  51. package/templates/agents/refactoring-agent.md +41 -0
  52. package/templates/agents/researcher.md +38 -34
  53. package/templates/agents/security-reviewer.md +40 -0
  54. package/templates/agents/team-lead.md +37 -34
  55. package/templates/agents/tester.md +45 -42
  56. package/templates/agents/ux-reviewer.md +43 -0
  57. package/templates/ci/rulebook-review.yml +26 -26
  58. package/templates/cli/AIDER.md +49 -49
  59. package/templates/cli/AMAZON_Q.md +25 -25
  60. package/templates/cli/AUGGIE.md +32 -32
  61. package/templates/cli/CLAUDE.md +117 -117
  62. package/templates/cli/CLINE.md +99 -99
  63. package/templates/cli/CODEBUDDY.md +20 -20
  64. package/templates/cli/CODEIUM.md +20 -20
  65. package/templates/cli/CODEX.md +21 -21
  66. package/templates/cli/CONTINUE.md +34 -34
  67. package/templates/cli/CURSOR_CLI.md +62 -62
  68. package/templates/cli/FACTORY.md +18 -18
  69. package/templates/cli/GEMINI.md +35 -35
  70. package/templates/cli/KILOCODE.md +18 -18
  71. package/templates/cli/OPENCODE.md +18 -18
  72. package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
  73. package/templates/commands/rulebook-memory-save.md +48 -48
  74. package/templates/commands/rulebook-memory-search.md +47 -47
  75. package/templates/commands/rulebook-task-apply.md +67 -67
  76. package/templates/commands/rulebook-task-archive.md +94 -94
  77. package/templates/commands/rulebook-task-create.md +93 -93
  78. package/templates/commands/rulebook-task-list.md +42 -42
  79. package/templates/commands/rulebook-task-show.md +52 -52
  80. package/templates/commands/rulebook-task-validate.md +53 -53
  81. package/templates/core/AGENTS_LEAN.md +25 -25
  82. package/templates/core/AGENTS_OVERRIDE.md +16 -16
  83. package/templates/core/AGENT_AUTOMATION.md +288 -288
  84. package/templates/core/DAG.md +304 -304
  85. package/templates/core/DOCUMENTATION_RULES.md +36 -36
  86. package/templates/core/MULTI_AGENT.md +74 -74
  87. package/templates/core/PLANS.md +28 -28
  88. package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
  89. package/templates/core/RALPH.md +471 -471
  90. package/templates/core/RULEBOOK.md +1935 -1935
  91. package/templates/frameworks/ANGULAR.md +36 -36
  92. package/templates/frameworks/DJANGO.md +83 -83
  93. package/templates/frameworks/ELECTRON.md +147 -147
  94. package/templates/frameworks/FLASK.md +38 -38
  95. package/templates/frameworks/FLUTTER.md +55 -55
  96. package/templates/frameworks/JQUERY.md +32 -32
  97. package/templates/frameworks/LARAVEL.md +38 -38
  98. package/templates/frameworks/NESTJS.md +43 -43
  99. package/templates/frameworks/NEXTJS.md +127 -127
  100. package/templates/frameworks/NUXT.md +40 -40
  101. package/templates/frameworks/RAILS.md +66 -66
  102. package/templates/frameworks/REACT.md +38 -38
  103. package/templates/frameworks/REACT_NATIVE.md +47 -47
  104. package/templates/frameworks/SPRING.md +39 -39
  105. package/templates/frameworks/SYMFONY.md +36 -36
  106. package/templates/frameworks/VUE.md +36 -36
  107. package/templates/frameworks/ZEND.md +35 -35
  108. package/templates/git/CI_CD_PATTERNS.md +661 -661
  109. package/templates/git/GITHUB_ACTIONS.md +728 -728
  110. package/templates/git/GITLAB_CI.md +730 -730
  111. package/templates/git/GIT_WORKFLOW.md +1157 -1157
  112. package/templates/git/SECRETS_MANAGEMENT.md +585 -585
  113. package/templates/hooks/COMMIT_MSG.md +530 -530
  114. package/templates/hooks/POST_CHECKOUT.md +546 -546
  115. package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
  116. package/templates/hooks/PRE_COMMIT.md +414 -414
  117. package/templates/hooks/PRE_PUSH.md +601 -601
  118. package/templates/ides/CONTINUE_RULES.md +16 -16
  119. package/templates/ides/COPILOT.md +37 -37
  120. package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -23
  121. package/templates/ides/CURSOR.md +43 -43
  122. package/templates/ides/GEMINI_RULES.md +17 -17
  123. package/templates/ides/JETBRAINS_AI.md +35 -35
  124. package/templates/ides/REPLIT.md +36 -36
  125. package/templates/ides/TABNINE.md +29 -29
  126. package/templates/ides/VSCODE.md +40 -40
  127. package/templates/ides/WINDSURF.md +36 -36
  128. package/templates/ides/WINDSURF_RULES.md +14 -14
  129. package/templates/ides/ZED.md +32 -32
  130. package/templates/ides/cursor-mdc/go.mdc +24 -24
  131. package/templates/ides/cursor-mdc/python.mdc +24 -24
  132. package/templates/ides/cursor-mdc/quality.mdc +25 -25
  133. package/templates/ides/cursor-mdc/ralph.mdc +39 -39
  134. package/templates/ides/cursor-mdc/rulebook.mdc +38 -38
  135. package/templates/ides/cursor-mdc/rust.mdc +24 -24
  136. package/templates/ides/cursor-mdc/typescript.mdc +25 -25
  137. package/templates/languages/C.md +333 -333
  138. package/templates/languages/CPP.md +743 -743
  139. package/templates/languages/CSHARP.md +417 -417
  140. package/templates/languages/ELIXIR.md +454 -454
  141. package/templates/languages/ERLANG.md +361 -361
  142. package/templates/languages/GO.md +645 -645
  143. package/templates/languages/HASKELL.md +177 -177
  144. package/templates/languages/JAVA.md +607 -607
  145. package/templates/languages/JAVASCRIPT.md +631 -631
  146. package/templates/languages/JULIA.md +97 -97
  147. package/templates/languages/KOTLIN.md +511 -511
  148. package/templates/languages/LISP.md +100 -100
  149. package/templates/languages/LUA.md +74 -74
  150. package/templates/languages/OBJECTIVEC.md +90 -90
  151. package/templates/languages/PHP.md +416 -416
  152. package/templates/languages/PYTHON.md +682 -682
  153. package/templates/languages/RUBY.md +421 -421
  154. package/templates/languages/RUST.md +477 -477
  155. package/templates/languages/SAS.md +73 -73
  156. package/templates/languages/SCALA.md +348 -348
  157. package/templates/languages/SOLIDITY.md +580 -580
  158. package/templates/languages/SQL.md +137 -137
  159. package/templates/languages/SWIFT.md +466 -466
  160. package/templates/languages/TYPESCRIPT.md +591 -591
  161. package/templates/languages/ZIG.md +265 -265
  162. package/templates/modules/ATLASSIAN.md +255 -255
  163. package/templates/modules/CONTEXT7.md +54 -54
  164. package/templates/modules/FIGMA.md +267 -267
  165. package/templates/modules/GITHUB_MCP.md +64 -64
  166. package/templates/modules/GRAFANA.md +328 -328
  167. package/templates/modules/MEMORY.md +126 -126
  168. package/templates/modules/NOTION.md +247 -247
  169. package/templates/modules/PLAYWRIGHT.md +90 -90
  170. package/templates/modules/RULEBOOK_MCP.md +156 -156
  171. package/templates/modules/SERENA.md +337 -337
  172. package/templates/modules/SUPABASE.md +223 -223
  173. package/templates/modules/SYNAP.md +69 -69
  174. package/templates/modules/VECTORIZER.md +63 -63
  175. package/templates/modules/sequential-thinking.md +42 -42
  176. package/templates/ralph/ralph-history.bat +4 -4
  177. package/templates/ralph/ralph-history.sh +5 -5
  178. package/templates/ralph/ralph-init.bat +5 -5
  179. package/templates/ralph/ralph-init.sh +5 -5
  180. package/templates/ralph/ralph-pause.bat +5 -5
  181. package/templates/ralph/ralph-pause.sh +5 -5
  182. package/templates/ralph/ralph-run.bat +5 -5
  183. package/templates/ralph/ralph-run.sh +5 -5
  184. package/templates/ralph/ralph-status.bat +4 -4
  185. package/templates/ralph/ralph-status.sh +5 -5
  186. package/templates/services/AZURE_BLOB.md +184 -184
  187. package/templates/services/CASSANDRA.md +239 -239
  188. package/templates/services/DATADOG.md +26 -26
  189. package/templates/services/DOCKER.md +124 -124
  190. package/templates/services/DOCKER_COMPOSE.md +168 -168
  191. package/templates/services/DYNAMODB.md +308 -308
  192. package/templates/services/ELASTICSEARCH.md +347 -347
  193. package/templates/services/GCS.md +178 -178
  194. package/templates/services/HELM.md +194 -194
  195. package/templates/services/INFLUXDB.md +265 -265
  196. package/templates/services/KAFKA.md +341 -341
  197. package/templates/services/KUBERNETES.md +208 -208
  198. package/templates/services/MARIADB.md +183 -183
  199. package/templates/services/MEMCACHED.md +242 -242
  200. package/templates/services/MINIO.md +201 -201
  201. package/templates/services/MONGODB.md +268 -268
  202. package/templates/services/MYSQL.md +358 -358
  203. package/templates/services/NEO4J.md +247 -247
  204. package/templates/services/OPENTELEMETRY.md +25 -25
  205. package/templates/services/ORACLE.md +290 -290
  206. package/templates/services/PINO.md +24 -24
  207. package/templates/services/POSTGRESQL.md +326 -326
  208. package/templates/services/PROMETHEUS.md +33 -33
  209. package/templates/services/RABBITMQ.md +286 -286
  210. package/templates/services/REDIS.md +292 -292
  211. package/templates/services/S3.md +298 -298
  212. package/templates/services/SENTRY.md +23 -23
  213. package/templates/services/SQLITE.md +294 -294
  214. package/templates/services/SQLSERVER.md +294 -294
  215. package/templates/services/WINSTON.md +30 -30
  216. package/templates/skills/cli/aider/SKILL.md +59 -59
  217. package/templates/skills/cli/amazon-q/SKILL.md +35 -35
  218. package/templates/skills/cli/auggie/SKILL.md +42 -42
  219. package/templates/skills/cli/claude/SKILL.md +42 -42
  220. package/templates/skills/cli/cline/SKILL.md +42 -42
  221. package/templates/skills/cli/codebuddy/SKILL.md +30 -30
  222. package/templates/skills/cli/codeium/SKILL.md +30 -30
  223. package/templates/skills/cli/codex/SKILL.md +31 -31
  224. package/templates/skills/cli/continue/SKILL.md +44 -44
  225. package/templates/skills/cli/cursor-cli/SKILL.md +38 -38
  226. package/templates/skills/cli/factory/SKILL.md +28 -28
  227. package/templates/skills/cli/gemini/SKILL.md +45 -45
  228. package/templates/skills/cli/kilocode/SKILL.md +28 -28
  229. package/templates/skills/cli/opencode/SKILL.md +28 -28
  230. package/templates/skills/core/agent-automation/SKILL.md +194 -194
  231. package/templates/skills/core/dag/SKILL.md +314 -314
  232. package/templates/skills/core/documentation-rules/SKILL.md +46 -46
  233. package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
  234. package/templates/skills/core/rulebook/SKILL.md +176 -176
  235. package/templates/skills/dev/accessibility/SKILL.md +17 -0
  236. package/templates/skills/dev/api-design/SKILL.md +15 -0
  237. package/templates/skills/dev/architect/SKILL.md +17 -0
  238. package/templates/skills/dev/build-fix/SKILL.md +17 -0
  239. package/templates/skills/dev/db-design/SKILL.md +15 -0
  240. package/templates/skills/dev/debug/SKILL.md +16 -0
  241. package/templates/skills/dev/deploy/SKILL.md +17 -0
  242. package/templates/skills/dev/docs/SKILL.md +17 -0
  243. package/templates/skills/dev/migrate/SKILL.md +15 -0
  244. package/templates/skills/dev/perf/SKILL.md +17 -0
  245. package/templates/skills/dev/refactor/SKILL.md +17 -0
  246. package/templates/skills/dev/research/SKILL.md +14 -0
  247. package/templates/skills/dev/review/SKILL.md +18 -0
  248. package/templates/skills/dev/security-audit/SKILL.md +17 -0
  249. package/templates/skills/frameworks/angular/SKILL.md +46 -46
  250. package/templates/skills/frameworks/django/SKILL.md +93 -93
  251. package/templates/skills/frameworks/electron/SKILL.md +157 -157
  252. package/templates/skills/frameworks/flask/SKILL.md +48 -48
  253. package/templates/skills/frameworks/flutter/SKILL.md +65 -65
  254. package/templates/skills/frameworks/jquery/SKILL.md +42 -42
  255. package/templates/skills/frameworks/laravel/SKILL.md +48 -48
  256. package/templates/skills/frameworks/nestjs/SKILL.md +53 -53
  257. package/templates/skills/frameworks/nextjs/SKILL.md +137 -137
  258. package/templates/skills/frameworks/nuxt/SKILL.md +50 -50
  259. package/templates/skills/frameworks/rails/SKILL.md +76 -76
  260. package/templates/skills/frameworks/react/SKILL.md +48 -48
  261. package/templates/skills/frameworks/react-native/SKILL.md +57 -57
  262. package/templates/skills/frameworks/spring/SKILL.md +49 -49
  263. package/templates/skills/frameworks/symfony/SKILL.md +46 -46
  264. package/templates/skills/frameworks/vue/SKILL.md +46 -46
  265. package/templates/skills/frameworks/zend/SKILL.md +45 -45
  266. package/templates/skills/ides/copilot/SKILL.md +47 -47
  267. package/templates/skills/ides/cursor/SKILL.md +53 -53
  268. package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -45
  269. package/templates/skills/ides/replit/SKILL.md +46 -46
  270. package/templates/skills/ides/tabnine/SKILL.md +39 -39
  271. package/templates/skills/ides/vscode/SKILL.md +50 -50
  272. package/templates/skills/ides/windsurf/SKILL.md +46 -46
  273. package/templates/skills/ides/zed/SKILL.md +42 -42
  274. package/templates/skills/languages/c/SKILL.md +343 -343
  275. package/templates/skills/languages/cpp/SKILL.md +753 -753
  276. package/templates/skills/languages/csharp/SKILL.md +427 -427
  277. package/templates/skills/languages/elixir/SKILL.md +464 -464
  278. package/templates/skills/languages/erlang/SKILL.md +371 -371
  279. package/templates/skills/languages/go/SKILL.md +655 -655
  280. package/templates/skills/languages/haskell/SKILL.md +187 -187
  281. package/templates/skills/languages/java/SKILL.md +617 -617
  282. package/templates/skills/languages/javascript/SKILL.md +641 -641
  283. package/templates/skills/languages/julia/SKILL.md +107 -107
  284. package/templates/skills/languages/kotlin/SKILL.md +521 -521
  285. package/templates/skills/languages/lisp/SKILL.md +110 -110
  286. package/templates/skills/languages/lua/SKILL.md +84 -84
  287. package/templates/skills/languages/objectivec/SKILL.md +100 -100
  288. package/templates/skills/languages/php/SKILL.md +426 -426
  289. package/templates/skills/languages/python/SKILL.md +692 -692
  290. package/templates/skills/languages/ruby/SKILL.md +431 -431
  291. package/templates/skills/languages/rust/SKILL.md +487 -487
  292. package/templates/skills/languages/sas/SKILL.md +83 -83
  293. package/templates/skills/languages/scala/SKILL.md +358 -358
  294. package/templates/skills/languages/solidity/SKILL.md +590 -590
  295. package/templates/skills/languages/sql/SKILL.md +147 -147
  296. package/templates/skills/languages/swift/SKILL.md +476 -476
  297. package/templates/skills/languages/typescript/SKILL.md +302 -302
  298. package/templates/skills/languages/zig/SKILL.md +275 -275
  299. package/templates/skills/modules/atlassian/SKILL.md +265 -265
  300. package/templates/skills/modules/context7/SKILL.md +64 -64
  301. package/templates/skills/modules/figma/SKILL.md +277 -277
  302. package/templates/skills/modules/github-mcp/SKILL.md +74 -74
  303. package/templates/skills/modules/grafana/SKILL.md +338 -338
  304. package/templates/skills/modules/memory/SKILL.md +73 -73
  305. package/templates/skills/modules/notion/SKILL.md +257 -257
  306. package/templates/skills/modules/playwright/SKILL.md +100 -100
  307. package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
  308. package/templates/skills/modules/serena/SKILL.md +347 -347
  309. package/templates/skills/modules/supabase/SKILL.md +233 -233
  310. package/templates/skills/modules/synap/SKILL.md +79 -79
  311. package/templates/skills/modules/vectorizer/SKILL.md +73 -73
  312. package/templates/skills/services/azure-blob/SKILL.md +194 -194
  313. package/templates/skills/services/cassandra/SKILL.md +249 -249
  314. package/templates/skills/services/dynamodb/SKILL.md +318 -318
  315. package/templates/skills/services/elasticsearch/SKILL.md +357 -357
  316. package/templates/skills/services/gcs/SKILL.md +188 -188
  317. package/templates/skills/services/influxdb/SKILL.md +275 -275
  318. package/templates/skills/services/kafka/SKILL.md +351 -351
  319. package/templates/skills/services/mariadb/SKILL.md +193 -193
  320. package/templates/skills/services/memcached/SKILL.md +252 -252
  321. package/templates/skills/services/minio/SKILL.md +211 -211
  322. package/templates/skills/services/mongodb/SKILL.md +278 -278
  323. package/templates/skills/services/mysql/SKILL.md +368 -368
  324. package/templates/skills/services/neo4j/SKILL.md +257 -257
  325. package/templates/skills/services/oracle/SKILL.md +300 -300
  326. package/templates/skills/services/postgresql/SKILL.md +336 -336
  327. package/templates/skills/services/rabbitmq/SKILL.md +296 -296
  328. package/templates/skills/services/redis/SKILL.md +302 -302
  329. package/templates/skills/services/s3/SKILL.md +308 -308
  330. package/templates/skills/services/sqlite/SKILL.md +304 -304
  331. package/templates/skills/services/sqlserver/SKILL.md +304 -304
  332. package/templates/skills/workflows/ralph/SKILL.md +309 -309
  333. package/templates/skills/workflows/ralph/install.sh +87 -87
  334. package/templates/skills/workflows/ralph/manifest.json +158 -158
@@ -1,471 +1,471 @@
1
- <!-- RALPH:START -->
2
- # Ralph Autonomous Loop Integration
3
-
4
- Ralph is an autonomous AI agent loop that iteratively solves tasks with fresh context for each iteration. This document explains how to use Ralph with your Rulebook project.
5
-
6
- ## Overview
7
-
8
- Ralph enables:
9
- - **Autonomous Multi-Iteration Development**: AI agents solve tasks across multiple iterations
10
- - **Quality Gates**: Automatic checks for type-safety, linting, testing, and coverage
11
- - **Progress Tracking**: Detailed history of each iteration with metrics and learnings
12
- - **Fresh Context per Iteration**: Each iteration starts with clean context, avoiding context window exhaustion
13
- - **Graceful Interruption**: Pause and resume capabilities for long-running tasks
14
-
15
- ## Quick Start
16
-
17
- ### Initialize Ralph
18
- ```bash
19
- rulebook ralph init
20
- ```
21
- This creates:
22
- - `.rulebook/ralph/prd.json` - Product Requirements Document from rulebook tasks
23
- - `.rulebook/ralph/state.json` - Current loop state and progress
24
- - `.rulebook/ralph/history/` - Per-iteration metadata and results
25
-
26
- ### Run Ralph Loop
27
- ```bash
28
- rulebook ralph run --max-iterations 10 --tool claude
29
- ```
30
- Flags:
31
- - `--max-iterations N` - Maximum iterations before stopping (default: 10)
32
- - `--tool TOOL` - AI tool to use: `claude`, `amp`, or `gemini` (default: claude)
33
-
34
- ### Check Status
35
- ```bash
36
- rulebook ralph status
37
- ```
38
- Shows:
39
- - Current iteration count
40
- - Completed vs. pending tasks
41
- - Success rate and quality metrics
42
-
43
- ### View History
44
- ```bash
45
- rulebook ralph history --limit 5
46
- ```
47
- Displays:
48
- - Last 5 iterations with status and duration
49
- - Task completions and failures
50
- - Quality gate results
51
-
52
- ### Pause/Resume
53
- ```bash
54
- rulebook ralph pause # Gracefully pause the loop
55
- rulebook ralph resume # Continue from where it paused
56
- ```
57
-
58
- ## How Ralph Works
59
-
60
- ### Iteration Loop
61
- ```
62
- ┌─────────────────────────────────────────┐
63
- │ 1. Load Next Pending Task from PRD │
64
- ├─────────────────────────────────────────┤
65
- │ 2. Execute Agent with Task Context │
66
- │ - Fresh context per iteration │
67
- │ - Task description and acceptance │
68
- │ criteria from rulebook │
69
- │ - Previous iteration learnings │
70
- ├─────────────────────────────────────────┤
71
- │ 3. Parse Agent Output │
72
- │ - Extract quality gate results │
73
- │ - Extract learnings and errors │
74
- │ - Extract git commit hash │
75
- ├─────────────────────────────────────────┤
76
- │ 4. Record Iteration Results │
77
- │ - Save to history/.iteration-N.json │
78
- │ - Update task status in PRD │
79
- │ - Log progress to progress.txt │
80
- ├─────────────────────────────────────────┤
81
- │ 5. Check Loop Continuation │
82
- │ - All tasks completed? → Stop │
83
- │ - Max iterations reached? → Stop │
84
- │ - Otherwise → Loop │
85
- └─────────────────────────────────────────┘
86
- ```
87
-
88
- ### Quality Gates
89
- Ralph automatically checks these gates after each iteration:
90
-
91
- | Gate | Description | Pass Criteria |
92
- |------|-------------|---------------|
93
- | **type-check** | TypeScript compilation | No errors |
94
- | **lint** | ESLint code quality | No errors |
95
- | **tests** | Unit tests | All passing |
96
- | **coverage** | Code coverage | ≥95% |
97
- | **security** | Vulnerability scan | No findings above `failOn` severity |
98
-
99
- **Security Gate** scans for vulnerabilities using the first available tool:
100
- 1. **trivy** — container and filesystem scanning (`trivy fs --format json`)
101
- 2. **semgrep** — static analysis (`semgrep --config auto --json`)
102
- 3. **npm audit** — Node.js dependency audit (always available in Node projects)
103
-
104
- Configure via `.rulebook` file:
105
- ```json
106
- {
107
- "ralph": {
108
- "securityGate": {
109
- "enabled": true,
110
- "failOn": "high",
111
- "tool": "auto"
112
- }
113
- }
114
- }
115
- ```
116
-
117
- | Setting | Default | Options | Description |
118
- |---------|---------|---------|-------------|
119
- | `enabled` | `true` | `true`/`false` | Enable/disable security gate |
120
- | `failOn` | `"high"` | `critical`/`high`/`moderate`/`low` | Minimum severity to fail |
121
- | `tool` | `"auto"` | `auto`/`npm-audit`/`trivy`/`semgrep` | Scanner to use |
122
-
123
- **Iteration Status:**
124
- - ✅ **success** - All 5 gates pass
125
- - ⚠️ **partial** - 2-4 gates pass
126
- - ❌ **failed** - 0-1 gates pass
127
-
128
- ### Fresh Context Strategy
129
- Each iteration provides context to the agent:
130
- 1. **Task Description** - What to implement
131
- 2. **Acceptance Criteria** - How to verify success
132
- 3. **Quality Requirements** - Type-check, lint, tests, coverage
133
- 4. **Previous Learnings** - Lessons from prior iterations
134
- 5. **Project Context** - Recent git commits, file structure
135
- 6. **Git Status** - Current diff and uncommitted changes
136
-
137
- This allows agents to make progress without exhausting context window.
138
-
139
- ## Task Sizing for Ralph
140
-
141
- ### Good Task Sizes
142
- ✅ **Small Tasks** (1-2 iterations)
143
- - Add single feature (button, form field)
144
- - Fix localized bug
145
- - Refactor single function/component
146
- - Add utility function
147
-
148
- Example:
149
- ```markdown
150
- ## Task: Add Dark Mode Toggle
151
-
152
- What Changes: Add UI toggle for theme switching
153
-
154
- Acceptance Criteria:
155
- - [ ] Toggle button visible in settings
156
- - [ ] Click toggles theme immediately
157
- - [ ] Selection persists in localStorage
158
- - [ ] All tests passing
159
- ```
160
-
161
- ✅ **Medium Tasks** (3-5 iterations)
162
- - Implement new API endpoint
163
- - Refactor component with dependencies
164
- - Add authentication system
165
- - Build complex feature with multiple parts
166
-
167
- Example:
168
- ```markdown
169
- ## Task: Implement User Authentication
170
-
171
- What Changes: Add JWT-based user auth
172
-
173
- Acceptance Criteria:
174
- - [ ] Login endpoint working
175
- - [ ] Token generation and validation
176
- - [ ] Protected routes enforced
177
- - [ ] Refresh token rotation
178
- - [ ] Error handling comprehensive
179
- ```
180
-
181
- ### Poor Task Sizes
182
- ❌ **Too Large** (>5 iterations)
183
- - Build entire new module
184
- - Major architectural redesign
185
- - Complete feature system
186
-
187
- → Break into smaller, focused tasks
188
-
189
- ❌ **Too Vague** (unclear acceptance criteria)
190
- - "Improve performance"
191
- - "Make code better"
192
- - "Add tests"
193
-
194
- → Define specific, measurable criteria
195
-
196
- ## Configuration
197
-
198
- ### .rulebook File
199
- ```json
200
- {
201
- "ralph": {
202
- "enabled": true,
203
- "maxIterations": 10,
204
- "tool": "claude",
205
- "maxContextLoss": 3,
206
- "securityGate": {
207
- "enabled": true,
208
- "failOn": "high",
209
- "tool": "auto"
210
- },
211
- "contextCompression": {
212
- "enabled": true,
213
- "recentCount": 3,
214
- "threshold": 5
215
- }
216
- }
217
- }
218
- ```
219
-
220
- | Setting | Default | Description |
221
- |---------|---------|-------------|
222
- | `enabled` | `true` | Enable Ralph features |
223
- | `maxIterations` | `10` | Max iterations per run |
224
- | `tool` | `claude` | Default AI tool: `claude`, `amp`, `gemini` |
225
- | `maxContextLoss` | `3` | Allow 3 context loss events before stopping |
226
- | `securityGate.enabled` | `true` | Enable 5th quality gate (vulnerability scan) |
227
- | `securityGate.failOn` | `"high"` | Fail on: `critical`, `high`, `moderate`, `low` |
228
- | `securityGate.tool` | `"auto"` | Scanner: `auto`, `npm-audit`, `trivy`, `semgrep` |
229
- | `contextCompression.enabled` | `true` | Compress old iteration history in prompts |
230
- | `contextCompression.recentCount` | `3` | Iterations shown in full detail |
231
- | `contextCompression.threshold` | `5` | Min iterations before compression activates |
232
-
233
- ## MCP Integration
234
-
235
- Ralph provides 4 MCP tools for programmatic access:
236
-
237
- ### rulebook_ralph_init
238
- Initialize Ralph and generate PRD from tasks
239
- ```json
240
- {
241
- "type": "resource",
242
- "name": "rulebook_ralph_init",
243
- "description": "Initialize Ralph autonomous loop"
244
- }
245
- ```
246
-
247
- ### rulebook_ralph_run
248
- Execute autonomous iteration loop
249
- ```json
250
- {
251
- "type": "resource",
252
- "name": "rulebook_ralph_run",
253
- "description": "Run Ralph iteration loop"
254
- }
255
- ```
256
-
257
- ### rulebook_ralph_status
258
- Get current loop state and progress
259
- ```json
260
- {
261
- "type": "resource",
262
- "name": "rulebook_ralph_status",
263
- "description": "Get Ralph loop status"
264
- }
265
- ```
266
-
267
- ### rulebook_ralph_get_iteration_history
268
- Retrieve iteration metadata and statistics
269
- ```json
270
- {
271
- "type": "resource",
272
- "name": "rulebook_ralph_get_iteration_history",
273
- "description": "Get Ralph iteration history"
274
- }
275
- ```
276
-
277
- ## Directory Structure
278
-
279
- Ralph stores all data in `.rulebook/ralph/`:
280
- ```
281
- .rulebook/ralph/
282
- ├── prd.json # Product Requirements Document
283
- ├── state.json # Current loop state
284
- ├── progress.txt # Append-only progress log
285
- └── history/
286
- ├── iteration-1.json # Metadata from iteration 1
287
- ├── iteration-2.json # Metadata from iteration 2
288
- └── ...
289
- ```
290
-
291
- ### prd.json Structure
292
- ```json
293
- {
294
- "version": "1.0",
295
- "generated_at": "2026-02-26T12:00:00Z",
296
- "project_name": "my-project",
297
- "total_tasks": 5,
298
- "tasks": [
299
- {
300
- "id": "task-1",
301
- "title": "Task Title",
302
- "description": "Task description",
303
- "status": "pending|in_iteration|completed|blocked",
304
- "priority": 1,
305
- "acceptance_criteria": ["Criterion 1", "Criterion 2"],
306
- "estimated_iterations": 2,
307
- "created_at": "2026-02-26T12:00:00Z",
308
- "updated_at": "2026-02-26T12:00:00Z"
309
- }
310
- ]
311
- }
312
- ```
313
-
314
- ### iteration-N.json Structure
315
- ```json
316
- {
317
- "iteration": 1,
318
- "started_at": "2026-02-26T12:00:00Z",
319
- "completed_at": "2026-02-26T12:05:00Z",
320
- "task_id": "task-1",
321
- "task_title": "Task Title",
322
- "duration_ms": 300000,
323
- "status": "success|partial|failed",
324
- "git_commit": "abc1234",
325
- "quality_checks": {
326
- "type_check": true,
327
- "lint": true,
328
- "tests": true,
329
- "coverage_met": true
330
- }
331
- }
332
- ```
333
-
334
- ## Best Practices
335
-
336
- ### 1. Clear Acceptance Criteria
337
- ❌ Bad: "Make it work"
338
- ✅ Good: "User can click button and see modal dialog with form"
339
-
340
- ### 2. Limit to 1 Task per Run
341
- Run Ralph on single focused task for best results
342
- ```bash
343
- # Focus on one task at a time
344
- rulebook ralph run --max-iterations 5
345
- ```
346
-
347
- ### 3. Review Iteration Results
348
- Check quality gates and learnings between runs
349
- ```bash
350
- rulebook ralph history --limit 1 # See latest iteration
351
- ```
352
-
353
- ### 4. Break Large Features
354
- Don't try to implement entire systems in one run
355
- - Task 1: API endpoint with basic validation
356
- - Task 2: Database models and migrations
357
- - Task 3: Error handling and edge cases
358
- - Task 4: Tests and documentation
359
-
360
- ### 5. Inspect Failed Iterations
361
- If status is "failed", examine what went wrong:
362
- ```bash
363
- cat .rulebook/ralph/history/iteration-N.json
364
- cat .rulebook/ralph/progress.txt
365
- ```
366
-
367
- ### 6. Use Learnings from History
368
- Ralph extracts and stores learnings from iterations. Review these to understand what strategies worked.
369
-
370
- ## Troubleshooting
371
-
372
- ### Iteration Loop Stops Early
373
- **Cause**: Hit max iterations or all tasks completed
374
-
375
- **Solution**:
376
- - Check status: `rulebook ralph status`
377
- - View history: `rulebook ralph history`
378
- - Increase max iterations: `rulebook ralph run --max-iterations 20`
379
-
380
- ### Quality Gates Failing
381
- **Cause**: Type-check, lint, tests, or coverage not meeting standards
382
-
383
- **Solution**:
384
- - Review failing gate in iteration history
385
- - Check PRD acceptance criteria match quality gates
386
- - Ensure task is small enough for single iteration
387
-
388
- ### Context Loss Events
389
- **Cause**: Agent ran out of context window during iteration
390
-
391
- **Solution**:
392
- - Break task into smaller pieces
393
- - Reduce task description complexity
394
- - Increase agent context window if possible
395
-
396
- ### Ralph State Gets Stuck
397
- **Cause**: Invalid state.json or corrupted PRD
398
-
399
- **Solution**:
400
- ```bash
401
- rm .rulebook/ralph/state.json # Reset state
402
- rulebook ralph init # Regenerate PRD
403
- rulebook ralph run # Restart loop
404
- ```
405
-
406
- ## Examples
407
-
408
- ### Example 1: Simple Feature Implementation
409
- Task: Add dark mode toggle button
410
-
411
- ```bash
412
- # Initialize Ralph
413
- rulebook ralph init
414
-
415
- # Run for up to 3 iterations
416
- rulebook ralph run --max-iterations 3
417
-
418
- # Check results
419
- rulebook ralph history
420
-
421
- # Review final output
422
- cat .rulebook/ralph/history/iteration-*.json
423
- ```
424
-
425
- ### Example 2: Multiple Task Execution
426
- Tasks: Several small features to implement
427
-
428
- ```bash
429
- # Run multiple tasks with generous iteration limit
430
- rulebook ralph run --max-iterations 20
431
-
432
- # Monitor progress
433
- watch -n 5 'rulebook ralph status'
434
-
435
- # Pause if needed
436
- rulebook ralph pause
437
-
438
- # Review and resume
439
- rulebook ralph history
440
- rulebook ralph resume
441
- ```
442
-
443
- ### Example 3: Debugging Failed Iteration
444
- ```bash
445
- # Run into failure
446
- rulebook ralph run --max-iterations 3
447
-
448
- # See what failed
449
- cat .rulebook/ralph/history/iteration-3.json
450
-
451
- # View full progress log
452
- tail -50 .rulebook/ralph/progress.txt
453
-
454
- # Manual fix and resume
455
- rulebook ralph resume
456
- ```
457
-
458
- ## Limitations
459
-
460
- - **Single Sequential Loop**: Ralph processes one task at a time sequentially
461
- - **No Parallel Execution**: Tasks don't run in parallel (by design)
462
- - **No Task Dependencies**: No automatic dependency resolution between tasks
463
- - **Manual Task Ordering**: You order tasks by priority in PRD
464
-
465
- ## Related Documentation
466
-
467
- - See `/.rulebook/specs/RULEBOOK.md` for task structure
468
- - See `/.rulebook/specs/QUALITY_ENFORCEMENT.md` for quality gates
469
- - See `/rulebook/AGENTS.md` for AI agent integration
470
-
471
- <!-- RALPH:END -->
1
+ <!-- RALPH:START -->
2
+ # Ralph Autonomous Loop Integration
3
+
4
+ Ralph is an autonomous AI agent loop that iteratively solves tasks with fresh context for each iteration. This document explains how to use Ralph with your Rulebook project.
5
+
6
+ ## Overview
7
+
8
+ Ralph enables:
9
+ - **Autonomous Multi-Iteration Development**: AI agents solve tasks across multiple iterations
10
+ - **Quality Gates**: Automatic checks for type-safety, linting, testing, and coverage
11
+ - **Progress Tracking**: Detailed history of each iteration with metrics and learnings
12
+ - **Fresh Context per Iteration**: Each iteration starts with clean context, avoiding context window exhaustion
13
+ - **Graceful Interruption**: Pause and resume capabilities for long-running tasks
14
+
15
+ ## Quick Start
16
+
17
+ ### Initialize Ralph
18
+ ```bash
19
+ rulebook ralph init
20
+ ```
21
+ This creates:
22
+ - `.rulebook/ralph/prd.json` - Product Requirements Document from rulebook tasks
23
+ - `.rulebook/ralph/state.json` - Current loop state and progress
24
+ - `.rulebook/ralph/history/` - Per-iteration metadata and results
25
+
26
+ ### Run Ralph Loop
27
+ ```bash
28
+ rulebook ralph run --max-iterations 10 --tool claude
29
+ ```
30
+ Flags:
31
+ - `--max-iterations N` - Maximum iterations before stopping (default: 10)
32
+ - `--tool TOOL` - AI tool to use: `claude`, `amp`, or `gemini` (default: claude)
33
+
34
+ ### Check Status
35
+ ```bash
36
+ rulebook ralph status
37
+ ```
38
+ Shows:
39
+ - Current iteration count
40
+ - Completed vs. pending tasks
41
+ - Success rate and quality metrics
42
+
43
+ ### View History
44
+ ```bash
45
+ rulebook ralph history --limit 5
46
+ ```
47
+ Displays:
48
+ - Last 5 iterations with status and duration
49
+ - Task completions and failures
50
+ - Quality gate results
51
+
52
+ ### Pause/Resume
53
+ ```bash
54
+ rulebook ralph pause # Gracefully pause the loop
55
+ rulebook ralph resume # Continue from where it paused
56
+ ```
57
+
58
+ ## How Ralph Works
59
+
60
+ ### Iteration Loop
61
+ ```
62
+ ┌─────────────────────────────────────────┐
63
+ │ 1. Load Next Pending Task from PRD │
64
+ ├─────────────────────────────────────────┤
65
+ │ 2. Execute Agent with Task Context │
66
+ │ - Fresh context per iteration │
67
+ │ - Task description and acceptance │
68
+ │ criteria from rulebook │
69
+ │ - Previous iteration learnings │
70
+ ├─────────────────────────────────────────┤
71
+ │ 3. Parse Agent Output │
72
+ │ - Extract quality gate results │
73
+ │ - Extract learnings and errors │
74
+ │ - Extract git commit hash │
75
+ ├─────────────────────────────────────────┤
76
+ │ 4. Record Iteration Results │
77
+ │ - Save to history/.iteration-N.json │
78
+ │ - Update task status in PRD │
79
+ │ - Log progress to progress.txt │
80
+ ├─────────────────────────────────────────┤
81
+ │ 5. Check Loop Continuation │
82
+ │ - All tasks completed? → Stop │
83
+ │ - Max iterations reached? → Stop │
84
+ │ - Otherwise → Loop │
85
+ └─────────────────────────────────────────┘
86
+ ```
87
+
88
+ ### Quality Gates
89
+ Ralph automatically checks these gates after each iteration:
90
+
91
+ | Gate | Description | Pass Criteria |
92
+ |------|-------------|---------------|
93
+ | **type-check** | TypeScript compilation | No errors |
94
+ | **lint** | ESLint code quality | No errors |
95
+ | **tests** | Unit tests | All passing |
96
+ | **coverage** | Code coverage | ≥95% |
97
+ | **security** | Vulnerability scan | No findings above `failOn` severity |
98
+
99
+ **Security Gate** scans for vulnerabilities using the first available tool:
100
+ 1. **trivy** — container and filesystem scanning (`trivy fs --format json`)
101
+ 2. **semgrep** — static analysis (`semgrep --config auto --json`)
102
+ 3. **npm audit** — Node.js dependency audit (always available in Node projects)
103
+
104
+ Configure via `.rulebook` file:
105
+ ```json
106
+ {
107
+ "ralph": {
108
+ "securityGate": {
109
+ "enabled": true,
110
+ "failOn": "high",
111
+ "tool": "auto"
112
+ }
113
+ }
114
+ }
115
+ ```
116
+
117
+ | Setting | Default | Options | Description |
118
+ |---------|---------|---------|-------------|
119
+ | `enabled` | `true` | `true`/`false` | Enable/disable security gate |
120
+ | `failOn` | `"high"` | `critical`/`high`/`moderate`/`low` | Minimum severity to fail |
121
+ | `tool` | `"auto"` | `auto`/`npm-audit`/`trivy`/`semgrep` | Scanner to use |
122
+
123
+ **Iteration Status:**
124
+ - ✅ **success** - All 5 gates pass
125
+ - ⚠️ **partial** - 2-4 gates pass
126
+ - ❌ **failed** - 0-1 gates pass
127
+
128
+ ### Fresh Context Strategy
129
+ Each iteration provides context to the agent:
130
+ 1. **Task Description** - What to implement
131
+ 2. **Acceptance Criteria** - How to verify success
132
+ 3. **Quality Requirements** - Type-check, lint, tests, coverage
133
+ 4. **Previous Learnings** - Lessons from prior iterations
134
+ 5. **Project Context** - Recent git commits, file structure
135
+ 6. **Git Status** - Current diff and uncommitted changes
136
+
137
+ This allows agents to make progress without exhausting context window.
138
+
139
+ ## Task Sizing for Ralph
140
+
141
+ ### Good Task Sizes
142
+ ✅ **Small Tasks** (1-2 iterations)
143
+ - Add single feature (button, form field)
144
+ - Fix localized bug
145
+ - Refactor single function/component
146
+ - Add utility function
147
+
148
+ Example:
149
+ ```markdown
150
+ ## Task: Add Dark Mode Toggle
151
+
152
+ What Changes: Add UI toggle for theme switching
153
+
154
+ Acceptance Criteria:
155
+ - [ ] Toggle button visible in settings
156
+ - [ ] Click toggles theme immediately
157
+ - [ ] Selection persists in localStorage
158
+ - [ ] All tests passing
159
+ ```
160
+
161
+ ✅ **Medium Tasks** (3-5 iterations)
162
+ - Implement new API endpoint
163
+ - Refactor component with dependencies
164
+ - Add authentication system
165
+ - Build complex feature with multiple parts
166
+
167
+ Example:
168
+ ```markdown
169
+ ## Task: Implement User Authentication
170
+
171
+ What Changes: Add JWT-based user auth
172
+
173
+ Acceptance Criteria:
174
+ - [ ] Login endpoint working
175
+ - [ ] Token generation and validation
176
+ - [ ] Protected routes enforced
177
+ - [ ] Refresh token rotation
178
+ - [ ] Error handling comprehensive
179
+ ```
180
+
181
+ ### Poor Task Sizes
182
+ ❌ **Too Large** (>5 iterations)
183
+ - Build entire new module
184
+ - Major architectural redesign
185
+ - Complete feature system
186
+
187
+ → Break into smaller, focused tasks
188
+
189
+ ❌ **Too Vague** (unclear acceptance criteria)
190
+ - "Improve performance"
191
+ - "Make code better"
192
+ - "Add tests"
193
+
194
+ → Define specific, measurable criteria
195
+
196
+ ## Configuration
197
+
198
+ ### .rulebook File
199
+ ```json
200
+ {
201
+ "ralph": {
202
+ "enabled": true,
203
+ "maxIterations": 10,
204
+ "tool": "claude",
205
+ "maxContextLoss": 3,
206
+ "securityGate": {
207
+ "enabled": true,
208
+ "failOn": "high",
209
+ "tool": "auto"
210
+ },
211
+ "contextCompression": {
212
+ "enabled": true,
213
+ "recentCount": 3,
214
+ "threshold": 5
215
+ }
216
+ }
217
+ }
218
+ ```
219
+
220
+ | Setting | Default | Description |
221
+ |---------|---------|-------------|
222
+ | `enabled` | `true` | Enable Ralph features |
223
+ | `maxIterations` | `10` | Max iterations per run |
224
+ | `tool` | `claude` | Default AI tool: `claude`, `amp`, `gemini` |
225
+ | `maxContextLoss` | `3` | Allow 3 context loss events before stopping |
226
+ | `securityGate.enabled` | `true` | Enable 5th quality gate (vulnerability scan) |
227
+ | `securityGate.failOn` | `"high"` | Fail on: `critical`, `high`, `moderate`, `low` |
228
+ | `securityGate.tool` | `"auto"` | Scanner: `auto`, `npm-audit`, `trivy`, `semgrep` |
229
+ | `contextCompression.enabled` | `true` | Compress old iteration history in prompts |
230
+ | `contextCompression.recentCount` | `3` | Iterations shown in full detail |
231
+ | `contextCompression.threshold` | `5` | Min iterations before compression activates |
232
+
233
+ ## MCP Integration
234
+
235
+ Ralph provides 4 MCP tools for programmatic access:
236
+
237
+ ### rulebook_ralph_init
238
+ Initialize Ralph and generate PRD from tasks
239
+ ```json
240
+ {
241
+ "type": "resource",
242
+ "name": "rulebook_ralph_init",
243
+ "description": "Initialize Ralph autonomous loop"
244
+ }
245
+ ```
246
+
247
+ ### rulebook_ralph_run
248
+ Execute autonomous iteration loop
249
+ ```json
250
+ {
251
+ "type": "resource",
252
+ "name": "rulebook_ralph_run",
253
+ "description": "Run Ralph iteration loop"
254
+ }
255
+ ```
256
+
257
+ ### rulebook_ralph_status
258
+ Get current loop state and progress
259
+ ```json
260
+ {
261
+ "type": "resource",
262
+ "name": "rulebook_ralph_status",
263
+ "description": "Get Ralph loop status"
264
+ }
265
+ ```
266
+
267
+ ### rulebook_ralph_get_iteration_history
268
+ Retrieve iteration metadata and statistics
269
+ ```json
270
+ {
271
+ "type": "resource",
272
+ "name": "rulebook_ralph_get_iteration_history",
273
+ "description": "Get Ralph iteration history"
274
+ }
275
+ ```
276
+
277
+ ## Directory Structure
278
+
279
+ Ralph stores all data in `.rulebook/ralph/`:
280
+ ```
281
+ .rulebook/ralph/
282
+ ├── prd.json # Product Requirements Document
283
+ ├── state.json # Current loop state
284
+ ├── progress.txt # Append-only progress log
285
+ └── history/
286
+ ├── iteration-1.json # Metadata from iteration 1
287
+ ├── iteration-2.json # Metadata from iteration 2
288
+ └── ...
289
+ ```
290
+
291
+ ### prd.json Structure
292
+ ```json
293
+ {
294
+ "version": "1.0",
295
+ "generated_at": "2026-02-26T12:00:00Z",
296
+ "project_name": "my-project",
297
+ "total_tasks": 5,
298
+ "tasks": [
299
+ {
300
+ "id": "task-1",
301
+ "title": "Task Title",
302
+ "description": "Task description",
303
+ "status": "pending|in_iteration|completed|blocked",
304
+ "priority": 1,
305
+ "acceptance_criteria": ["Criterion 1", "Criterion 2"],
306
+ "estimated_iterations": 2,
307
+ "created_at": "2026-02-26T12:00:00Z",
308
+ "updated_at": "2026-02-26T12:00:00Z"
309
+ }
310
+ ]
311
+ }
312
+ ```
313
+
314
+ ### iteration-N.json Structure
315
+ ```json
316
+ {
317
+ "iteration": 1,
318
+ "started_at": "2026-02-26T12:00:00Z",
319
+ "completed_at": "2026-02-26T12:05:00Z",
320
+ "task_id": "task-1",
321
+ "task_title": "Task Title",
322
+ "duration_ms": 300000,
323
+ "status": "success|partial|failed",
324
+ "git_commit": "abc1234",
325
+ "quality_checks": {
326
+ "type_check": true,
327
+ "lint": true,
328
+ "tests": true,
329
+ "coverage_met": true
330
+ }
331
+ }
332
+ ```
333
+
334
+ ## Best Practices
335
+
336
+ ### 1. Clear Acceptance Criteria
337
+ ❌ Bad: "Make it work"
338
+ ✅ Good: "User can click button and see modal dialog with form"
339
+
340
+ ### 2. Limit to 1 Task per Run
341
+ Run Ralph on single focused task for best results
342
+ ```bash
343
+ # Focus on one task at a time
344
+ rulebook ralph run --max-iterations 5
345
+ ```
346
+
347
+ ### 3. Review Iteration Results
348
+ Check quality gates and learnings between runs
349
+ ```bash
350
+ rulebook ralph history --limit 1 # See latest iteration
351
+ ```
352
+
353
+ ### 4. Break Large Features
354
+ Don't try to implement entire systems in one run
355
+ - Task 1: API endpoint with basic validation
356
+ - Task 2: Database models and migrations
357
+ - Task 3: Error handling and edge cases
358
+ - Task 4: Tests and documentation
359
+
360
+ ### 5. Inspect Failed Iterations
361
+ If status is "failed", examine what went wrong:
362
+ ```bash
363
+ cat .rulebook/ralph/history/iteration-N.json
364
+ cat .rulebook/ralph/progress.txt
365
+ ```
366
+
367
+ ### 6. Use Learnings from History
368
+ Ralph extracts and stores learnings from iterations. Review these to understand what strategies worked.
369
+
370
+ ## Troubleshooting
371
+
372
+ ### Iteration Loop Stops Early
373
+ **Cause**: Hit max iterations or all tasks completed
374
+
375
+ **Solution**:
376
+ - Check status: `rulebook ralph status`
377
+ - View history: `rulebook ralph history`
378
+ - Increase max iterations: `rulebook ralph run --max-iterations 20`
379
+
380
+ ### Quality Gates Failing
381
+ **Cause**: Type-check, lint, tests, or coverage not meeting standards
382
+
383
+ **Solution**:
384
+ - Review failing gate in iteration history
385
+ - Check PRD acceptance criteria match quality gates
386
+ - Ensure task is small enough for single iteration
387
+
388
+ ### Context Loss Events
389
+ **Cause**: Agent ran out of context window during iteration
390
+
391
+ **Solution**:
392
+ - Break task into smaller pieces
393
+ - Reduce task description complexity
394
+ - Increase agent context window if possible
395
+
396
+ ### Ralph State Gets Stuck
397
+ **Cause**: Invalid state.json or corrupted PRD
398
+
399
+ **Solution**:
400
+ ```bash
401
+ rm .rulebook/ralph/state.json # Reset state
402
+ rulebook ralph init # Regenerate PRD
403
+ rulebook ralph run # Restart loop
404
+ ```
405
+
406
+ ## Examples
407
+
408
+ ### Example 1: Simple Feature Implementation
409
+ Task: Add dark mode toggle button
410
+
411
+ ```bash
412
+ # Initialize Ralph
413
+ rulebook ralph init
414
+
415
+ # Run for up to 3 iterations
416
+ rulebook ralph run --max-iterations 3
417
+
418
+ # Check results
419
+ rulebook ralph history
420
+
421
+ # Review final output
422
+ cat .rulebook/ralph/history/iteration-*.json
423
+ ```
424
+
425
+ ### Example 2: Multiple Task Execution
426
+ Tasks: Several small features to implement
427
+
428
+ ```bash
429
+ # Run multiple tasks with generous iteration limit
430
+ rulebook ralph run --max-iterations 20
431
+
432
+ # Monitor progress
433
+ watch -n 5 'rulebook ralph status'
434
+
435
+ # Pause if needed
436
+ rulebook ralph pause
437
+
438
+ # Review and resume
439
+ rulebook ralph history
440
+ rulebook ralph resume
441
+ ```
442
+
443
+ ### Example 3: Debugging Failed Iteration
444
+ ```bash
445
+ # Run into failure
446
+ rulebook ralph run --max-iterations 3
447
+
448
+ # See what failed
449
+ cat .rulebook/ralph/history/iteration-3.json
450
+
451
+ # View full progress log
452
+ tail -50 .rulebook/ralph/progress.txt
453
+
454
+ # Manual fix and resume
455
+ rulebook ralph resume
456
+ ```
457
+
458
+ ## Limitations
459
+
460
+ - **Single Sequential Loop**: Ralph processes one task at a time sequentially
461
+ - **No Parallel Execution**: Tasks don't run in parallel (by design)
462
+ - **No Task Dependencies**: No automatic dependency resolution between tasks
463
+ - **Manual Task Ordering**: You order tasks by priority in PRD
464
+
465
+ ## Related Documentation
466
+
467
+ - See `/.rulebook/specs/RULEBOOK.md` for task structure
468
+ - See `/.rulebook/specs/QUALITY_ENFORCEMENT.md` for quality gates
469
+ - See `/rulebook/AGENTS.md` for AI agent integration
470
+
471
+ <!-- RALPH:END -->