done-done-axi 0.6.9 → 0.6.10
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 +3 -1
- package/dist/cli.js +8 -5
- package/docs/releasing.md +3 -3
- package/package.json +1 -1
- package/skills/done-done/SKILL.md +1 -0
package/README.md
CHANGED
|
@@ -37,6 +37,8 @@ You need **[Node 22.18+](https://nodejs.org) and git**, plus your own signed-in
|
|
|
37
37
|
2. **Set up your repo.** `init` asks you, in a terminal, which coding agent drives your app and which judge checks it. done-done never picks either for you. It then writes a minimal `.done-done.yaml` and a verify skill: how to launch and drive your app. Outside a terminal, pass `--agent <agent> --model <model> --judge <agent> --judge-model <model>` instead.
|
|
38
38
|
3. **Get your first result.** Say what works now, in plain words. `verify` has your agent drive the real product the way a user does and save screenshots or output. A fresh judge checks whether each capture shows your claim. A pass names the capture and writes a receipt for this commit. Anything else stops at a gate with the judge's reason, and `done-done respond` answers it. No judge pass, no receipt.
|
|
39
39
|
|
|
40
|
+
`done-done --version` prints the bare version first; help headers show it too, and suffixed versions are labelled `pre-release`.
|
|
41
|
+
|
|
40
42
|
Optional setup check: `done-done doctor --probe` requires a real answer from your chosen agent; it checks setup, not whether your app works.
|
|
41
43
|
|
|
42
44
|
For a signed-in Claude Code setup, pass `--agent claude --model claude-haiku-5-5 --judge claude --judge-model claude-haiku-5-5` to `init`. For Codex, use `--agent codex --model gpt-6.1-sol` with that same judge. Codex readers and probes require a CLI with `exec --ignore-user-config` and `debug models --bundled`: they keep your login, but disable MCP, project instructions and model-provided tools; edit/drive steps keep your normal Codex config. Codex is not a judge route.
|
|
@@ -196,7 +198,7 @@ Every answer is an exit code: **0** pass, **1** fail, **2** usage or config erro
|
|
|
196
198
|
|
|
197
199
|
done-done works on its own: the CLI and the skill need nothing else. It is one of three tools that each do one job and connect through small written contracts ([Vision](VISION.md)):
|
|
198
200
|
|
|
199
|
-
- [`sign-off-axi`](https://www.npmjs.com/package/sign-off-axi): the board where agents ask you questions. `done-done signoff`
|
|
201
|
+
- [`sign-off-axi`](https://www.npmjs.com/package/sign-off-axi): the board where agents ask you questions. `done-done signoff` prepares a run's gate (when the judge was unsure) or evidence in sign-off's message format and prints the post command. done-done itself does not publish to a board; sign-off-axi posts the card. With the opt-in (`done-done signoff --post`, or `signoff.post: true` in `.done-done.yaml`), done-done hands the run to sign-off-axi, which posts the message and returns a card that done-done records. `done-done signoff --wait` brings the answer back to the same run. Without sign-off you answer at the terminal with `done-done respond`.
|
|
200
202
|
- [`learn-from-mistakes-axi`](https://www.npmjs.com/package/learn-from-mistakes-axi): the retro tool that finds mistakes your agents keep repeating, with evidence. Neither tool needs the other.
|
|
201
203
|
- [`first-draft-axi`](https://www.npmjs.com/package/first-draft-axi): turns a prompt into design mocks. Pass a mock to `done-done design <screen> --mock <screen>=<mock>` to judge a captured screen next to it.
|
|
202
204
|
|
package/dist/cli.js
CHANGED
|
@@ -25,6 +25,8 @@ import { mapChange } from './affected.js';
|
|
|
25
25
|
import { codeOnly, codeOnlyJourneys, configFault, MARK, namedJourney, releaseArtifacts, RULE, runsFault, STEPS_FILE, STEPS_SHAPE, stepRecordFault, stepsFault } from './proof.js';
|
|
26
26
|
const PASS = 0, FAIL = 1, USAGE = 2, INCONCLUSIVE = 3, WAITING = 4;
|
|
27
27
|
const VERSION = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')).version;
|
|
28
|
+
const PRE_RELEASE = /^[^+]*-/.test(VERSION);
|
|
29
|
+
const HELP_HEADER = `done-done ${VERSION}${PRE_RELEASE ? ' (pre-release)' : ''}`;
|
|
28
30
|
// The shape of a journey, so a new user or agent can write one without opening the reference.
|
|
29
31
|
// done-done sets DONE_DONE_EVIDENCE_ROOT (the run's own folder) and replaces ${RUN_ID}, so the example works for any evidence root.
|
|
30
32
|
const journeyExample = 'journeys: { smoke: { command: "<drive the core user journey on the real app> > $DONE_DONE_EVIDENCE_ROOT/${RUN_ID}.log", core: true } }';
|
|
@@ -342,9 +344,10 @@ each prints the files it changed and runs the journey once as a dirty-tree trial
|
|
|
342
344
|
},
|
|
343
345
|
};
|
|
344
346
|
const rows = (pairs, width = Math.max(...pairs.map(([a]) => a.length)) + 3) => pairs.map(([a, b]) => ` ${a}${' '.repeat(Math.max(3, width - a.length))}${b}`).join('\n');
|
|
345
|
-
const GLOBAL_TEXT = `global flags: --json (JSON instead of TOON), --full (do not truncate lists), --help (this command's usage), --version (
|
|
347
|
+
const GLOBAL_TEXT = `global flags: --json (JSON instead of TOON), --full (do not truncate lists), --help (this command's usage), --version (bare version first; pre-release label on the next line when suffixed)
|
|
346
348
|
exit codes: 0 pass, 1 fail, 2 usage or config error, 3 inconclusive, 4 the run is still running or a verify run waits at its gate (verify, maintain, rerun, status, respond)`;
|
|
347
|
-
const USAGE_TEXT =
|
|
349
|
+
const USAGE_TEXT = `${HELP_HEADER}
|
|
350
|
+
install: npm install -g --prefix ~/.local done-done-axi (installs done-done-axi and done-done), or run npx -y done-done-axi <command>
|
|
348
351
|
usage:
|
|
349
352
|
${rows([['done-done', "show this repo's config state and the next step"], ...Object.values(COMMANDS).flatMap((c) => c.usage)], 46)}
|
|
350
353
|
${GLOBAL_TEXT}
|
|
@@ -365,7 +368,7 @@ Run \`done-done <command> --help\` for that command's flags.`;
|
|
|
365
368
|
function commandHelp(cmd) {
|
|
366
369
|
const c = COMMANDS[cmd];
|
|
367
370
|
const flags = c.flags.length ? rows(c.flags.map((f) => [f, FLAGS[f]])) : ' none';
|
|
368
|
-
return [`usage:\n${rows(c.usage)}`, `flags:\n${flags}`, ...c.more, GLOBAL_TEXT].join('\n');
|
|
371
|
+
return [HELP_HEADER, `usage:\n${rows(c.usage)}`, `flags:\n${flags}`, ...c.more, GLOBAL_TEXT].join('\n');
|
|
369
372
|
}
|
|
370
373
|
// How many list rows a compact result shows before it reports the rest as omitted.
|
|
371
374
|
const COMPACT_LIST = 5;
|
|
@@ -2772,7 +2775,7 @@ async function cmdSignoff(argv) {
|
|
|
2772
2775
|
writeFileSync(file, `${JSON.stringify(msg, null, 2)}\n`);
|
|
2773
2776
|
const at = citable(repo, file);
|
|
2774
2777
|
if (!posts) {
|
|
2775
|
-
emit({ command: 'signoff', run_id: id, kind: msg.kind, file: at, help: [`Post it to the sign-off board (done-done
|
|
2778
|
+
emit({ command: 'signoff', run_id: id, kind: msg.kind, file: at, help: [`Post it to the sign-off board with sign-off-axi (done-done prepares the run; sign-off-axi posts): npx -y sign-off-axi post --kind ${msg.kind} --from ${arg(at)}`] });
|
|
2776
2779
|
return PASS;
|
|
2777
2780
|
}
|
|
2778
2781
|
// Post it through the board's own CLI and record the card it made, so the claim traces to the run and its card.
|
|
@@ -4525,7 +4528,7 @@ async function main(argv) {
|
|
|
4525
4528
|
return PASS;
|
|
4526
4529
|
}
|
|
4527
4530
|
if (cmd === '--version') {
|
|
4528
|
-
console.log(VERSION);
|
|
4531
|
+
console.log(VERSION + (PRE_RELEASE ? '\npre-release' : ''));
|
|
4529
4532
|
return PASS;
|
|
4530
4533
|
}
|
|
4531
4534
|
if (cmd === '--help' || cmd === '-h' || cmd === 'help') {
|
package/docs/releasing.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# 0.6.
|
|
1
|
+
# 0.6.10 patch release
|
|
2
2
|
|
|
3
|
-
This release
|
|
3
|
+
This release shows the running version in CLI help headers, labels prereleases without changing the bare `--version` line, and clarifies the signoff posting hint.
|
|
4
4
|
|
|
5
|
-
Do not publish an unmerged candidate. The existing `release` workflow on main tests and publishes an unpublished package version using npm trusted publishing. After merge, confirm `npm view done-done-axi@0.6.
|
|
5
|
+
Do not publish an unmerged candidate. The existing `release` workflow on main tests and publishes an unpublished package version using npm trusted publishing. After merge, confirm `npm view done-done-axi@0.6.10 version dist.integrity` and smoke-test a clean `npx` install with `done-done --version`. Do not run `npm publish` manually unless the workflow fails and the release is blocked; if so, stop and report.
|
package/package.json
CHANGED
|
@@ -27,6 +27,7 @@ First run `command -v done-done`. If it prints a path, run `done-done` as shown
|
|
|
27
27
|
- `done-done` (no arguments, inside the repo) for this repo's proof setup and the next step
|
|
28
28
|
- `done-done --help` for every command and flag, the journey format and the exact `## Checks` block
|
|
29
29
|
- `done-done <command> --help` for one command's usage and flags
|
|
30
|
+
- `done-done --version` prints the bare version first; help headers show it too, and suffixed versions are labelled `pre-release`.
|
|
30
31
|
|
|
31
32
|
Results are TOON: read `result` and follow the `help` lines through
|
|
32
33
|
`init`, `doctor`, `run`, `verify`, `check` and `receipt`. `design` judges captured screens for visual defects,
|