rralph 0.2.1 → 0.2.3
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.
- checksums.yaml +4 -4
- data/README.md +7 -6
- data/lib/rralph/cli.rb +1 -1
- data/lib/rralph/runner.rb +4 -4
- data/lib/rralph.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 47998b272c6487dc8b30a932ef481c266e9deb648f013cdbb047a0d95bfd59cb
|
|
4
|
+
data.tar.gz: d5e840cb1958027d7def914c9b6a010a5c60413ed15f7148ad8dd085824e57ba
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7fd466028da9c7c7c5b7c2dc6a326e693067e48b0a51cfa5ab62f7e50f6bfc258734910d5fd6fd0530efad763432c2d248b301be71201088106bcdc175f7279f
|
|
7
|
+
data.tar.gz: 03bfb433646079b67e78ac918046c85215669e0bc6d0b2761988aff3bb4facf9edbfd0e9abecac9734e06f267d1c6fac3bdb4b7485e8738c7e0c47d42177ad14
|
data/README.md
CHANGED
|
@@ -12,7 +12,7 @@ A self-improving task orchestrator for AI-assisted development. Based on Ralph W
|
|
|
12
12
|
gem install rralph
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
Ralph by default uses `qwen
|
|
15
|
+
Ralph by default uses `qwen` as the AI agent. You can override this with the `--ai-command` flag.
|
|
16
16
|
|
|
17
17
|
## Usage
|
|
18
18
|
|
|
@@ -84,7 +84,7 @@ rralph --max-failures 2 --watch
|
|
|
84
84
|
### Command-Line Options
|
|
85
85
|
|
|
86
86
|
```
|
|
87
|
-
➜ rralph help
|
|
87
|
+
➜ rralph help
|
|
88
88
|
Commands:
|
|
89
89
|
rralph help [COMMAND] # Describe available commands or one specific command
|
|
90
90
|
rralph start # Run the rralph orchestrator
|
|
@@ -100,7 +100,7 @@ Options:
|
|
|
100
100
|
-m, [--max-failures=N] # Maximum allowed failures before stopping
|
|
101
101
|
# Default: 3
|
|
102
102
|
-a, [--ai-command=AI_COMMAND] # AI command to invoke
|
|
103
|
-
# Default: qwen
|
|
103
|
+
# Default: qwen -y -s -o stream-json
|
|
104
104
|
-w, [--watch], [--no-watch], [--skip-watch] # Run in continuous loop until completion or max failures
|
|
105
105
|
# Default: false
|
|
106
106
|
-p, [--plan-path=PLAN_PATH] # Path to plan.md file
|
|
@@ -129,10 +129,10 @@ Run continuously until all tasks are done or max failures reached:
|
|
|
129
129
|
rralph start --watch --max-failures 5
|
|
130
130
|
```
|
|
131
131
|
|
|
132
|
-
Use a custom AI command:
|
|
132
|
+
Use a custom AI command (e.g claude-code-router + claude-code):
|
|
133
133
|
|
|
134
134
|
```bash
|
|
135
|
-
rralph start --ai-command "
|
|
135
|
+
rralph start --ai-command "ccr code"
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
Skip git commits between tasks (files are updated but not committed):
|
|
@@ -177,7 +177,7 @@ Learnings: 6 lines
|
|
|
177
177
|
By default, `rralph` outputs concise progress logs to stderr:
|
|
178
178
|
|
|
179
179
|
```
|
|
180
|
-
Starting rralph with max_failures=3, ai_command='qwen
|
|
180
|
+
Starting rralph with max_failures=3, ai_command='qwen -y -s'
|
|
181
181
|
Cycle 1: Processing task: Create odd_even.sh file with bash shebang
|
|
182
182
|
Executing AI command...
|
|
183
183
|
Completed in 2341ms (13407 tokens)
|
|
@@ -192,6 +192,7 @@ rralph start --verbose
|
|
|
192
192
|
```
|
|
193
193
|
|
|
194
194
|
Verbose output shows:
|
|
195
|
+
|
|
195
196
|
- Thinking: AI's thought process as it thinks
|
|
196
197
|
- Real-time text output from the AI
|
|
197
198
|
- Completion metrics (duration, token usage)
|
data/lib/rralph/cli.rb
CHANGED
|
@@ -11,7 +11,7 @@ module Rralph
|
|
|
11
11
|
desc: 'Maximum allowed failures before stopping'
|
|
12
12
|
method_option :ai_command,
|
|
13
13
|
type: :string,
|
|
14
|
-
default: 'qwen
|
|
14
|
+
default: 'qwen -y -s -o stream-json',
|
|
15
15
|
aliases: '-a',
|
|
16
16
|
desc: 'AI command to invoke'
|
|
17
17
|
method_option :watch,
|
data/lib/rralph/runner.rb
CHANGED
|
@@ -7,7 +7,7 @@ module Rralph
|
|
|
7
7
|
|
|
8
8
|
def initialize(
|
|
9
9
|
max_failures: 3,
|
|
10
|
-
ai_command: 'qwen
|
|
10
|
+
ai_command: 'qwen -y -s -o stream-json',
|
|
11
11
|
watch: false,
|
|
12
12
|
plan_path: 'plan.md',
|
|
13
13
|
learnings_path: 'learnings.md',
|
|
@@ -157,8 +157,7 @@ module Rralph
|
|
|
157
157
|
begin
|
|
158
158
|
log('Executing AI command...')
|
|
159
159
|
|
|
160
|
-
|
|
161
|
-
cmd = "#{@ai_command} -y -s -o stream-json"
|
|
160
|
+
cmd = @ai_command
|
|
162
161
|
|
|
163
162
|
Open3.popen3(cmd) do |stdin, stdout, _stderr, wait_thr|
|
|
164
163
|
# Write prompt to stdin and close
|
|
@@ -212,7 +211,8 @@ module Rralph
|
|
|
212
211
|
log(" [event: #{event['type']}]") if @verbose
|
|
213
212
|
end
|
|
214
213
|
rescue JSON::ParserError
|
|
215
|
-
#
|
|
214
|
+
# Non-JSON output (e.g., plain text from AI) - still capture it
|
|
215
|
+
full_response += line
|
|
216
216
|
log(" #{line.chomp}") if @verbose
|
|
217
217
|
end
|
|
218
218
|
|
data/lib/rralph.rb
CHANGED