@scribe-platform/cli 0.6.0 → 0.8.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 +12 -3
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +15 -1
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/prospect.d.ts +27 -0
- package/dist/commands/prospect.d.ts.map +1 -0
- package/dist/commands/prospect.js +213 -0
- package/dist/commands/prospect.js.map +1 -0
- package/dist/commands/request.d.ts +38 -0
- package/dist/commands/request.d.ts.map +1 -0
- package/dist/commands/request.js +214 -0
- package/dist/commands/request.js.map +1 -0
- package/dist/commands/site.d.ts +11 -0
- package/dist/commands/site.d.ts.map +1 -1
- package/dist/commands/site.js +85 -6
- package/dist/commands/site.js.map +1 -1
- package/dist/commands/update.d.ts +10 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +128 -31
- package/dist/commands/update.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/claude-hook.d.ts +74 -0
- package/dist/lib/claude-hook.d.ts.map +1 -0
- package/dist/lib/claude-hook.js +108 -0
- package/dist/lib/claude-hook.js.map +1 -0
- package/dist/lib/client.d.ts +199 -1
- package/dist/lib/client.d.ts.map +1 -1
- package/dist/lib/client.js +91 -2
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/skill.d.ts +13 -0
- package/dist/lib/skill.d.ts.map +1 -1
- package/dist/lib/skill.js +33 -2
- package/dist/lib/skill.js.map +1 -1
- package/dist/lib/update-check.d.ts +46 -0
- package/dist/lib/update-check.d.ts.map +1 -0
- package/dist/lib/update-check.js +103 -0
- package/dist/lib/update-check.js.map +1 -0
- package/package.json +1 -1
- package/skills/scribe-site-builder/SKILL.md +207 -52
- package/skills/scribe-site-builder/recipes/README.md +10 -3
- package/skills/scribe-site-builder/recipes/domains.md +151 -0
- package/skills/scribe-site-builder/recipes/forms.md +5 -2
- package/skills/scribe-site-builder/recipes/prospects.md +192 -0
- package/skills/scribe-site-builder/recipes/requests.md +145 -0
- package/skills/scribe-site-builder/recipes/schema.md +24 -0
package/dist/commands/site.js
CHANGED
|
@@ -35,22 +35,37 @@ function printDnsRecords(records, write = console.error) {
|
|
|
35
35
|
}
|
|
36
36
|
write('In Cloudflare the record must be DNS-only (grey cloud), not proxied.\n');
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* True when changing a Site's stored domain to `next` would be a **cutover**
|
|
40
|
+
* rather than a correction — i.e. the Site is still on its provisional
|
|
41
|
+
* `<owner>.github.io` Pages host and is being moved to a real hostname.
|
|
42
|
+
*
|
|
43
|
+
* `site update --domain` only rewrites the Mongo record and the Turnstile
|
|
44
|
+
* widget. It does not touch DNS, `public/CNAME`, or the repo's Pages settings,
|
|
45
|
+
* so using it for a cutover leaves the Site claiming a domain that serves
|
|
46
|
+
* nothing — the half-state `site promote` exists to prevent.
|
|
47
|
+
*/
|
|
48
|
+
export function isDomainCutover(current, next, githubOwner) {
|
|
49
|
+
const pagesHost = `${githubOwner}.github.io`.toLowerCase();
|
|
50
|
+
return current.toLowerCase() === pagesHost && next.toLowerCase() !== pagesHost;
|
|
51
|
+
}
|
|
38
52
|
export function registerSiteCommands(program) {
|
|
39
53
|
const site = program.command('site').description('Manage sites');
|
|
40
54
|
site
|
|
41
55
|
.command('list')
|
|
42
|
-
.description('List sites accessible to this API key')
|
|
56
|
+
.description('List live sites accessible to this API key (--archived for the archived ones instead)')
|
|
57
|
+
.option('--archived', 'List only archived sites')
|
|
43
58
|
.option('--json', 'Output as JSON')
|
|
44
59
|
.action(runAction(async (opts) => {
|
|
45
60
|
const client = requireClient();
|
|
46
|
-
const sites = await client.listSites();
|
|
61
|
+
const sites = await client.listSites({ archived: opts.archived });
|
|
47
62
|
printResult(sites, opts.json);
|
|
48
63
|
}));
|
|
49
64
|
site
|
|
50
65
|
.command('add')
|
|
51
66
|
.description('Provision a new site: create its GitHub repo, push a starter template, and register it')
|
|
52
67
|
.requiredOption('--slug <slug>', 'Site slug (also used as the repo name)')
|
|
53
|
-
.option('--domain <domain>', 'Site domain (defaults to the GitHub Pages host —
|
|
68
|
+
.option('--domain <domain>', 'Site domain (defaults to the GitHub Pages host — take the site live on the real one later with `scribe site promote`)')
|
|
54
69
|
.option('--turnstile-key <key>', 'Cloudflare Turnstile site key (defaults to the server-configured shared widget)')
|
|
55
70
|
.option('--name <name>', 'Display name (defaults to the slug)')
|
|
56
71
|
.option('--form-collection <name>', 'Name for the default form/inbox collection (defaults to "inquiries")')
|
|
@@ -70,10 +85,11 @@ export function registerSiteCommands(program) {
|
|
|
70
85
|
}));
|
|
71
86
|
site
|
|
72
87
|
.command('update')
|
|
73
|
-
.description("
|
|
88
|
+
.description("Correct a site's stored settings: its domain and/or Turnstile site key")
|
|
74
89
|
.argument('<slug>', 'Site slug')
|
|
75
90
|
.option('--turnstile-key <key>', 'Cloudflare Turnstile site key')
|
|
76
|
-
.option('--domain <domain>', "
|
|
91
|
+
.option('--domain <domain>', "Correct the site's stored hostname (record + Turnstile only). To take a site live on a new domain use `scribe site promote`")
|
|
92
|
+
.option('--record-only', 'Allow --domain to move a site off its github.io host without doing the cutover')
|
|
77
93
|
.action(runAction(async (slug, opts) => {
|
|
78
94
|
if (!opts.turnstileKey && !opts.domain) {
|
|
79
95
|
console.error('Nothing to update — pass --turnstile-key and/or --domain.');
|
|
@@ -81,6 +97,29 @@ export function registerSiteCommands(program) {
|
|
|
81
97
|
return;
|
|
82
98
|
}
|
|
83
99
|
const client = requireClient();
|
|
100
|
+
// A cutover reached through `update` is the classic half-move: the
|
|
101
|
+
// record names a domain that DNS, Pages and `public/CNAME` know
|
|
102
|
+
// nothing about, so the site 404s on the new host while still
|
|
103
|
+
// reporting healthy. Refuse rather than warn — a warning on stderr is
|
|
104
|
+
// exactly what gets scrolled past.
|
|
105
|
+
if (opts.domain && !opts.recordOnly) {
|
|
106
|
+
const existing = await client
|
|
107
|
+
.listSites()
|
|
108
|
+
.then((sites) => sites.find((s) => s.slug === slug))
|
|
109
|
+
// A lookup failure shouldn't block a legitimate correction.
|
|
110
|
+
.catch(() => undefined);
|
|
111
|
+
if (existing && isDomainCutover(existing.domain, opts.domain, existing.githubOwner)) {
|
|
112
|
+
console.error(`"${slug}" is still on ${existing.domain}, so this is a cutover, not a correction.`);
|
|
113
|
+
console.error('`site update --domain` changes only the stored record and the Turnstile widget —');
|
|
114
|
+
console.error('it does not touch DNS, public/CNAME, or the repo\'s GitHub Pages settings, so the');
|
|
115
|
+
console.error('site would 404 on the new domain. Use promote instead, which does all of it:\n');
|
|
116
|
+
console.error(` scribe site promote ${slug} --domain ${opts.domain} --dns-only # check DNS, change nothing`);
|
|
117
|
+
console.error(` scribe site promote ${slug} --domain ${opts.domain} # cut over\n`);
|
|
118
|
+
console.error('Pass --record-only if you really do just want to rewrite the stored value.');
|
|
119
|
+
process.exitCode = 1;
|
|
120
|
+
throw new CliExit();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
84
123
|
const result = await client.updateSite(slug, {
|
|
85
124
|
turnstileSiteKey: opts.turnstileKey,
|
|
86
125
|
domain: opts.domain,
|
|
@@ -265,13 +304,53 @@ export function registerSiteCommands(program) {
|
|
|
265
304
|
throw new CliExit();
|
|
266
305
|
}
|
|
267
306
|
}));
|
|
307
|
+
site
|
|
308
|
+
.command('archive')
|
|
309
|
+
.description('Take a site offline without deleting anything: Pages off, repo read-only. Undo with `site restore`.')
|
|
310
|
+
.argument('<slug>', 'Site slug')
|
|
311
|
+
.action(runAction(async (slug) => {
|
|
312
|
+
const client = requireClient();
|
|
313
|
+
const result = await client.archiveSite(slug);
|
|
314
|
+
if (result.alreadyArchived) {
|
|
315
|
+
console.log(`"${slug}" is already archived. Nothing changed.`);
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
console.log(`Archived "${slug}". Its website is offline and nothing was deleted.`);
|
|
319
|
+
console.log(`Bring it back with: scribe site restore ${slug}`);
|
|
320
|
+
for (const warning of result.warnings ?? []) {
|
|
321
|
+
console.warn(`Warning: ${warning}`);
|
|
322
|
+
}
|
|
323
|
+
}));
|
|
324
|
+
site
|
|
325
|
+
.command('restore')
|
|
326
|
+
.description('Bring an archived site back online, exactly as it was')
|
|
327
|
+
.argument('<slug>', 'Site slug')
|
|
328
|
+
.action(runAction(async (slug) => {
|
|
329
|
+
const client = requireClient();
|
|
330
|
+
const result = await client.restoreSite(slug);
|
|
331
|
+
if (result.notArchived) {
|
|
332
|
+
console.log(`"${slug}" isn't archived. Nothing changed.`);
|
|
333
|
+
return;
|
|
334
|
+
}
|
|
335
|
+
console.log(`Restored "${slug}". A deploy has started; it will be back at ${result.url} in a minute or two.`);
|
|
336
|
+
for (const warning of result.warnings ?? []) {
|
|
337
|
+
console.warn(`Warning: ${warning}`);
|
|
338
|
+
}
|
|
339
|
+
}));
|
|
268
340
|
site
|
|
269
341
|
.command('delete')
|
|
270
|
-
.description('Permanently delete
|
|
342
|
+
.description('Permanently delete an archived site: its GitHub repo, every record for it, and its analytics history. Cannot be undone.')
|
|
271
343
|
.argument('<slug>', 'Site slug')
|
|
272
344
|
.option('--yes', 'Skip the interactive confirmation prompt')
|
|
273
345
|
.action(runAction(async (slug, opts) => {
|
|
274
346
|
if (!opts.yes) {
|
|
347
|
+
// An agent's shell has no terminal to type into, so the prompt would
|
|
348
|
+
// hang or read an empty answer. Say what to do instead of either.
|
|
349
|
+
if (!process.stdin.isTTY) {
|
|
350
|
+
console.error(`Can't ask for confirmation without a terminal. To take "${slug}" offline, \`scribe site archive ${slug}\` is what you want — it deletes nothing. Permanent deletion of an archived site needs --yes, once its owner has explicitly asked for exactly that.`);
|
|
351
|
+
process.exitCode = 1;
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
275
354
|
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
276
355
|
const answer = await rl.question(`This permanently deletes the GitHub repo and all Scribe data for "${slug}". Type the slug to confirm: `);
|
|
277
356
|
rl.close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site.js","sourceRoot":"","sources":["../../src/commands/site.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"site.js","sourceRoot":"","sources":["../../src/commands/site.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,13 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
import { installSkill } from '../lib/skill.js';
|
|
3
|
+
export interface UpdateOutcome {
|
|
4
|
+
before: string | null;
|
|
5
|
+
after: string | null;
|
|
6
|
+
/** Null when the skill step didn't run because the install failed first. */
|
|
7
|
+
skill: ReturnType<typeof installSkill> | null;
|
|
8
|
+
ok: boolean;
|
|
9
|
+
/** One line per thing that went wrong, written to be read without context. */
|
|
10
|
+
problems: string[];
|
|
11
|
+
}
|
|
2
12
|
export declare function registerUpdateCommand(program: Command): void;
|
|
3
13
|
//# sourceMappingURL=update.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAW,MAAM,iBAAiB,CAAC;AA6CxD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,4EAA4E;IAC5E,KAAK,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,GAAG,IAAI,CAAC;IAC9C,EAAE,EAAE,OAAO,CAAC;IACZ,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAsDD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwE5D"}
|
package/dist/commands/update.js
CHANGED
|
@@ -3,8 +3,9 @@ import { readFileSync, realpathSync } from 'node:fs';
|
|
|
3
3
|
import { dirname, join, resolve, sep } from 'node:path';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
5
|
import { CliExit, runAction } from '../lib/cli-utils.js';
|
|
6
|
+
import { reportHookInstall } from '../lib/claude-hook.js';
|
|
6
7
|
import { installSkill, tildify } from '../lib/skill.js';
|
|
7
|
-
|
|
8
|
+
import { checkForUpdate, installSpec, PACKAGE_NAME } from '../lib/update-check.js';
|
|
8
9
|
/** This install's own package root — `<global npm root>/@scribe-platform/cli` when installed globally. */
|
|
9
10
|
function packageRoot() {
|
|
10
11
|
return resolve(dirname(fileURLToPath(import.meta.url)), '..', '..');
|
|
@@ -45,49 +46,145 @@ function isGlobalInstall(root) {
|
|
|
45
46
|
const globalRoot = real(result.stdout.trim());
|
|
46
47
|
return real(root).startsWith(globalRoot + sep);
|
|
47
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Installs the newest CLI and the skill that ships with it.
|
|
51
|
+
*
|
|
52
|
+
* Shared by `scribe update` (someone asked) and `scribe session-start` (the
|
|
53
|
+
* hook noticed), which differ only in how they report — so the thing that has
|
|
54
|
+
* to be right, the order of the two installs, is written once.
|
|
55
|
+
*/
|
|
56
|
+
function runUpdate({ log, quiet = false }) {
|
|
57
|
+
const root = packageRoot();
|
|
58
|
+
const before = installedVersion(root);
|
|
59
|
+
const problems = [];
|
|
60
|
+
if (!isGlobalInstall(root)) {
|
|
61
|
+
problems.push(`This scribe isn't a global npm install — it's running from ${root}. ` +
|
|
62
|
+
`Update it the way it was installed; for a normal install that is \`npm install -g ${PACKAGE_NAME}@latest\`.`);
|
|
63
|
+
return { before, after: before, skill: null, ok: false, problems };
|
|
64
|
+
}
|
|
65
|
+
const spec = installSpec();
|
|
66
|
+
log(`Updating ${PACKAGE_NAME}${before ? ` (currently ${before})` : ''}...`);
|
|
67
|
+
// `inherit` lets npm draw its own progress for someone watching `scribe
|
|
68
|
+
// update`. Under the hook it must be piped instead: stdout there is the
|
|
69
|
+
// JSON channel Claude Code parses, and npm's "changed 2 packages in 485ms"
|
|
70
|
+
// lands in front of the payload and corrupts it.
|
|
71
|
+
const install = npm(['install', '-g', spec], !quiet);
|
|
72
|
+
if (install.status !== 0) {
|
|
73
|
+
problems.push(`\`npm install -g ${spec}\` failed. If that was a permission error (EACCES), ` +
|
|
74
|
+
"fix npm's global prefix or re-run it with sudo.");
|
|
75
|
+
return { before, after: before, skill: null, ok: false, problems };
|
|
76
|
+
}
|
|
77
|
+
// npm has replaced this package's files in place. The code already running
|
|
78
|
+
// is the old version, but everything below reads from disk, so the skill
|
|
79
|
+
// installed is the one that ships with the version just fetched.
|
|
80
|
+
const after = installedVersion(root);
|
|
81
|
+
const skill = installSkill();
|
|
82
|
+
if (skill.status === 'missing-source') {
|
|
83
|
+
problems.push("The CLI updated, but its bundled skill wasn't where this version expected it. " +
|
|
84
|
+
'Run `scribe update` once more — the newer code knows where to look.');
|
|
85
|
+
return { before, after, skill, ok: false, problems };
|
|
86
|
+
}
|
|
87
|
+
return { before, after, skill, ok: true, problems };
|
|
88
|
+
}
|
|
48
89
|
export function registerUpdateCommand(program) {
|
|
49
90
|
program
|
|
50
91
|
.command('update')
|
|
51
92
|
// Aliased because `scribe site update` already exists: someone reaching for
|
|
52
93
|
// "upgrade the tool" shouldn't hit a dead end over which word we chose.
|
|
53
94
|
.alias('upgrade')
|
|
54
|
-
.description('Update the scribe CLI and the Claude Code skill that ships with it'
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
95
|
+
.description('Update the scribe CLI and the Claude Code skill that ships with it. ' +
|
|
96
|
+
'Usually unnecessary: a session-start hook, installed by `scribe login`, does this ' +
|
|
97
|
+
'at the start of every Claude Code session.')
|
|
98
|
+
.option('--check', 'Report whether a newer version exists and exit, changing nothing')
|
|
99
|
+
.option('--install-hook', 'Re-install the session-start auto-update hook and exit (repair; `scribe login` does it)')
|
|
100
|
+
.action(runAction(async (opts) => {
|
|
101
|
+
const current = installedVersion(packageRoot()) ?? '0.0.0';
|
|
102
|
+
if (opts.installHook) {
|
|
103
|
+
reportHookInstall();
|
|
104
|
+
return;
|
|
63
105
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
106
|
+
if (opts.check) {
|
|
107
|
+
const check = await checkForUpdate(current);
|
|
108
|
+
if (!check.reachable) {
|
|
109
|
+
console.log(`Couldn't reach the npm registry. Running ${current}.`);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
console.log(check.updateAvailable
|
|
113
|
+
? `Update available: ${current} → ${check.latest}. Run \`scribe update\`.`
|
|
114
|
+
: `Up to date (${current}).`);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
const outcome = runUpdate({ log: (line) => console.log(line) });
|
|
118
|
+
for (const problem of outcome.problems)
|
|
119
|
+
console.error(problem);
|
|
120
|
+
if (!outcome.ok) {
|
|
70
121
|
process.exitCode = 1;
|
|
71
122
|
throw new CliExit();
|
|
72
123
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
const skill = installSkill();
|
|
79
|
-
if (skill.status === 'missing-source') {
|
|
80
|
-
console.error("The CLI updated, but its bundled skill wasn't where this version expected it.");
|
|
81
|
-
console.error('Run `scribe update` once more — the newer code knows where to look.');
|
|
82
|
-
process.exitCode = 1;
|
|
83
|
-
return;
|
|
124
|
+
console.log(outcome.after && outcome.after !== outcome.before
|
|
125
|
+
? `\nUpdated to ${outcome.after}.`
|
|
126
|
+
: `\nAlready on the latest version${outcome.after ? ` (${outcome.after})` : ''}.`);
|
|
127
|
+
if (outcome.skill?.status === 'symlink') {
|
|
128
|
+
console.log(`Skill: left ${tildify(outcome.skill.dest)} alone — it's a symlink into a checkout.`);
|
|
84
129
|
}
|
|
85
|
-
if (skill
|
|
86
|
-
console.log(`Skill:
|
|
87
|
-
return;
|
|
130
|
+
else if (outcome.skill?.status === 'installed') {
|
|
131
|
+
console.log(`Skill: installed scribe-site-builder to ${tildify(outcome.skill.dest)}.`);
|
|
88
132
|
}
|
|
89
|
-
|
|
133
|
+
reportHookInstall();
|
|
90
134
|
console.log('\nRestart Claude Code so it picks up the updated skill.');
|
|
91
135
|
}));
|
|
136
|
+
program
|
|
137
|
+
// `hidden` on the command, not `configureHelp` on it — that only governs
|
|
138
|
+
// this subcommand's own `--help`, which is not where it was showing up.
|
|
139
|
+
// It's the hook's entry point, not something to run by hand, and listing
|
|
140
|
+
// it invites someone to try it and get a line of JSON back.
|
|
141
|
+
.command('session-start', { hidden: true })
|
|
142
|
+
.description('Internal — the Claude Code SessionStart hook that keeps the CLI and skill current')
|
|
143
|
+
.action(runAction(async () => {
|
|
144
|
+
await runSessionStart();
|
|
145
|
+
}));
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* The SessionStart hook.
|
|
149
|
+
*
|
|
150
|
+
* Runs before Claude Code has scanned skills for the new session, which is the
|
|
151
|
+
* whole design: an update applied here is in place by the time anyone types,
|
|
152
|
+
* so the stale-skill problem a mid-session update creates never arises.
|
|
153
|
+
*
|
|
154
|
+
* Writes a Claude Code hook JSON object to stdout and **always exits 0**. A
|
|
155
|
+
* hook that fails loudly, or at all, blocks the start of a conversation that
|
|
156
|
+
* has nothing to do with updating — so every failure path here degrades to
|
|
157
|
+
* either a note in the context or silence.
|
|
158
|
+
*/
|
|
159
|
+
async function runSessionStart() {
|
|
160
|
+
const context = [];
|
|
161
|
+
try {
|
|
162
|
+
const current = installedVersion(packageRoot()) ?? '0.0.0';
|
|
163
|
+
const check = await checkForUpdate(current);
|
|
164
|
+
if (check.updateAvailable && check.latest) {
|
|
165
|
+
// Nothing is logged to stdout during the install: stdout is the hook's
|
|
166
|
+
// JSON channel, and npm's own output would corrupt it. `runUpdate` logs
|
|
167
|
+
// through this sink, which drops it.
|
|
168
|
+
const outcome = runUpdate({ log: () => { }, quiet: true });
|
|
169
|
+
if (outcome.ok && outcome.after && outcome.after !== outcome.before) {
|
|
170
|
+
context.push(`The Scribe CLI was updated from ${outcome.before} to ${outcome.after} just now, ` +
|
|
171
|
+
'before this session started, so this session already has the new CLI and the new skill. ' +
|
|
172
|
+
'Nothing needs doing and this is not worth mentioning unless asked.');
|
|
173
|
+
}
|
|
174
|
+
else if (!outcome.ok) {
|
|
175
|
+
context.push(`A Scribe CLI update (${current} → ${check.latest}) is available but could not be installed automatically: ` +
|
|
176
|
+
`${outcome.problems.join(' ')} Tell Dave — Ashley should not be asked to fix an npm install.`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
catch (err) {
|
|
181
|
+
// Belt and braces. Nothing above is supposed to throw, and a session start
|
|
182
|
+
// is not the place to find out otherwise.
|
|
183
|
+
context.push(`The Scribe CLI update check failed to run (${err.message}). Not a problem to act on.`);
|
|
184
|
+
}
|
|
185
|
+
const payload = context.length > 0
|
|
186
|
+
? { hookSpecificOutput: { hookEventName: 'SessionStart', additionalContext: context.join(' ') } }
|
|
187
|
+
: {};
|
|
188
|
+
process.stdout.write(`${JSON.stringify(payload)}\n`);
|
|
92
189
|
}
|
|
93
190
|
//# sourceMappingURL=update.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,wBAAgB,aAAa,IAAI,OAAO,CAkBvC;AAED,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,8 @@ import { registerLoginCommand } from './commands/login.js';
|
|
|
4
4
|
import { registerSiteCommands } from './commands/site.js';
|
|
5
5
|
import { registerContentCommands } from './commands/content.js';
|
|
6
6
|
import { registerSubmissionCommands } from './commands/submission.js';
|
|
7
|
+
import { registerProspectCommands } from './commands/prospect.js';
|
|
8
|
+
import { registerRequestCommands } from './commands/request.js';
|
|
7
9
|
import { registerSchemaCommands } from './commands/schema.js';
|
|
8
10
|
import { registerBuildCommands } from './commands/build.js';
|
|
9
11
|
import { registerUpdateCommand } from './commands/update.js';
|
|
@@ -21,6 +23,8 @@ export function createProgram() {
|
|
|
21
23
|
registerSiteCommands(program);
|
|
22
24
|
registerContentCommands(program);
|
|
23
25
|
registerSubmissionCommands(program);
|
|
26
|
+
registerProspectCommands(program);
|
|
27
|
+
registerRequestCommands(program);
|
|
24
28
|
registerSchemaCommands(program);
|
|
25
29
|
registerBuildCommands(program);
|
|
26
30
|
registerUpdateCommand(program);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,8EAA8E;AAC9E,yEAAyE;AACzE,8EAA8E;AAC9E,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAC5C,CAAC;AAEzB,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,IAAI,CAAC,QAAQ,CAAC;SACd,WAAW,CAAC,uCAAuC,CAAC;SACpD,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACpC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAE/B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,8EAA8E;AAC9E,yEAAyE;AACzE,8EAA8E;AAC9E,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAC5C,CAAC;AAEzB,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,IAAI,CAAC,QAAQ,CAAC;SACd,WAAW,CAAC,uCAAuC,CAAC;SACpD,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACpC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAE/B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stamped on the hook this installs so a later version can find its own entry
|
|
3
|
+
* and replace it, instead of appending a second copy every time someone runs
|
|
4
|
+
* `scribe update`.
|
|
5
|
+
*/
|
|
6
|
+
export declare const HOOK_MARKER = "# scribe-managed-hook";
|
|
7
|
+
/** What the hook runs. `scribe` resolves off PATH, same as the user's own shell. */
|
|
8
|
+
export declare const HOOK_COMMAND = "scribe session-start # scribe-managed-hook";
|
|
9
|
+
export declare function settingsPath(): string;
|
|
10
|
+
interface HookCommand {
|
|
11
|
+
type?: string;
|
|
12
|
+
command?: string;
|
|
13
|
+
timeout?: number;
|
|
14
|
+
}
|
|
15
|
+
interface HookEntry {
|
|
16
|
+
matcher?: string;
|
|
17
|
+
hooks?: HookCommand[];
|
|
18
|
+
}
|
|
19
|
+
type Settings = {
|
|
20
|
+
hooks?: Record<string, HookEntry[]>;
|
|
21
|
+
} & Record<string, unknown>;
|
|
22
|
+
/**
|
|
23
|
+
* Adds (or refreshes) the SessionStart hook in a parsed settings object.
|
|
24
|
+
*
|
|
25
|
+
* Pure and exported so the merge is testable without touching a real
|
|
26
|
+
* `~/.claude/settings.json` — the one file in this whole feature where getting
|
|
27
|
+
* it wrong costs someone their editor configuration.
|
|
28
|
+
*
|
|
29
|
+
* Every other hook, including other `SessionStart` entries, is preserved
|
|
30
|
+
* untouched. This machine already runs four unrelated SessionStart hooks from
|
|
31
|
+
* three different tools; appending blindly or rewriting the array wholesale
|
|
32
|
+
* would break them.
|
|
33
|
+
*
|
|
34
|
+
* No `timeout` is set. Claude Code's own hooks disagree about the unit in
|
|
35
|
+
* practice — settings on this machine carry both `10` and `8000` for what is
|
|
36
|
+
* nominally the same field — so rather than guess and risk either a 60ms cap
|
|
37
|
+
* or a 60,000-second one, the bound lives inside `scribe session-start`, which
|
|
38
|
+
* gives up on its own.
|
|
39
|
+
*/
|
|
40
|
+
export declare function withSessionStartHook(settings: Settings): {
|
|
41
|
+
settings: Settings;
|
|
42
|
+
changed: boolean;
|
|
43
|
+
};
|
|
44
|
+
export type HookInstallResult = {
|
|
45
|
+
status: 'installed' | 'already-present';
|
|
46
|
+
path: string;
|
|
47
|
+
} | {
|
|
48
|
+
status: 'unreadable';
|
|
49
|
+
path: string;
|
|
50
|
+
reason: string;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Writes the SessionStart hook into `~/.claude/settings.json`.
|
|
54
|
+
*
|
|
55
|
+
* A settings file that exists but doesn't parse is left strictly alone and
|
|
56
|
+
* reported. Rewriting it would mean throwing away comments, ordering and
|
|
57
|
+
* whatever the parse error was hiding — someone's whole Claude Code setup, to
|
|
58
|
+
* install an update check.
|
|
59
|
+
*/
|
|
60
|
+
export declare function installSessionStartHook(path?: string): HookInstallResult;
|
|
61
|
+
/**
|
|
62
|
+
* Installs the hook and says what happened, in the one line each caller wants.
|
|
63
|
+
*
|
|
64
|
+
* Called from `scribe login` and `scribe update` rather than only from an
|
|
65
|
+
* explicit `--install-hook`, so nobody has to know this flag exists. Auto-
|
|
66
|
+
* updating is the feature; needing to remember a setup command to turn on the
|
|
67
|
+
* thing that saves you from remembering commands is not much of one.
|
|
68
|
+
*
|
|
69
|
+
* Silent when the hook is already there — this runs on every login and every
|
|
70
|
+
* update, and "already present" is the normal case, not news.
|
|
71
|
+
*/
|
|
72
|
+
export declare function reportHookInstall(): void;
|
|
73
|
+
export {};
|
|
74
|
+
//# sourceMappingURL=claude-hook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-hook.d.ts","sourceRoot":"","sources":["../../src/lib/claude-hook.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,eAAO,MAAM,WAAW,0BAA0B,CAAC;AAEnD,oFAAoF;AACpF,eAAO,MAAM,YAAY,+CAAwC,CAAC;AAElE,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,SAAS;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,KAAK,QAAQ,GAAG;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;CACrC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAO5B;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAYjG;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,MAAM,EAAE,WAAW,GAAG,iBAAiB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,SAAiB,GAAG,iBAAiB,CA+BhF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAUxC"}
|