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