@hivehub/rulebook 4.1.0 → 4.2.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.
Files changed (335) 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 +137 -1
  19. package/dist/cli/commands.d.ts +18 -6
  20. package/dist/cli/commands.d.ts.map +1 -1
  21. package/dist/cli/commands.js +727 -406
  22. package/dist/cli/commands.js.map +1 -1
  23. package/dist/core/claude-mcp.d.ts +4 -2
  24. package/dist/core/claude-mcp.d.ts.map +1 -1
  25. package/dist/core/claude-mcp.js +14 -9
  26. package/dist/core/claude-mcp.js.map +1 -1
  27. package/dist/core/generator.d.ts.map +1 -1
  28. package/dist/core/generator.js +13 -0
  29. package/dist/core/generator.js.map +1 -1
  30. package/dist/core/indexer/background-indexer.d.ts.map +1 -1
  31. package/dist/core/indexer/background-indexer.js +26 -5
  32. package/dist/core/indexer/background-indexer.js.map +1 -1
  33. package/dist/core/indexer/file-parser.d.ts.map +1 -1
  34. package/dist/core/indexer/file-parser.js +1 -1
  35. package/dist/core/indexer/file-parser.js.map +1 -1
  36. package/dist/core/indexer/indexer-types.d.ts.map +1 -1
  37. package/dist/core/workspace/legacy-migrator.d.ts +29 -0
  38. package/dist/core/workspace/legacy-migrator.d.ts.map +1 -0
  39. package/dist/core/workspace/legacy-migrator.js +142 -0
  40. package/dist/core/workspace/legacy-migrator.js.map +1 -0
  41. package/dist/core/workspace/project-worker.d.ts +49 -0
  42. package/dist/core/workspace/project-worker.d.ts.map +1 -0
  43. package/dist/core/workspace/project-worker.js +108 -0
  44. package/dist/core/workspace/project-worker.js.map +1 -0
  45. package/dist/core/workspace/workspace-manager.d.ts +90 -0
  46. package/dist/core/workspace/workspace-manager.d.ts.map +1 -0
  47. package/dist/core/workspace/workspace-manager.js +347 -0
  48. package/dist/core/workspace/workspace-manager.js.map +1 -0
  49. package/dist/core/workspace/workspace-types.d.ts +37 -0
  50. package/dist/core/workspace/workspace-types.d.ts.map +1 -0
  51. package/dist/core/workspace/workspace-types.js +8 -0
  52. package/dist/core/workspace/workspace-types.js.map +1 -0
  53. package/dist/index.js +43 -7
  54. package/dist/index.js.map +1 -1
  55. package/dist/mcp/rulebook-server.d.ts.map +1 -1
  56. package/dist/mcp/rulebook-server.js +367 -100
  57. package/dist/mcp/rulebook-server.js.map +1 -1
  58. package/dist/memory/memory-manager.js +2 -2
  59. package/dist/memory/memory-manager.js.map +1 -1
  60. package/dist/memory/memory-search.js.map +1 -1
  61. package/dist/memory/memory-store.d.ts.map +1 -1
  62. package/dist/memory/memory-store.js +1 -1
  63. package/dist/memory/memory-store.js.map +1 -1
  64. package/dist/types.d.ts +1 -0
  65. package/dist/types.d.ts.map +1 -1
  66. package/package.json +22 -21
  67. package/templates/agents/implementer.md +35 -35
  68. package/templates/agents/researcher.md +34 -34
  69. package/templates/agents/team-lead.md +34 -34
  70. package/templates/agents/tester.md +42 -42
  71. package/templates/ci/rulebook-review.yml +26 -26
  72. package/templates/cli/AIDER.md +49 -49
  73. package/templates/cli/AMAZON_Q.md +25 -25
  74. package/templates/cli/AUGGIE.md +32 -32
  75. package/templates/cli/CLAUDE.md +117 -117
  76. package/templates/cli/CLINE.md +99 -99
  77. package/templates/cli/CODEBUDDY.md +20 -20
  78. package/templates/cli/CODEIUM.md +20 -20
  79. package/templates/cli/CODEX.md +21 -21
  80. package/templates/cli/CONTINUE.md +34 -34
  81. package/templates/cli/CURSOR_CLI.md +62 -62
  82. package/templates/cli/FACTORY.md +18 -18
  83. package/templates/cli/GEMINI.md +35 -35
  84. package/templates/cli/KILOCODE.md +18 -18
  85. package/templates/cli/OPENCODE.md +18 -18
  86. package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
  87. package/templates/commands/rulebook-memory-save.md +48 -48
  88. package/templates/commands/rulebook-memory-search.md +47 -47
  89. package/templates/commands/rulebook-task-apply.md +67 -67
  90. package/templates/commands/rulebook-task-archive.md +94 -94
  91. package/templates/commands/rulebook-task-create.md +93 -93
  92. package/templates/commands/rulebook-task-list.md +42 -42
  93. package/templates/commands/rulebook-task-show.md +52 -52
  94. package/templates/commands/rulebook-task-validate.md +53 -53
  95. package/templates/core/AGENTS_LEAN.md +25 -25
  96. package/templates/core/AGENTS_OVERRIDE.md +16 -16
  97. package/templates/core/AGENT_AUTOMATION.md +288 -288
  98. package/templates/core/DAG.md +304 -304
  99. package/templates/core/DOCUMENTATION_RULES.md +36 -36
  100. package/templates/core/MULTI_AGENT.md +74 -74
  101. package/templates/core/PLANS.md +28 -28
  102. package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
  103. package/templates/core/RALPH.md +471 -471
  104. package/templates/core/RULEBOOK.md +1935 -1935
  105. package/templates/core/WORKSPACE.md +69 -0
  106. package/templates/frameworks/ANGULAR.md +36 -36
  107. package/templates/frameworks/DJANGO.md +83 -83
  108. package/templates/frameworks/ELECTRON.md +147 -147
  109. package/templates/frameworks/FLASK.md +38 -38
  110. package/templates/frameworks/FLUTTER.md +55 -55
  111. package/templates/frameworks/JQUERY.md +32 -32
  112. package/templates/frameworks/LARAVEL.md +38 -38
  113. package/templates/frameworks/NESTJS.md +43 -43
  114. package/templates/frameworks/NEXTJS.md +127 -127
  115. package/templates/frameworks/NUXT.md +40 -40
  116. package/templates/frameworks/RAILS.md +66 -66
  117. package/templates/frameworks/REACT.md +38 -38
  118. package/templates/frameworks/REACT_NATIVE.md +47 -47
  119. package/templates/frameworks/SPRING.md +39 -39
  120. package/templates/frameworks/SYMFONY.md +36 -36
  121. package/templates/frameworks/VUE.md +36 -36
  122. package/templates/frameworks/ZEND.md +35 -35
  123. package/templates/git/CI_CD_PATTERNS.md +661 -661
  124. package/templates/git/GITHUB_ACTIONS.md +728 -728
  125. package/templates/git/GITLAB_CI.md +730 -730
  126. package/templates/git/GIT_WORKFLOW.md +1157 -1157
  127. package/templates/git/SECRETS_MANAGEMENT.md +585 -585
  128. package/templates/hooks/COMMIT_MSG.md +530 -530
  129. package/templates/hooks/POST_CHECKOUT.md +546 -546
  130. package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
  131. package/templates/hooks/PRE_COMMIT.md +414 -414
  132. package/templates/hooks/PRE_PUSH.md +601 -601
  133. package/templates/ides/CONTINUE_RULES.md +16 -16
  134. package/templates/ides/COPILOT.md +37 -37
  135. package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -23
  136. package/templates/ides/CURSOR.md +43 -43
  137. package/templates/ides/GEMINI_RULES.md +17 -17
  138. package/templates/ides/JETBRAINS_AI.md +35 -35
  139. package/templates/ides/REPLIT.md +36 -36
  140. package/templates/ides/TABNINE.md +29 -29
  141. package/templates/ides/VSCODE.md +40 -40
  142. package/templates/ides/WINDSURF.md +36 -36
  143. package/templates/ides/WINDSURF_RULES.md +14 -14
  144. package/templates/ides/ZED.md +32 -32
  145. package/templates/ides/cursor-mdc/go.mdc +24 -24
  146. package/templates/ides/cursor-mdc/python.mdc +24 -24
  147. package/templates/ides/cursor-mdc/quality.mdc +25 -25
  148. package/templates/ides/cursor-mdc/ralph.mdc +39 -39
  149. package/templates/ides/cursor-mdc/rulebook.mdc +38 -38
  150. package/templates/ides/cursor-mdc/rust.mdc +24 -24
  151. package/templates/ides/cursor-mdc/typescript.mdc +25 -25
  152. package/templates/languages/C.md +333 -333
  153. package/templates/languages/CPP.md +743 -743
  154. package/templates/languages/CSHARP.md +417 -417
  155. package/templates/languages/ELIXIR.md +454 -454
  156. package/templates/languages/ERLANG.md +361 -361
  157. package/templates/languages/GO.md +645 -645
  158. package/templates/languages/HASKELL.md +177 -177
  159. package/templates/languages/JAVA.md +607 -607
  160. package/templates/languages/JAVASCRIPT.md +631 -631
  161. package/templates/languages/JULIA.md +97 -97
  162. package/templates/languages/KOTLIN.md +511 -511
  163. package/templates/languages/LISP.md +100 -100
  164. package/templates/languages/LUA.md +74 -74
  165. package/templates/languages/OBJECTIVEC.md +90 -90
  166. package/templates/languages/PHP.md +416 -416
  167. package/templates/languages/PYTHON.md +682 -682
  168. package/templates/languages/RUBY.md +421 -421
  169. package/templates/languages/RUST.md +477 -477
  170. package/templates/languages/SAS.md +73 -73
  171. package/templates/languages/SCALA.md +348 -348
  172. package/templates/languages/SOLIDITY.md +580 -580
  173. package/templates/languages/SQL.md +137 -137
  174. package/templates/languages/SWIFT.md +466 -466
  175. package/templates/languages/TYPESCRIPT.md +591 -591
  176. package/templates/languages/ZIG.md +265 -265
  177. package/templates/modules/ATLASSIAN.md +255 -255
  178. package/templates/modules/CONTEXT7.md +54 -54
  179. package/templates/modules/FIGMA.md +267 -267
  180. package/templates/modules/GITHUB_MCP.md +64 -64
  181. package/templates/modules/GRAFANA.md +328 -328
  182. package/templates/modules/MEMORY.md +126 -126
  183. package/templates/modules/NOTION.md +247 -247
  184. package/templates/modules/PLAYWRIGHT.md +90 -90
  185. package/templates/modules/RULEBOOK_MCP.md +156 -156
  186. package/templates/modules/SERENA.md +337 -337
  187. package/templates/modules/SUPABASE.md +223 -223
  188. package/templates/modules/SYNAP.md +69 -69
  189. package/templates/modules/VECTORIZER.md +63 -63
  190. package/templates/modules/sequential-thinking.md +42 -42
  191. package/templates/ralph/ralph-history.bat +4 -4
  192. package/templates/ralph/ralph-history.sh +5 -5
  193. package/templates/ralph/ralph-init.bat +5 -5
  194. package/templates/ralph/ralph-init.sh +5 -5
  195. package/templates/ralph/ralph-pause.bat +5 -5
  196. package/templates/ralph/ralph-pause.sh +5 -5
  197. package/templates/ralph/ralph-run.bat +5 -5
  198. package/templates/ralph/ralph-run.sh +5 -5
  199. package/templates/ralph/ralph-status.bat +4 -4
  200. package/templates/ralph/ralph-status.sh +5 -5
  201. package/templates/services/AZURE_BLOB.md +184 -184
  202. package/templates/services/CASSANDRA.md +239 -239
  203. package/templates/services/DATADOG.md +26 -26
  204. package/templates/services/DOCKER.md +124 -124
  205. package/templates/services/DOCKER_COMPOSE.md +168 -168
  206. package/templates/services/DYNAMODB.md +308 -308
  207. package/templates/services/ELASTICSEARCH.md +347 -347
  208. package/templates/services/GCS.md +178 -178
  209. package/templates/services/HELM.md +194 -194
  210. package/templates/services/INFLUXDB.md +265 -265
  211. package/templates/services/KAFKA.md +341 -341
  212. package/templates/services/KUBERNETES.md +208 -208
  213. package/templates/services/MARIADB.md +183 -183
  214. package/templates/services/MEMCACHED.md +242 -242
  215. package/templates/services/MINIO.md +201 -201
  216. package/templates/services/MONGODB.md +268 -268
  217. package/templates/services/MYSQL.md +358 -358
  218. package/templates/services/NEO4J.md +247 -247
  219. package/templates/services/OPENTELEMETRY.md +25 -25
  220. package/templates/services/ORACLE.md +290 -290
  221. package/templates/services/PINO.md +24 -24
  222. package/templates/services/POSTGRESQL.md +326 -326
  223. package/templates/services/PROMETHEUS.md +33 -33
  224. package/templates/services/RABBITMQ.md +286 -286
  225. package/templates/services/REDIS.md +292 -292
  226. package/templates/services/S3.md +298 -298
  227. package/templates/services/SENTRY.md +23 -23
  228. package/templates/services/SQLITE.md +294 -294
  229. package/templates/services/SQLSERVER.md +294 -294
  230. package/templates/services/WINSTON.md +30 -30
  231. package/templates/skills/cli/aider/SKILL.md +59 -59
  232. package/templates/skills/cli/amazon-q/SKILL.md +35 -35
  233. package/templates/skills/cli/auggie/SKILL.md +42 -42
  234. package/templates/skills/cli/claude/SKILL.md +42 -42
  235. package/templates/skills/cli/cline/SKILL.md +42 -42
  236. package/templates/skills/cli/codebuddy/SKILL.md +30 -30
  237. package/templates/skills/cli/codeium/SKILL.md +30 -30
  238. package/templates/skills/cli/codex/SKILL.md +31 -31
  239. package/templates/skills/cli/continue/SKILL.md +44 -44
  240. package/templates/skills/cli/cursor-cli/SKILL.md +38 -38
  241. package/templates/skills/cli/factory/SKILL.md +28 -28
  242. package/templates/skills/cli/gemini/SKILL.md +45 -45
  243. package/templates/skills/cli/kilocode/SKILL.md +28 -28
  244. package/templates/skills/cli/opencode/SKILL.md +28 -28
  245. package/templates/skills/core/agent-automation/SKILL.md +194 -194
  246. package/templates/skills/core/dag/SKILL.md +314 -314
  247. package/templates/skills/core/documentation-rules/SKILL.md +46 -46
  248. package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
  249. package/templates/skills/core/rulebook/SKILL.md +176 -176
  250. package/templates/skills/frameworks/angular/SKILL.md +46 -46
  251. package/templates/skills/frameworks/django/SKILL.md +93 -93
  252. package/templates/skills/frameworks/electron/SKILL.md +157 -157
  253. package/templates/skills/frameworks/flask/SKILL.md +48 -48
  254. package/templates/skills/frameworks/flutter/SKILL.md +65 -65
  255. package/templates/skills/frameworks/jquery/SKILL.md +42 -42
  256. package/templates/skills/frameworks/laravel/SKILL.md +48 -48
  257. package/templates/skills/frameworks/nestjs/SKILL.md +53 -53
  258. package/templates/skills/frameworks/nextjs/SKILL.md +137 -137
  259. package/templates/skills/frameworks/nuxt/SKILL.md +50 -50
  260. package/templates/skills/frameworks/rails/SKILL.md +76 -76
  261. package/templates/skills/frameworks/react/SKILL.md +48 -48
  262. package/templates/skills/frameworks/react-native/SKILL.md +57 -57
  263. package/templates/skills/frameworks/spring/SKILL.md +49 -49
  264. package/templates/skills/frameworks/symfony/SKILL.md +46 -46
  265. package/templates/skills/frameworks/vue/SKILL.md +46 -46
  266. package/templates/skills/frameworks/zend/SKILL.md +45 -45
  267. package/templates/skills/ides/copilot/SKILL.md +47 -47
  268. package/templates/skills/ides/cursor/SKILL.md +53 -53
  269. package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -45
  270. package/templates/skills/ides/replit/SKILL.md +46 -46
  271. package/templates/skills/ides/tabnine/SKILL.md +39 -39
  272. package/templates/skills/ides/vscode/SKILL.md +50 -50
  273. package/templates/skills/ides/windsurf/SKILL.md +46 -46
  274. package/templates/skills/ides/zed/SKILL.md +42 -42
  275. package/templates/skills/languages/c/SKILL.md +343 -343
  276. package/templates/skills/languages/cpp/SKILL.md +753 -753
  277. package/templates/skills/languages/csharp/SKILL.md +427 -427
  278. package/templates/skills/languages/elixir/SKILL.md +464 -464
  279. package/templates/skills/languages/erlang/SKILL.md +371 -371
  280. package/templates/skills/languages/go/SKILL.md +655 -655
  281. package/templates/skills/languages/haskell/SKILL.md +187 -187
  282. package/templates/skills/languages/java/SKILL.md +617 -617
  283. package/templates/skills/languages/javascript/SKILL.md +641 -641
  284. package/templates/skills/languages/julia/SKILL.md +107 -107
  285. package/templates/skills/languages/kotlin/SKILL.md +521 -521
  286. package/templates/skills/languages/lisp/SKILL.md +110 -110
  287. package/templates/skills/languages/lua/SKILL.md +84 -84
  288. package/templates/skills/languages/objectivec/SKILL.md +100 -100
  289. package/templates/skills/languages/php/SKILL.md +426 -426
  290. package/templates/skills/languages/python/SKILL.md +692 -692
  291. package/templates/skills/languages/ruby/SKILL.md +431 -431
  292. package/templates/skills/languages/rust/SKILL.md +487 -487
  293. package/templates/skills/languages/sas/SKILL.md +83 -83
  294. package/templates/skills/languages/scala/SKILL.md +358 -358
  295. package/templates/skills/languages/solidity/SKILL.md +590 -590
  296. package/templates/skills/languages/sql/SKILL.md +147 -147
  297. package/templates/skills/languages/swift/SKILL.md +476 -476
  298. package/templates/skills/languages/typescript/SKILL.md +302 -302
  299. package/templates/skills/languages/zig/SKILL.md +275 -275
  300. package/templates/skills/modules/atlassian/SKILL.md +265 -265
  301. package/templates/skills/modules/context7/SKILL.md +64 -64
  302. package/templates/skills/modules/figma/SKILL.md +277 -277
  303. package/templates/skills/modules/github-mcp/SKILL.md +74 -74
  304. package/templates/skills/modules/grafana/SKILL.md +338 -338
  305. package/templates/skills/modules/memory/SKILL.md +73 -73
  306. package/templates/skills/modules/notion/SKILL.md +257 -257
  307. package/templates/skills/modules/playwright/SKILL.md +100 -100
  308. package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
  309. package/templates/skills/modules/serena/SKILL.md +347 -347
  310. package/templates/skills/modules/supabase/SKILL.md +233 -233
  311. package/templates/skills/modules/synap/SKILL.md +79 -79
  312. package/templates/skills/modules/vectorizer/SKILL.md +73 -73
  313. package/templates/skills/services/azure-blob/SKILL.md +194 -194
  314. package/templates/skills/services/cassandra/SKILL.md +249 -249
  315. package/templates/skills/services/dynamodb/SKILL.md +318 -318
  316. package/templates/skills/services/elasticsearch/SKILL.md +357 -357
  317. package/templates/skills/services/gcs/SKILL.md +188 -188
  318. package/templates/skills/services/influxdb/SKILL.md +275 -275
  319. package/templates/skills/services/kafka/SKILL.md +351 -351
  320. package/templates/skills/services/mariadb/SKILL.md +193 -193
  321. package/templates/skills/services/memcached/SKILL.md +252 -252
  322. package/templates/skills/services/minio/SKILL.md +211 -211
  323. package/templates/skills/services/mongodb/SKILL.md +278 -278
  324. package/templates/skills/services/mysql/SKILL.md +368 -368
  325. package/templates/skills/services/neo4j/SKILL.md +257 -257
  326. package/templates/skills/services/oracle/SKILL.md +300 -300
  327. package/templates/skills/services/postgresql/SKILL.md +336 -336
  328. package/templates/skills/services/rabbitmq/SKILL.md +296 -296
  329. package/templates/skills/services/redis/SKILL.md +302 -302
  330. package/templates/skills/services/s3/SKILL.md +308 -308
  331. package/templates/skills/services/sqlite/SKILL.md +304 -304
  332. package/templates/skills/services/sqlserver/SKILL.md +304 -304
  333. package/templates/skills/workflows/ralph/SKILL.md +309 -309
  334. package/templates/skills/workflows/ralph/install.sh +87 -87
  335. 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 -->