@herbcaudill/ralph 0.6.4 → 0.7.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 (175) hide show
  1. package/README.md +13 -100
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +21 -7
  4. package/dist/cli.js.map +1 -1
  5. package/dist/components/App.d.ts +2 -1
  6. package/dist/components/App.d.ts.map +1 -1
  7. package/dist/components/App.js +5 -1
  8. package/dist/components/App.js.map +1 -1
  9. package/dist/components/InitRalph.js +5 -5
  10. package/dist/components/InitRalph.js.map +1 -1
  11. package/dist/components/IterationRunner.d.ts +1 -1
  12. package/dist/components/IterationRunner.d.ts.map +1 -1
  13. package/dist/components/IterationRunner.js +212 -56
  14. package/dist/components/IterationRunner.js.map +1 -1
  15. package/dist/components/IterationRunner.test.js +2 -2
  16. package/dist/components/IterationRunner.test.js.map +1 -1
  17. package/dist/components/JsonOutput.d.ts +14 -0
  18. package/dist/components/JsonOutput.d.ts.map +1 -0
  19. package/dist/components/JsonOutput.js +246 -0
  20. package/dist/components/JsonOutput.js.map +1 -0
  21. package/dist/components/ProgressBar.d.ts +7 -5
  22. package/dist/components/ProgressBar.d.ts.map +1 -1
  23. package/dist/components/ProgressBar.js +7 -5
  24. package/dist/components/ProgressBar.js.map +1 -1
  25. package/dist/components/ProgressBar.test.js +24 -11
  26. package/dist/components/ProgressBar.test.js.map +1 -1
  27. package/dist/lib/MessageQueue.d.ts +2 -0
  28. package/dist/lib/MessageQueue.d.ts.map +1 -1
  29. package/dist/lib/MessageQueue.js +35 -2
  30. package/dist/lib/MessageQueue.js.map +1 -1
  31. package/dist/lib/MessageQueue.test.js +146 -0
  32. package/dist/lib/MessageQueue.test.js.map +1 -1
  33. package/dist/lib/StdinCommandHandler.d.ts +42 -0
  34. package/dist/lib/StdinCommandHandler.d.ts.map +1 -0
  35. package/dist/lib/StdinCommandHandler.js +102 -0
  36. package/dist/lib/StdinCommandHandler.js.map +1 -0
  37. package/dist/lib/StdinCommandHandler.test.d.ts +2 -0
  38. package/dist/lib/StdinCommandHandler.test.d.ts.map +1 -0
  39. package/dist/lib/StdinCommandHandler.test.js +93 -0
  40. package/dist/lib/StdinCommandHandler.test.js.map +1 -0
  41. package/dist/lib/debug.d.ts +18 -0
  42. package/dist/lib/debug.d.ts.map +1 -0
  43. package/dist/lib/debug.js +44 -0
  44. package/dist/lib/debug.js.map +1 -0
  45. package/dist/lib/formatContentBlock.js +1 -1
  46. package/dist/lib/formatContentBlock.js.map +1 -1
  47. package/dist/lib/getNextLogFile.d.ts +12 -0
  48. package/dist/lib/getNextLogFile.d.ts.map +1 -0
  49. package/dist/lib/getNextLogFile.js +52 -0
  50. package/dist/lib/getNextLogFile.js.map +1 -0
  51. package/dist/lib/getNextLogFile.test.d.ts +2 -0
  52. package/dist/lib/getNextLogFile.test.d.ts.map +1 -0
  53. package/dist/lib/getNextLogFile.test.js +65 -0
  54. package/dist/lib/getNextLogFile.test.js.map +1 -0
  55. package/dist/lib/getOpenIssueCount.d.ts +11 -0
  56. package/dist/lib/getOpenIssueCount.d.ts.map +1 -0
  57. package/dist/lib/getOpenIssueCount.js +31 -0
  58. package/dist/lib/getOpenIssueCount.js.map +1 -0
  59. package/dist/lib/getOpenIssueCount.test.d.ts +2 -0
  60. package/dist/lib/getOpenIssueCount.test.d.ts.map +1 -0
  61. package/dist/lib/getOpenIssueCount.test.js +65 -0
  62. package/dist/lib/getOpenIssueCount.test.js.map +1 -0
  63. package/dist/lib/getProgress.d.ts +22 -6
  64. package/dist/lib/getProgress.d.ts.map +1 -1
  65. package/dist/lib/getProgress.js +69 -23
  66. package/dist/lib/getProgress.js.map +1 -1
  67. package/dist/lib/getProgress.test.js +68 -34
  68. package/dist/lib/getProgress.test.js.map +1 -1
  69. package/package.json +1 -1
  70. package/templates/prompt-beads.md +27 -25
  71. package/dist/lib/cleanupAllWorktrees.d.ts +0 -5
  72. package/dist/lib/cleanupAllWorktrees.d.ts.map +0 -1
  73. package/dist/lib/cleanupAllWorktrees.js +0 -23
  74. package/dist/lib/cleanupAllWorktrees.js.map +0 -1
  75. package/dist/lib/cleanupWorktree.d.ts +0 -6
  76. package/dist/lib/cleanupWorktree.d.ts.map +0 -1
  77. package/dist/lib/cleanupWorktree.js +0 -33
  78. package/dist/lib/cleanupWorktree.js.map +0 -1
  79. package/dist/lib/copyRalphFilesFromWorktree.d.ts +0 -5
  80. package/dist/lib/copyRalphFilesFromWorktree.d.ts.map +0 -1
  81. package/dist/lib/copyRalphFilesFromWorktree.js +0 -19
  82. package/dist/lib/copyRalphFilesFromWorktree.js.map +0 -1
  83. package/dist/lib/copyRalphFilesToWorktree.d.ts +0 -5
  84. package/dist/lib/copyRalphFilesToWorktree.d.ts.map +0 -1
  85. package/dist/lib/copyRalphFilesToWorktree.js +0 -21
  86. package/dist/lib/copyRalphFilesToWorktree.js.map +0 -1
  87. package/dist/lib/createWorktree.d.ts +0 -6
  88. package/dist/lib/createWorktree.d.ts.map +0 -1
  89. package/dist/lib/createWorktree.js +0 -33
  90. package/dist/lib/createWorktree.js.map +0 -1
  91. package/dist/lib/getGitRoot.d.ts +0 -5
  92. package/dist/lib/getGitRoot.d.ts.map +0 -1
  93. package/dist/lib/getGitRoot.js +0 -18
  94. package/dist/lib/getGitRoot.js.map +0 -1
  95. package/dist/lib/installDependencies.d.ts +0 -5
  96. package/dist/lib/installDependencies.d.ts.map +0 -1
  97. package/dist/lib/installDependencies.js +0 -23
  98. package/dist/lib/installDependencies.js.map +0 -1
  99. package/dist/lib/installDependencies.test.d.ts +0 -2
  100. package/dist/lib/installDependencies.test.d.ts.map +0 -1
  101. package/dist/lib/installDependencies.test.js +0 -37
  102. package/dist/lib/installDependencies.test.js.map +0 -1
  103. package/dist/lib/mergeWorktreeToMain.d.ts +0 -6
  104. package/dist/lib/mergeWorktreeToMain.d.ts.map +0 -1
  105. package/dist/lib/mergeWorktreeToMain.js +0 -54
  106. package/dist/lib/mergeWorktreeToMain.js.map +0 -1
  107. package/dist/lib/outputState.d.ts +0 -5
  108. package/dist/lib/outputState.d.ts.map +0 -1
  109. package/dist/lib/outputState.js +0 -6
  110. package/dist/lib/outputState.js.map +0 -1
  111. package/dist/lib/popStash.d.ts +0 -5
  112. package/dist/lib/popStash.d.ts.map +0 -1
  113. package/dist/lib/popStash.js +0 -17
  114. package/dist/lib/popStash.js.map +0 -1
  115. package/dist/lib/processEvent.d.ts +0 -2
  116. package/dist/lib/processEvent.d.ts.map +0 -1
  117. package/dist/lib/processEvent.js +0 -100
  118. package/dist/lib/processEvent.js.map +0 -1
  119. package/dist/lib/replayLog.d.ts +0 -2
  120. package/dist/lib/replayLog.d.ts.map +0 -1
  121. package/dist/lib/replayLog.js +0 -35
  122. package/dist/lib/replayLog.js.map +0 -1
  123. package/dist/lib/resolveConflicts.d.ts +0 -6
  124. package/dist/lib/resolveConflicts.d.ts.map +0 -1
  125. package/dist/lib/resolveConflicts.js +0 -76
  126. package/dist/lib/resolveConflicts.js.map +0 -1
  127. package/dist/lib/runIteration.d.ts +0 -2
  128. package/dist/lib/runIteration.d.ts.map +0 -1
  129. package/dist/lib/runIteration.js +0 -91
  130. package/dist/lib/runIteration.js.map +0 -1
  131. package/dist/lib/showToolUse.d.ts +0 -2
  132. package/dist/lib/showToolUse.d.ts.map +0 -1
  133. package/dist/lib/showToolUse.js +0 -17
  134. package/dist/lib/showToolUse.js.map +0 -1
  135. package/dist/lib/signalHandler.d.ts +0 -3
  136. package/dist/lib/signalHandler.d.ts.map +0 -1
  137. package/dist/lib/signalHandler.js +0 -23
  138. package/dist/lib/signalHandler.js.map +0 -1
  139. package/dist/lib/stashChanges.d.ts +0 -6
  140. package/dist/lib/stashChanges.d.ts.map +0 -1
  141. package/dist/lib/stashChanges.js +0 -27
  142. package/dist/lib/stashChanges.js.map +0 -1
  143. package/dist/lib/textFormatting.d.ts +0 -4
  144. package/dist/lib/textFormatting.d.ts.map +0 -1
  145. package/dist/lib/textFormatting.js +0 -94
  146. package/dist/lib/textFormatting.js.map +0 -1
  147. package/dist/lib/types.d.ts +0 -13
  148. package/dist/lib/types.d.ts.map +0 -1
  149. package/dist/lib/types.js +0 -15
  150. package/dist/lib/types.js.map +0 -1
  151. package/dist/lib/worktree.d.ts +0 -43
  152. package/dist/lib/worktree.d.ts.map +0 -1
  153. package/dist/lib/worktree.js +0 -210
  154. package/dist/lib/worktree.js.map +0 -1
  155. package/dist/ui/EventProcessor.d.ts +0 -11
  156. package/dist/ui/EventProcessor.d.ts.map +0 -1
  157. package/dist/ui/EventProcessor.js +0 -95
  158. package/dist/ui/EventProcessor.js.map +0 -1
  159. package/dist/ui/IterationApp.d.ts +0 -10
  160. package/dist/ui/IterationApp.d.ts.map +0 -1
  161. package/dist/ui/IterationApp.js +0 -21
  162. package/dist/ui/IterationApp.js.map +0 -1
  163. package/dist/ui/IterationUI.d.ts +0 -13
  164. package/dist/ui/IterationUI.d.ts.map +0 -1
  165. package/dist/ui/IterationUI.js +0 -19
  166. package/dist/ui/IterationUI.js.map +0 -1
  167. package/dist/ui/TextDisplay.d.ts +0 -7
  168. package/dist/ui/TextDisplay.d.ts.map +0 -1
  169. package/dist/ui/TextDisplay.js +0 -41
  170. package/dist/ui/TextDisplay.js.map +0 -1
  171. package/dist/ui/ToolUseDisplay.d.ts +0 -10
  172. package/dist/ui/ToolUseDisplay.d.ts.map +0 -1
  173. package/dist/ui/ToolUseDisplay.js +0 -10
  174. package/dist/ui/ToolUseDisplay.js.map +0 -1
  175. /package/templates/{prompt.md → prompt-todos.md} +0 -0
