ralphctl 0.26.0 → 0.27.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 +10 -4
- package/THIRD-PARTY-NOTICES.md +65 -2
- package/dist/agent-definitions/ralphctl-generator.md +3 -2
- package/dist/{cli-P7D6G5NI.mjs → cli-EYDXERW6.mjs} +4962 -4174
- package/dist/cli.mjs +1 -1
- package/dist/manifest.json +16 -3
- package/dist/prompts/_partials/autonomous-operation.md +18 -7
- package/dist/prompts/_partials/conventions-agents-md.md +2 -2
- package/dist/prompts/_partials/decisions.md +0 -1
- package/dist/prompts/_partials/evaluator-failure-modes.md +8 -5
- package/dist/prompts/_partials/evaluator-grading-rules.md +6 -5
- package/dist/prompts/_partials/one-shot-operation.md +6 -0
- package/dist/prompts/apply-feedback/template.md +5 -4
- package/dist/prompts/create-pr/template.md +10 -8
- package/dist/prompts/detect-scripts/template.md +7 -4
- package/dist/prompts/detect-skills/template.md +2 -0
- package/dist/prompts/evaluate/template.md +4 -2
- package/dist/prompts/evaluate-continuation/template.md +1 -1
- package/dist/prompts/ideate/template.md +2 -3
- package/dist/prompts/implement/template.md +16 -13
- package/dist/prompts/plan/template.md +3 -4
- package/dist/prompts/readiness/template.md +6 -4
- package/dist/prompts/refine/template.md +3 -6
- package/dist/skills/ralphctl-api-and-interface-design/SKILL.md +117 -0
- package/dist/skills/ralphctl-code-review-and-quality/SKILL.md +119 -8
- package/dist/skills/ralphctl-code-simplification/SKILL.md +100 -0
- package/dist/skills/ralphctl-codebase-design/SKILL.md +82 -0
- package/dist/skills/ralphctl-debugging-and-error-recovery/SKILL.md +23 -5
- package/dist/skills/ralphctl-deprecation-and-migration/SKILL.md +106 -0
- package/dist/skills/ralphctl-frontend-ui-engineering/SKILL.md +94 -0
- package/dist/skills/ralphctl-humanizer/SKILL.md +137 -0
- package/dist/skills/ralphctl-idea-refinement/SKILL.md +2 -0
- package/dist/skills/ralphctl-iterative-review/SKILL.md +10 -4
- package/dist/skills/ralphctl-observability-and-instrumentation/SKILL.md +104 -0
- package/dist/skills/ralphctl-performance-optimization/SKILL.md +123 -0
- package/dist/skills/ralphctl-ponytail/SKILL.md +38 -28
- package/dist/skills/ralphctl-security-and-hardening/SKILL.md +259 -0
- package/dist/skills/ralphctl-source-driven-development/SKILL.md +103 -0
- package/dist/skills/ralphctl-spec-driven-development/SKILL.md +148 -0
- package/dist/skills/ralphctl-test-driven-development/SKILL.md +29 -2
- package/dist/skills/ralphctl-writing-for-agents/SKILL.md +113 -0
- package/package.json +10 -10
package/README.md
CHANGED
|
@@ -13,9 +13,12 @@
|
|
|
13
13
|
[](https://github.com/lukas-grigis/ralphctl)
|
|
14
14
|
|
|
15
15
|
<p align="center">
|
|
16
|
-
<img src="./.github/assets/
|
|
16
|
+
<img src="./.github/assets/demo.gif" alt="ralphctl running the Implement flow in its terminal UI: the generator edits hello.py and reports the task done, the evaluator fails the correctness dimension with a critique (hello.py must print exactly "Hello, world!"), the generator retries with the critique applied, the evaluator passes, and the task commits" width="900" />
|
|
17
17
|
</p>
|
|
18
18
|
|
|
19
|
+
<p align="center"><sub>One task through the generator → evaluator loop: round 1 fails review, round 2 applies the critique and
|
|
20
|
+
passes. Replayed with <code>ralphctl demo --script</code> — no AI CLI, no tokens.</sub></p>
|
|
21
|
+
|
|
19
22
|
# ralphctl
|
|
20
23
|
|
|
21
24
|
**A ralph harness for long-running AI coding tasks — a hardened ralph loop that drives your coding agent of choice
|
|
@@ -74,6 +77,9 @@ project (three sprints, one per pre-flow state) and launches straight into it
|
|
|
74
77
|
ralphctl demo
|
|
75
78
|
```
|
|
76
79
|
|
|
80
|
+
`ralphctl demo --script` replays the run in the recording above — a canned two-round session through the real
|
|
81
|
+
Implement chain, git commit and verify gate included — so you can watch the loop without spending a token.
|
|
82
|
+
|
|
77
83
|
Otherwise, install one of the supported CLIs and authenticate it:
|
|
78
84
|
|
|
79
85
|
| CLI | Install | Auth |
|
|
@@ -81,7 +87,7 @@ Otherwise, install one of the supported CLIs and authenticate it:
|
|
|
81
87
|
| [Claude Code](https://docs.anthropic.com/en/docs/claude-code) | `npm i -g @anthropic-ai/claude-code` | Anthropic account |
|
|
82
88
|
| [GitHub Copilot CLI](https://docs.github.com/en/copilot/github-copilot-in-the-cli) | `npm i -g @github/copilot` | GitHub Copilot seat |
|
|
83
89
|
| [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`
|
|
90
|
+
| [OpenCode](https://opencode.ai/) | `npm i -g opencode-ai@1` | your own key, or none |
|
|
85
91
|
| [Grok Build CLI](https://docs.x.ai/build/overview) | `npm i -g @xai-official/grok` | xAI account (`grok login`) |
|
|
86
92
|
|
|
87
93
|
Then confirm ralphctl can see it:
|
|
@@ -254,7 +260,7 @@ per-row settings.
|
|
|
254
260
|
| **Claude Code** (`claude-code`) | `claude` | `npm i -g @anthropic-ai/claude-code` | Anthropic account | `CLAUDE.md` |
|
|
255
261
|
| **GitHub Copilot CLI** (`github-copilot`) | `copilot` | `npm i -g @github/copilot` | GitHub Copilot seat | `.github/copilot-instructions.md` |
|
|
256
262
|
| **OpenAI Codex CLI** (`openai-codex`) | `codex` | `npm i -g @openai/codex` | ChatGPT / OpenAI | `AGENTS.md` |
|
|
257
|
-
| **OpenCode** (`opencode`) | `opencode` | `npm i -g opencode-ai`
|
|
263
|
+
| **OpenCode** (`opencode`) | `opencode` | `npm i -g opencode-ai@1` | your own key, or none | `AGENTS.md` |
|
|
258
264
|
| **Grok Build CLI** (`xai-grok`) | `grok` | `npm i -g @xai-official/grok` | xAI account (`grok login`) | `AGENTS.md` |
|
|
259
265
|
|
|
260
266
|
Codex, OpenCode, and Grok share one repo-root `AGENTS.md`. Readiness for more than one of them writes
|
|
@@ -362,7 +368,7 @@ ralphctl settings apply-preset grok-fast
|
|
|
362
368
|
|
|
363
369
|
# Frontier — the vendor's top model on plan/implement at max effort; light flows stay below max.
|
|
364
370
|
# 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
|
|
371
|
+
# Copilot/Grok keep their flagship (Opus 5.5 / grok-4.7).
|
|
366
372
|
ralphctl settings apply-preset mixed-frontier
|
|
367
373
|
ralphctl settings apply-preset claude-frontier
|
|
368
374
|
ralphctl settings apply-preset copilot-frontier
|
package/THIRD-PARTY-NOTICES.md
CHANGED
|
@@ -6,10 +6,21 @@ verbatim upstream snapshots used for drift review live under `scripts/vendor/ski
|
|
|
6
6
|
upstream's license and copyright notice is reproduced in full below, as the MIT license requires.
|
|
7
7
|
|
|
8
8
|
- `ralphctl-debugging-and-error-recovery`, `ralphctl-code-review-and-quality`,
|
|
9
|
-
`ralphctl-test-driven-development`, `ralphctl-idea-refinement`
|
|
9
|
+
`ralphctl-test-driven-development`, `ralphctl-idea-refinement`, `ralphctl-security-and-hardening`,
|
|
10
|
+
`ralphctl-spec-driven-development`, `ralphctl-api-and-interface-design`,
|
|
11
|
+
`ralphctl-performance-optimization`, `ralphctl-frontend-ui-engineering`,
|
|
12
|
+
`ralphctl-deprecation-and-migration`, `ralphctl-code-simplification`,
|
|
13
|
+
`ralphctl-source-driven-development`, `ralphctl-observability-and-instrumentation`, and the
|
|
14
|
+
risk-first slicing in `ralphctl-iterative-review` — from
|
|
10
15
|
[addyosmani/agent-skills](https://github.com/addyosmani/agent-skills)
|
|
11
|
-
- `ralphctl-ponytail
|
|
16
|
+
- `ralphctl-ponytail`, and the concrete-case and expected-load review rules in
|
|
17
|
+
`ralphctl-code-review-and-quality` — from [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail)
|
|
12
18
|
- `ralphctl-domain-driven-design` — from [wondelai/skills](https://github.com/wondelai/skills)
|
|
19
|
+
- `ralphctl-codebase-design`, `ralphctl-writing-for-agents`, and parts of
|
|
20
|
+
`ralphctl-debugging-and-error-recovery`, `ralphctl-test-driven-development`, and
|
|
21
|
+
`ralphctl-code-review-and-quality` — from [mattpocock/skills](https://github.com/mattpocock/skills)
|
|
22
|
+
- `ralphctl-humanizer` — concept from [blader/humanizer](https://github.com/blader/humanizer); its pattern
|
|
23
|
+
catalogue is written fresh in ralphctl's own words
|
|
13
24
|
|
|
14
25
|
---
|
|
15
26
|
|
|
@@ -90,3 +101,55 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
90
101
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
91
102
|
SOFTWARE.
|
|
92
103
|
```
|
|
104
|
+
|
|
105
|
+
## mattpocock/skills
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
MIT License
|
|
109
|
+
|
|
110
|
+
Copyright (c) 2026 Matt Pocock
|
|
111
|
+
|
|
112
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
113
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
114
|
+
in the Software without restriction, including without limitation the rights
|
|
115
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
116
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
117
|
+
furnished to do so, subject to the following conditions:
|
|
118
|
+
|
|
119
|
+
The above copyright notice and this permission notice shall be included in all
|
|
120
|
+
copies or substantial portions of the Software.
|
|
121
|
+
|
|
122
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
123
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
124
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
125
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
126
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
127
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
128
|
+
SOFTWARE.
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## blader/humanizer
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
MIT License
|
|
135
|
+
|
|
136
|
+
Copyright (c) 2025 Siqi Chen
|
|
137
|
+
|
|
138
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
139
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
140
|
+
in the Software without restriction, including without limitation the rights
|
|
141
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
142
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
143
|
+
furnished to do so, subject to the following conditions:
|
|
144
|
+
|
|
145
|
+
The above copyright notice and this permission notice shall be included in all
|
|
146
|
+
copies or substantial portions of the Software.
|
|
147
|
+
|
|
148
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
149
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
150
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
151
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
152
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
153
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
154
|
+
SOFTWARE.
|
|
155
|
+
```
|
|
@@ -9,8 +9,9 @@ already in — not to redesign it, and not to stop short of a verified result.
|
|
|
9
9
|
## Before writing code
|
|
10
10
|
|
|
11
11
|
1. **Read the actual requirement** — the ticket, the failing test, the described behavior. When
|
|
12
|
-
it's ambiguous,
|
|
13
|
-
|
|
12
|
+
it's ambiguous, implement the reading its wording and the surrounding code most directly support
|
|
13
|
+
— one that still satisfies it — and record that assumption (as a decision, when the output
|
|
14
|
+
contract offers one) rather than guessing at a larger scope.
|
|
14
15
|
2. **Find the nearest existing pattern** — the way this codebase already solves a similar problem
|
|
15
16
|
(naming, error handling, test structure, layering) is the template to follow. Introducing a new
|
|
16
17
|
pattern for something that already has one creates drift a future reader has to reconcile.
|