ralphctl 0.21.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 +112 -66
- package/dist/{cli-3OPZOXH6.mjs → cli-J3MI4B6A.mjs} +7734 -4281
- package/dist/cli.mjs +1 -1
- package/dist/manifest.json +9 -2
- package/dist/prompts/_partials/autonomous-operation.md +16 -0
- package/dist/prompts/_partials/decisions.md +1 -1
- package/dist/prompts/_partials/evaluation-checkpoint.md +23 -0
- package/dist/prompts/_partials/evaluator-failure-modes.md +13 -0
- package/dist/prompts/_partials/evidence-bound.md +6 -0
- package/dist/prompts/_partials/parallel-tool-calls.md +7 -0
- package/dist/prompts/_partials/task-fields.md +35 -0
- package/dist/prompts/_partials/task-sizing.md +26 -0
- package/dist/prompts/detect-scripts/template.md +10 -10
- package/dist/prompts/distill-learnings/template.md +4 -2
- package/dist/prompts/evaluate/template.md +20 -49
- package/dist/prompts/evaluate-continuation/template.md +14 -45
- package/dist/prompts/ideate/template.md +34 -52
- package/dist/prompts/implement/template.md +42 -17
- package/dist/prompts/implement-continuation/template.md +63 -25
- package/dist/prompts/plan/template.md +52 -102
- package/dist/prompts/readiness/template.md +25 -26
- package/dist/prompts/reproduce/template.md +3 -3
- package/dist/skills/ralphctl-alignment/SKILL.md +4 -3
- package/dist/skills/ralphctl-cherny-workflow/SKILL.md +3 -3
- package/dist/skills/ralphctl-code-review-and-quality/SKILL.md +18 -11
- package/dist/skills/ralphctl-debugging-and-error-recovery/SKILL.md +10 -9
- package/dist/skills/ralphctl-iterative-review/SKILL.md +8 -4
- package/dist/skills/ralphctl-karpathy-guidelines/SKILL.md +2 -2
- package/dist/skills/ralphctl-ponytail/SKILL.md +7 -3
- package/dist/skills/ralphctl-surgical-simplicity/SKILL.md +5 -3
- package/dist/skills/ralphctl-test-driven-development/SKILL.md +4 -3
- package/package.json +20 -17
package/README.md
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
[](https://docs.github.com/en/copilot/github-copilot-in-the-cli)
|
|
10
10
|
[](https://github.com/openai/codex)
|
|
11
11
|
[](https://opencode.ai/)
|
|
12
|
+
[](https://docs.x.ai/build/overview)
|
|
12
13
|
[](https://github.com/lukas-grigis/ralphctl)
|
|
13
14
|
|
|
14
15
|
<p align="center">
|
|
@@ -20,7 +21,8 @@
|
|
|
20
21
|
**A ralph harness for long-running AI coding tasks — a hardened ralph loop that drives your coding agent of choice
|
|
21
22
|
([Claude Code](https://docs.anthropic.com/en/docs/claude-code),
|
|
22
23
|
[GitHub Copilot CLI](https://docs.github.com/en/copilot/github-copilot-in-the-cli),
|
|
23
|
-
[OpenAI Codex CLI](https://github.com/openai/codex),
|
|
24
|
+
[OpenAI Codex CLI](https://github.com/openai/codex), [OpenCode](https://opencode.ai/), or
|
|
25
|
+
[Grok Build CLI](https://docs.x.ai/build/overview)) across one or more
|
|
24
26
|
repositories.**
|
|
25
27
|
|
|
26
28
|
> _"I'm helping!"_ — Ralph Wiggum
|
|
@@ -48,7 +50,7 @@ plan → generate → evaluate → verify loop turns one-shot prompting into a r
|
|
|
48
50
|
|
|
49
51
|
AI coding agents are powerful but lose context on long tasks, need babysitting when things break, and have no way to
|
|
50
52
|
coordinate changes across multiple repositories. ralphctl wraps your chosen AI CLI — Claude Code, GitHub Copilot CLI,
|
|
51
|
-
OpenAI Codex CLI, or
|
|
53
|
+
OpenAI Codex CLI, OpenCode, or Grok Build CLI — in a
|
|
52
54
|
structured harness that decomposes your work into dependency-ordered tasks, drives each one through
|
|
53
55
|
a [generator-evaluator loop](https://www.anthropic.com/engineering/harness-design-long-running-apps) that catches issues
|
|
54
56
|
before moving on, and persists context across sessions so nothing gets lost.
|
|
@@ -74,12 +76,13 @@ ralphctl demo
|
|
|
74
76
|
|
|
75
77
|
Otherwise, install one of the supported CLIs and authenticate it:
|
|
76
78
|
|
|
77
|
-
| CLI | Install | Auth
|
|
78
|
-
| ---------------------------------------------------------------------------------- | ------------------------------------ |
|
|
79
|
-
| [Claude Code](https://docs.anthropic.com/en/docs/claude-code) | `npm i -g @anthropic-ai/claude-code` | Anthropic account
|
|
80
|
-
| [GitHub Copilot CLI](https://docs.github.com/en/copilot/github-copilot-in-the-cli) | `npm i -g @github/copilot` | GitHub Copilot seat
|
|
81
|
-
| [OpenAI Codex CLI](https://github.com/openai/codex) | `npm i -g @openai/codex` | ChatGPT / OpenAI
|
|
82
|
-
| [OpenCode](https://opencode.ai/) | `npm i -g opencode-ai` | your own key, or none
|
|
79
|
+
| CLI | Install | Auth |
|
|
80
|
+
| ---------------------------------------------------------------------------------- | ------------------------------------ | -------------------------- |
|
|
81
|
+
| [Claude Code](https://docs.anthropic.com/en/docs/claude-code) | `npm i -g @anthropic-ai/claude-code` | Anthropic account |
|
|
82
|
+
| [GitHub Copilot CLI](https://docs.github.com/en/copilot/github-copilot-in-the-cli) | `npm i -g @github/copilot` | GitHub Copilot seat |
|
|
83
|
+
| [OpenAI Codex CLI](https://github.com/openai/codex) | `npm i -g @openai/codex` | ChatGPT / OpenAI |
|
|
84
|
+
| [OpenCode](https://opencode.ai/) | `npm i -g opencode-ai` | your own key, or none |
|
|
85
|
+
| [Grok Build CLI](https://docs.x.ai/build/overview) | `npm i -g @xai-official/grok` | xAI account (`grok login`) |
|
|
83
86
|
|
|
84
87
|
Then confirm ralphctl can see it:
|
|
85
88
|
|
|
@@ -89,7 +92,8 @@ ralphctl doctor # checks your provider CLI is on PATH — and reports auth fo
|
|
|
89
92
|
|
|
90
93
|
`doctor`'s auth check is only as honest as each CLI lets it be: Claude Code and OpenAI Codex answer locally via their own
|
|
91
94
|
`auth status` / `login status` verbs, OpenCode reports whether it has a saved credential (its free tier works with zero),
|
|
92
|
-
and GitHub Copilot
|
|
95
|
+
and GitHub Copilot and Grok expose no non-interactive auth-status command at all — those rows always report `unknown`,
|
|
96
|
+
not a guess. Sign in to Grok with `grok login`.
|
|
93
97
|
|
|
94
98
|
When `doctor` is green, launch:
|
|
95
99
|
|
|
@@ -121,10 +125,12 @@ ralphctl sprint progress <sprint-id>
|
|
|
121
125
|
# Add / inspect tickets
|
|
122
126
|
ralphctl ticket add --title "<title>"
|
|
123
127
|
ralphctl ticket list
|
|
128
|
+
ralphctl ticket publish <ticket-id>
|
|
124
129
|
|
|
125
130
|
# Manage sprint state
|
|
126
131
|
ralphctl sprint activate <sprint-id>
|
|
127
|
-
ralphctl sprint close <sprint-id>
|
|
132
|
+
ralphctl sprint close <sprint-id> [-y] # review → done (-y skips the blocked-task confirm)
|
|
133
|
+
ralphctl sprint reopen <sprint-id> # done → review (makes blocked work reachable again)
|
|
128
134
|
ralphctl sprint remove <sprint-id>
|
|
129
135
|
|
|
130
136
|
# Open a PR for the sprint branch
|
|
@@ -136,7 +142,7 @@ ralphctl export-context --sprint <id> --project <id> --output <path>
|
|
|
136
142
|
|
|
137
143
|
# Settings
|
|
138
144
|
ralphctl settings show
|
|
139
|
-
ralphctl settings apply-preset claude-only # or mixed / copilot-only / codex-only / opencode-only / *-economic / *-strong-gate / *-fast / *-frontier
|
|
145
|
+
ralphctl settings apply-preset claude-only # or mixed / copilot-only / codex-only / opencode-only / grok-only / *-economic / *-strong-gate / *-fast / *-frontier
|
|
140
146
|
ralphctl settings set ai.implement.generator.provider claude-code
|
|
141
147
|
ralphctl settings set ai.implement.generator.model <model-id>
|
|
142
148
|
ralphctl settings set ai.implement.generator.effort high
|
|
@@ -216,38 +222,67 @@ Key properties:
|
|
|
216
222
|
For the full architectural picture see [`.claude/docs/ARCHITECTURE.md`](./.claude/docs/ARCHITECTURE.md) and [
|
|
217
223
|
`.claude/docs/REQUIREMENTS.md`](./.claude/docs/REQUIREMENTS.md).
|
|
218
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
|
+
|
|
219
244
|
---
|
|
220
245
|
|
|
221
246
|
## Providers
|
|
222
247
|
|
|
223
|
-
ralphctl drives
|
|
248
|
+
ralphctl drives five AI coding CLIs. All five run every flow and are supported first-class. Pick one per
|
|
224
249
|
flow — or mix them, say plan with one and implement with another — through a [preset](#configuration) or
|
|
225
250
|
per-row settings.
|
|
226
251
|
|
|
227
|
-
| Provider | CLI | Install | Auth
|
|
228
|
-
| ----------------------------------------- | ---------- | ------------------------------------ |
|
|
229
|
-
| **Claude Code** (`claude-code`) | `claude` | `npm i -g @anthropic-ai/claude-code` | Anthropic account
|
|
230
|
-
| **GitHub Copilot CLI** (`github-copilot`) | `copilot` | `npm i -g @github/copilot` | GitHub Copilot seat
|
|
231
|
-
| **OpenAI Codex CLI** (`openai-codex`) | `codex` | `npm i -g @openai/codex` | ChatGPT / OpenAI
|
|
232
|
-
| **OpenCode** (`opencode`) | `opencode` | `npm i -g opencode-ai` | your own key, or none
|
|
252
|
+
| Provider | CLI | Install | Auth | Context file |
|
|
253
|
+
| ----------------------------------------- | ---------- | ------------------------------------ | -------------------------- | --------------------------------- |
|
|
254
|
+
| **Claude Code** (`claude-code`) | `claude` | `npm i -g @anthropic-ai/claude-code` | Anthropic account | `CLAUDE.md` |
|
|
255
|
+
| **GitHub Copilot CLI** (`github-copilot`) | `copilot` | `npm i -g @github/copilot` | GitHub Copilot seat | `.github/copilot-instructions.md` |
|
|
256
|
+
| **OpenAI Codex CLI** (`openai-codex`) | `codex` | `npm i -g @openai/codex` | ChatGPT / OpenAI | `AGENTS.md` |
|
|
257
|
+
| **OpenCode** (`opencode`) | `opencode` | `npm i -g opencode-ai` | your own key, or none | `AGENTS.md` |
|
|
258
|
+
| **Grok Build CLI** (`xai-grok`) | `grok` | `npm i -g @xai-official/grok` | xAI account (`grok login`) | `AGENTS.md` |
|
|
259
|
+
|
|
260
|
+
Codex, OpenCode, and Grok share one repo-root `AGENTS.md`. Readiness for more than one of them writes
|
|
261
|
+
that file in sequence; each later pass keeps the previous body at `AGENTS.md.bak.<timestamp>`.
|
|
233
262
|
|
|
234
263
|
**Which one?**
|
|
235
264
|
|
|
236
265
|
- **Claude Code** — read-only flows deny the edit, shell and network tools at the CLI level, the finest-grained
|
|
237
|
-
gate of the
|
|
266
|
+
gate of the five.
|
|
238
267
|
- **GitHub Copilot CLI** — no extra billing relationship if you already have a seat. Read-only flows deny the
|
|
239
268
|
shell tool; file writes stay open, bounded by path scope.
|
|
240
269
|
- **OpenAI Codex CLI** — a natural fit inside the ChatGPT/OpenAI ecosystem. Its sandbox has two modes only,
|
|
241
270
|
so path scope is the fine-grained safety envelope.
|
|
242
271
|
- **OpenCode** — vendor-neutral: it fronts 75+ providers and local runtimes on a bring-your-own-key model, so
|
|
243
272
|
you can run a specific model, a local model, or no account at all.
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
273
|
+
- **Grok Build CLI** — xAI's coding CLI (`grok-4.7` / `grok-4.6`). Read-only flows deny edit and shell by
|
|
274
|
+
permission rule (`--deny 'Edit(./**)'`, cwd-rooted, plus `--deny 'Bash(*)'` and both shell tool ids); Grok
|
|
275
|
+
has no separate `write` tool, so creating `signals.json` outside the denied path stays possible. Both Grok
|
|
276
|
+
surfaces pass `--trust`, since the `AGENTS.md` and `.grok/skills` it loads at startup are files ralphctl
|
|
277
|
+
wrote itself. Extra roots are a named over-grant — Grok has no `--add-dir` and `--sandbox off` is forced.
|
|
278
|
+
|
|
279
|
+
On every backend the agent can always create the harness's `signals.json` — four keep the `Write` tool open,
|
|
280
|
+
and Grok, which has no `write` tool, scopes its edit deny rule to `--cwd` instead — so path scope (cwd +
|
|
281
|
+
mounted roots) is always part of the safety envelope. See the
|
|
247
282
|
[provider reference](./docs/providers.md#permission-model-per-backend) for the exact mapping.
|
|
248
283
|
|
|
249
|
-
Bundled skill injection and forensic capture work on all
|
|
250
|
-
(`.claude/` / `.github/` / `.agents/` / `.opencode/`). Parallel execution is provider-agnostic. Claude Code
|
|
284
|
+
Bundled skill injection and forensic capture work on all five; only the on-disk skills directory differs
|
|
285
|
+
(`.claude/` / `.github/` / `.agents/` / `.opencode/` / `.grok/`). Parallel execution is provider-agnostic. Claude Code
|
|
251
286
|
has the most real-world mileage simply because it came first — the others are equally supported, with
|
|
252
287
|
correspondingly less of it.
|
|
253
288
|
|
|
@@ -256,9 +291,9 @@ model ids, mixing backends, and known limitations.
|
|
|
256
291
|
|
|
257
292
|
Hit a rough edge with any provider? Please [open an issue](https://github.com/lukas-grigis/ralphctl/issues).
|
|
258
293
|
|
|
259
|
-
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 —
|
|
260
295
|
`standard`, `economic`, `strong-gate`, `fast`, and `frontier` families, each in `mixed` / `claude-only` /
|
|
261
|
-
`copilot-only` / `codex-only` variants, plus `opencode-only
|
|
296
|
+
`copilot-only` / `codex-only` / `grok-*` variants, plus `opencode-only` in the standard family.
|
|
262
297
|
|
|
263
298
|
---
|
|
264
299
|
|
|
@@ -280,7 +315,7 @@ One-shot configuration: `ralphctl settings apply-preset <name>` where `<name>` i
|
|
|
280
315
|
first — the crashed attempt is settled as aborted (kept in history) and a fresh attempt opens automatically
|
|
281
316
|
- **Pair or let it run** — work alongside your AI agent interactively, or let it execute unattended
|
|
282
317
|
- **Zero-memorization start** — run `ralphctl` with no args for a guided menu
|
|
283
|
-
- **Bring your own model** —
|
|
318
|
+
- **Bring your own model** — five backends to choose from, one of which (OpenCode) is vendor-neutral, so the
|
|
284
319
|
harness reaches hosted, aggregated, and local models alike
|
|
285
320
|
|
|
286
321
|
---
|
|
@@ -293,7 +328,7 @@ Configure via the TUI `Settings` view or one-shot CLI commands.
|
|
|
293
328
|
`apply-preset`.
|
|
294
329
|
|
|
295
330
|
<details>
|
|
296
|
-
<summary>All
|
|
331
|
+
<summary>All 26 presets</summary>
|
|
297
332
|
|
|
298
333
|
```bash
|
|
299
334
|
# Standard — flagship model per flow
|
|
@@ -302,38 +337,47 @@ ralphctl settings apply-preset claude-only # every flow on Claude Code
|
|
|
302
337
|
ralphctl settings apply-preset copilot-only # every flow on GitHub Copilot CLI
|
|
303
338
|
ralphctl settings apply-preset codex-only # every flow on OpenAI Codex CLI
|
|
304
339
|
ralphctl settings apply-preset opencode-only # every flow on OpenCode's free tier (no auth)
|
|
340
|
+
ralphctl settings apply-preset grok-only # every flow on Grok Build CLI
|
|
305
341
|
|
|
306
342
|
# Economic — implement starts one tier below flagship; escalation ladder climbs only on plateau
|
|
307
343
|
ralphctl settings apply-preset mixed-economic
|
|
308
344
|
ralphctl settings apply-preset claude-economic
|
|
309
345
|
ralphctl settings apply-preset copilot-economic
|
|
310
346
|
ralphctl settings apply-preset codex-economic
|
|
347
|
+
ralphctl settings apply-preset grok-economic
|
|
311
348
|
|
|
312
349
|
# Strong-gate — cheap generator, permanently-flagship evaluator gate
|
|
313
350
|
ralphctl settings apply-preset mixed-strong-gate
|
|
314
351
|
ralphctl settings apply-preset claude-strong-gate
|
|
315
352
|
ralphctl settings apply-preset copilot-strong-gate
|
|
316
353
|
ralphctl settings apply-preset codex-strong-gate
|
|
354
|
+
ralphctl settings apply-preset grok-strong-gate
|
|
317
355
|
|
|
318
356
|
# Fast — cheapest viable tier at low effort; plateau settles rather than escalating (escalateOnPlateau=false)
|
|
319
357
|
ralphctl settings apply-preset mixed-fast
|
|
320
358
|
ralphctl settings apply-preset claude-fast
|
|
321
359
|
ralphctl settings apply-preset copilot-fast
|
|
322
360
|
ralphctl settings apply-preset codex-fast
|
|
361
|
+
ralphctl settings apply-preset grok-fast
|
|
323
362
|
|
|
324
|
-
# 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).
|
|
325
366
|
ralphctl settings apply-preset mixed-frontier
|
|
326
367
|
ralphctl settings apply-preset claude-frontier
|
|
327
368
|
ralphctl settings apply-preset copilot-frontier
|
|
328
369
|
ralphctl settings apply-preset codex-frontier
|
|
370
|
+
ralphctl settings apply-preset grok-frontier
|
|
329
371
|
```
|
|
330
372
|
|
|
331
|
-
Twenty-
|
|
332
|
-
|
|
333
|
-
variants of it would differ in name only.
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
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`.
|
|
337
381
|
|
|
338
382
|
</details>
|
|
339
383
|
|
|
@@ -431,43 +475,45 @@ readiness / create sprint) stay TUI-only by design. The CLI exposes inspection +
|
|
|
431
475
|
|
|
432
476
|
### Getting Started
|
|
433
477
|
|
|
434
|
-
| Command | Description
|
|
435
|
-
| --------------------------------------- |
|
|
436
|
-
| `ralphctl` | Interactive TUI (primary surface)
|
|
437
|
-
| `ralphctl demo` | Seed a throwaway sandbox project and launch straight into it — zero setup, no provider CLI required to look around (`--no-launch` to seed only, `--home <dir>` to relocate)
|
|
438
|
-
| `ralphctl doctor` | Check environment health
|
|
439
|
-
| `ralphctl settings show` | Print current settings
|
|
440
|
-
| `ralphctl settings set <key> <value>` | Set a single settings key
|
|
441
|
-
| `ralphctl settings apply-preset <name>` | Stamp the entire `ai` section —
|
|
442
|
-
| `ralphctl completion <shell>` | Print shell tab-completion script
|
|
443
|
-
| `ralphctl agents list` | List bundled + operator agent definitions and the implement role each is bound to
|
|
444
|
-
| `ralphctl skills list` | List bundled + manually-dropped skills — tier, enabled flows, provenance
|
|
478
|
+
| Command | Description |
|
|
479
|
+
| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
480
|
+
| `ralphctl` | Interactive TUI (primary surface) |
|
|
481
|
+
| `ralphctl demo` | Seed a throwaway sandbox project and launch straight into it — zero setup, no provider CLI required to look around (`--no-launch` to seed only, `--home <dir>` to relocate) |
|
|
482
|
+
| `ralphctl doctor` | Check environment health |
|
|
483
|
+
| `ralphctl settings show` | Print current settings |
|
|
484
|
+
| `ralphctl settings set <key> <value>` | Set a single settings key |
|
|
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` |
|
|
486
|
+
| `ralphctl completion <shell>` | Print shell tab-completion script |
|
|
487
|
+
| `ralphctl agents list` | List bundled + operator agent definitions and the implement role each is bound to |
|
|
488
|
+
| `ralphctl skills list` | List bundled + manually-dropped skills — tier, enabled flows, provenance |
|
|
445
489
|
|
|
446
490
|
### Project & Sprint Inspection
|
|
447
491
|
|
|
448
|
-
| Command | Description
|
|
449
|
-
| ------------------------------------- |
|
|
450
|
-
| `ralphctl project list` | List registered projects
|
|
451
|
-
| `ralphctl project show <id>` | Show one project (incl. repositories)
|
|
452
|
-
| `ralphctl project remove <id>` | Delete a project registration
|
|
453
|
-
| `ralphctl sprint list` | List all sprints
|
|
454
|
-
| `ralphctl sprint show <id>` | Show one sprint (tickets, status, branch)
|
|
455
|
-
| `ralphctl sprint progress <id>` | Sprint progress with blocker diagnostics
|
|
456
|
-
| `ralphctl sprint set-current <id>` | Switch the current sprint pointer
|
|
457
|
-
| `ralphctl ticket add --title <title>` | Add a ticket to the current sprint (`--sprint`, `--description`, `--link` optional) |
|
|
458
|
-
| `ralphctl ticket list / show <id>` | Inspect tickets
|
|
459
|
-
| `ralphctl ticket
|
|
460
|
-
| `ralphctl
|
|
461
|
-
| `ralphctl task
|
|
462
|
-
| `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` |
|
|
463
508
|
|
|
464
509
|
### Sprint Lifecycle
|
|
465
510
|
|
|
466
|
-
| Command
|
|
467
|
-
|
|
|
468
|
-
| `ralphctl sprint activate <id>`
|
|
469
|
-
| `ralphctl sprint close <id
|
|
470
|
-
| `ralphctl sprint
|
|
511
|
+
| Command | Description |
|
|
512
|
+
| --------------------------------- | ----------------------------------------------------------------------------------------------------------- |
|
|
513
|
+
| `ralphctl sprint activate <id>` | Flip a draft sprint to `active` |
|
|
514
|
+
| `ralphctl sprint close <id> [-y]` | Transition `review` → `done`; confirms first when any task is still blocked (`-y`/`--yes` skips the prompt) |
|
|
515
|
+
| `ralphctl sprint reopen <id>` | Reopen a closed sprint `done` → `review` so its blocked work is reachable again (idempotent) |
|
|
516
|
+
| `ralphctl sprint remove <id>` | Delete a sprint permanently |
|
|
471
517
|
|
|
472
518
|
### Export & PR
|
|
473
519
|
|