package/README.md CHANGED
@@ -40,7 +40,7 @@ npx @herbcaudill/ralph
40
40
  This creates a `.ralph/` directory with template files:
41
41
  - `prompt.md` - Instructions for Claude during each iteration
42
42
  - `todo.md` - Your task list (optional if using bd)
43
- - `events.log` - Event log (auto-generated during runs)
43
+ - `events.jsonl` - Event log in JSONL format (auto-generated during runs)
44
44
 
45
45
  2. **Customize the workflow:**
46
46
 
@@ -48,7 +48,7 @@ npx @herbcaudill/ralph
48
48
 
49
49
  3. **Add tasks:**
50
50
 
51
- You can manage tasks using either a markdown file or **bd** (beads), a lightweight issue tracker.
51
+ You can manage tasks using either a markdown file or [beads](https://github.com/steveyegge/beads), a lightweight issue tracker.
52
52
 
53
53
  **Option A: Using `.ralph/todo.md`**
54
54
 
@@ -64,7 +64,7 @@ npx @herbcaudill/ralph
64
64
  ### Done
65
65
  ```
66
66
 
67
- **Option B: Using bd (recommended)**
67
+ **Option B: Using beads (recommended)**
68
68
 
69
69
  ```bash
70
70
  # Install bd
@@ -85,83 +85,20 @@ npx @herbcaudill/ralph
85
85
  4. **Run ralph:**
86
86
 
87
87
  ```bash
88
- npx ralph # Run 50 iterations (default)
88
+ npx ralph # Run with dynamic default (120% of open issues)
89
89
  npx ralph 5 # Run 5 iterations
90
90
  npx ralph --watch # Run and watch for new issues
91
91
  ```
92
92
 
93
93
  ## Commands
94
94
 
95
- | Command | Description |
96
- | --------------- | ------------------------------------------ |
97
- | `ralph` | Run 50 iterations (default) |
98
- | `ralph <n>` | Run specified number of iterations |
99
- | `ralph init` | Initialize .ralph directory with templates |
100
- | `ralph --watch` | Watch for new issues after completion |
101
- | `ralph --help` | Show help |
102
-
103
- ## Using bd for Issue Tracking
104
-
105
- Ralph works great with **bd** (beads), a lightweight issue tracker with first-class dependency support.
106
-
107
- ### Setup
108
-
109
- ```bash
110
- # Install bd
111
- brew install herbcaudill/tap/bd
112
-
113
- # Initialize in your project
114
- bd init
115
- ```
116
-
117
- ### Common bd Commands
118
-
119
- ```bash
120
- # Create issues
121
- bd create "Add user authentication"
122
- bd q "Quick issue capture" # Creates issue, outputs only ID
123
-
124
- # View issues
125
- bd ready # Show issues ready to work on
126
- bd show <id> # View issue details
127
- bd list # List all issues
128
-
129
- # Update issues
130
- bd update <id> --status=in_progress # Mark as in progress
131
- bd close <id> # Close an issue
132
-
133
- # Dependencies
134
- bd dep <id> --on <other-id> # Add dependency
135
- bd graph # View dependency graph
136
-
137
- # Sync with git
138
- bd sync # Sync issues with remote
139
- ```
140
-
141
- ### Example Workflow with bd
142
-
143
- ```bash
144
- # Create a few issues
145
- bd create "Implement login form"
146
- bd create "Add form validation"
147
- bd create "Write login tests"
148
-
149
- # Add dependencies
150
- bd dep r-002 --on r-001 # Validation depends on login form
151
- bd dep r-003 --on r-002 # Tests depend on validation
152
-
153
- # See what's ready to work on
154
- bd ready
155
-
156
- # Start working on an issue
157
- bd update r-001 --status=in_progress
158
-
159
- # Run ralph to work through issues
160
- npx ralph --watch # Runs and watches for new issues
161
-
162
- # Or run a fixed number of iterations
163
- npx ralph 5
164
- ```
95
+ | Command | Description |
96
+ | --------------- | -------------------------------------------------------------- |
97
+ | `ralph` | Run with dynamic default (120% of open issues, min 10 max 100) |
98
+ | `ralph <n>` | Run specified number of iterations |
99
+ | `ralph init` | Initialize .ralph directory with templates |
100
+ | `ralph --watch` | Watch for new issues after completion |
101
+ | `ralph --help` | Show help |
165
102
 
166
103
  ## Watch mode
167
104
 
@@ -184,8 +121,6 @@ Watch mode requires **bd** (beads) for issue tracking—it watches for mutations
184
121
 
185
122
  ## Configuration
186
123
 
187
- ### Template files
188
-
189
124
  **`.ralph/prompt.md`**
190
125
 
191
126
  Instructions for Claude's workflow. Customize this for your project:
@@ -195,31 +130,9 @@ Instructions for Claude's workflow. Customize this for your project:
195
130
  - Project-specific conventions
196
131
  - Commit message style
197
132
 
198
- **`.ralph/todo.md`**
199
-
200
- Your task list with priority and completion status. Tasks can be:
201
-
202
- - Simple one-liners: `- [ ] Fix header alignment`
203
- - Detailed descriptions with acceptance criteria
204
- - Broken down into subtasks
205
-
206
- **`.ralph/events.log`**
207
-
208
- Machine-readable log of all Claude interactions (JSON). Use for debugging.
209
-
210
133
  ### Customizing the prompt
211
134
 
212
- The default prompt template checks for build errors and tests, but you should customize it for your project:
213
-
214
- ```markdown
215
- Before doing anything, run `npm run typecheck` and `npm test`.
216
-
217
- If there are errors: YOUR ONLY TASK IS TO FIX THEM.
218
-
219
- If no errors, work on the highest-priority task from @.ralph/todo.md.
220
- ```
221
-
222
- Replace with your actual build/test commands (e.g., `pnpm build`, `cargo test`, `pytest`, etc.).
135
+ The default prompt ([for beads](./templates/prompt-beads.md) or [for TODO.md](./templates/prompt-todos.md)) works for my projects, but you should customize it for your project. Replace with your actual build/test commands (e.g., `pnpm build`, `cargo test`, `pytest`, etc.).
223
136
 
224
137
  ## How it works
225
138
 
@@ -228,7 +141,7 @@ Ralph is a thin wrapper around the Claude CLI that:
228
141
  1. **Spawns Claude CLI** with your project context (prompt, todo, progress files)
229
142
  2. **Captures output** as streaming JSON events
230
143
  3. **Processes events** to display tool usage (Read, Edit, Bash, etc.) in a readable format
231
- 4. **Logs everything** to `events.log` for debugging
144
+ 4. **Logs everything** to `events.jsonl` for debugging
232
145
  5. **Detects completion** when Claude outputs `<promise>COMPLETE</promise>`
233
146
  6. **Recursively runs** next iteration until count reached or todo list complete
234
147
 
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUnC,eAAO,MAAM,OAAO,SAuBhB,CAAA"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAWnC,eAAO,MAAM,OAAO,SA0ChB,CAAA"}
package/dist/cli.js CHANGED
@@ -1,31 +1,45 @@
1
1
  import { Command } from "commander";
