@zigrivers/scaffold 3.25.0 → 3.25.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
CHANGED
|
@@ -1467,6 +1467,8 @@ These are orthogonal to the pipeline — usable at any time, not tied to pipelin
|
|
|
1467
1467
|
|
|
1468
1468
|
Use `scaffold run spark` before `create-vision` when you have a vague idea that needs sharpening. Use `scaffold run review-code` before commit or push when you want a local gate on the current delivery candidate. Use `scaffold run review-pr` after a GitHub PR exists.
|
|
1469
1469
|
|
|
1470
|
+
> **Codex users:** the generated `AGENTS.md` ships direct `mmr review` shell recipes for `review-code` and `review-pr` (3-channel coverage: Codex CLI, Gemini CLI, Claude CLI). The Superpowers `code-reviewer` 4th-channel reconcile requires a harness that can dispatch agent skills — Codex cannot do this directly, so run `scaffold run review-{code,pr}` from a Claude Code session when you need full 4-channel coverage.
|
|
1471
|
+
|
|
1470
1472
|
Run any of these via the CLI or ask the scaffold runner skill in Claude Code or Gemini.
|
|
1471
1473
|
|
|
1472
1474
|
## Releasing Your Project
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,cAAc,CAAA;AAoHrB,qBAAa,YAAa,YAAW,eAAe;IAClD,QAAQ,CAAC,UAAU,WAAU;IAE7B,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,cAAc,CAAyB;IAE/C,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB;IAMtD,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB;IAU/D,QAAQ,CAAC,MAAM,EAAE,oBAAoB,GAAG,qBAAqB;CAwC9D"}
|
|
@@ -15,6 +15,100 @@ const PHASE_ORDER = [
|
|
|
15
15
|
'finalization',
|
|
16
16
|
'general',
|
|
17
17
|
];
|
|
18
|
+
// `scaffold run <step>` writes a meta-prompt to stdout. Claude Code slash
|
|
19
|
+
// commands re-inject that prompt into the model's context, so embedded bash
|
|
20
|
+
// blocks get executed by the model. Codex runs `scaffold run` as a shell
|
|
21
|
+
// command and treats stdout as the final result — embedded instructions
|
|
22
|
+
// never run. For tools whose "execution" is a deterministic shell recipe
|
|
23
|
+
// (review-code, review-pr), bypass the shim and emit the recipe directly so
|
|
24
|
+
// Codex can execute it.
|
|
25
|
+
//
|
|
26
|
+
// 4th-channel note: the Superpowers code-reviewer reconcile path requires a
|
|
27
|
+
// harness that can dispatch agent skills (e.g. Claude Code). Codex has no
|
|
28
|
+
// such loader, so the recipes below run the 3 MMR CLI channels only and
|
|
29
|
+
// point users at the Claude Code path when they need 4-channel coverage.
|
|
30
|
+
//
|
|
31
|
+
// Source-of-truth meta-prompts: `content/tools/review-code.md` and
|
|
32
|
+
// `content/tools/review-pr.md`. Keep the resolution chain and command
|
|
33
|
+
// shape here in sync with those files.
|
|
34
|
+
const CODEX_EXECUTOR_RECIPES = {
|
|
35
|
+
'review-code': `Run multi-model review on local code before commit or push
|
|
36
|
+
(3 MMR CLI channels: Codex, Gemini, Claude). Pick **one** of the three modes
|
|
37
|
+
below.
|
|
38
|
+
|
|
39
|
+
**Mode 1 — full local delivery candidate** (committed branch diff + staged
|
|
40
|
+
+ unstaged; the most common case):
|
|
41
|
+
|
|
42
|
+
\`\`\`bash
|
|
43
|
+
# Resolve trunk ref — same ladder as content/tools/review-code.md.
|
|
44
|
+
BASE_REF=""
|
|
45
|
+
if ORIGIN_HEAD=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null); then
|
|
46
|
+
BASE_REF="\${ORIGIN_HEAD#refs/remotes/}"
|
|
47
|
+
elif git rev-parse --verify origin/main >/dev/null 2>&1; then BASE_REF=origin/main
|
|
48
|
+
elif git rev-parse --verify main >/dev/null 2>&1; then BASE_REF=main
|
|
49
|
+
elif git rev-parse --verify origin/master >/dev/null 2>&1; then BASE_REF=origin/master
|
|
50
|
+
elif git rev-parse --verify master >/dev/null 2>&1; then BASE_REF=master
|
|
51
|
+
elif git rev-parse --verify HEAD~1 >/dev/null 2>&1; then BASE_REF=HEAD~1
|
|
52
|
+
else BASE_REF=HEAD
|
|
53
|
+
fi
|
|
54
|
+
MERGE_BASE=$(git merge-base "$BASE_REF" HEAD 2>/dev/null || echo "$BASE_REF")
|
|
55
|
+
|
|
56
|
+
# --quiet exits 0 when there's no diff. Streams the diff directly into mmr
|
|
57
|
+
# rather than buffering through a shell variable (large diffs can OOM).
|
|
58
|
+
if git diff --quiet "$MERGE_BASE"; then
|
|
59
|
+
echo "No changes to review"; exit 0
|
|
60
|
+
fi
|
|
61
|
+
git diff "$MERGE_BASE" | mmr review --diff - --sync --format json
|
|
62
|
+
\`\`\`
|
|
63
|
+
|
|
64
|
+
**Mode 2 — staged changes only** (e.g. pre-commit gate):
|
|
65
|
+
|
|
66
|
+
\`\`\`bash
|
|
67
|
+
mmr review --staged --sync --format json
|
|
68
|
+
\`\`\`
|
|
69
|
+
|
|
70
|
+
**Mode 3 — explicit branch diff** (substitute the actual branch name for
|
|
71
|
+
\`BRANCH_NAME\`):
|
|
72
|
+
|
|
73
|
+
\`\`\`bash
|
|
74
|
+
mmr review --base main --head BRANCH_NAME --sync --format json
|
|
75
|
+
\`\`\`
|
|
76
|
+
|
|
77
|
+
Append \`--fix-threshold P0|P1|P2|P3\` to any of the above to override the
|
|
78
|
+
project's configured threshold for this invocation.
|
|
79
|
+
|
|
80
|
+
Verdicts: proceed only on \`pass\` or \`degraded-pass\`. On \`blocked\` or
|
|
81
|
+
\`needs-user-decision\`, stop and surface to the user. Fix all findings at or above
|
|
82
|
+
\`results.fix_threshold\` before proceeding.
|
|
83
|
+
|
|
84
|
+
**4th channel:** the Superpowers \`code-reviewer\` reconcile pass requires a
|
|
85
|
+
harness that can dispatch agent skills. Codex cannot do this directly — for
|
|
86
|
+
4-channel coverage, run \`scaffold run review-code\` from a Claude Code session
|
|
87
|
+
instead.`,
|
|
88
|
+
'review-pr': `Run multi-model review on a pull request
|
|
89
|
+
(3 MMR CLI channels: Codex, Gemini, Claude).
|
|
90
|
+
|
|
91
|
+
\`\`\`bash
|
|
92
|
+
# Detect PR number from current branch, or set explicitly:
|
|
93
|
+
PR_NUMBER="\${PR_NUMBER:-$(gh pr view --json number -q .number 2>/dev/null)}"
|
|
94
|
+
if [ -z "$PR_NUMBER" ]; then
|
|
95
|
+
echo "PR_NUMBER not set and no PR for current branch"; exit 1
|
|
96
|
+
fi
|
|
97
|
+
mmr review --pr "$PR_NUMBER" --sync --format json
|
|
98
|
+
\`\`\`
|
|
99
|
+
|
|
100
|
+
Append \`--fix-threshold P0|P1|P2|P3\` to override the project's configured
|
|
101
|
+
threshold for this invocation.
|
|
102
|
+
|
|
103
|
+
Verdicts: proceed only on \`pass\` or \`degraded-pass\`. On \`blocked\` or
|
|
104
|
+
\`needs-user-decision\`, stop and surface to the user. Fix all findings at or above
|
|
105
|
+
\`results.fix_threshold\` before proceeding.
|
|
106
|
+
|
|
107
|
+
**4th channel:** the Superpowers \`code-reviewer\` reconcile pass requires a
|
|
108
|
+
harness that can dispatch agent skills. Codex cannot do this directly — for
|
|
109
|
+
4-channel coverage, run \`scaffold run review-pr\` from a Claude Code session
|
|
110
|
+
instead.`,
|
|
111
|
+
};
|
|
18
112
|
export class CodexAdapter {
|
|
19
113
|
platformId = 'codex';
|
|
20
114
|
context = null;
|
|
@@ -44,7 +138,12 @@ export class CodexAdapter {
|
|
|
44
138
|
const sections = PHASE_ORDER.filter((p) => phases.has(p)).map((phase) => {
|
|
45
139
|
const steps = phases.get(phase);
|
|
46
140
|
const stepLines = steps
|
|
47
|
-
.map((s) =>
|
|
141
|
+
.map((s) => {
|
|
142
|
+
const recipe = CODEX_EXECUTOR_RECIPES[s.slug];
|
|
143
|
+
return recipe
|
|
144
|
+
? `### ${s.description}\n\n${recipe}`
|
|
145
|
+
: `### ${s.description}\n\nRun \`scaffold run ${s.slug}\``;
|
|
146
|
+
})
|
|
48
147
|
.join('\n\n');
|
|
49
148
|
return `## Phase: ${phase}\n\n${stepLines}`;
|
|
50
149
|
});
|
|
@@ -52,7 +151,11 @@ export class CodexAdapter {
|
|
|
52
151
|
|
|
53
152
|
This document describes the Scaffold pipeline steps for use with Codex.
|
|
54
153
|
|
|
55
|
-
Run each step using
|
|
154
|
+
Run each step using \`scaffold run <step-slug>\` **unless the step below
|
|
155
|
+
provides an inline shell recipe** — in that case, run the recipe directly.
|
|
156
|
+
\`scaffold run\` writes a meta-prompt to stdout that Codex cannot interpret
|
|
157
|
+
as instructions, so steps with executable shell behavior emit the commands
|
|
158
|
+
inline here.
|
|
56
159
|
|
|
57
160
|
${sections.join('\n\n')}
|
|
58
161
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/core/adapters/codex.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,GAAG;IAClB,KAAK;IACL,YAAY;IACZ,aAAa;IACb,aAAa;IACb,SAAS;IACT,UAAU;IACV,WAAW;IACX,cAAc;IACd,eAAe;IACf,eAAe;IACf,SAAS;IACT,UAAU;IACV,YAAY;IACZ,cAAc;IACd,SAAS;CACV,CAAA;AAED,MAAM,OAAO,YAAY;IACd,UAAU,GAAG,OAAO,CAAA;IAErB,OAAO,GAA0B,IAAI,CAAA;IACrC,cAAc,GAAuB,EAAE,CAAA;IAE/C,UAAU,CAAC,OAAuB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAA;QACxB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IACtC,CAAC;IAED,mBAAmB,CAAC,KAAuB;QACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/B,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,IAAI;SACd,CAAA;IACH,CAAC;IAED,QAAQ,CAAC,MAA4B;QACnC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAA;QAEpD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAA;YACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YAC7C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACtE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;YAChC,MAAM,SAAS,GAAG,KAAK;iBACpB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,0BAA0B,CAAC,CAAC,IAAI,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/core/adapters/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -123,5 +123,87 @@ describe('CodexAdapter', () => {
|
|
|
123
123
|
const result = adapter.finalize(makeFinalizeInput([]));
|
|
124
124
|
expect(result.files[0].content).not.toContain('old-step');
|
|
125
125
|
});
|
|
126
|
+
// Codex-incompatible tools: `scaffold run <step>` emits a meta-prompt to
|
|
127
|
+
// stdout intended for harnesses that re-inject it as instructions (Claude
|
|
128
|
+
// Code slash commands). Codex executes it as a shell command and treats
|
|
129
|
+
// stdout as a result, so the embedded bash never runs. For review-code
|
|
130
|
+
// and review-pr, emit direct `mmr review` recipes inline. The 4th-channel
|
|
131
|
+
// Superpowers reconcile is intentionally NOT included — Codex cannot
|
|
132
|
+
// dispatch agent skills, so the recipes ship 3-channel coverage and point
|
|
133
|
+
// users at the Claude Code path when they need 4-channel.
|
|
134
|
+
describe('codex-incompatible executor tools', () => {
|
|
135
|
+
it('review-code emits direct mmr review recipe with full BASE_REF ladder + empty-diff guard', () => {
|
|
136
|
+
adapter.initialize(makeContext());
|
|
137
|
+
adapter.generateStepWrapper(makeStepInput({
|
|
138
|
+
slug: 'review-code',
|
|
139
|
+
description: 'Pre-commit multi-model review',
|
|
140
|
+
phase: null,
|
|
141
|
+
}));
|
|
142
|
+
const result = adapter.finalize(makeFinalizeInput([]));
|
|
143
|
+
const content = result.files[0].content;
|
|
144
|
+
// No leftover `Run \`scaffold run review-code\`` shim line. The recipe
|
|
145
|
+
// may still reference `scaffold run review-code` in the 4th-channel
|
|
146
|
+
// note (pointing Codex users at the Claude Code path), but the shim
|
|
147
|
+
// form must not be the primary instruction.
|
|
148
|
+
expect(content).not.toMatch(/Run `scaffold run review-code`/);
|
|
149
|
+
// Direct mmr review invocations are present
|
|
150
|
+
expect(content).toContain('mmr review --staged');
|
|
151
|
+
expect(content).toContain('mmr review --diff -');
|
|
152
|
+
// BASE_REF resolution mirrors content/tools/review-code.md (7-level ladder)
|
|
153
|
+
expect(content).toContain('git symbolic-ref refs/remotes/origin/HEAD');
|
|
154
|
+
expect(content).toContain('origin/main');
|
|
155
|
+
expect(content).toContain('origin/master');
|
|
156
|
+
expect(content).toContain('HEAD~1');
|
|
157
|
+
// Empty-diff guard prevents 'no diff content' failure on clean trees;
|
|
158
|
+
// uses --quiet to avoid buffering the entire diff into a shell variable
|
|
159
|
+
expect(content).toContain('git diff --quiet "$MERGE_BASE"');
|
|
160
|
+
// Modes are split into separate fenced code blocks so an agent
|
|
161
|
+
// executing one block doesn't run all three reviews in sequence.
|
|
162
|
+
expect(content).toMatch(/\*\*Mode 1\b/);
|
|
163
|
+
expect(content).toMatch(/\*\*Mode 2\b/);
|
|
164
|
+
expect(content).toMatch(/\*\*Mode 3\b/);
|
|
165
|
+
// No reconcile claim — Codex can't dispatch the Superpowers skill
|
|
166
|
+
expect(content).not.toContain('mmr reconcile');
|
|
167
|
+
expect(content).not.toContain('--channel superpowers');
|
|
168
|
+
// 4-channel guidance points at the Claude Code path
|
|
169
|
+
expect(content).toMatch(/4-channel coverage.*Claude Code/i);
|
|
170
|
+
});
|
|
171
|
+
it('review-pr emits direct mmr review --pr recipe with PR_NUMBER detection', () => {
|
|
172
|
+
adapter.initialize(makeContext());
|
|
173
|
+
adapter.generateStepWrapper(makeStepInput({
|
|
174
|
+
slug: 'review-pr',
|
|
175
|
+
description: 'PR multi-model review',
|
|
176
|
+
phase: null,
|
|
177
|
+
}));
|
|
178
|
+
const result = adapter.finalize(makeFinalizeInput([]));
|
|
179
|
+
const content = result.files[0].content;
|
|
180
|
+
expect(content).not.toMatch(/Run `scaffold run review-pr`/);
|
|
181
|
+
expect(content).toContain('mmr review --pr');
|
|
182
|
+
// PR_NUMBER detection is shown so agents don't run with an empty value
|
|
183
|
+
expect(content).toContain('gh pr view --json number');
|
|
184
|
+
// No reconcile claim
|
|
185
|
+
expect(content).not.toContain('mmr reconcile');
|
|
186
|
+
});
|
|
187
|
+
it('non-executor tools still use `scaffold run <slug>`', () => {
|
|
188
|
+
adapter.initialize(makeContext());
|
|
189
|
+
adapter.generateStepWrapper(makeStepInput({
|
|
190
|
+
slug: 'automated-pr-review',
|
|
191
|
+
description: 'Configure automated PR review',
|
|
192
|
+
phase: 'environment',
|
|
193
|
+
}));
|
|
194
|
+
const result = adapter.finalize(makeFinalizeInput([]));
|
|
195
|
+
expect(result.files[0].content).toContain('scaffold run automated-pr-review');
|
|
196
|
+
});
|
|
197
|
+
it('executor recipes are deterministic across runs', () => {
|
|
198
|
+
const run = () => {
|
|
199
|
+
const a = new CodexAdapter();
|
|
200
|
+
a.initialize(makeContext());
|
|
201
|
+
a.generateStepWrapper(makeStepInput({ slug: 'review-code', phase: null }));
|
|
202
|
+
a.generateStepWrapper(makeStepInput({ slug: 'review-pr', phase: null }));
|
|
203
|
+
return a.finalize(makeFinalizeInput([])).files[0].content;
|
|
204
|
+
};
|
|
205
|
+
expect(run()).toBe(run());
|
|
206
|
+
});
|
|
207
|
+
});
|
|
126
208
|
});
|
|
127
209
|
//# sourceMappingURL=codex.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.test.js","sourceRoot":"","sources":["../../../src/core/adapters/codex.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codex.test.js","sourceRoot":"","sources":["../../../src/core/adapters/codex.test.ts"],"names":[],"mappings":"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"}
|