@ralph-orchestrator/ralph-cli 2.1.2 → 2.2.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.
- package/README.md +60 -9
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -69,7 +69,9 @@ See [AGENTS.md](AGENTS.md) for the full philosophy.
|
|
|
69
69
|
- **Event-Driven Coordination** — Hats communicate through typed events with glob pattern matching
|
|
70
70
|
- **Backpressure Enforcement** — Gates that reject incomplete work (tests, lint, typecheck)
|
|
71
71
|
- **Presets Library** — 20+ pre-configured workflows for common development patterns
|
|
72
|
-
- **Interactive TUI** — Real-time terminal UI for monitoring Ralph's activity (
|
|
72
|
+
- **Interactive TUI** — Real-time terminal UI for monitoring Ralph's activity (enabled by default)
|
|
73
|
+
- **Memories** — Persistent learning across sessions stored in `.agent/memories.md`
|
|
74
|
+
- **Tasks** — Runtime work tracking stored in `.agent/tasks.jsonl`
|
|
73
75
|
- **Session Recording** — Record and replay sessions for debugging and testing (experimental)
|
|
74
76
|
|
|
75
77
|
## Installation
|
|
@@ -195,17 +197,17 @@ ralph run -p "Add input validation to the user API endpoints"
|
|
|
195
197
|
### 3. Run Ralph
|
|
196
198
|
|
|
197
199
|
```bash
|
|
198
|
-
#
|
|
200
|
+
# TUI mode (default) — real-time terminal UI for monitoring
|
|
199
201
|
ralph run
|
|
200
202
|
|
|
201
203
|
# With inline prompt
|
|
202
204
|
ralph run -p "Implement the login endpoint with JWT authentication"
|
|
203
205
|
|
|
204
|
-
#
|
|
205
|
-
ralph run --tui
|
|
206
|
+
# Headless mode (no TUI)
|
|
207
|
+
ralph run --no-tui
|
|
206
208
|
|
|
207
209
|
# Resume interrupted session
|
|
208
|
-
ralph
|
|
210
|
+
ralph run --continue
|
|
209
211
|
|
|
210
212
|
# Dry run (show what would execute)
|
|
211
213
|
ralph run --dry-run
|
|
@@ -303,6 +305,15 @@ core:
|
|
|
303
305
|
- "Don't assume 'not implemented' - search first"
|
|
304
306
|
- "Backpressure is law - tests/typecheck/lint must pass"
|
|
305
307
|
|
|
308
|
+
# Memories — persistent learning across sessions (enabled by default)
|
|
309
|
+
memories:
|
|
310
|
+
enabled: true # Set false to disable
|
|
311
|
+
inject: auto # auto, manual, or none
|
|
312
|
+
|
|
313
|
+
# Tasks — runtime work tracking (enabled by default)
|
|
314
|
+
tasks:
|
|
315
|
+
enabled: true # Set false to use scratchpad-only mode
|
|
316
|
+
|
|
306
317
|
# Custom hats (omit to use default planner/builder)
|
|
307
318
|
hats:
|
|
308
319
|
my_hat:
|
|
@@ -396,9 +407,26 @@ View event history:
|
|
|
396
407
|
ralph events
|
|
397
408
|
```
|
|
398
409
|
|
|
399
|
-
###
|
|
410
|
+
### Memories and Tasks
|
|
411
|
+
|
|
412
|
+
Ralph uses two complementary systems for persistent state (both enabled by default):
|
|
413
|
+
|
|
414
|
+
**Memories** (`.agent/memories.md`) — Accumulated wisdom across sessions:
|
|
415
|
+
- Codebase patterns and conventions discovered
|
|
416
|
+
- Architectural decisions and rationale
|
|
417
|
+
- Recurring problem solutions (fixes)
|
|
418
|
+
- Project-specific context
|
|
419
|
+
|
|
420
|
+
**Tasks** (`.agent/tasks.jsonl`) — Runtime work tracking:
|
|
421
|
+
- Create, list, and close tasks during orchestration
|
|
422
|
+
- Track dependencies between tasks
|
|
423
|
+
- Used for loop completion verification
|
|
424
|
+
|
|
425
|
+
When memories and tasks are enabled, they replace the scratchpad for state management. Set `memories.enabled: false` and `tasks.enabled: false` to use the legacy scratchpad-only mode.
|
|
400
426
|
|
|
401
|
-
|
|
427
|
+
### Scratchpad (Legacy Mode)
|
|
428
|
+
|
|
429
|
+
When memories/tasks are disabled, all hats share `.agent/scratchpad.md` — persistent memory across iterations. This enables hats to build on previous work rather than starting fresh.
|
|
402
430
|
|
|
403
431
|
The scratchpad is the primary mechanism for:
|
|
404
432
|
- Task tracking (with `[ ]`, `[x]`, `[~]` markers)
|
|
@@ -427,6 +455,7 @@ tests: pass, lint: pass, typecheck: pass
|
|
|
427
455
|
| `ralph init` | Initialize configuration file |
|
|
428
456
|
| `ralph clean` | Clean up `.agent/` directory |
|
|
429
457
|
| `ralph emit` | Emit an event to the event log |
|
|
458
|
+
| `ralph tools` | Runtime tools for memories and tasks (agent-facing) |
|
|
430
459
|
|
|
431
460
|
### Global Options
|
|
432
461
|
|
|
@@ -445,11 +474,12 @@ tests: pass, lint: pass, typecheck: pass
|
|
|
445
474
|
| `--max-iterations <N>` | Override max iterations |
|
|
446
475
|
| `--completion-promise <TEXT>` | Override completion trigger |
|
|
447
476
|
| `--dry-run` | Show what would execute |
|
|
448
|
-
| `--tui` |
|
|
477
|
+
| `--no-tui` | Disable TUI mode (TUI is enabled by default) |
|
|
449
478
|
| `-a, --autonomous` | Force headless mode |
|
|
450
479
|
| `--idle-timeout <SECS>` | TUI idle timeout (default: 30) |
|
|
451
480
|
| `--record-session <FILE>` | Record session to JSONL |
|
|
452
481
|
| `-q, --quiet` | Suppress output (for CI) |
|
|
482
|
+
| `--continue` | Resume from existing scratchpad |
|
|
453
483
|
|
|
454
484
|
### `ralph init` Options
|
|
455
485
|
|
|
@@ -474,9 +504,29 @@ tests: pass, lint: pass, typecheck: pass
|
|
|
474
504
|
| `<INPUT>` | Optional description text or path to PDD plan file |
|
|
475
505
|
| `-b, --backend <BACKEND>` | Backend to use (overrides config and auto-detection) |
|
|
476
506
|
|
|
507
|
+
### `ralph tools` Subcommands
|
|
508
|
+
|
|
509
|
+
The `tools` command provides agent-facing utilities for runtime state management:
|
|
510
|
+
|
|
511
|
+
```bash
|
|
512
|
+
# Memory management (persistent learning)
|
|
513
|
+
ralph tools memory add "content" -t pattern --tags tag1,tag2
|
|
514
|
+
ralph tools memory search "query"
|
|
515
|
+
ralph tools memory list
|
|
516
|
+
ralph tools memory show <id>
|
|
517
|
+
ralph tools memory delete <id>
|
|
518
|
+
|
|
519
|
+
# Task management (runtime tracking)
|
|
520
|
+
ralph tools task add "Title" -p 2 # Create task (priority 1-5)
|
|
521
|
+
ralph tools task add "X" --blocked-by Y # With dependency
|
|
522
|
+
ralph tools task list # All tasks
|
|
523
|
+
ralph tools task ready # Unblocked tasks only
|
|
524
|
+
ralph tools task close <id> # Mark complete
|
|
525
|
+
```
|
|
526
|
+
|
|
477
527
|
## Architecture
|
|
478
528
|
|
|
479
|
-
Ralph is organized as a Cargo workspace with
|
|
529
|
+
Ralph is organized as a Cargo workspace with seven crates:
|
|
480
530
|
|
|
481
531
|
| Crate | Purpose |
|
|
482
532
|
|-------|---------|
|
|
@@ -485,6 +535,7 @@ Ralph is organized as a Cargo workspace with six crates:
|
|
|
485
535
|
| `ralph-adapters` | CLI backend integrations (Claude, Kiro, Gemini, etc.) |
|
|
486
536
|
| `ralph-tui` | Terminal UI with ratatui |
|
|
487
537
|
| `ralph-cli` | Binary entry point and CLI parsing |
|
|
538
|
+
| `ralph-e2e` | End-to-end test harness for backend validation |
|
|
488
539
|
| `ralph-bench` | Benchmarking harness (dev-only) |
|
|
489
540
|
|
|
490
541
|
## Building & Testing
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"hasInstallScript": true,
|
|
24
24
|
"license": "MIT",
|
|
25
25
|
"name": "@ralph-orchestrator/ralph-cli",
|
|
26
|
-
"version": "2.
|
|
26
|
+
"version": "2.2.0"
|
|
27
27
|
},
|
|
28
28
|
"node_modules/@isaacs/balanced-match": {
|
|
29
29
|
"engines": {
|
|
@@ -515,5 +515,5 @@
|
|
|
515
515
|
}
|
|
516
516
|
},
|
|
517
517
|
"requires": true,
|
|
518
|
-
"version": "2.
|
|
518
|
+
"version": "2.2.0"
|
|
519
519
|
}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"artifactDownloadUrl": "https://github.com/mikeyobrien/ralph-orchestrator/releases/download/v2.
|
|
2
|
+
"artifactDownloadUrl": "https://github.com/mikeyobrien/ralph-orchestrator/releases/download/v2.2.0",
|
|
3
3
|
"bin": {
|
|
4
4
|
"ralph": "run-ralph.js"
|
|
5
5
|
},
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"zipExt": ".tar.xz"
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
|
-
"version": "2.
|
|
65
|
+
"version": "2.2.0",
|
|
66
66
|
"volta": {
|
|
67
67
|
"node": "18.14.1",
|
|
68
68
|
"npm": "9.5.0"
|