@herbcaudill/ralph 0.6.3 → 0.6.4
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.
- package/README.md +136 -32
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -2
- package/dist/cli.js.map +1 -1
- package/dist/components/App.d.ts +2 -1
- package/dist/components/App.d.ts.map +1 -1
- package/dist/components/App.js +2 -2
- package/dist/components/App.js.map +1 -1
- package/dist/components/EventDisplay.replay.test.js +2 -2
- package/dist/components/EventDisplay.test.js +28 -28
- package/dist/components/EventDisplay.test.js.map +1 -1
- package/dist/components/InitRalph.d.ts.map +1 -1
- package/dist/components/InitRalph.js +16 -1
- package/dist/components/InitRalph.js.map +1 -1
- package/dist/components/IterationRunner.d.ts +9 -1
- package/dist/components/IterationRunner.d.ts.map +1 -1
- package/dist/components/IterationRunner.js +179 -92
- package/dist/components/IterationRunner.js.map +1 -1
- package/dist/components/IterationRunner.test.js +55 -27
- package/dist/components/IterationRunner.test.js.map +1 -1
- package/dist/components/ProgressBar.d.ts +16 -0
- package/dist/components/ProgressBar.d.ts.map +1 -0
- package/dist/components/ProgressBar.js +28 -0
- package/dist/components/ProgressBar.js.map +1 -0
- package/dist/components/ProgressBar.test.d.ts +2 -0
- package/dist/components/ProgressBar.test.d.ts.map +1 -0
- package/dist/components/ProgressBar.test.js +42 -0
- package/dist/components/ProgressBar.test.js.map +1 -0
- package/dist/components/eventToBlocks.d.ts +4 -0
- package/dist/components/eventToBlocks.d.ts.map +1 -1
- package/dist/components/eventToBlocks.js +18 -0
- package/dist/components/eventToBlocks.js.map +1 -1
- package/dist/components/eventToBlocks.test.js +54 -0
- package/dist/components/eventToBlocks.test.js.map +1 -1
- package/dist/lib/MessageQueue.d.ts +18 -0
- package/dist/lib/MessageQueue.d.ts.map +1 -0
- package/dist/lib/MessageQueue.js +56 -0
- package/dist/lib/MessageQueue.js.map +1 -0
- package/dist/lib/MessageQueue.test.d.ts +2 -0
- package/dist/lib/MessageQueue.test.d.ts.map +1 -0
- package/dist/lib/MessageQueue.test.js +78 -0
- package/dist/lib/MessageQueue.test.js.map +1 -0
- package/dist/lib/beadsClient.d.ts +52 -0
- package/dist/lib/beadsClient.d.ts.map +1 -0
- package/dist/lib/beadsClient.js +171 -0
- package/dist/lib/beadsClient.js.map +1 -0
- package/dist/lib/formatContentBlock.d.ts +1 -1
- package/dist/lib/formatContentBlock.d.ts.map +1 -1
- package/dist/lib/formatContentBlock.js +11 -2
- package/dist/lib/formatContentBlock.js.map +1 -1
- package/dist/lib/getProgress.d.ts +18 -0
- package/dist/lib/getProgress.d.ts.map +1 -0
- package/dist/lib/getProgress.js +85 -0
- package/dist/lib/getProgress.js.map +1 -0
- package/dist/lib/getProgress.test.d.ts +2 -0
- package/dist/lib/getProgress.test.d.ts.map +1 -0
- package/dist/lib/getProgress.test.js +183 -0
- package/dist/lib/getProgress.test.js.map +1 -0
- package/package.json +1 -1
- package/templates/prompt-beads.md +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
```
|
|
2
|
+
█▀█ ▄▀█ █ █▀█ █ █
|
|
3
|
+
█▀▄ █▀█ █▄▄ █▀▀ █▀█
|
|
4
|
+
```
|
|
2
5
|
|
|
3
6
|
Autonomous AI iteration engine for Claude CLI. Ralph runs Claude in a loop to systematically work through your codebase's task list, enabling Claude to tackle work items iteratively.
|
|
4
7
|
|
|
@@ -6,7 +9,7 @@ https://github.com/user-attachments/assets/e8d89a33-8db5-4d72-9c97-927558f92516
|
|
|
6
9
|
|
|
7
10
|
## Overview
|
|
8
11
|
|
|
9
|
-
Ralph spawns
|
|
12
|
+
Ralph spawns individual Claude CLI sessions that:
|
|
10
13
|
|
|
11
14
|
1. Check project health (build, tests)
|
|
12
15
|
2. Select and work on the highest-priority task
|
|
@@ -30,53 +33,154 @@ npx @herbcaudill/ralph
|
|
|
30
33
|
|
|
31
34
|
1. **Initialize ralph in your project:**
|
|
32
35
|
|
|
36
|
+
```bash
|
|
37
|
+
npx @herbcaudill/ralph init
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
This creates a `.ralph/` directory with template files:
|
|
41
|
+
- `prompt.md` - Instructions for Claude during each iteration
|
|
42
|
+
- `todo.md` - Your task list (optional if using bd)
|
|
43
|
+
- `events.log` - Event log (auto-generated during runs)
|
|
44
|
+
|
|
45
|
+
2. **Customize the workflow:**
|
|
46
|
+
|
|
47
|
+
Edit `.ralph/prompt.md` to match your project's workflow (build commands, test commands, etc.).
|
|
48
|
+
|
|
49
|
+
3. **Add tasks:**
|
|
50
|
+
|
|
51
|
+
You can manage tasks using either a markdown file or **bd** (beads), a lightweight issue tracker.
|
|
52
|
+
|
|
53
|
+
**Option A: Using `.ralph/todo.md`**
|
|
54
|
+
|
|
55
|
+
```markdown
|
|
56
|
+
### To do
|
|
57
|
+
|
|
58
|
+
- [ ] Add user authentication
|
|
59
|
+
- [ ] Fix login form validation
|
|
60
|
+
- [ ] Write tests for auth flow
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
### Done
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Option B: Using bd (recommended)**
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Install bd
|
|
71
|
+
brew install herbcaudill/tap/bd
|
|
72
|
+
|
|
73
|
+
# Initialize in your project
|
|
74
|
+
bd init
|
|
75
|
+
|
|
76
|
+
# Create issues
|
|
77
|
+
bd create "Add user authentication"
|
|
78
|
+
bd create "Fix login form validation"
|
|
79
|
+
bd create "Write tests for auth flow"
|
|
80
|
+
|
|
81
|
+
# View ready work
|
|
82
|
+
bd ready
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
4. **Run ralph:**
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
npx ralph # Run 50 iterations (default)
|
|
89
|
+
npx ralph 5 # Run 5 iterations
|
|
90
|
+
npx ralph --watch # Run and watch for new issues
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Commands
|
|
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
|
+
|
|
33
109
|
```bash
|
|
34
|
-
|
|
110
|
+
# Install bd
|
|
111
|
+
brew install herbcaudill/tap/bd
|
|
112
|
+
|
|
113
|
+
# Initialize in your project
|
|
114
|
+
bd init
|
|
35
115
|
```
|
|
36
116
|
|
|
37
|
-
|
|
117
|
+
### Common bd Commands
|
|
38
118
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
119
|
+
```bash
|
|
120
|
+
# Create issues
|
|
121
|
+
bd create "Add user authentication"
|
|
122
|
+
bd q "Quick issue capture" # Creates issue, outputs only ID
|
|
42
123
|
|
|
43
|
-
|
|
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
|
|
44
128
|
|
|
45
|
-
|
|
129
|
+
# Update issues
|
|
130
|
+
bd update <id> --status=in_progress # Mark as in progress
|
|
131
|
+
bd close <id> # Close an issue
|
|
46
132
|
|
|
47
|
-
|
|
133
|
+
# Dependencies
|
|
134
|
+
bd dep <id> --on <other-id> # Add dependency
|
|
135
|
+
bd graph # View dependency graph
|
|
48
136
|
|
|
49
|
-
|
|
137
|
+
# Sync with git
|
|
138
|
+
bd sync # Sync issues with remote
|
|
139
|
+
```
|
|
50
140
|
|
|
51
|
-
|
|
52
|
-
|
|
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
|
|
53
155
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
- [ ] Write tests for auth flow
|
|
156
|
+
# Start working on an issue
|
|
157
|
+
bd update r-001 --status=in_progress
|
|
57
158
|
|
|
58
|
-
|
|
159
|
+
# Run ralph to work through issues
|
|
160
|
+
npx ralph --watch # Runs and watches for new issues
|
|
59
161
|
|
|
60
|
-
|
|
162
|
+
# Or run a fixed number of iterations
|
|
163
|
+
npx ralph 5
|
|
61
164
|
```
|
|
62
165
|
|
|
63
|
-
|
|
166
|
+
## Watch mode
|
|
167
|
+
|
|
168
|
+
Watch mode (`--watch`) keeps ralph running after completing all tasks, waiting for new issues to be added:
|
|
64
169
|
|
|
65
170
|
```bash
|
|
66
|
-
npx ralph
|
|
67
|
-
npx ralph 5 # Run 5 iterations
|
|
171
|
+
npx ralph --watch
|
|
68
172
|
```
|
|
69
173
|
|
|
70
|
-
|
|
174
|
+
When ralph finishes all available work and Claude outputs the completion signal, instead of exiting, it enters a waiting state. When you add a new issue via `bd create` or `bd q`, ralph automatically detects it and starts a new iteration to work on it.
|
|
175
|
+
|
|
176
|
+
This enables a "continuous integration" style workflow:
|
|
177
|
+
|
|
178
|
+
1. Start ralph in watch mode: `npx ralph --watch`
|
|
179
|
+
2. Add tasks as you think of them: `bd q "Fix header alignment"`
|
|
180
|
+
3. Ralph automatically picks up and works on new tasks
|
|
181
|
+
4. Keep adding tasks while ralph works
|
|
71
182
|
|
|
72
|
-
|
|
73
|
-
| ----------------------- | ------------------------------------------ |
|
|
74
|
-
| `ralph` | Run 10 iterations (default) |
|
|
75
|
-
| `ralph <n>` | Run specified number of iterations |
|
|
76
|
-
| `ralph init` | Initialize .ralph directory with templates |
|
|
77
|
-
| `ralph --replay` | Replay events from `.ralph/events.log` |
|
|
78
|
-
| `ralph --replay <file>` | Replay events from custom log file |
|
|
79
|
-
| `ralph --help` | Show help |
|
|
183
|
+
Watch mode requires **bd** (beads) for issue tracking—it watches for mutations to the beads database.
|
|
80
184
|
|
|
81
185
|
## Configuration
|
|
82
186
|
|
|
@@ -101,7 +205,7 @@ Your task list with priority and completion status. Tasks can be:
|
|
|
101
205
|
|
|
102
206
|
**`.ralph/events.log`**
|
|
103
207
|
|
|
104
|
-
Machine-readable log of all Claude interactions (JSON). Use for debugging
|
|
208
|
+
Machine-readable log of all Claude interactions (JSON). Use for debugging.
|
|
105
209
|
|
|
106
210
|
### Customizing the prompt
|
|
107
211
|
|
|
@@ -124,7 +228,7 @@ Ralph is a thin wrapper around the Claude CLI that:
|
|
|
124
228
|
1. **Spawns Claude CLI** with your project context (prompt, todo, progress files)
|
|
125
229
|
2. **Captures output** as streaming JSON events
|
|
126
230
|
3. **Processes events** to display tool usage (Read, Edit, Bash, etc.) in a readable format
|
|
127
|
-
4. **Logs everything** to `events.log` for
|
|
231
|
+
4. **Logs everything** to `events.log` for debugging
|
|
128
232
|
5. **Detects completion** when Claude outputs `<promise>COMPLETE</promise>`
|
|
129
233
|
6. **Recursively runs** next iteration until count reached or todo list complete
|
|
130
234
|
|
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,
|
|
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"}
|
package/dist/cli.js
CHANGED
|
@@ -11,8 +11,9 @@ export const program = new Command()
|
|
|
11
11
|
.name("ralph")
|
|
12
12
|
.description("Autonomous AI iteration engine for Claude CLI")
|
|
13
13
|
.version(packageJson.version)
|
|
14
|
-
.argument("[iterations]", "number of iterations to run", val => parseInt(val, 10),
|
|
14
|
+
.argument("[iterations]", "number of iterations to run", val => parseInt(val, 10), 50)
|
|
15
15
|
.option("--replay [file]", "replay events from log file")
|
|
16
|
+
.option("--watch", "watch for new beads issues after completion")
|
|
16
17
|
.action((iterations, options) => {
|
|
17
18
|
const replayFile = options.replay !== undefined ?
|
|
18
19
|
typeof options.replay === "string" ?
|
|
@@ -21,7 +22,10 @@ export const program = new Command()
|
|
|
21
22
|
: undefined;
|
|
22
23
|
const claudeVersion = getClaudeVersion();
|
|
23
24
|
const ralphVersion = packageJson.version;
|
|
24
|
-
|
|
25
|
+
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 }));
|
|
25
29
|
});
|
|
26
30
|
program
|
|
27
31
|
.command("init")
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,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,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,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,CAAC,cAAc,EAAE,6BAA6B,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;KACxD,MAAM,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE;IAC9B,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,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC;QAC/C,CAAC,CAAC,SAAS,CAAA;IAEb,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IACxC,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/components/App.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const App: ({ iterations, replayFile, claudeVersion, ralphVersion }: Props) => React.JSX.Element;
|
|
2
|
+
export declare const App: ({ iterations, replayFile, claudeVersion, ralphVersion, watch }: 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
|
+
watch?: boolean;
|
|
8
9
|
};
|
|
9
10
|
export {};
|
|
10
11
|
//# 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,
|
|
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"}
|
package/dist/components/App.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
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 }) => {
|
|
4
|
+
export const App = ({ iterations, replayFile, claudeVersion, ralphVersion, watch }) => {
|
|
5
5
|
if (replayFile) {
|
|
6
6
|
return React.createElement(ReplayLog, { filePath: replayFile });
|
|
7
7
|
}
|
|
8
|
-
return (React.createElement(IterationRunner, { totalIterations: iterations, claudeVersion: claudeVersion, ralphVersion: ralphVersion }));
|
|
8
|
+
return (React.createElement(IterationRunner, { totalIterations: iterations, claudeVersion: claudeVersion, ralphVersion: ralphVersion, watch: watch }));
|
|
9
9
|
};
|
|
10
10
|
//# 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,EAAS,EAAE,EAAE;
|
|
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"}
|
|
@@ -39,7 +39,7 @@ describe("EventDisplay replay tests", () => {
|
|
|
39
39
|
expect(await replay("1.txt")).toMatchInlineSnapshot(`
|
|
40
40
|
"
|
|
41
41
|
|
|
42
|
-
───
|
|
42
|
+
─── Round 1 ───
|
|
43
43
|
|
|
44
44
|
I'll start by checking the types, unit tests, and end-to-end tests as instructed.
|
|
45
45
|
|
|
@@ -74,7 +74,7 @@ describe("EventDisplay replay tests", () => {
|
|
|
74
74
|
expect(await replay("2.txt")).toMatchInlineSnapshot(`
|
|
75
75
|
"
|
|
76
76
|
|
|
77
|
-
───
|
|
77
|
+
─── Round 1 ───
|
|
78
78
|
|
|
79
79
|
I'll start by checking that the project builds successfully and running tests.
|
|
80
80
|
|
|
@@ -216,14 +216,14 @@ describe("EventDisplay", () => {
|
|
|
216
216
|
});
|
|
217
217
|
// The text content should be on one line (after the header)
|
|
218
218
|
const output = lastFrame() ?? "";
|
|
219
|
-
// Filter out header lines (containing box border characters or "
|
|
219
|
+
// Filter out header lines (containing box border characters or "Round")
|
|
220
220
|
const contentLines = output
|
|
221
221
|
.split("\n")
|
|
222
222
|
.filter(l => l.trim())
|
|
223
223
|
.filter(l => !l.includes("─") && !l.includes("│") && !l.includes("╭") && !l.includes("╰"));
|
|
224
224
|
expect(contentLines.length).toBe(1);
|
|
225
225
|
});
|
|
226
|
-
it("displays completed
|
|
226
|
+
it("displays completed rounds before current round", async () => {
|
|
227
227
|
const completedIterations = [
|
|
228
228
|
{
|
|
229
229
|
iteration: 1,
|
|
@@ -232,7 +232,7 @@ describe("EventDisplay", () => {
|
|
|
232
232
|
type: "assistant",
|
|
233
233
|
message: {
|
|
234
234
|
id: "msg_iter1",
|
|
235
|
-
content: [{ type: "text", text: "First
|
|
235
|
+
content: [{ type: "text", text: "First round work" }],
|
|
236
236
|
},
|
|
237
237
|
},
|
|
238
238
|
],
|
|
@@ -244,7 +244,7 @@ describe("EventDisplay", () => {
|
|
|
244
244
|
type: "assistant",
|
|
245
245
|
message: {
|
|
246
246
|
id: "msg_iter2",
|
|
247
|
-
content: [{ type: "text", text: "Second
|
|
247
|
+
content: [{ type: "text", text: "Second round work" }],
|
|
248
248
|
},
|
|
249
249
|
},
|
|
250
250
|
],
|
|
@@ -255,64 +255,64 @@ describe("EventDisplay", () => {
|
|
|
255
255
|
type: "assistant",
|
|
256
256
|
message: {
|
|
257
257
|
id: "msg_iter3",
|
|
258
|
-
content: [{ type: "text", text: "Third
|
|
258
|
+
content: [{ type: "text", text: "Third round work" }],
|
|
259
259
|
},
|
|
260
260
|
},
|
|
261
261
|
];
|
|
262
262
|
const { lastFrame } = render(React.createElement(EventDisplay, { events: currentEvents, iteration: 3, completedIterations: completedIterations }));
|
|
263
263
|
await vi.waitFor(() => {
|
|
264
264
|
const output = lastFrame() ?? "";
|
|
265
|
-
// Should show all 3
|
|
266
|
-
expect(output).toContain("
|
|
267
|
-
expect(output).toContain("First
|
|
268
|
-
expect(output).toContain("
|
|
269
|
-
expect(output).toContain("Second
|
|
270
|
-
expect(output).toContain("
|
|
271
|
-
expect(output).toContain("Third
|
|
265
|
+
// Should show all 3 rounds
|
|
266
|
+
expect(output).toContain("Round 1");
|
|
267
|
+
expect(output).toContain("First round work");
|
|
268
|
+
expect(output).toContain("Round 2");
|
|
269
|
+
expect(output).toContain("Second round work");
|
|
270
|
+
expect(output).toContain("Round 3");
|
|
271
|
+
expect(output).toContain("Third round work");
|
|
272
272
|
});
|
|
273
|
-
// Verify order:
|
|
273
|
+
// Verify order: round 1 before 2, round 2 before 3
|
|
274
274
|
const output = lastFrame() ?? "";
|
|
275
|
-
const iter1Pos = output.indexOf("
|
|
276
|
-
const iter2Pos = output.indexOf("
|
|
277
|
-
const iter3Pos = output.indexOf("
|
|
275
|
+
const iter1Pos = output.indexOf("Round 1");
|
|
276
|
+
const iter2Pos = output.indexOf("Round 2");
|
|
277
|
+
const iter3Pos = output.indexOf("Round 3");
|
|
278
278
|
expect(iter1Pos).toBeLessThan(iter2Pos);
|
|
279
279
|
expect(iter2Pos).toBeLessThan(iter3Pos);
|
|
280
280
|
});
|
|
281
|
-
it("shows new
|
|
282
|
-
// Start with
|
|
281
|
+
it("shows new round header when transitioning between rounds", async () => {
|
|
282
|
+
// Start with round 1
|
|
283
283
|
const iter1Events = [
|
|
284
284
|
{
|
|
285
285
|
type: "assistant",
|
|
286
286
|
message: {
|
|
287
287
|
id: "msg_iter1",
|
|
288
|
-
content: [{ type: "text", text: "First
|
|
288
|
+
content: [{ type: "text", text: "First round" }],
|
|
289
289
|
},
|
|
290
290
|
},
|
|
291
291
|
];
|
|
292
292
|
const { lastFrame, rerender } = render(React.createElement(EventDisplay, { events: iter1Events, iteration: 1, completedIterations: [] }));
|
|
293
293
|
await vi.waitFor(() => {
|
|
294
294
|
const output = lastFrame() ?? "";
|
|
295
|
-
expect(output).toContain("
|
|
296
|
-
expect(output).toContain("First
|
|
295
|
+
expect(output).toContain("Round 1");
|
|
296
|
+
expect(output).toContain("First round");
|
|
297
297
|
});
|
|
298
|
-
// Transition to
|
|
298
|
+
// Transition to round 2 (round 1 moves to completedIterations)
|
|
299
299
|
const iter2Events = [
|
|
300
300
|
{
|
|
301
301
|
type: "assistant",
|
|
302
302
|
message: {
|
|
303
303
|
id: "msg_iter2",
|
|
304
|
-
content: [{ type: "text", text: "Second
|
|
304
|
+
content: [{ type: "text", text: "Second round" }],
|
|
305
305
|
},
|
|
306
306
|
},
|
|
307
307
|
];
|
|
308
308
|
rerender(React.createElement(EventDisplay, { events: iter2Events, iteration: 2, completedIterations: [{ iteration: 1, events: iter1Events }] }));
|
|
309
309
|
await vi.waitFor(() => {
|
|
310
310
|
const output = lastFrame() ?? "";
|
|
311
|
-
// Should show both
|
|
312
|
-
expect(output).toContain("
|
|
313
|
-
expect(output).toContain("First
|
|
314
|
-
expect(output).toContain("
|
|
315
|
-
expect(output).toContain("Second
|
|
311
|
+
// Should show both rounds
|
|
312
|
+
expect(output).toContain("Round 1");
|
|
313
|
+
expect(output).toContain("First round");
|
|
314
|
+
expect(output).toContain("Round 2");
|
|
315
|
+
expect(output).toContain("Second round");
|
|
316
316
|
});
|
|
317
317
|
});
|
|
318
318
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventDisplay.test.js","sourceRoot":"","sources":["../../src/components/EventDisplay.test.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"EventDisplay.test.js","sourceRoot":"","sources":["../../src/components/EventDisplay.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InitRalph.d.ts","sourceRoot":"","sources":["../../src/components/InitRalph.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"InitRalph.d.ts","sourceRoot":"","sources":["../../src/components/InitRalph.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAgBlD,eAAO,MAAM,SAAS,yBAoLrB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Text, Box } from "ink";
|
|
2
2
|
import SelectInput from "ink-select-input";
|
|
3
3
|
import React, { useEffect, useState } from "react";
|
|
4
|
-
import { existsSync, mkdirSync, copyFileSync } from "fs";
|
|
4
|
+
import { existsSync, mkdirSync, copyFileSync, readFileSync, appendFileSync, writeFileSync, } from "fs";
|
|
5
5
|
import { join, dirname } from "path";
|
|
6
6
|
import { fileURLToPath } from "url";
|
|
7
7
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
@@ -53,6 +53,21 @@ export const InitRalph = () => {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
+
// Add events.log to .gitignore
|
|
57
|
+
const gitignorePath = join(process.cwd(), ".gitignore");
|
|
58
|
+
const eventsLogEntry = ".ralph/events.log";
|
|
59
|
+
if (existsSync(gitignorePath)) {
|
|
60
|
+
const content = readFileSync(gitignorePath, "utf-8");
|
|
61
|
+
if (!content.includes(eventsLogEntry)) {
|
|
62
|
+
const newline = content.endsWith("\n") ? "" : "\n";
|
|
63
|
+
appendFileSync(gitignorePath, `${newline}${eventsLogEntry}\n`);
|
|
64
|
+
created.push("(added .ralph/events.log to .gitignore)");
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
writeFileSync(gitignorePath, `${eventsLogEntry}\n`);
|
|
69
|
+
created.push("(created .gitignore with .ralph/events.log)");
|
|
70
|
+
}
|
|
56
71
|
setCreatedFiles(created);
|
|
57
72
|
setErrors(failed);
|
|
58
73
|
setStatus("done");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InitRalph.js","sourceRoot":"","sources":["../../src/components/InitRalph.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC/B,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"InitRalph.js","sourceRoot":"","sources":["../../src/components/InitRalph.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Get the prompt content, falling back to templates if .ralph/prompt.md doesn't exist.
|
|
4
|
+
* Uses the appropriate template based on the project setup:
|
|
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)
|
|
7
|
+
*/
|
|
8
|
+
export declare const getPromptContent: () => string;
|
|
9
|
+
export declare const IterationRunner: ({ totalIterations, claudeVersion, ralphVersion, watch }: Props) => React.JSX.Element;
|
|
3
10
|
type Props = {
|
|
4
11
|
totalIterations: number;
|
|
5
12
|
claudeVersion: string;
|
|
6
13
|
ralphVersion: string;
|
|
14
|
+
watch?: boolean;
|
|
7
15
|
};
|
|
8
16
|
export {};
|
|
9
17
|
//# sourceMappingURL=IterationRunner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IterationRunner.d.ts","sourceRoot":"","sources":["../../src/components/IterationRunner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAA;
|
|
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"}
|