ralphctl 0.22.0 → 0.23.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 +56 -29
- package/dist/{cli-LJZZGXAY.mjs → cli-J3MI4B6A.mjs} +1509 -748
- package/dist/cli.mjs +1 -1
- package/dist/manifest.json +2 -2
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -125,6 +125,7 @@ ralphctl sprint progress <sprint-id>
|
|
|
125
125
|
# Add / inspect tickets
|
|
126
126
|
ralphctl ticket add --title "<title>"
|
|
127
127
|
ralphctl ticket list
|
|
128
|
+
ralphctl ticket publish <ticket-id>
|
|
128
129
|
|
|
129
130
|
# Manage sprint state
|
|
130
131
|
ralphctl sprint activate <sprint-id>
|
|
@@ -221,6 +222,25 @@ Key properties:
|
|
|
221
222
|
For the full architectural picture see [`.claude/docs/ARCHITECTURE.md`](./.claude/docs/ARCHITECTURE.md) and [
|
|
222
223
|
`.claude/docs/REQUIREMENTS.md`](./.claude/docs/REQUIREMENTS.md).
|
|
223
224
|
|
|
225
|
+
### GitHub and GitLab issues
|
|
226
|
+
|
|
227
|
+
ralphctl can create a GitHub or GitLab issue from a local ticket, and can post approved requirements as a
|
|
228
|
+
comment on a linked issue. Both writes are opt-in. Neither rewrites the issue body.
|
|
229
|
+
|
|
230
|
+
**Create on add.** The TUI add-ticket wizard asks whether to create a tracker issue (default **No**) when the
|
|
231
|
+
new ticket has no link and the project's first configured repository resolves to GitHub or GitLab. Yes creates
|
|
232
|
+
the issue with that ticket's title and body and stores the returned URL as the ticket's link.
|
|
233
|
+
`ralphctl ticket add` saves the ticket locally and does not ask.
|
|
234
|
+
|
|
235
|
+
**Comment on approval.** Refine can post approved requirements as a comment (default **No**, only when the
|
|
236
|
+
ticket has a link). The approval menu default is **Approve**. **Post as comment** appears only for a linked
|
|
237
|
+
ticket; choosing it posts the approved requirements as a new comment on that linked issue. Repeating the same
|
|
238
|
+
approved text does not add another comment.
|
|
239
|
+
|
|
240
|
+
**Retry with publish.** `ralphctl ticket publish <ticketId>` and sprint-detail `p` run the same write with no
|
|
241
|
+
second prompt: create when the ticket has no link, comment when it already has a link and approved
|
|
242
|
+
requirements. Create uses the first configured repository origin. Comments use the ticket's existing link.
|
|
243
|
+
|
|
224
244
|
---
|
|
225
245
|
|
|
226
246
|
## Providers
|
|
@@ -250,7 +270,7 @@ that file in sequence; each later pass keeps the previous body at `AGENTS.md.bak
|
|
|
250
270
|
so path scope is the fine-grained safety envelope.
|
|
251
271
|
- **OpenCode** — vendor-neutral: it fronts 75+ providers and local runtimes on a bring-your-own-key model, so
|
|
252
272
|
you can run a specific model, a local model, or no account at all.
|
|
253
|
-
- **Grok Build CLI** — xAI's coding CLI (`grok-4.
|
|
273
|
+
- **Grok Build CLI** — xAI's coding CLI (`grok-4.7` / `grok-4.6`). Read-only flows deny edit and shell by
|
|
254
274
|
permission rule (`--deny 'Edit(./**)'`, cwd-rooted, plus `--deny 'Bash(*)'` and both shell tool ids); Grok
|
|
255
275
|
has no separate `write` tool, so creating `signals.json` outside the denied path stays possible. Both Grok
|
|
256
276
|
surfaces pass `--trust`, since the `AGENTS.md` and `.grok/skills` it loads at startup are files ralphctl
|
|
@@ -271,9 +291,9 @@ model ids, mixing backends, and known limitations.
|
|
|
271
291
|
|
|
272
292
|
Hit a rough edge with any provider? Please [open an issue](https://github.com/lukas-grigis/ralphctl/issues).
|
|
273
293
|
|
|
274
|
-
One-shot configuration: `ralphctl settings apply-preset <name>` where `<name>` is one of
|
|
294
|
+
One-shot configuration: `ralphctl settings apply-preset <name>` where `<name>` is one of 26 presets —
|
|
275
295
|
`standard`, `economic`, `strong-gate`, `fast`, and `frontier` families, each in `mixed` / `claude-only` /
|
|
276
|
-
`copilot-only` / `codex-only` variants, plus `opencode-only`
|
|
296
|
+
`copilot-only` / `codex-only` / `grok-*` variants, plus `opencode-only` in the standard family.
|
|
277
297
|
|
|
278
298
|
---
|
|
279
299
|
|
|
@@ -308,7 +328,7 @@ Configure via the TUI `Settings` view or one-shot CLI commands.
|
|
|
308
328
|
`apply-preset`.
|
|
309
329
|
|
|
310
330
|
<details>
|
|
311
|
-
<summary>All
|
|
331
|
+
<summary>All 26 presets</summary>
|
|
312
332
|
|
|
313
333
|
```bash
|
|
314
334
|
# Standard — flagship model per flow
|
|
@@ -324,34 +344,40 @@ ralphctl settings apply-preset mixed-economic
|
|
|
324
344
|
ralphctl settings apply-preset claude-economic
|
|
325
345
|
ralphctl settings apply-preset copilot-economic
|
|
326
346
|
ralphctl settings apply-preset codex-economic
|
|
347
|
+
ralphctl settings apply-preset grok-economic
|
|
327
348
|
|
|
328
349
|
# Strong-gate — cheap generator, permanently-flagship evaluator gate
|
|
329
350
|
ralphctl settings apply-preset mixed-strong-gate
|
|
330
351
|
ralphctl settings apply-preset claude-strong-gate
|
|
331
352
|
ralphctl settings apply-preset copilot-strong-gate
|
|
332
353
|
ralphctl settings apply-preset codex-strong-gate
|
|
354
|
+
ralphctl settings apply-preset grok-strong-gate
|
|
333
355
|
|
|
334
356
|
# Fast — cheapest viable tier at low effort; plateau settles rather than escalating (escalateOnPlateau=false)
|
|
335
357
|
ralphctl settings apply-preset mixed-fast
|
|
336
358
|
ralphctl settings apply-preset claude-fast
|
|
337
359
|
ralphctl settings apply-preset copilot-fast
|
|
338
360
|
ralphctl settings apply-preset codex-fast
|
|
361
|
+
ralphctl settings apply-preset grok-fast
|
|
339
362
|
|
|
340
|
-
# Frontier —
|
|
363
|
+
# Frontier — the vendor's top model on plan/implement at max effort; light flows stay below max.
|
|
364
|
+
# Claude/Codex step up to Fable 5.1 / gpt-6-astra (Fable 5.1 needs a non-ZDR org);
|
|
365
|
+
# Copilot/Grok keep their flagship (Opus 4.8 / grok-4.7).
|
|
341
366
|
ralphctl settings apply-preset mixed-frontier
|
|
342
367
|
ralphctl settings apply-preset claude-frontier
|
|
343
368
|
ralphctl settings apply-preset copilot-frontier
|
|
344
369
|
ralphctl settings apply-preset codex-frontier
|
|
370
|
+
ralphctl settings apply-preset grok-frontier
|
|
345
371
|
```
|
|
346
372
|
|
|
347
|
-
Twenty-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
373
|
+
Twenty-six presets ship, all equally first-class — none is marked default. `opencode-only` stays a
|
|
374
|
+
single preset in the standard family: every free-tier model is at the same (zero) price point, so
|
|
375
|
+
`economic` / `frontier` variants of it would differ in name only. Grok has a variant in every family
|
|
376
|
+
(`grok-4.5` / `grok-4.6` / `grok-4.7`). Mixed presets stay a cross-provider split (Claude author,
|
|
377
|
+
Codex critic) and were not rerouted onto Grok. Applying a preset stamps the entire `ai` section plus
|
|
378
|
+
`harness.escalateOnPlateau` in one transaction (`fast` stamps it `false` so a plateau settles; all
|
|
379
|
+
others stamp it `true`). On a fresh install the welcome view silently auto-seeds a preset based on
|
|
380
|
+
which provider CLIs it detects on `PATH`.
|
|
355
381
|
|
|
356
382
|
</details>
|
|
357
383
|
|
|
@@ -456,28 +482,29 @@ readiness / create sprint) stay TUI-only by design. The CLI exposes inspection +
|
|
|
456
482
|
| `ralphctl doctor` | Check environment health |
|
|
457
483
|
| `ralphctl settings show` | Print current settings |
|
|
458
484
|
| `ralphctl settings set <key> <value>` | Set a single settings key |
|
|
459
|
-
| `ralphctl settings apply-preset <name>` | Stamp the entire `ai` section —
|
|
485
|
+
| `ralphctl settings apply-preset <name>` | Stamp the entire `ai` section — 26 presets: `standard` / `economic` / `strong-gate` / `fast` / `frontier` families, each in `mixed` / `*-only` variants (Grok included), plus `opencode-only` |
|
|
460
486
|
| `ralphctl completion <shell>` | Print shell tab-completion script |
|
|
461
487
|
| `ralphctl agents list` | List bundled + operator agent definitions and the implement role each is bound to |
|
|
462
488
|
| `ralphctl skills list` | List bundled + manually-dropped skills — tier, enabled flows, provenance |
|
|
463
489
|
|
|
464
490
|
### Project & Sprint Inspection
|
|
465
491
|
|
|
466
|
-
| Command | Description
|
|
467
|
-
| ------------------------------------- |
|
|
468
|
-
| `ralphctl project list` | List registered projects
|
|
469
|
-
| `ralphctl project show <id>` | Show one project (incl. repositories)
|
|
470
|
-
| `ralphctl project remove <id>` | Delete a project registration
|
|
471
|
-
| `ralphctl sprint list` | List all sprints
|
|
472
|
-
| `ralphctl sprint show <id>` | Show one sprint (tickets, status, branch)
|
|
473
|
-
| `ralphctl sprint progress <id>` | Sprint progress with blocker diagnostics
|
|
474
|
-
| `ralphctl sprint set-current <id>` | Switch the current sprint pointer
|
|
475
|
-
| `ralphctl ticket add --title <title>` | Add a ticket to the current sprint (`--sprint`, `--description`, `--link` optional) |
|
|
476
|
-
| `ralphctl ticket list / show <id>` | Inspect tickets
|
|
477
|
-
| `ralphctl ticket
|
|
478
|
-
| `ralphctl
|
|
479
|
-
| `ralphctl task
|
|
480
|
-
| `ralphctl task
|
|
492
|
+
| Command | Description |
|
|
493
|
+
| ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
|
|
494
|
+
| `ralphctl project list` | List registered projects |
|
|
495
|
+
| `ralphctl project show <id>` | Show one project (incl. repositories) |
|
|
496
|
+
| `ralphctl project remove <id>` | Delete a project registration |
|
|
497
|
+
| `ralphctl sprint list` | List all sprints |
|
|
498
|
+
| `ralphctl sprint show <id>` | Show one sprint (tickets, status, branch) |
|
|
499
|
+
| `ralphctl sprint progress <id>` | Sprint progress with blocker diagnostics |
|
|
500
|
+
| `ralphctl sprint set-current <id>` | Switch the current sprint pointer |
|
|
501
|
+
| `ralphctl ticket add --title <title>` | Add a ticket to the current sprint (`--sprint`, `--description`, `--link` optional); does not ask to create a tracker issue |
|
|
502
|
+
| `ralphctl ticket list / show <id>` | Inspect tickets |
|
|
503
|
+
| `ralphctl ticket publish <id>` | Create a tracker issue or post the approved-requirements comment (`--sprint` optional); no second prompt |
|
|
504
|
+
| `ralphctl ticket remove <id>` | Remove a ticket from a draft sprint |
|
|
505
|
+
| `ralphctl task list / show <id>` | Inspect tasks (planning generates them) |
|
|
506
|
+
| `ralphctl task evaluation <id>` | Print the latest evaluator verdict (`evaluation.md`) for the task's last attempt |
|
|
507
|
+
| `ralphctl task unblock <id>` | Reset a blocked task to `todo` |
|
|
481
508
|
|
|
482
509
|
### Sprint Lifecycle
|
|
483
510
|
|