@letterstory/cli 0.134.1 → 0.135.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/lib/cli.mjs +4 -2
- package/lib/commands/enclosures.mjs +19 -0
- package/lib/commands/repo.mjs +4 -0
- package/package.json +1 -1
package/lib/cli.mjs
CHANGED
|
@@ -62,7 +62,7 @@ import {
|
|
|
62
62
|
} from "./commands.mjs";
|
|
63
63
|
|
|
64
64
|
// Keep in sync with cli/package.json.
|
|
65
|
-
export const VERSION = "0.
|
|
65
|
+
export const VERSION = "0.135.0";
|
|
66
66
|
|
|
67
67
|
// Flags that never take a value. Listing them explicitly means `deploy get --json <id>`
|
|
68
68
|
// can't accidentally swallow the id as --json's value. Every `type: "bool"` flag (and its
|
|
@@ -1372,11 +1372,13 @@ Repo changes (Claude Code edits your repo in a sandbox; the Letterstory GitHub A
|
|
|
1372
1372
|
[--branch <base>] [--attach <path>]... [--attach-url <name>=<https url>]...
|
|
1373
1373
|
[--attach-ref <path>]... [--attach-url-ref <name>=<https url>]...
|
|
1374
1374
|
[--action build|build_pr|build_merge|slack|linear] [--with-preview]
|
|
1375
|
-
[--harness claude-code|letterpress-1] [--wait]
|
|
1375
|
+
[--harness claude-code|letterpress-1] [--verifier|--no-verifier] [--wait]
|
|
1376
1376
|
Start a change (attached files go to the sandbox;
|
|
1377
1377
|
-ref ones are context, never put in the repo);
|
|
1378
1378
|
--with-preview keeps a preview up next to the PR;
|
|
1379
1379
|
--harness picks the coding agent (default: the deployment's);
|
|
1380
|
+
--verifier reviews the change and has the agent fix
|
|
1381
|
+
what's blocking before it goes out;
|
|
1380
1382
|
--wait follows it to the PR
|
|
1381
1383
|
repo fix-audit --issue <issue-type>... [--audit <id>] [--branch <base>] [--action build|build_pr|build_merge|slack|linear] [--wait]
|
|
1382
1384
|
One PR fixing site-audit issues (repeat --issue to bundle) on every affected page,
|
|
@@ -110,6 +110,10 @@ export const ARGS = {
|
|
|
110
110
|
...fields,
|
|
111
111
|
},
|
|
112
112
|
list_generator_starters: {},
|
|
113
|
+
write_generator_steps: {
|
|
114
|
+
generator_id: { positional: 0, label: "enclosure-id", required: true },
|
|
115
|
+
prospect_id: "prospect",
|
|
116
|
+
},
|
|
113
117
|
get_generator_version: {
|
|
114
118
|
generator_id: { positional: 0, label: "enclosure-id", required: true },
|
|
115
119
|
version: { value: (_flags, positionals) => Number(requirePositional(positionals, 1, "version")) },
|
|
@@ -177,6 +181,7 @@ const USAGE = `Usage: enclosures <list|show|create|update|prints>
|
|
|
177
181
|
enclosures prints <enclosure-id> [--status done|failed|no_fit|…] [--limit <n>]
|
|
178
182
|
enclosures starters
|
|
179
183
|
enclosures create --starter site_audit --login <app-id> Begin from a starter (its version 1 included)
|
|
184
|
+
enclosures write-steps <enclosure-id> [--prospect <id>] Claude Code writes its steps from its description
|
|
180
185
|
enclosures version <enclosure-id> <n> One version in full: its steps and the script prints replay
|
|
181
186
|
enclosures add-version <enclosure-id> (--script <code>|--script-file <path>) --step <text>… [--host <h>…] [--summary <s>]
|
|
182
187
|
enclosures approve <enclosure-id> --version <n>
|
|
@@ -208,6 +213,8 @@ export async function cmdEnclosures(ctx) {
|
|
|
208
213
|
return enclosuresStarters(rest);
|
|
209
214
|
case "version":
|
|
210
215
|
return enclosuresVersion(rest);
|
|
216
|
+
case "write-steps":
|
|
217
|
+
return enclosuresWriteSteps(rest);
|
|
211
218
|
case "add-version":
|
|
212
219
|
return enclosuresAddVersion(rest);
|
|
213
220
|
case "approve":
|
|
@@ -353,6 +360,18 @@ async function enclosuresStarters(ctx) {
|
|
|
353
360
|
return 0;
|
|
354
361
|
}
|
|
355
362
|
|
|
363
|
+
async function enclosuresWriteSteps(ctx) {
|
|
364
|
+
const { client, flags, positionals, io } = ctx;
|
|
365
|
+
refuseUnknownFlags(ctx, ARGS.write_generator_steps, []);
|
|
366
|
+
const result = await client.callTool(
|
|
367
|
+
"write_generator_steps",
|
|
368
|
+
argsFromFlags(ARGS.write_generator_steps, flags, positionals)
|
|
369
|
+
);
|
|
370
|
+
ok(ctx, "Claude Code is writing the steps. It takes a few minutes: watch it with `enclosures show`.");
|
|
371
|
+
printResult(io, flags, result, (r) => `run ${r.run.id} (${r.run.phase}), budget $${r.run.budget_usd}`);
|
|
372
|
+
return 0;
|
|
373
|
+
}
|
|
374
|
+
|
|
356
375
|
async function enclosuresVersion(ctx) {
|
|
357
376
|
const { client, flags, positionals, io } = ctx;
|
|
358
377
|
refuseUnknownFlags(ctx, ARGS.get_generator_version, []);
|
package/lib/commands/repo.mjs
CHANGED
|
@@ -68,6 +68,8 @@ const ARGS = {
|
|
|
68
68
|
with_preview: { flag: "with-preview", type: "bool" },
|
|
69
69
|
// --harness claude-code|letterpress-1: the coding agent; omitted, the deployment's default.
|
|
70
70
|
harness: { flag: "harness", enum: ["claude-code", "letterpress-1"] },
|
|
71
|
+
// --verifier / --no-verifier: review the change before it goes out; omitted, the deployment's choice.
|
|
72
|
+
verifier: { value: (flags) => (flags["no-verifier"] ? false : flags.verifier ? true : undefined) },
|
|
71
73
|
},
|
|
72
74
|
create_repo_change_upload: { file_names: { internal: "the basenames of the --attach files" } },
|
|
73
75
|
list_repo_sites: {},
|
|
@@ -341,6 +343,8 @@ async function repoStart(ctx) {
|
|
|
341
343
|
"preview",
|
|
342
344
|
"with-preview",
|
|
343
345
|
"harness",
|
|
346
|
+
"verifier",
|
|
347
|
+
"no-verifier",
|
|
344
348
|
"wait",
|
|
345
349
|
]);
|
|
346
350
|
// One upload for every file (names must be unique across both), then the references marked.
|