ralph-review 0.1.11 → 0.2.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.
- package/README.md +194 -109
- package/package.json +3 -3
- package/src/cli-core.ts +169 -34
- package/src/cli-rrr.ts +2 -2
- package/src/cli.ts +25 -5
- package/src/commands/apply.ts +87 -0
- package/src/commands/config-handlers.ts +395 -0
- package/src/commands/config-model.ts +743 -0
- package/src/commands/config-runtime.ts +191 -0
- package/src/commands/config.ts +9 -1344
- package/src/commands/doctor.ts +49 -26
- package/src/commands/fix.ts +595 -0
- package/src/commands/handoff-selection.ts +157 -0
- package/src/commands/init.ts +38 -122
- package/src/commands/list.ts +35 -4
- package/src/commands/log.ts +128 -67
- package/src/commands/prune.ts +724 -0
- package/src/commands/run.ts +322 -155
- package/src/commands/stop.ts +335 -73
- package/src/lib/agents/codex.ts +90 -26
- package/src/lib/agents/models.ts +30 -57
- package/src/lib/agents/runner.ts +4 -6
- package/src/lib/cli-parser.ts +2 -2
- package/src/lib/config-display.ts +0 -38
- package/src/lib/config.ts +12 -199
- package/src/lib/diagnostics/capabilities.ts +333 -37
- package/src/lib/diagnostics/checks.ts +21 -48
- package/src/lib/diagnostics/index.ts +4 -2
- package/src/lib/diagnostics/remediation.ts +2 -44
- package/src/lib/diagnostics/types.ts +1 -0
- package/src/lib/engine.ts +3 -878
- package/src/lib/format.ts +18 -1
- package/src/lib/git.ts +674 -36
- package/src/lib/handoff-note.ts +39 -0
- package/src/lib/handoff.ts +499 -0
- package/src/lib/logger.ts +3 -1105
- package/src/lib/logging/index.ts +1 -0
- package/src/lib/logging/session-log.ts +1029 -0
- package/src/lib/priority-list.ts +43 -0
- package/src/lib/prompts/defaults/review.md +1 -11
- package/src/lib/prompts/fixer.ts +3 -108
- package/src/lib/prompts/index.ts +0 -1
- package/src/lib/prompts/review.ts +6 -60
- package/src/lib/review-workflow/findings/artifact.ts +372 -0
- package/src/lib/review-workflow/findings/dedupe.ts +221 -0
- package/src/lib/review-workflow/findings/index.ts +2 -0
- package/src/lib/review-workflow/findings/inventory.ts +106 -0
- package/src/lib/review-workflow/findings/selection.ts +62 -0
- package/src/lib/review-workflow/findings/types.ts +44 -0
- package/src/lib/review-workflow/index.ts +16 -0
- package/src/lib/review-workflow/presentation.ts +118 -0
- package/src/lib/review-workflow/remediation/index.ts +4 -0
- package/src/lib/review-workflow/remediation/prompt.ts +250 -0
- package/src/lib/review-workflow/remediation/run-batch-fix-phase.ts +199 -0
- package/src/lib/review-workflow/remediation/run-fix-session.ts +542 -0
- package/src/lib/review-workflow/remediation/types.ts +36 -0
- package/src/lib/review-workflow/results/finalize-result.ts +98 -0
- package/src/lib/review-workflow/results/index.ts +1 -0
- package/src/lib/review-workflow/review/index.ts +4 -0
- package/src/lib/review-workflow/review/prompt.ts +142 -0
- package/src/lib/review-workflow/review/run-review-phase.ts +149 -0
- package/src/lib/review-workflow/review/run-review-session.ts +553 -0
- package/src/lib/review-workflow/review/types.ts +32 -0
- package/src/lib/review-workflow/run-review-cycle.ts +300 -0
- package/src/lib/review-workflow/shared/framed-json.ts +115 -0
- package/src/lib/review-workflow/shared/index.ts +1 -0
- package/src/lib/review-workflow/shared/types.ts +10 -0
- package/src/lib/session/index.ts +1 -0
- package/src/lib/session/state.ts +551 -0
- package/src/lib/session-state.ts +3 -0
- package/src/lib/stop-session.ts +262 -0
- package/src/lib/structured-output.ts +1 -11
- package/src/lib/tui/dashboard/Dashboard.tsx +306 -0
- package/src/lib/tui/dashboard/DashboardOverlays.tsx +85 -0
- package/src/lib/tui/{components → dashboard}/Header.tsx +6 -34
- package/src/lib/tui/{components → dashboard}/HelpOverlay.tsx +19 -11
- package/src/lib/tui/dashboard/ReviewModeOverlay.tsx +1226 -0
- package/src/lib/tui/dashboard/StatusBar.tsx +122 -0
- package/src/lib/tui/dashboard/StopSessionPickerOverlay.tsx +89 -0
- package/src/lib/tui/dashboard/dashboard-fix-state.ts +76 -0
- package/src/lib/tui/dashboard/dashboard-focus.ts +24 -0
- package/src/lib/tui/dashboard/dashboard-keyboard.ts +133 -0
- package/src/lib/tui/dashboard/dashboard-overlay-state.ts +17 -0
- package/src/lib/tui/dashboard/dashboard-stop-state.ts +57 -0
- package/src/lib/tui/dashboard/dashboard-stop.ts +15 -0
- package/src/lib/tui/dashboard/use-dashboard-run-control.ts +106 -0
- package/src/lib/tui/dashboard/use-dashboard-stop-control.ts +91 -0
- package/src/lib/tui/index.tsx +1 -1
- package/src/lib/tui/sessions/detail/DetailPane.tsx +139 -0
- package/src/lib/tui/sessions/detail/IdleStateView.tsx +252 -0
- package/src/lib/tui/sessions/detail/SessionDetailView.tsx +424 -0
- package/src/lib/tui/sessions/detail/session-detail-parts.tsx +371 -0
- package/src/lib/tui/sessions/detail/session-detail-scroll.ts +93 -0
- package/src/lib/tui/sessions/finding-title.ts +3 -0
- package/src/lib/tui/sessions/fix/FixIssuesOverlay.tsx +1281 -0
- package/src/lib/tui/sessions/history/SessionListDetailPane.tsx +536 -0
- package/src/lib/tui/sessions/history/SessionListOverlay.tsx +370 -0
- package/src/lib/tui/sessions/history/session-overlay-utils.ts +105 -0
- package/src/lib/tui/sessions/history/use-session-overlay-state.ts +193 -0
- package/src/lib/tui/sessions/issues-found-display.ts +81 -0
- package/src/lib/tui/sessions/priority-text.tsx +67 -0
- package/src/lib/tui/sessions/review-summary-parser.ts +118 -0
- package/src/lib/tui/sessions/session-display.ts +280 -0
- package/src/lib/tui/sessions/sidebar/SessionGroup.tsx +40 -0
- package/src/lib/tui/sessions/sidebar/SessionItem.tsx +49 -0
- package/src/lib/tui/sessions/sidebar/SessionSidebar.tsx +47 -0
- package/src/lib/tui/{components/OutputPanel.tsx → shared/OutputDrawer.tsx} +24 -36
- package/src/lib/tui/{components → shared}/ProgressBar.tsx +1 -1
- package/src/lib/tui/shared/SelectionCopyToastBoundary.tsx +159 -0
- package/src/lib/tui/{components → shared}/Spinner.tsx +1 -1
- package/src/lib/tui/shared/clipboard.ts +137 -0
- package/src/lib/tui/shared/error-message.ts +3 -0
- package/src/lib/tui/shared/types.ts +5 -0
- package/src/lib/tui/shared/use-mount-effect.ts +7 -0
- package/src/lib/tui/workspace/Workspace.tsx +132 -0
- package/src/lib/tui/workspace/use-workspace-state.ts +346 -0
- package/src/lib/tui/workspace/workspace-focus.ts +18 -0
- package/src/lib/tui/workspace/workspace-log-state.ts +116 -0
- package/src/lib/tui/workspace/workspace-refresh-utils.ts +117 -0
- package/src/lib/tui/workspace/workspace-types.ts +66 -0
- package/src/lib/types/config.ts +1 -15
- package/src/lib/types/domain.ts +10 -2
- package/src/lib/types/fix.ts +1 -2
- package/src/lib/types/handoff.ts +23 -0
- package/src/lib/types/index.ts +6 -7
- package/src/lib/types/log.ts +84 -14
- package/src/lib/types/run.ts +4 -3
- package/src/lib/types/stats.ts +22 -45
- package/src/commands/dashboard.ts +0 -306
- package/src/lib/html/dashboard/page.ts +0 -173
- package/src/lib/html/dashboard/script.ts +0 -713
- package/src/lib/html/dashboard/styles.ts +0 -619
- package/src/lib/html/dashboard/view-model.ts +0 -183
- package/src/lib/html/log/page.ts +0 -231
- package/src/lib/html/log/styles.ts +0 -113
- package/src/lib/html/priority.ts +0 -29
- package/src/lib/html/shared.ts +0 -47
- package/src/lib/html.ts +0 -33
- package/src/lib/lockfile.ts +0 -445
- package/src/lib/prompts/defaults/code-simplifier.md +0 -46
- package/src/lib/prompts/simplifier.ts +0 -50
- package/src/lib/server.ts +0 -229
- package/src/lib/tui/components/Dashboard.tsx +0 -201
- package/src/lib/tui/components/SessionPanel.tsx +0 -586
- package/src/lib/tui/components/StatusBar.tsx +0 -50
- package/src/lib/tui/session-panel-utils.ts +0 -288
- package/src/lib/tui/types.ts +0 -43
- package/src/lib/tui/use-dashboard-state.ts +0 -415
- /package/src/lib/tui/{colors.ts → shared/colors.ts} +0 -0
package/README.md
CHANGED
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
[](https://github.com/kenryu42/ralph-review)
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
7
7
|
|
|
8
|
-
Orchestrating coding agents for code review, verification and fixing via the
|
|
8
|
+
Orchestrating coding agents for code review, verification, and fixing via the Ralph loop.
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
## Table of Contents
|
|
13
13
|
|
|
14
|
-
- [Why This Exists](#why-this-exists)
|
|
15
14
|
- [How It Works](#how-it-works)
|
|
16
|
-
- [
|
|
15
|
+
- [Reviewer and Fixer Flow](#reviewer-and-fixer-flow)
|
|
16
|
+
- [Interactive Mode](#interactive-mode)
|
|
17
17
|
- [Prerequisites](#prerequisites)
|
|
18
18
|
- [Installation](#installation)
|
|
19
19
|
- [Quick Start](#quick-start)
|
|
@@ -24,99 +24,97 @@ Orchestrating coding agents for code review, verification and fixing via the ral
|
|
|
24
24
|
|
|
25
25
|
---
|
|
26
26
|
|
|
27
|
-
##
|
|
28
|
-
|
|
29
|
-
I've been a huge fan of Codex's review feature ever since its [first release](https://x.com/DanielEdrisian/status/1968819243694104899). Because the GPT Codex model actually reads many files to gather context and reasoning, it is slower than other agents, but it consistently finds bugs they miss.
|
|
30
|
-
|
|
31
|
-
My usual workflow was repetitive: run a Codex review, copy and paste the findings into a new session,
|
|
32
|
-
ask another agent if it agrees, and then ask it to fix the issues.
|
|
27
|
+
## How It Works
|
|
33
28
|
|
|
34
|
-
|
|
29
|
+
Ralph Review now uses a batch-first workflow:
|
|
35
30
|
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
1. `rr run` performs review only.
|
|
32
|
+
2. The reviewer runs in a disposable session worktree and reports structured findings.
|
|
33
|
+
3. Findings are deduplicated across review iterations and persisted as a session artifact.
|
|
34
|
+
4. If findings exist, you choose which ones to fix with `rr fix`.
|
|
35
|
+
5. The fixer handles the selected findings in a separate batch remediation phase.
|
|
36
|
+
6. Resolved fixes are handed back to your working tree, either automatically or as a pending handoff
|
|
37
|
+
to apply manually.
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
This keeps review and remediation separate by default. The reviewer can focus on finding real
|
|
40
|
+
issues, and the fixer treats those findings as input for a later, explicit remediation step.
|
|
40
41
|
|
|
41
|
-
|
|
42
|
+
Use `rr run --auto` when you want Ralph Review to run remediation immediately after review. Add
|
|
43
|
+
`--priority P0,P1` to auto-fix only selected priority levels.
|
|
42
44
|
|
|
43
45
|
---
|
|
44
46
|
|
|
45
|
-
##
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
│ │
|
|
75
|
-
▼ │
|
|
76
|
-
┌───────────────────────┐ │
|
|
77
|
-
│ Parse fix summary │ │
|
|
78
|
-
└──────────┬────────────┘ │
|
|
79
|
-
│ │
|
|
80
|
-
├── no issues found (verified by fixer) ──▶ Stop │
|
|
81
|
-
├── issues found, all skipped by fixer ──▶ Stop │
|
|
82
|
-
│ │
|
|
83
|
-
▼ │
|
|
84
|
-
Discard checkpoint, loop back to Reviewer ──────────────────────┘
|
|
85
|
-
(until max iterations reached)
|
|
47
|
+
## Reviewer and Fixer Flow
|
|
48
|
+
|
|
49
|
+
```mermaid
|
|
50
|
+
flowchart TD
|
|
51
|
+
A[Your repository] --> B[rr run]
|
|
52
|
+
B --> C[Preflight checks]
|
|
53
|
+
C --> D[Start tmux session]
|
|
54
|
+
D --> E[Create disposable review worktree]
|
|
55
|
+
E --> F[Reviewer agent]
|
|
56
|
+
F --> G{New findings?}
|
|
57
|
+
G -- Yes --> H[Merge findings into inventory]
|
|
58
|
+
H --> I{Max iterations reached or no new findings?}
|
|
59
|
+
I -- No --> F
|
|
60
|
+
I -- Yes --> J[Persist findings artifact]
|
|
61
|
+
G -- No --> K[Clean review result]
|
|
62
|
+
J --> L{Fix now?}
|
|
63
|
+
L -- Later --> M[rr fix --session SESSION]
|
|
64
|
+
L -- "rr run --auto" --> N[Select findings automatically]
|
|
65
|
+
M --> O[Select findings by prompt, all, priority, or ID]
|
|
66
|
+
N --> P[Create disposable fix worktree]
|
|
67
|
+
O --> P
|
|
68
|
+
P --> Q[Fixer agent batch remediation]
|
|
69
|
+
Q --> R{Selected findings resolved?}
|
|
70
|
+
R -- Yes --> S[Create handoff]
|
|
71
|
+
S --> T{Auto-apply succeeds?}
|
|
72
|
+
T -- Yes --> U[Fixes applied to working tree]
|
|
73
|
+
T -- No --> V[Pending handoff]
|
|
74
|
+
V --> W[rr apply or rr prune --discard]
|
|
75
|
+
R -- No --> X[Retain remediation worktree for review]
|
|
86
76
|
```
|
|
87
77
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
1. An optional **code simplifier** pass can run first (enabled with `--simplifier`) to reduce code complexity before review.
|
|
91
|
-
2. The **reviewer** analyzes your changes and returns structured review output.
|
|
92
|
-
3. A **git checkpoint** is created so the fixer's changes can be rolled back if something goes wrong.
|
|
93
|
-
4. The **fixer** independently reads the code, confirms each issue is real, and applies fixes only where warranted. It does not blindly trust the reviewer.
|
|
94
|
-
5. The fixer outputs a structured summary. If it reports no actionable issues left -- either no real issues were found or all remaining items were safely skipped -- the cycle ends.
|
|
95
|
-
6. Otherwise, the cycle repeats from step 2 until no issues remain or the configured iteration limit is hit.
|
|
96
|
-
|
|
97
|
-
You can assign different AI agents to each role (e.g. Claude reviews, Gemini fixes).
|
|
98
|
-
|
|
99
|
-
---
|
|
78
|
+
### Reviewer
|
|
100
79
|
|
|
101
|
-
|
|
80
|
+
The reviewer analyzes the selected review scope for correctness, security, reliability, and
|
|
81
|
+
maintainability issues introduced by the change. It outputs structured findings with stable IDs
|
|
82
|
+
such as `F001`, priorities `P0` through `P3`, and source locations.
|
|
102
83
|
|
|
103
|
-
|
|
84
|
+
Reviewer iterations continue until no new findings are discovered or `maxIterations` is reached.
|
|
85
|
+
By default the run stops early when an iteration finds nothing new. Use `--force` to run the full
|
|
86
|
+
iteration count.
|
|
104
87
|
|
|
105
|
-
###
|
|
88
|
+
### Fixer
|
|
106
89
|
|
|
107
|
-
|
|
90
|
+
The fixer runs only after findings have been persisted and selected. It receives the selected
|
|
91
|
+
finding inventory, works in a disposable fix worktree, and returns a per-finding result:
|
|
92
|
+
`resolved` or `unresolved`.
|
|
108
93
|
|
|
109
|
-
|
|
94
|
+
When all selected findings are resolved, Ralph Review creates a handoff. Depending on the working
|
|
95
|
+
tree state, the handoff may be applied automatically or left pending for `rr apply`. If selected
|
|
96
|
+
findings remain unresolved, Ralph Review keeps the remediation worktree available for inspection.
|
|
110
97
|
|
|
111
|
-
|
|
98
|
+
---
|
|
112
99
|
|
|
113
|
-
|
|
100
|
+
## Interactive Mode
|
|
114
101
|
|
|
115
|
-
|
|
102
|
+
Run `rr` with no command to open Interactive Mode. It shows active sessions, recent session history,
|
|
103
|
+
review output, findings, fix results, and handoff status.
|
|
116
104
|
|
|
117
|
-
|
|
105
|
+
Keyboard shortcuts:
|
|
118
106
|
|
|
119
|
-
|
|
107
|
+
| Key | Action |
|
|
108
|
+
|-----|--------|
|
|
109
|
+
| `r` | Start a new review session |
|
|
110
|
+
| `f` | Fix pending findings when a session has actionable findings |
|
|
111
|
+
| `s` | Stop a running review session |
|
|
112
|
+
| `l` | View session logs |
|
|
113
|
+
| `o` | Toggle the output drawer |
|
|
114
|
+
| `Tab`, `←`, `→` | Switch panel focus |
|
|
115
|
+
| `↑`, `↓`, `j`, `k` | Scroll the focused panel |
|
|
116
|
+
| `h`, `?` | Toggle help |
|
|
117
|
+
| `Esc`, `q` | Quit Interactive Mode without stopping reviews |
|
|
120
118
|
|
|
121
119
|
---
|
|
122
120
|
|
|
@@ -126,6 +124,8 @@ Treats review findings as untrusted input — verifies every claim against actua
|
|
|
126
124
|
- [tmux](https://github.com/tmux/tmux) (background sessions)
|
|
127
125
|
- At least one [supported agent CLI](#supported-coding-agents) installed and authenticated
|
|
128
126
|
|
|
127
|
+
Ralph Review is a Bun-only TypeScript CLI. Use Bun for development and script execution.
|
|
128
|
+
|
|
129
129
|
---
|
|
130
130
|
|
|
131
131
|
## Installation
|
|
@@ -137,53 +137,104 @@ brew install kenryu42/tap/ralph-review
|
|
|
137
137
|
# npm (install or update)
|
|
138
138
|
npm install -g ralph-review
|
|
139
139
|
|
|
140
|
-
# Or let
|
|
140
|
+
# Or let Ralph Review detect the install method and update itself
|
|
141
141
|
rr update
|
|
142
142
|
```
|
|
143
143
|
|
|
144
|
+
For update checks without installing, run:
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
rr update --check
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
If install-source detection is ambiguous, force the package manager:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
rr update --manager npm
|
|
154
|
+
rr update --manager brew
|
|
155
|
+
```
|
|
156
|
+
|
|
144
157
|
---
|
|
145
158
|
|
|
146
159
|
## Quick Start
|
|
147
160
|
|
|
148
161
|
```bash
|
|
149
|
-
#
|
|
162
|
+
# Configure reviewer and fixer agents
|
|
150
163
|
rr init
|
|
151
164
|
|
|
152
|
-
# Start
|
|
165
|
+
# Start Interactive Mode
|
|
166
|
+
rr
|
|
167
|
+
|
|
168
|
+
# Start a review-only background session
|
|
153
169
|
rr run
|
|
154
170
|
|
|
155
|
-
#
|
|
156
|
-
|
|
171
|
+
# Review against a base branch
|
|
172
|
+
rr run --base main
|
|
173
|
+
|
|
174
|
+
# Review staged, unstaged, and untracked changes
|
|
175
|
+
rr run --uncommitted
|
|
176
|
+
|
|
177
|
+
# Review a specific commit
|
|
178
|
+
rr run --commit SHA
|
|
179
|
+
|
|
180
|
+
# Fix findings after review completes
|
|
181
|
+
rr fix --session SESSION_ID --all
|
|
182
|
+
|
|
183
|
+
# Review and immediately fix P0/P1 findings
|
|
184
|
+
rr run --auto --priority P0,P1
|
|
157
185
|
```
|
|
158
186
|
|
|
187
|
+
`rrr` is a shorthand alias for `rr run`. It starts a non-interactive review run without launching
|
|
188
|
+
Interactive Mode.
|
|
189
|
+
|
|
159
190
|
---
|
|
160
191
|
|
|
161
192
|
## Commands
|
|
162
193
|
|
|
163
194
|
| Command | Description |
|
|
164
195
|
|---------|-------------|
|
|
165
|
-
| `rr` | Interactive Mode |
|
|
166
|
-
| `
|
|
167
|
-
| `rr
|
|
168
|
-
| `rr
|
|
196
|
+
| `rr` | Launch Interactive Mode |
|
|
197
|
+
| `rrr` | Alias for `rr run` |
|
|
198
|
+
| `rr init` | Configure reviewer and fixer agents |
|
|
199
|
+
| `rr init --global` | Write the user-global config |
|
|
200
|
+
| `rr init --local` | Write repo-local overrides to `.ralph-review/config.json` |
|
|
201
|
+
| `rr run` | Run review only and persist findings for later fixing |
|
|
202
|
+
| `rr run --base main` | Review changes against a base branch or ref |
|
|
169
203
|
| `rr run --uncommitted` | Review staged, unstaged, and untracked changes |
|
|
170
204
|
| `rr run --commit SHA` | Review changes introduced by a specific commit |
|
|
171
|
-
| `rr run --max N` | Set max iterations |
|
|
172
|
-
| `rr run --
|
|
173
|
-
| `rr
|
|
174
|
-
| `rr
|
|
175
|
-
| `rr
|
|
176
|
-
| `rr
|
|
177
|
-
| `rr
|
|
178
|
-
| `rr
|
|
179
|
-
| `rr
|
|
180
|
-
| `rr
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
`rr
|
|
205
|
+
| `rr run --max N` | Set max review iterations |
|
|
206
|
+
| `rr run --force` | Run all configured iterations even if no new findings appear |
|
|
207
|
+
| `rr run --auto` | Run remediation immediately after review completes |
|
|
208
|
+
| `rr run --auto --priority P0,P1` | Auto-fix only findings with matching priorities |
|
|
209
|
+
| `rr run --sound` | Play a completion sound for this run |
|
|
210
|
+
| `rr run --no-sound` | Disable the completion sound for this run |
|
|
211
|
+
| `rr fix --session SESSION` | Fix selected findings from a persisted review session |
|
|
212
|
+
| `rr fix --session SESSION --all` | Select all persisted findings for remediation |
|
|
213
|
+
| `rr fix --session SESSION --priority P0,P1` | Select findings by priority |
|
|
214
|
+
| `rr fix --session SESSION --id F001 --id F003` | Select findings by ID |
|
|
215
|
+
| `rr apply` | Apply a pending review handoff |
|
|
216
|
+
| `rr apply --session HANDOFF` | Apply a specific pending handoff |
|
|
217
|
+
| `rr prune` | Prune orphaned review session artifacts |
|
|
218
|
+
| `rr prune --dry-run` | List prunable artifacts without deleting them |
|
|
219
|
+
| `rr prune --discard --session HANDOFF` | Discard a pending handoff |
|
|
220
|
+
| `rr list` / `rr ls` | List active review sessions |
|
|
221
|
+
| `rr stop` | Stop a running review session |
|
|
222
|
+
| `rr stop --all` | Stop all running review sessions |
|
|
223
|
+
| `rr log` | View the latest review log for the current project |
|
|
224
|
+
| `rr log -n 5` | View the last 5 review logs |
|
|
225
|
+
| `rr log --json` | Print current-project review logs as JSON |
|
|
226
|
+
| `rr log --json --global` | Print review logs across all projects as JSON |
|
|
227
|
+
| `rr doctor` | Run environment and configuration diagnostics |
|
|
228
|
+
| `rr doctor --fix` | Auto-resolve supported diagnostic issues |
|
|
229
|
+
| `rr update` | Check for and install a newer version |
|
|
230
|
+
| `rr update --check` | Check for a newer version without installing |
|
|
231
|
+
|
|
232
|
+
You can append one positional custom instruction to `rr run` when an explicit review target is
|
|
233
|
+
selected:
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
rr run --base main "focus on security boundaries"
|
|
237
|
+
```
|
|
187
238
|
|
|
188
239
|
---
|
|
189
240
|
|
|
@@ -198,24 +249,58 @@ ambiguous, force the package manager with `rr update --manager npm` or
|
|
|
198
249
|
| OpenCode | https://opencode.ai/ |
|
|
199
250
|
| Pi | https://pi.dev |
|
|
200
251
|
|
|
252
|
+
You can assign different agents and models to the reviewer and fixer roles. For example, Codex can
|
|
253
|
+
review while Claude or Gemini fixes.
|
|
254
|
+
|
|
201
255
|
---
|
|
202
256
|
|
|
203
257
|
## Configuration
|
|
204
258
|
|
|
205
|
-
|
|
259
|
+
Run `rr init` to create configuration. Ralph Review supports a user-global config and repo-local
|
|
260
|
+
overrides:
|
|
261
|
+
|
|
262
|
+
- Global config: `~/.config/ralph-review/config.json`
|
|
263
|
+
- Repo-local overrides: `.ralph-review/config.json`
|
|
264
|
+
|
|
265
|
+
By default, `rr config show` displays the effective merged configuration for the current project.
|
|
206
266
|
|
|
207
267
|
```bash
|
|
208
|
-
# View
|
|
268
|
+
# View effective configuration
|
|
209
269
|
rr config show
|
|
210
270
|
|
|
211
|
-
#
|
|
212
|
-
rr config
|
|
271
|
+
# View raw JSON
|
|
272
|
+
rr config show --json
|
|
273
|
+
|
|
274
|
+
# View only repo-local overrides
|
|
275
|
+
rr config show --local
|
|
276
|
+
|
|
277
|
+
# View one value
|
|
278
|
+
rr config get reviewer.agent
|
|
213
279
|
|
|
214
|
-
#
|
|
215
|
-
rr config set maxIterations
|
|
280
|
+
# Update global configuration
|
|
281
|
+
rr config set maxIterations 8
|
|
282
|
+
|
|
283
|
+
# Update repo-local configuration
|
|
284
|
+
rr config set --local defaultReview.branch main
|
|
285
|
+
|
|
286
|
+
# Edit configuration in $EDITOR
|
|
287
|
+
rr config edit
|
|
288
|
+
rr config edit --local
|
|
216
289
|
```
|
|
217
290
|
|
|
218
|
-
|
|
291
|
+
Useful settings include:
|
|
292
|
+
|
|
293
|
+
| Key | Purpose |
|
|
294
|
+
|-----|---------|
|
|
295
|
+
| `reviewer` | Agent, model, and reasoning used for review |
|
|
296
|
+
| `fixer` | Agent, model, and reasoning used for remediation |
|
|
297
|
+
| `maxIterations` | Maximum reviewer iterations per run |
|
|
298
|
+
| `iterationTimeout` | Per-agent timeout in milliseconds |
|
|
299
|
+
| `defaultReview` | Default review target, such as uncommitted changes or a base branch |
|
|
300
|
+
| `notifications.sound.enabled` | Completion sound preference |
|
|
301
|
+
|
|
302
|
+
Run `rr doctor` to verify that your environment and configuration are valid. Add `--fix` to let it
|
|
303
|
+
auto-resolve supported issues.
|
|
219
304
|
|
|
220
305
|
---
|
|
221
306
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ralph-review",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Orchestrating coding agents for code review, verification and fixing via the ralph loop.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -78,8 +78,8 @@
|
|
|
78
78
|
"peerDependencies": {},
|
|
79
79
|
"dependencies": {
|
|
80
80
|
"@clack/prompts": "1.0.0-alpha.9",
|
|
81
|
-
"@opentui/core": "^0.1.
|
|
82
|
-
"@opentui/react": "^0.1.
|
|
81
|
+
"@opentui/core": "^0.1.100",
|
|
82
|
+
"@opentui/react": "^0.1.100",
|
|
83
83
|
"react": "^19.0.0"
|
|
84
84
|
}
|
|
85
85
|
}
|