2
- import { join } from "path";
3
2
  import { render } from "ink";
4
3
  import React from "react";
5
4
  import { App } from "./components/App.js";
6
5
  import { InitRalph } from "./components/InitRalph.js";
7
6
  import { getClaudeVersion } from "./lib/getClaudeVersion.js";
7
+ import { getDefaultIterations } from "./lib/getOpenIssueCount.js";
8
8
  import { addTodo } from "./lib/addTodo.js";
9
+ import { getLatestLogFile } from "./lib/getNextLogFile.js";
9
10
  import packageJson from "../package.json" with { type: "json" };
10
11
  export const program = new Command()
11
12
  .name("ralph")
12
13
  .description("Autonomous AI iteration engine for Claude CLI")
13
14
  .version(packageJson.version)
14
- .argument("[iterations]", "number of iterations to run", val => parseInt(val, 10), 50)
15
+ .argument("[iterations]", "number of iterations (default: 120% of open issues, min 10, max 100)", val => parseInt(val, 10))
15
16
  .option("--replay [file]", "replay events from log file")
16
17
  .option("--watch", "watch for new beads issues after completion")
17
- .action((iterations, options) => {
18
+ .option("--json", "output events as newline-delimited JSON to stdout")
19
+ .action((iterationsArg, options) => {
20
+ // Use dynamic default if no iterations specified
21
+ const iterations = iterationsArg ?? getDefaultIterations();
18
22
  const replayFile = options.replay !== undefined ?
19
23
  typeof options.replay === "string" ?
20
24
  options.replay
21
- : join(process.cwd(), ".ralph", "events.log")
25
+ : getLatestLogFile()
22
26
  : undefined;
23
27
  const claudeVersion = getClaudeVersion();
24
28
  const ralphVersion = packageJson.version;
25
29
  const watch = options.watch === true;
26
- // Clear the screen on startup
27
- process.stdout.write("\x1B[2J\x1B[H");
28
- render(React.createElement(App, { iterations, replayFile, claudeVersion, ralphVersion, watch }));
30
+ const json = options.json === true;
31
+ // Clear the screen on startup (skip in JSON mode)
32
+ if (!json) {
33
+ process.stdout.write("\x1B[2J\x1B[H");
34
+ }
35
+ render(React.createElement(App, {
36
+ iterations,
37
+ replayFile,
38
+ claudeVersion,
39
+ ralphVersion,
40
+ watch,
41
+ json,
42
+ }));
29
43
  });
30
44
  program
31
45
  .command("init")
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAE/D,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;KACjC,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,+CAA+C,CAAC;KAC5D,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;KAC5B,QAAQ,CACP,cAAc,EACd,sEAAsE,EACtE,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CACzB;KACA,MAAM,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;KACxD,MAAM,CAAC,SAAS,EAAE,6CAA6C,CAAC;KAChE,MAAM,CAAC,QAAQ,EAAE,mDAAmD,CAAC;KACrE,MAAM,CAAC,CAAC,aAAiC,EAAE,OAAO,EAAE,EAAE;IACrD,iDAAiD;IACjD,MAAM,UAAU,GAAG,aAAa,IAAI,oBAAoB,EAAE,CAAA;IAC1D,MAAM,UAAU,GACd,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAC5B,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;YAClC,OAAO,CAAC,MAAM;YAChB,CAAC,CAAC,gBAAgB,EAAE;QACtB,CAAC,CAAC,SAAS,CAAA;IAEb,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IACxC,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAA;IACxC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,CAAA;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAA;IAElC,kDAAkD;IAClD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IACvC,CAAC;IAED,MAAM,CACJ,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;QACvB,UAAU;QACV,UAAU;QACV,aAAa;QACb,YAAY;QACZ,KAAK;QACL,IAAI;KACL,CAAC,CACH,CAAA;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAA;AACxC,CAAC,CAAC,CAAA;AAEJ,OAAO;KACJ,OAAO,CAAC,uBAAuB,CAAC;KAChC,WAAW,CAAC,oEAAoE,CAAC;KACjF,MAAM,CAAC,KAAK,EAAE,gBAA0B,EAAE,EAAE;IAC3C,IAAI,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAEnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,uCAAuC;QACvC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;QACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAA;QAEF,WAAW,GAAG,MAAM,IAAI,OAAO,CAAS,OAAO,CAAC,EAAE;YAChD,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;gBAC7B,EAAE,CAAC,KAAK,EAAE,CAAA;gBACV,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;YACxB,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,WAAW,CAAC,CAAA;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;QACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -1,11 +1,12 @@
1
1
  import React from "react";
2
- export declare const App: ({ iterations, replayFile, claudeVersion, ralphVersion, watch }: Props) => React.JSX.Element;
2
+ export declare const App: ({ iterations, replayFile, claudeVersion, ralphVersion, watch, json, }: Props) => React.JSX.Element;
3
3
  type Props = {
4
4
  iterations: number;
5
5
  replayFile?: string;
6
6
  claudeVersion: string;
7
7
  ralphVersion: string;
8
8
  watch?: boolean;
9
+ json?: boolean;
9
10
  };
10
11
  export {};
11
12
  //# sourceMappingURL=App.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/components/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAO,MAAM,GAAG,GAAI,gEAAgE,KAAK,sBAaxF,CAAA;AAED,KAAK,KAAK,GAAG;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/components/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,GAAG,GAAI,uEAOjB,KAAK,sBAiBP,CAAA;AAED,KAAK,KAAK,GAAG;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA"}
@@ -1,10 +1,14 @@
1
1
  import React from "react";
2
2
  import { IterationRunner } from "./IterationRunner.js";
3
3
  import { ReplayLog } from "./ReplayLog.js";
4
- export const App = ({ iterations, replayFile, claudeVersion, ralphVersion, watch }) => {
4
+ import { JsonOutput } from "./JsonOutput.js";
5
+ export const App = ({ iterations, replayFile, claudeVersion, ralphVersion, watch, json, }) => {
5
6
  if (replayFile) {
6
7
  return React.createElement(ReplayLog, { filePath: replayFile });
7
8
  }
9
+ if (json) {
10
+ return React.createElement(JsonOutput, { totalIterations: iterations });
11
+ }
8
12
  return (React.createElement(IterationRunner, { totalIterations: iterations, claudeVersion: claudeVersion, ralphVersion: ralphVersion, watch: watch }));
9
13
  };
10
14
  //# sourceMappingURL=App.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/components/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,EAAS,EAAE,EAAE;IAC3F,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,oBAAC,SAAS,IAAC,QAAQ,EAAE,UAAU,GAAI,CAAA;IAC5C,CAAC;IAED,OAAO,CACL,oBAAC,eAAe,IACd,eAAe,EAAE,UAAU,EAC3B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,GACZ,CACH,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/components/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,EAClB,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,KAAK,EACL,IAAI,GACE,EAAE,EAAE;IACV,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,oBAAC,SAAS,IAAC,QAAQ,EAAE,UAAU,GAAI,CAAA;IAC5C,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,oBAAC,UAAU,IAAC,eAAe,EAAE,UAAU,GAAI,CAAA;IACpD,CAAC;IAED,OAAO,CACL,oBAAC,eAAe,IACd,eAAe,EAAE,UAAU,EAC3B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,GACZ,CACH,CAAA;AACH,CAAC,CAAA"}
@@ -31,7 +31,7 @@ export const InitRalph = () => {
31
31
  const templates = taskMode === "beads" ?
32
32
  [{ src: "prompt-beads.md", dest: "prompt.md" }]
33
33
  : [
34
- { src: "prompt.md", dest: "prompt.md" },
34
+ { src: "prompt-todos.md", dest: "prompt.md" },
35
35
  { src: "todo.md", dest: "todo.md" },
36
36
  ];
37
37
  setStatus("creating");
@@ -53,20 +53,20 @@ export const InitRalph = () => {
53
53
  }
54
54
  }
55
55
  }
56
- // Add events.log to .gitignore
56
+ // Add events log pattern to .gitignore
57
57
  const gitignorePath = join(process.cwd(), ".gitignore");
58
- const eventsLogEntry = ".ralph/events.log";
58
+ const eventsLogEntry = ".ralph/events-*.jsonl";
59
59
  if (existsSync(gitignorePath)) {
60
60
  const content = readFileSync(gitignorePath, "utf-8");
61
61
  if (!content.includes(eventsLogEntry)) {
62
62
  const newline = content.endsWith("\n") ? "" : "\n";
63
63
  appendFileSync(gitignorePath, `${newline}${eventsLogEntry}\n`);
64
- created.push("(added .ralph/events.log to .gitignore)");
64
+ created.push("(added .ralph/events-*.jsonl to .gitignore)");
65
65
  }
66
66
  }
67
67
  else {
68
68
  writeFileSync(gitignorePath, `${eventsLogEntry}\n`);
69
- created.push("(created .gitignore with .ralph/events.log)");
69
+ created.push("(created .gitignore with .ralph/events-*.jsonl)");
70
70
  }
71
71
  setCreatedFiles(created);
72
72
  setErrors(failed);
@@ -1 +1 @@
1
- {"version":3,"file":"InitRalph.js","sourceRoot":"","sources":["../../src/components/InitRalph.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InitRalph.js","sourceRoot":"","sources":["../../src/components/InitRalph.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import React from "react";
3
3
  * Get the prompt content, falling back to templates if .ralph/prompt.md doesn't exist.
4
4
  * Uses the appropriate template based on the project setup:
5
5
  * - If .beads directory exists OR no .ralph/todo.md: use prompt-beads.md
6
- * - If .ralph/todo.md exists: use prompt.md (todo-based workflow)
6
+ * - If .ralph/todo.md exists: use prompt-todos.md (todo-based workflow)
7
7
  */
8
8
  export declare const getPromptContent: () => string;
9
9
  export declare const IterationRunner: ({ totalIterations, claudeVersion, ralphVersion, watch }: Props) => React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"IterationRunner.d.ts","sourceRoot":"","sources":["../../src/components/IterationRunner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAA;AA4B1D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,QAAO,MAiBnC,CAAA;AA4GD,eAAO,MAAM,eAAe,GAAI,yDAAyD,KAAK,sBA+a7F,CAAA;AAED,KAAK,KAAK,GAAG;IACX,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA"}
1
+ {"version":3,"file":"IterationRunner.d.ts","sourceRoot":"","sources":["../../src/components/IterationRunner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAsC1D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,QAAO,MAiBnC,CAAA;AA0ID,eAAO,MAAM,eAAe,GAAI,yDAAyD,KAAK,sBAgjB7F,CAAA;AAED,KAAK,KAAK,GAAG;IACX,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA"}