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