@forumulate/cli 0.9.0 → 0.10.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 +3 -3
- package/dist/api/args.d.ts.map +1 -1
- package/dist/api/args.js +1 -0
- package/dist/api/args.js.map +1 -1
- package/dist/api/command.d.ts +1 -1
- package/dist/api/command.d.ts.map +1 -1
- package/dist/api/command.js +86 -11
- package/dist/api/command.js.map +1 -1
- package/dist/api/http.d.ts +8 -0
- package/dist/api/http.d.ts.map +1 -1
- package/dist/api/http.js +3 -2
- package/dist/api/http.js.map +1 -1
- package/dist/api/live-spec.d.ts +48 -0
- package/dist/api/live-spec.d.ts.map +1 -0
- package/dist/api/live-spec.js +72 -0
- package/dist/api/live-spec.js.map +1 -0
- package/dist/api/operations.json +1 -1
- package/dist/api/request.d.ts.map +1 -1
- package/dist/api/request.js +25 -1
- package/dist/api/request.js.map +1 -1
- package/dist/api/send.d.ts +10 -1
- package/dist/api/send.d.ts.map +1 -1
- package/dist/api/send.js +14 -3
- package/dist/api/send.js.map +1 -1
- package/dist/api/slim.d.ts +14 -0
- package/dist/api/slim.d.ts.map +1 -0
- package/dist/api/slim.js +174 -0
- package/dist/api/slim.js.map +1 -0
- package/dist/cache-command.d.ts +12 -0
- package/dist/cache-command.d.ts.map +1 -0
- package/dist/cache-command.js +93 -0
- package/dist/cache-command.js.map +1 -0
- package/dist/check/command.d.ts +48 -0
- package/dist/check/command.d.ts.map +1 -0
- package/dist/check/command.js +256 -0
- package/dist/check/command.js.map +1 -0
- package/dist/check/external.d.ts +66 -0
- package/dist/check/external.d.ts.map +1 -0
- package/dist/check/external.js +177 -0
- package/dist/check/external.js.map +1 -0
- package/dist/check/markdown-links.d.ts +38 -0
- package/dist/check/markdown-links.d.ts.map +1 -0
- package/dist/check/markdown-links.js +166 -0
- package/dist/check/markdown-links.js.map +1 -0
- package/dist/cli.js +42 -7
- package/dist/cli.js.map +1 -1
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +1 -0
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +6 -2
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/groups-api.d.ts.map +1 -1
- package/dist/commands/groups-api.js +20 -2
- package/dist/commands/groups-api.js.map +1 -1
- package/dist/commands/groups-docs.d.ts.map +1 -1
- package/dist/commands/groups-docs.js +8 -2
- package/dist/commands/groups-docs.js.map +1 -1
- package/dist/commands/groups-jobs.d.ts +10 -0
- package/dist/commands/groups-jobs.d.ts.map +1 -0
- package/dist/commands/groups-jobs.js +89 -0
- package/dist/commands/groups-jobs.js.map +1 -0
- package/dist/commands/groups-org.d.ts.map +1 -1
- package/dist/commands/groups-org.js +59 -2
- package/dist/commands/groups-org.js.map +1 -1
- package/dist/commands/groups-site.d.ts.map +1 -1
- package/dist/commands/groups-site.js +33 -3
- package/dist/commands/groups-site.js.map +1 -1
- package/dist/commands/groups-spaces.d.ts.map +1 -1
- package/dist/commands/groups-spaces.js +11 -5
- package/dist/commands/groups-spaces.js.map +1 -1
- package/dist/commands/groups-types.d.ts.map +1 -1
- package/dist/commands/groups-types.js +74 -0
- package/dist/commands/groups-types.js.map +1 -1
- package/dist/commands/groups.d.ts.map +1 -1
- package/dist/commands/groups.js +2 -0
- package/dist/commands/groups.js.map +1 -1
- package/dist/commands/index.d.ts +9 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +18 -3
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/job-wait.d.ts +64 -0
- package/dist/commands/job-wait.d.ts.map +1 -0
- package/dist/commands/job-wait.js +91 -0
- package/dist/commands/job-wait.js.map +1 -0
- package/dist/commands/resource.d.ts +19 -0
- package/dist/commands/resource.d.ts.map +1 -1
- package/dist/commands/resource.js +65 -3
- package/dist/commands/resource.js.map +1 -1
- package/dist/content/library.d.ts +8 -0
- package/dist/content/library.d.ts.map +1 -1
- package/dist/content/library.js +10 -2
- package/dist/content/library.js.map +1 -1
- package/dist/credentials.d.ts +43 -4
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +67 -4
- package/dist/credentials.js.map +1 -1
- package/dist/doctor/address-checks.d.ts +56 -0
- package/dist/doctor/address-checks.d.ts.map +1 -0
- package/dist/doctor/address-checks.js +183 -0
- package/dist/doctor/address-checks.js.map +1 -0
- package/dist/doctor/boilerplate.d.ts +33 -0
- package/dist/doctor/boilerplate.d.ts.map +1 -0
- package/dist/doctor/boilerplate.js +78 -0
- package/dist/doctor/boilerplate.js.map +1 -0
- package/dist/doctor/command.d.ts +18 -0
- package/dist/doctor/command.d.ts.map +1 -0
- package/dist/doctor/command.js +234 -0
- package/dist/doctor/command.js.map +1 -0
- package/dist/doctor/crawl.d.ts +49 -0
- package/dist/doctor/crawl.d.ts.map +1 -0
- package/dist/doctor/crawl.js +210 -0
- package/dist/doctor/crawl.js.map +1 -0
- package/dist/doctor/extended.d.ts +52 -0
- package/dist/doctor/extended.d.ts.map +1 -0
- package/dist/doctor/extended.js +150 -0
- package/dist/doctor/extended.js.map +1 -0
- package/dist/doctor/page-checks.d.ts +42 -0
- package/dist/doctor/page-checks.d.ts.map +1 -0
- package/dist/doctor/page-checks.js +200 -0
- package/dist/doctor/page-checks.js.map +1 -0
- package/dist/doctor/probe.d.ts +63 -0
- package/dist/doctor/probe.d.ts.map +1 -0
- package/dist/doctor/probe.js +170 -0
- package/dist/doctor/probe.js.map +1 -0
- package/dist/doctor/reader-auth-atlas.d.ts +18 -0
- package/dist/doctor/reader-auth-atlas.d.ts.map +1 -0
- package/dist/doctor/reader-auth-atlas.js +50 -0
- package/dist/doctor/reader-auth-atlas.js.map +1 -0
- package/dist/doctor/robots-params.d.ts +36 -0
- package/dist/doctor/robots-params.d.ts.map +1 -0
- package/dist/doctor/robots-params.js +97 -0
- package/dist/doctor/robots-params.js.map +1 -0
- package/dist/doctor/site.d.ts +42 -0
- package/dist/doctor/site.d.ts.map +1 -0
- package/dist/doctor/site.js +82 -0
- package/dist/doctor/site.js.map +1 -0
- package/dist/doctor.d.ts +21 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +94 -3
- package/dist/doctor.js.map +1 -1
- package/dist/exit-codes.d.ts +40 -0
- package/dist/exit-codes.d.ts.map +1 -0
- package/dist/exit-codes.js +66 -0
- package/dist/exit-codes.js.map +1 -0
- package/dist/help-commands.d.ts +13 -0
- package/dist/help-commands.d.ts.map +1 -0
- package/dist/help-commands.js +215 -0
- package/dist/help-commands.js.map +1 -0
- package/dist/help.d.ts +1 -1
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +57 -11
- package/dist/help.js.map +1 -1
- package/dist/io.d.ts +33 -0
- package/dist/io.d.ts.map +1 -0
- package/dist/io.js +81 -0
- package/dist/io.js.map +1 -0
- package/dist/preview-comment.d.ts +20 -0
- package/dist/preview-comment.d.ts.map +1 -0
- package/dist/preview-comment.js +88 -0
- package/dist/preview-comment.js.map +1 -0
- package/dist/publish/about.d.ts +23 -0
- package/dist/publish/about.d.ts.map +1 -0
- package/dist/publish/about.js +66 -0
- package/dist/publish/about.js.map +1 -0
- package/dist/publish/command.d.ts +20 -0
- package/dist/publish/command.d.ts.map +1 -1
- package/dist/publish/command.js +97 -4
- package/dist/publish/command.js.map +1 -1
- package/dist/publish/context.d.ts +8 -0
- package/dist/publish/context.d.ts.map +1 -1
- package/dist/publish/context.js.map +1 -1
- package/dist/publish/docs-apply.d.ts.map +1 -1
- package/dist/publish/docs-apply.js +13 -1
- package/dist/publish/docs-apply.js.map +1 -1
- package/dist/publish/extras.d.ts +10 -0
- package/dist/publish/extras.d.ts.map +1 -1
- package/dist/publish/extras.js +54 -2
- package/dist/publish/extras.js.map +1 -1
- package/dist/publish/manifest.d.ts.map +1 -1
- package/dist/publish/manifest.js +27 -2
- package/dist/publish/manifest.js.map +1 -1
- package/dist/publish/preview.d.ts +56 -0
- package/dist/publish/preview.d.ts.map +1 -0
- package/dist/publish/preview.js +133 -0
- package/dist/publish/preview.js.map +1 -0
- package/dist/publish/redirects.d.ts +13 -0
- package/dist/publish/redirects.d.ts.map +1 -0
- package/dist/publish/redirects.js +154 -0
- package/dist/publish/redirects.js.map +1 -0
- package/dist/publish/studio-edits.d.ts +25 -0
- package/dist/publish/studio-edits.d.ts.map +1 -0
- package/dist/publish/studio-edits.js +53 -0
- package/dist/publish/studio-edits.js.map +1 -0
- package/dist/publish/types.d.ts +22 -1
- package/dist/publish/types.d.ts.map +1 -1
- package/dist/publish-command.d.ts +55 -0
- package/dist/publish-command.d.ts.map +1 -0
- package/dist/publish-command.js +197 -0
- package/dist/publish-command.js.map +1 -0
- package/dist/run.d.ts +3 -10
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +122 -110
- package/dist/run.js.map +1 -1
- package/dist/translations/target.d.ts.map +1 -1
- package/dist/translations/target.js +2 -2
- package/dist/translations/target.js.map +1 -1
- package/dist/validate.d.ts +39 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +166 -0
- package/dist/validate.js.map +1 -0
- package/dist/version.d.ts +8 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +11 -0
- package/dist/version.js.map +1 -0
- package/dist/whoami.d.ts +41 -0
- package/dist/whoami.d.ts.map +1 -0
- package/dist/whoami.js +161 -0
- package/dist/whoami.js.map +1 -0
- package/package.json +2 -2
- package/dist/publish-dir.d.ts +0 -54
- package/dist/publish-dir.d.ts.map +0 -1
- package/dist/publish-dir.js +0 -119
- package/dist/publish-dir.js.map +0 -1
package/dist/doctor.js
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.READER_API_SEGMENT = void 0;
|
|
3
|
+
exports.READER_API_SEGMENT = exports.BASE_CHECK_IDS = void 0;
|
|
4
4
|
exports.runDoctor = runDoctor;
|
|
5
|
+
const extended_1 = require("./doctor/extended");
|
|
6
|
+
const probe_1 = require("./doctor/probe");
|
|
7
|
+
/** The single-page checks, in report order; the site-wide ones are `EXTENDED_CHECK_IDS`. */
|
|
8
|
+
exports.BASE_CHECK_IDS = [
|
|
9
|
+
'health',
|
|
10
|
+
'public-read',
|
|
11
|
+
'canonical',
|
|
12
|
+
'html-untouched',
|
|
13
|
+
'cache-headers',
|
|
14
|
+
'robots',
|
|
15
|
+
'sitemap',
|
|
16
|
+
'crawler-access',
|
|
17
|
+
'feeds',
|
|
18
|
+
'images',
|
|
19
|
+
];
|
|
5
20
|
/** A crawler-ish UA: some CDNs answer bots differently, which is the point. */
|
|
6
21
|
const CRAWLER_UA = 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)';
|
|
7
22
|
async function runDoctor(input) {
|
|
@@ -141,11 +156,30 @@ async function runDoctor(input) {
|
|
|
141
156
|
? 'Cloudflare Email Obfuscation is rewriting addresses on this page.'
|
|
142
157
|
: 'No rewritten email addresses.', 'The injected decoder has no CSP nonce, so it is refused and every address renders as [email protected] with a dead link. Turn Email Obfuscation off for these paths.');
|
|
143
158
|
}
|
|
144
|
-
// 5. The document is cacheable, and says so.
|
|
159
|
+
// 5. The document is cacheable, and says so — or says WHY not.
|
|
145
160
|
if (anon.ok) {
|
|
146
161
|
const cc = anon.res.headers.get('cache-control') ?? '';
|
|
147
162
|
const bad = /no-store/i.test(cc) || cc === '';
|
|
148
|
-
|
|
163
|
+
// The platform names the rule behind every reader `no-store` (FMU-B05): a
|
|
164
|
+
// gated page is meant to be uncached, an accident is not.
|
|
165
|
+
const reason = anon.res.headers.get('x-forumulate-cache-reason');
|
|
166
|
+
add('cache-headers', 'The document carries a usable Cache-Control',
|
|
167
|
+
// A gated page is reported as a skip (counted with the warnings), not a failure.
|
|
168
|
+
bad ? (reason && GATED_REASONS.has(reason) ? 'skip' : 'fail') : 'pass', `${cc || '(none)'}${reason ? ` — reason: ${reason}` : ''}`, reason && GATED_REASONS.has(reason)
|
|
169
|
+
? 'This page is gated, so it is deliberately kept out of shared caches.'
|
|
170
|
+
: 'Without one, every reader pays full origin latency and a CDN in front of it does nothing.');
|
|
171
|
+
}
|
|
172
|
+
// 5b. The page describes itself in the owner's words, not a stock sentence.
|
|
173
|
+
if (html) {
|
|
174
|
+
const description = /<meta[^>]+name=["']description["'][^>]+content=["']([^"']*)["']/i.exec(html)?.[1] ?? null;
|
|
175
|
+
const stock = description ? STOCK_DESCRIPTIONS.find((re) => re.test(description)) : undefined;
|
|
176
|
+
add('description', 'The page has a description of its own',
|
|
177
|
+
// A stock sentence is a failure; no description at all is only a warning.
|
|
178
|
+
stock ? 'fail' : description ? 'pass' : 'skip', description ?? 'No meta description.', stock
|
|
179
|
+
? 'This is a generic sentence, not one you wrote; search results and share cards show it. Set the space description (settings.seo.description) or the site tagline.'
|
|
180
|
+
: description
|
|
181
|
+
? ''
|
|
182
|
+
: 'Search engines make one up from the page. Set the space description (settings.seo.description) or the site tagline.');
|
|
149
183
|
}
|
|
150
184
|
// 6. Crawlers are let in, and told where to look.
|
|
151
185
|
const robots = await get(`${origin}/robots.txt`, { 'user-agent': CRAWLER_UA });
|
|
@@ -225,6 +259,39 @@ async function runDoctor(input) {
|
|
|
225
259
|
? ''
|
|
226
260
|
: 'A page that renders with holes in it reads as abandoned, and nothing about a 200 page says its pictures are gone.');
|
|
227
261
|
}
|
|
262
|
+
/*
|
|
263
|
+
* The site-wide checks (FMU-D14). They judge the page a reader LANDS on, so
|
|
264
|
+
* a root that redirects is followed first — the redirect itself is what
|
|
265
|
+
* `root-redirect` judges, and its throwaway body is not the page.
|
|
266
|
+
*/
|
|
267
|
+
const only = input.only?.length ? new Set(input.only) : undefined;
|
|
268
|
+
const probeGet = (0, probe_1.makeGet)({ fetchImpl: doFetch, timeoutMs: input.timeoutMs });
|
|
269
|
+
let landedUrl = site.toString();
|
|
270
|
+
let landedHtml = html;
|
|
271
|
+
if (anon.ok && anon.res.status >= 300 && anon.res.status < 400) {
|
|
272
|
+
const { final } = await (0, probe_1.follow)(probeGet, landedUrl, { accept: 'text/html' });
|
|
273
|
+
if (final.ok && final.status === 200) {
|
|
274
|
+
landedUrl = final.url;
|
|
275
|
+
landedHtml = final.text;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
const platformHost = (input.platformHost ?? extended_1.DEFAULT_PLATFORM_HOST).toLowerCase();
|
|
279
|
+
const extended = {
|
|
280
|
+
url: landedUrl,
|
|
281
|
+
requestedUrl: site.toString(),
|
|
282
|
+
html: landedHtml,
|
|
283
|
+
robots: robots.ok && robots.res.status === 200 ? robots.text : undefined,
|
|
284
|
+
get: probeGet,
|
|
285
|
+
platformHost,
|
|
286
|
+
platformApi: input.platformApi ?? `https://${platformHost}/api`,
|
|
287
|
+
addressSets: input.addressSets,
|
|
288
|
+
roots: input.roots,
|
|
289
|
+
limit: input.limit,
|
|
290
|
+
only,
|
|
291
|
+
};
|
|
292
|
+
checks.push(...(await (0, extended_1.extendedChecks)(extended)));
|
|
293
|
+
if (only)
|
|
294
|
+
checks.splice(0, checks.length, ...checks.filter((c) => only.has(c.id)));
|
|
228
295
|
return {
|
|
229
296
|
url: input.url,
|
|
230
297
|
checks,
|
|
@@ -395,4 +462,28 @@ function blocksPath(robots, pathname) {
|
|
|
395
462
|
}
|
|
396
463
|
return false;
|
|
397
464
|
}
|
|
465
|
+
/** `x-forumulate-cache-reason` values that mean "gated on purpose", not an accident. */
|
|
466
|
+
const GATED_REASONS = new Set([
|
|
467
|
+
'network-gate',
|
|
468
|
+
'status-gate',
|
|
469
|
+
'policy-gate',
|
|
470
|
+
'post-password',
|
|
471
|
+
'legal-access-link',
|
|
472
|
+
'legal-acceptance',
|
|
473
|
+
'credential-handshake',
|
|
474
|
+
]);
|
|
475
|
+
/**
|
|
476
|
+
* The stock sentences reader surfaces used to make up when a space had no
|
|
477
|
+
* description (FMU-B08). A page still carrying one is reported, so a site
|
|
478
|
+
* served by an older build, or another platform's boilerplate, is caught.
|
|
479
|
+
*/
|
|
480
|
+
const STOCK_DESCRIPTIONS = [
|
|
481
|
+
/^Guides and reference, in a nested tree\.$/,
|
|
482
|
+
/^Community discussions in .+\.$/,
|
|
483
|
+
/^The latest posts from .+\.$/,
|
|
484
|
+
/^Published documentation for .+\.$/,
|
|
485
|
+
/^Terms, privacy and the other policies that apply to .+\.$/,
|
|
486
|
+
/^Live status for .+\.$/,
|
|
487
|
+
/^Product updates and release notes for .+\.$/,
|
|
488
|
+
];
|
|
398
489
|
//# sourceMappingURL=doctor.js.map
|
package/dist/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The exit codes every `forumulate` command answers with (FMU-D05).
|
|
3
|
+
*
|
|
4
|
+
* A pipeline reads the exit code, not the prose. Everything used to be 0 or 1,
|
|
5
|
+
* so a CI step could not tell "the token is wrong" from "the page the manifest
|
|
6
|
+
* names is gone" from "somebody edited this in the studio" — three failures with
|
|
7
|
+
* three different fixes, one of which (auth) should page a person and two of
|
|
8
|
+
* which should not. These are documented in `forumulate help` and on every
|
|
9
|
+
* command's own `--help`; changing one is a breaking change for every script
|
|
10
|
+
* that branches on it.
|
|
11
|
+
*/
|
|
12
|
+
export declare const EXIT: {
|
|
13
|
+
/** Done, and verified where the command verifies. */
|
|
14
|
+
readonly OK: 0;
|
|
15
|
+
/** The work ran but the result is wrong: a read-back mismatch, a doctor FAIL, a failed check. */
|
|
16
|
+
readonly FAILED: 1;
|
|
17
|
+
/** The command line itself is wrong: unknown command, missing argument, contradictory flags. */
|
|
18
|
+
readonly USAGE: 2;
|
|
19
|
+
/** No token, or the API refused the one given (401, or a 403 about the token's own scope). */
|
|
20
|
+
readonly AUTH: 3;
|
|
21
|
+
/** The org, space, page or operation named does not exist (404). */
|
|
22
|
+
readonly NOT_FOUND: 4;
|
|
23
|
+
/** The write collided with something: a 409/412, or studio edits a publish would overwrite. */
|
|
24
|
+
readonly CONFLICT: 5;
|
|
25
|
+
/** `--wait` gave up: the job was still running when `--timeout` passed (FMU-D03; `timeout(1)`'s code). */
|
|
26
|
+
readonly TIMEOUT: 124;
|
|
27
|
+
};
|
|
28
|
+
export type ExitCode = (typeof EXIT)[keyof typeof EXIT];
|
|
29
|
+
/** The block `--help` prints, so every command documents the same table. */
|
|
30
|
+
export declare const EXIT_CODES_HELP = "Exit status:\n 0 ok 1 failed (verification mismatch, doctor FAIL)\n 2 usage 3 auth (no token, 401, token not allowed)\n 4 not found 5 conflict (409/412, edited in the studio since your last publish)\n 124 --wait timed out (the job keeps running; with --wait, a failed job is 1)";
|
|
31
|
+
/**
|
|
32
|
+
* The exit code an API error maps to.
|
|
33
|
+
*
|
|
34
|
+
* A 403 is auth only when it is about the CREDENTIAL (`rbac.forbidden` names
|
|
35
|
+
* the token's scope); a 403 because the user lacks a role is still "the token
|
|
36
|
+
* you gave cannot do this", which is the same fix — use another token — so both
|
|
37
|
+
* are 3. A 422 is the caller's input, so it is a usage error.
|
|
38
|
+
*/
|
|
39
|
+
export declare function exitCodeForError(e: unknown): ExitCode;
|
|
40
|
+
//# sourceMappingURL=exit-codes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exit-codes.d.ts","sourceRoot":"","sources":["../src/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,IAAI;IACf,qDAAqD;;IAErD,iGAAiG;;IAEjG,gGAAgG;;IAEhG,8FAA8F;;IAE9F,oEAAoE;;IAEpE,+FAA+F;;IAE/F,0GAA0G;;CAElG,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,OAAO,IAAI,CAAC,CAAC;AAExD,4EAA4E;AAC5E,eAAO,MAAM,eAAe,qTAImD,CAAC;AAEhF;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,QAAQ,CAarD"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EXIT_CODES_HELP = exports.EXIT = void 0;
|
|
4
|
+
exports.exitCodeForError = exitCodeForError;
|
|
5
|
+
/**
|
|
6
|
+
* The exit codes every `forumulate` command answers with (FMU-D05).
|
|
7
|
+
*
|
|
8
|
+
* A pipeline reads the exit code, not the prose. Everything used to be 0 or 1,
|
|
9
|
+
* so a CI step could not tell "the token is wrong" from "the page the manifest
|
|
10
|
+
* names is gone" from "somebody edited this in the studio" — three failures with
|
|
11
|
+
* three different fixes, one of which (auth) should page a person and two of
|
|
12
|
+
* which should not. These are documented in `forumulate help` and on every
|
|
13
|
+
* command's own `--help`; changing one is a breaking change for every script
|
|
14
|
+
* that branches on it.
|
|
15
|
+
*/
|
|
16
|
+
exports.EXIT = {
|
|
17
|
+
/** Done, and verified where the command verifies. */
|
|
18
|
+
OK: 0,
|
|
19
|
+
/** The work ran but the result is wrong: a read-back mismatch, a doctor FAIL, a failed check. */
|
|
20
|
+
FAILED: 1,
|
|
21
|
+
/** The command line itself is wrong: unknown command, missing argument, contradictory flags. */
|
|
22
|
+
USAGE: 2,
|
|
23
|
+
/** No token, or the API refused the one given (401, or a 403 about the token's own scope). */
|
|
24
|
+
AUTH: 3,
|
|
25
|
+
/** The org, space, page or operation named does not exist (404). */
|
|
26
|
+
NOT_FOUND: 4,
|
|
27
|
+
/** The write collided with something: a 409/412, or studio edits a publish would overwrite. */
|
|
28
|
+
CONFLICT: 5,
|
|
29
|
+
/** `--wait` gave up: the job was still running when `--timeout` passed (FMU-D03; `timeout(1)`'s code). */
|
|
30
|
+
TIMEOUT: 124,
|
|
31
|
+
};
|
|
32
|
+
/** The block `--help` prints, so every command documents the same table. */
|
|
33
|
+
exports.EXIT_CODES_HELP = `Exit status:
|
|
34
|
+
0 ok 1 failed (verification mismatch, doctor FAIL)
|
|
35
|
+
2 usage 3 auth (no token, 401, token not allowed)
|
|
36
|
+
4 not found 5 conflict (409/412, edited in the studio since your last publish)
|
|
37
|
+
124 --wait timed out (the job keeps running; with --wait, a failed job is 1)`;
|
|
38
|
+
/**
|
|
39
|
+
* The exit code an API error maps to.
|
|
40
|
+
*
|
|
41
|
+
* A 403 is auth only when it is about the CREDENTIAL (`rbac.forbidden` names
|
|
42
|
+
* the token's scope); a 403 because the user lacks a role is still "the token
|
|
43
|
+
* you gave cannot do this", which is the same fix — use another token — so both
|
|
44
|
+
* are 3. A 422 is the caller's input, so it is a usage error.
|
|
45
|
+
*/
|
|
46
|
+
function exitCodeForError(e) {
|
|
47
|
+
const err = e;
|
|
48
|
+
if (err && typeof err.exitCode === 'number')
|
|
49
|
+
return err.exitCode;
|
|
50
|
+
// A Cloudflare block page is the edge refusing the request before the API saw
|
|
51
|
+
// it — the token was never read, so "use another token" (3) would send a
|
|
52
|
+
// person to the wrong fix. It is a failed call (1); the message names the edge.
|
|
53
|
+
if (err?.code === 'edge.blocked')
|
|
54
|
+
return exports.EXIT.FAILED;
|
|
55
|
+
const status = err?.status;
|
|
56
|
+
if (status === 401 || status === 403)
|
|
57
|
+
return exports.EXIT.AUTH;
|
|
58
|
+
if (status === 404 || status === 410)
|
|
59
|
+
return exports.EXIT.NOT_FOUND;
|
|
60
|
+
if (status === 409 || status === 412)
|
|
61
|
+
return exports.EXIT.CONFLICT;
|
|
62
|
+
if (status === 400 || status === 422)
|
|
63
|
+
return exports.EXIT.USAGE;
|
|
64
|
+
return exports.EXIT.FAILED;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=exit-codes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exit-codes.js","sourceRoot":"","sources":["../src/exit-codes.ts"],"names":[],"mappings":";;;AA6CA,4CAaC;AA1DD;;;;;;;;;;GAUG;AACU,QAAA,IAAI,GAAG;IAClB,qDAAqD;IACrD,EAAE,EAAE,CAAC;IACL,iGAAiG;IACjG,MAAM,EAAE,CAAC;IACT,gGAAgG;IAChG,KAAK,EAAE,CAAC;IACR,8FAA8F;IAC9F,IAAI,EAAE,CAAC;IACP,oEAAoE;IACpE,SAAS,EAAE,CAAC;IACZ,+FAA+F;IAC/F,QAAQ,EAAE,CAAC;IACX,0GAA0G;IAC1G,OAAO,EAAE,GAAG;CACJ,CAAC;AAIX,4EAA4E;AAC/D,QAAA,eAAe,GAAG;;;;+EAIgD,CAAC;AAEhF;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAAC,CAAU;IACzC,MAAM,GAAG,GAAG,CAAiE,CAAC;IAC9E,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,QAAoB,CAAC;IAC7E,8EAA8E;IAC9E,yEAAyE;IACzE,gFAAgF;IAChF,IAAI,GAAG,EAAE,IAAI,KAAK,cAAc;QAAE,OAAO,YAAI,CAAC,MAAM,CAAC;IACrD,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,CAAC;IAC3B,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,YAAI,CAAC,IAAI,CAAC;IACvD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,YAAI,CAAC,SAAS,CAAC;IAC5D,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,YAAI,CAAC,QAAQ,CAAC;IAC3D,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,YAAI,CAAC,KAAK,CAAC;IACxD,OAAO,YAAI,CAAC,MAAM,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const PUBLISH_HELP = "forumulate publish \u2014 publish a folder of Markdown into a space\n\nUsage:\n forumulate publish <folder> --org <id|slug> --space <id|slug> [flags]\n\n (org: and space: may come from forumulate.yaml, FORUMULATE_ORG / FORUMULATE_SPACE\n or `forumulate config set` instead of the flags.)\n\n One folder per collection, front matter for titles, slugs, order and SEO, assets\n uploaded once by content hash. A re-run changes only what changed, then reads the\n space back and fails if anything did not land.\n\nFlags:\n --dry-run print the plan; write nothing (no token needed for a public space)\n --prune move pages/posts/collections with no file to the trash\n --only a,b just these slugs, files, folders, or manifest parts\n (site, theme, settings, openapi, monitors)\n --force re-send every page even if it looks unchanged, AND overwrite pages\n edited in the studio since the last publish\n --purge page|space|none\n what to drop from the cache when done (default page): page = every\n page this run changed; space = the whole space (a title in the\n navigation changed); none = leave the CDN alone. Reported per CDN.\n --no-verify skip the read-back --pace <ms> gap between writes (250)\n --manifest <file> a forumulate.yaml somewhere else\n --diff print the changed paragraphs and fields of each update\n --no-report do not record this run (publish.completed is not sent)\n --json one JSON summary: {space, created, updated, unchanged, trashed,\n purged, verify, diffUrl, runId, lines, errors}\n --out <file> write that output to a file\n --preview <name> publish nothing: send the pages this run would add or change (and\n with --prune, remove) to a preview named <name> (pr-123) and print\n its link \u2014 the space as the change would publish it, on its own\n addresses, for 7 days (previews.ttl_days). Same name again: same\n link, renewed. --json adds previews[{urls, summary, comment}].\n --preview-ttl <d> a shorter life for the preview link, in days\n --comment with --preview in CI: post the link and diff table on the pull\n request (GitHub, Gitea, GitLab, Bitbucket; GITHUB_TOKEN /\n GITEA_TOKEN / GITLAB_TOKEN / BITBUCKET_TOKEN), editing it on re-runs\n\nStudio edits: a page edited in the studio (or through the API) since this folder was\nlast published is not overwritten. The run stops before writing and prints\n CONFLICT <slug> edited in studio by <name> at <time>\nPull the change into the file, or re-run with --force to overwrite it.\n\nforumulate.yaml keys:\n org, space where to publish (one space), or\n spaces: [{path, space, create: {type, name, visibility}, rootCollection,\n theme, settings, tags, openapi: [{file|url, collection, ...}], monitors,\n redirects: [{from, to, status?, type?}] or a CSV file name,\n redirects are merged into the space's table, never replaced\n about: {...} | about.yaml (an ABOUT space's parts)}]\n site: {...} the site configuration (applied with PATCH semantics)\n theme: {...} the space theme\n Guide: https://forumulate.com/guides/content-as-code\n\nOlder forms (deprecated; they print a notice on stderr):\n publish <orgId> <spaceId> <folder> \u2192 publish <folder> --org \u2026 --space \u2026\n publish <orgId> <spaceId> <pageId> \u2192 forumulate items publish <pageId> --space \u2026\n\nExamples:\n forumulate publish docs --org acme --space docs --dry-run\n forumulate publish docs --org acme --space docs --purge space --json --out run.json\n forumulate publish docs --org acme --space docs --preview pr-123 --comment\n\nOutput (every command):\n --json the result as JSON on stdout; progress and warnings go to stderr\n --out <file> write stdout to a file instead (never truncated, exit 1 if the write fails)\n\nExit status:\n 0 ok 1 failed (verification mismatch, doctor FAIL)\n 2 usage 3 auth (no token, 401, token not allowed)\n 4 not found 5 conflict (409/412, edited in the studio since your last publish)\n 124 --wait timed out (the job keeps running; with --wait, a failed job is 1)";
|
|
2
|
+
export declare const SYNC_HELP = "forumulate sync \u2014 the same folder publish, plan by default\n\nUsage:\n forumulate sync <folder> [--apply] [--prune] [--diff] [--org \u2026] [--space \u2026]\n\n Without --apply it plans and writes nothing; with --apply it is `publish`.\n Takes every publish flag (--only, --force, --purge, --no-verify, --pace,\n --manifest, --json). See `forumulate publish --help` for them and the\n forumulate.yaml keys.\n\nOutput (every command):\n --json the result as JSON on stdout; progress and warnings go to stderr\n --out <file> write stdout to a file instead (never truncated, exit 1 if the write fails)\n\nExit status:\n 0 ok 1 failed (verification mismatch, doctor FAIL)\n 2 usage 3 auth (no token, 401, token not allowed)\n 4 not found 5 conflict (409/412, edited in the studio since your last publish)\n 124 --wait timed out (the job keeps running; with --wait, a failed job is 1)";
|
|
3
|
+
export declare const DEV_HELP = "forumulate dev \u2014 preview a folder of Markdown locally\n\nUsage:\n forumulate dev <folder> --org <id|slug> --space <id|slug> [--port 4321] [--site <url>]\n\n Renders with your space's own renderer and reloads on save. Nothing is written\n to the space.\n\nExit status:\n 0 ok 1 failed (verification mismatch, doctor FAIL)\n 2 usage 3 auth (no token, 401, token not allowed)\n 4 not found 5 conflict (409/412, edited in the studio since your last publish)\n 124 --wait timed out (the job keeps running; with --wait, a failed job is 1)";
|
|
4
|
+
export declare const LOGIN_HELP = "forumulate login \u2014 store a token for this API\n\nUsage:\n forumulate login [--token <pat>] (asks for it, hidden, when not given)\n\n The token is checked against the API first, then stored in\n ~/.config/forumulate/credentials.json (mode 0600), keyed by API base, so a\n staging token is never sent to production. On every later command a\n --token beats FORUMULATE_TOKEN, which beats the stored token.\n Mint a token at https://forumulate.com/account/tokens\n\nExit status:\n 0 ok 1 failed (verification mismatch, doctor FAIL)\n 2 usage 3 auth (no token, 401, token not allowed)\n 4 not found 5 conflict (409/412, edited in the studio since your last publish)\n 124 --wait timed out (the job keeps running; with --wait, a failed job is 1)";
|
|
5
|
+
export declare const LOGOUT_HELP = "forumulate logout \u2014 forget the stored token for this API\n\nUsage:\n forumulate logout\n\n Warns when FORUMULATE_TOKEN is still set, because it still wins.\n\nExit status:\n 0 ok 1 failed (verification mismatch, doctor FAIL)\n 2 usage 3 auth (no token, 401, token not allowed)\n 4 not found 5 conflict (409/412, edited in the studio since your last publish)\n 124 --wait timed out (the job keeps running; with --wait, a failed job is 1)";
|
|
6
|
+
export declare const SNAPSHOT_HELP = "forumulate snapshot \u2014 save a version snapshot of a space\n\nUsage:\n forumulate snapshot <orgId> <spaceId> <label\u2026> [--json]\n (also: forumulate snapshots --help)\n\nExit status:\n 0 ok 1 failed (verification mismatch, doctor FAIL)\n 2 usage 3 auth (no token, 401, token not allowed)\n 4 not found 5 conflict (409/412, edited in the studio since your last publish)\n 124 --wait timed out (the job keeps running; with --wait, a failed job is 1)";
|
|
7
|
+
export declare const CONFORMANCE_HELP = "forumulate conformance \u2014 run the Content Sync Protocol suite\n\nUsage:\n forumulate conformance <collectionUrl> [--json]\n\n Runs against any platform's collection endpoint, ours included. Exit 1 when a\n check fails.\n\nExit status:\n 0 ok 1 failed (verification mismatch, doctor FAIL)\n 2 usage 3 auth (no token, 401, token not allowed)\n 4 not found 5 conflict (409/412, edited in the studio since your last publish)\n 124 --wait timed out (the job keeps running; with --wait, a failed job is 1)";
|
|
8
|
+
export declare const CONTENT_HELP = "forumulate content \u2014 a content library's model as code\n\nUsage:\n forumulate content types --library <id|slug> [--org \u2026] [--out forumulate.d.ts]\n [--preview] [--schema <file>] [--check]\n forumulate content pull --library <id|slug> [--format json|payload] [--out <file>]\n forumulate content push [file] [--library \u2026] [--dry-run] [--yes] [--force]\n [--rename type.field=new | block:hero.field=new | library:field=new]\n [--rename-type old=new] [--rename-block old=new]\n\n Here --out names the file the command writes (not a stdout redirect).\n\nExit status:\n 0 ok 1 failed (verification mismatch, doctor FAIL)\n 2 usage 3 auth (no token, 401, token not allowed)\n 4 not found 5 conflict (409/412, edited in the studio since your last publish)\n 124 --wait timed out (the job keeps running; with --wait, a failed job is 1)";
|
|
9
|
+
export declare const IMPORT_HELP = "forumulate import \u2014 bring another CMS's content into a library\n\nUsage:\n forumulate import <payload|contentful|sanity|strapi|wordpress> <export path>\n --library <id|slug> [--org \u2026] [--dry-run] [--yes]\n [--config payload.config.ts] [--publish source|all|none]\n [--allow-model-removals] [--pace <ms>] [--base-url <url>]\n\n Always shows a dry run first; a re-run updates what a previous import made.\n\nOutput (every command):\n --json the result as JSON on stdout; progress and warnings go to stderr\n --out <file> write stdout to a file instead (never truncated, exit 1 if the write fails)\n\nExit status:\n 0 ok 1 failed (verification mismatch, doctor FAIL)\n 2 usage 3 auth (no token, 401, token not allowed)\n 4 not found 5 conflict (409/412, edited in the studio since your last publish)\n 124 --wait timed out (the job keeps running; with --wait, a failed job is 1)";
|
|
10
|
+
export declare const TRANSLATIONS_HELP = "forumulate translations (alias i18n) \u2014 every translation capability\n\nUsage:\n forumulate translations locales list|add|relabel|remove|set [--space \u2026|--library \u2026]\n forumulate translations status [--locale es,fr] [--fail-on missing,outdated]\n forumulate translations pull [--out translations] [--locale \u2026] [--only \u2026]\n forumulate translations push [dir] [--dry-run]\n forumulate translations auto --locale es [--state missing,outdated] [--publish]\n forumulate translations labels|overrides pull|push [file] [--format json|xliff]\n forumulate translations item-locale <itemId> <locale|none>\n forumulate translations remove <pieceId> <locale> --yes\n forumulate translations entry <entryId> <locale> [--fields f.json]\n forumulate translations name <locale> <name\u2026>\n forumulate translations switcher get|set <f.json>\n forumulate translations provider status|connect|disconnect\n\n Here --out names the folder or file the command writes.\n\nExit status:\n 0 ok 1 failed (verification mismatch, doctor FAIL)\n 2 usage 3 auth (no token, 401, token not allowed)\n 4 not found 5 conflict (409/412, edited in the studio since your last publish)\n 124 --wait timed out (the job keeps running; with --wait, a failed job is 1)";
|
|
11
|
+
/** The command → its own help. A command missing here prints the global help. */
|
|
12
|
+
export declare const COMMAND_HELP: Readonly<Record<string, string>>;
|
|
13
|
+
//# sourceMappingURL=help-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help-commands.d.ts","sourceRoot":"","sources":["../src/help-commands.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,YAAY,+3IAmEN,CAAC;AAEpB,eAAO,MAAM,SAAS,u6BAYH,CAAC;AAEpB,eAAO,MAAM,QAAQ,4jBAQF,CAAC;AAEpB,eAAO,MAAM,UAAU,mxBAWJ,CAAC;AAEpB,eAAO,MAAM,WAAW,2dAOL,CAAC;AAEpB,eAAO,MAAM,aAAa,ueAMP,CAAC;AAEpB,eAAO,MAAM,gBAAgB,0hBAQV,CAAC;AAEpB,eAAO,MAAM,YAAY,i5BAYN,CAAC;AAEpB,eAAO,MAAM,WAAW,o7BAYL,CAAC;AAEpB,eAAO,MAAM,iBAAiB,gxCAkBX,CAAC;AAEpB,iFAAiF;AACjF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBzD,CAAC"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.COMMAND_HELP = exports.TRANSLATIONS_HELP = exports.IMPORT_HELP = exports.CONTENT_HELP = exports.CONFORMANCE_HELP = exports.SNAPSHOT_HELP = exports.LOGOUT_HELP = exports.LOGIN_HELP = exports.DEV_HELP = exports.SYNC_HELP = exports.PUBLISH_HELP = void 0;
|
|
4
|
+
const validate_1 = require("./validate");
|
|
5
|
+
const command_1 = require("./doctor/command");
|
|
6
|
+
const exit_codes_1 = require("./exit-codes");
|
|
7
|
+
const whoami_1 = require("./whoami");
|
|
8
|
+
const cache_command_1 = require("./cache-command");
|
|
9
|
+
// `forumulate check links` — its help lives beside the command it documents.
|
|
10
|
+
const command_2 = require("./check/command");
|
|
11
|
+
/**
|
|
12
|
+
* Each top-level command's own `--help` (FMU-B14).
|
|
13
|
+
*
|
|
14
|
+
* `publish --help` and `doctor --help` printed the global help — a page about
|
|
15
|
+
* everything, saying almost nothing about the command asked for: not every
|
|
16
|
+
* flag, not the `forumulate.yaml` keys, not the exit codes, no example. The
|
|
17
|
+
* resource groups always printed their own; these are the commands that did
|
|
18
|
+
* not. `help-commands.test.ts` walks every top-level command and fails when one
|
|
19
|
+
* falls back to the global page again.
|
|
20
|
+
*/
|
|
21
|
+
const OUTPUT = `Output (every command):
|
|
22
|
+
--json the result as JSON on stdout; progress and warnings go to stderr
|
|
23
|
+
--out <file> write stdout to a file instead (never truncated, exit 1 if the write fails)`;
|
|
24
|
+
exports.PUBLISH_HELP = `forumulate publish — publish a folder of Markdown into a space
|
|
25
|
+
|
|
26
|
+
Usage:
|
|
27
|
+
forumulate publish <folder> --org <id|slug> --space <id|slug> [flags]
|
|
28
|
+
|
|
29
|
+
(org: and space: may come from forumulate.yaml, FORUMULATE_ORG / FORUMULATE_SPACE
|
|
30
|
+
or \`forumulate config set\` instead of the flags.)
|
|
31
|
+
|
|
32
|
+
One folder per collection, front matter for titles, slugs, order and SEO, assets
|
|
33
|
+
uploaded once by content hash. A re-run changes only what changed, then reads the
|
|
34
|
+
space back and fails if anything did not land.
|
|
35
|
+
|
|
36
|
+
Flags:
|
|
37
|
+
--dry-run print the plan; write nothing (no token needed for a public space)
|
|
38
|
+
--prune move pages/posts/collections with no file to the trash
|
|
39
|
+
--only a,b just these slugs, files, folders, or manifest parts
|
|
40
|
+
(site, theme, settings, openapi, monitors)
|
|
41
|
+
--force re-send every page even if it looks unchanged, AND overwrite pages
|
|
42
|
+
edited in the studio since the last publish
|
|
43
|
+
--purge page|space|none
|
|
44
|
+
what to drop from the cache when done (default page): page = every
|
|
45
|
+
page this run changed; space = the whole space (a title in the
|
|
46
|
+
navigation changed); none = leave the CDN alone. Reported per CDN.
|
|
47
|
+
--no-verify skip the read-back --pace <ms> gap between writes (250)
|
|
48
|
+
--manifest <file> a forumulate.yaml somewhere else
|
|
49
|
+
--diff print the changed paragraphs and fields of each update
|
|
50
|
+
--no-report do not record this run (publish.completed is not sent)
|
|
51
|
+
--json one JSON summary: {space, created, updated, unchanged, trashed,
|
|
52
|
+
purged, verify, diffUrl, runId, lines, errors}
|
|
53
|
+
--out <file> write that output to a file
|
|
54
|
+
--preview <name> publish nothing: send the pages this run would add or change (and
|
|
55
|
+
with --prune, remove) to a preview named <name> (pr-123) and print
|
|
56
|
+
its link — the space as the change would publish it, on its own
|
|
57
|
+
addresses, for 7 days (previews.ttl_days). Same name again: same
|
|
58
|
+
link, renewed. --json adds previews[{urls, summary, comment}].
|
|
59
|
+
--preview-ttl <d> a shorter life for the preview link, in days
|
|
60
|
+
--comment with --preview in CI: post the link and diff table on the pull
|
|
61
|
+
request (GitHub, Gitea, GitLab, Bitbucket; GITHUB_TOKEN /
|
|
62
|
+
GITEA_TOKEN / GITLAB_TOKEN / BITBUCKET_TOKEN), editing it on re-runs
|
|
63
|
+
|
|
64
|
+
Studio edits: a page edited in the studio (or through the API) since this folder was
|
|
65
|
+
last published is not overwritten. The run stops before writing and prints
|
|
66
|
+
CONFLICT <slug> edited in studio by <name> at <time>
|
|
67
|
+
Pull the change into the file, or re-run with --force to overwrite it.
|
|
68
|
+
|
|
69
|
+
forumulate.yaml keys:
|
|
70
|
+
org, space where to publish (one space), or
|
|
71
|
+
spaces: [{path, space, create: {type, name, visibility}, rootCollection,
|
|
72
|
+
theme, settings, tags, openapi: [{file|url, collection, ...}], monitors,
|
|
73
|
+
redirects: [{from, to, status?, type?}] or a CSV file name,
|
|
74
|
+
redirects are merged into the space's table, never replaced
|
|
75
|
+
about: {...} | about.yaml (an ABOUT space's parts)}]
|
|
76
|
+
site: {...} the site configuration (applied with PATCH semantics)
|
|
77
|
+
theme: {...} the space theme
|
|
78
|
+
Guide: https://forumulate.com/guides/content-as-code
|
|
79
|
+
|
|
80
|
+
Older forms (deprecated; they print a notice on stderr):
|
|
81
|
+
publish <orgId> <spaceId> <folder> → publish <folder> --org … --space …
|
|
82
|
+
publish <orgId> <spaceId> <pageId> → forumulate items publish <pageId> --space …
|
|
83
|
+
|
|
84
|
+
Examples:
|
|
85
|
+
forumulate publish docs --org acme --space docs --dry-run
|
|
86
|
+
forumulate publish docs --org acme --space docs --purge space --json --out run.json
|
|
87
|
+
forumulate publish docs --org acme --space docs --preview pr-123 --comment
|
|
88
|
+
|
|
89
|
+
${OUTPUT}
|
|
90
|
+
|
|
91
|
+
${exit_codes_1.EXIT_CODES_HELP}`;
|
|
92
|
+
exports.SYNC_HELP = `forumulate sync — the same folder publish, plan by default
|
|
93
|
+
|
|
94
|
+
Usage:
|
|
95
|
+
forumulate sync <folder> [--apply] [--prune] [--diff] [--org …] [--space …]
|
|
96
|
+
|
|
97
|
+
Without --apply it plans and writes nothing; with --apply it is \`publish\`.
|
|
98
|
+
Takes every publish flag (--only, --force, --purge, --no-verify, --pace,
|
|
99
|
+
--manifest, --json). See \`forumulate publish --help\` for them and the
|
|
100
|
+
forumulate.yaml keys.
|
|
101
|
+
|
|
102
|
+
${OUTPUT}
|
|
103
|
+
|
|
104
|
+
${exit_codes_1.EXIT_CODES_HELP}`;
|
|
105
|
+
exports.DEV_HELP = `forumulate dev — preview a folder of Markdown locally
|
|
106
|
+
|
|
107
|
+
Usage:
|
|
108
|
+
forumulate dev <folder> --org <id|slug> --space <id|slug> [--port 4321] [--site <url>]
|
|
109
|
+
|
|
110
|
+
Renders with your space's own renderer and reloads on save. Nothing is written
|
|
111
|
+
to the space.
|
|
112
|
+
|
|
113
|
+
${exit_codes_1.EXIT_CODES_HELP}`;
|
|
114
|
+
exports.LOGIN_HELP = `forumulate login — store a token for this API
|
|
115
|
+
|
|
116
|
+
Usage:
|
|
117
|
+
forumulate login [--token <pat>] (asks for it, hidden, when not given)
|
|
118
|
+
|
|
119
|
+
The token is checked against the API first, then stored in
|
|
120
|
+
~/.config/forumulate/credentials.json (mode 0600), keyed by API base, so a
|
|
121
|
+
staging token is never sent to production. On every later command a
|
|
122
|
+
--token beats FORUMULATE_TOKEN, which beats the stored token.
|
|
123
|
+
Mint a token at https://forumulate.com/account/tokens
|
|
124
|
+
|
|
125
|
+
${exit_codes_1.EXIT_CODES_HELP}`;
|
|
126
|
+
exports.LOGOUT_HELP = `forumulate logout — forget the stored token for this API
|
|
127
|
+
|
|
128
|
+
Usage:
|
|
129
|
+
forumulate logout
|
|
130
|
+
|
|
131
|
+
Warns when FORUMULATE_TOKEN is still set, because it still wins.
|
|
132
|
+
|
|
133
|
+
${exit_codes_1.EXIT_CODES_HELP}`;
|
|
134
|
+
exports.SNAPSHOT_HELP = `forumulate snapshot — save a version snapshot of a space
|
|
135
|
+
|
|
136
|
+
Usage:
|
|
137
|
+
forumulate snapshot <orgId> <spaceId> <label…> [--json]
|
|
138
|
+
(also: forumulate snapshots --help)
|
|
139
|
+
|
|
140
|
+
${exit_codes_1.EXIT_CODES_HELP}`;
|
|
141
|
+
exports.CONFORMANCE_HELP = `forumulate conformance — run the Content Sync Protocol suite
|
|
142
|
+
|
|
143
|
+
Usage:
|
|
144
|
+
forumulate conformance <collectionUrl> [--json]
|
|
145
|
+
|
|
146
|
+
Runs against any platform's collection endpoint, ours included. Exit 1 when a
|
|
147
|
+
check fails.
|
|
148
|
+
|
|
149
|
+
${exit_codes_1.EXIT_CODES_HELP}`;
|
|
150
|
+
exports.CONTENT_HELP = `forumulate content — a content library's model as code
|
|
151
|
+
|
|
152
|
+
Usage:
|
|
153
|
+
forumulate content types --library <id|slug> [--org …] [--out forumulate.d.ts]
|
|
154
|
+
[--preview] [--schema <file>] [--check]
|
|
155
|
+
forumulate content pull --library <id|slug> [--format json|payload] [--out <file>]
|
|
156
|
+
forumulate content push [file] [--library …] [--dry-run] [--yes] [--force]
|
|
157
|
+
[--rename type.field=new | block:hero.field=new | library:field=new]
|
|
158
|
+
[--rename-type old=new] [--rename-block old=new]
|
|
159
|
+
|
|
160
|
+
Here --out names the file the command writes (not a stdout redirect).
|
|
161
|
+
|
|
162
|
+
${exit_codes_1.EXIT_CODES_HELP}`;
|
|
163
|
+
exports.IMPORT_HELP = `forumulate import — bring another CMS's content into a library
|
|
164
|
+
|
|
165
|
+
Usage:
|
|
166
|
+
forumulate import <payload|contentful|sanity|strapi|wordpress> <export path>
|
|
167
|
+
--library <id|slug> [--org …] [--dry-run] [--yes]
|
|
168
|
+
[--config payload.config.ts] [--publish source|all|none]
|
|
169
|
+
[--allow-model-removals] [--pace <ms>] [--base-url <url>]
|
|
170
|
+
|
|
171
|
+
Always shows a dry run first; a re-run updates what a previous import made.
|
|
172
|
+
|
|
173
|
+
${OUTPUT}
|
|
174
|
+
|
|
175
|
+
${exit_codes_1.EXIT_CODES_HELP}`;
|
|
176
|
+
exports.TRANSLATIONS_HELP = `forumulate translations (alias i18n) — every translation capability
|
|
177
|
+
|
|
178
|
+
Usage:
|
|
179
|
+
forumulate translations locales list|add|relabel|remove|set [--space …|--library …]
|
|
180
|
+
forumulate translations status [--locale es,fr] [--fail-on missing,outdated]
|
|
181
|
+
forumulate translations pull [--out translations] [--locale …] [--only …]
|
|
182
|
+
forumulate translations push [dir] [--dry-run]
|
|
183
|
+
forumulate translations auto --locale es [--state missing,outdated] [--publish]
|
|
184
|
+
forumulate translations labels|overrides pull|push [file] [--format json|xliff]
|
|
185
|
+
forumulate translations item-locale <itemId> <locale|none>
|
|
186
|
+
forumulate translations remove <pieceId> <locale> --yes
|
|
187
|
+
forumulate translations entry <entryId> <locale> [--fields f.json]
|
|
188
|
+
forumulate translations name <locale> <name…>
|
|
189
|
+
forumulate translations switcher get|set <f.json>
|
|
190
|
+
forumulate translations provider status|connect|disconnect
|
|
191
|
+
|
|
192
|
+
Here --out names the folder or file the command writes.
|
|
193
|
+
|
|
194
|
+
${exit_codes_1.EXIT_CODES_HELP}`;
|
|
195
|
+
/** The command → its own help. A command missing here prints the global help. */
|
|
196
|
+
exports.COMMAND_HELP = {
|
|
197
|
+
publish: exports.PUBLISH_HELP,
|
|
198
|
+
sync: exports.SYNC_HELP,
|
|
199
|
+
dev: exports.DEV_HELP,
|
|
200
|
+
doctor: command_1.DOCTOR_HELP,
|
|
201
|
+
validate: validate_1.VALIDATE_HELP,
|
|
202
|
+
login: exports.LOGIN_HELP,
|
|
203
|
+
logout: exports.LOGOUT_HELP,
|
|
204
|
+
whoami: whoami_1.WHOAMI_HELP,
|
|
205
|
+
auth: whoami_1.WHOAMI_HELP,
|
|
206
|
+
cache: cache_command_1.CACHE_HELP,
|
|
207
|
+
snapshot: exports.SNAPSHOT_HELP,
|
|
208
|
+
conformance: exports.CONFORMANCE_HELP,
|
|
209
|
+
content: exports.CONTENT_HELP,
|
|
210
|
+
import: exports.IMPORT_HELP,
|
|
211
|
+
translations: exports.TRANSLATIONS_HELP,
|
|
212
|
+
i18n: exports.TRANSLATIONS_HELP,
|
|
213
|
+
check: command_2.CHECK_HELP,
|
|
214
|
+
};
|
|
215
|
+
//# sourceMappingURL=help-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help-commands.js","sourceRoot":"","sources":["../src/help-commands.ts"],"names":[],"mappings":";;;AAAA,yCAA2C;AAC3C,8CAA+C;AAC/C,6CAA+C;AAC/C,qCAAuC;AACvC,mDAA6C;AAC7C,6EAA6E;AAC7E,6CAAiE;AAEjE;;;;;;;;;GASG;AACH,MAAM,MAAM,GAAG;;8FAE+E,CAAC;AAElF,QAAA,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiE1B,MAAM;;EAEN,4BAAe,EAAE,CAAC;AAEP,QAAA,SAAS,GAAG;;;;;;;;;;EAUvB,MAAM;;EAEN,4BAAe,EAAE,CAAC;AAEP,QAAA,QAAQ,GAAG;;;;;;;;EAQtB,4BAAe,EAAE,CAAC;AAEP,QAAA,UAAU,GAAG;;;;;;;;;;;EAWxB,4BAAe,EAAE,CAAC;AAEP,QAAA,WAAW,GAAG;;;;;;;EAOzB,4BAAe,EAAE,CAAC;AAEP,QAAA,aAAa,GAAG;;;;;;EAM3B,4BAAe,EAAE,CAAC;AAEP,QAAA,gBAAgB,GAAG;;;;;;;;EAQ9B,4BAAe,EAAE,CAAC;AAEP,QAAA,YAAY,GAAG;;;;;;;;;;;;EAY1B,4BAAe,EAAE,CAAC;AAEP,QAAA,WAAW,GAAG;;;;;;;;;;EAUzB,MAAM;;EAEN,4BAAe,EAAE,CAAC;AAEP,QAAA,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;EAkB/B,4BAAe,EAAE,CAAC;AAEpB,iFAAiF;AACpE,QAAA,YAAY,GAAqC;IAC5D,OAAO,EAAE,oBAAY;IACrB,IAAI,EAAE,iBAAS;IACf,GAAG,EAAE,gBAAQ;IACb,MAAM,EAAE,qBAAW;IACnB,QAAQ,EAAE,wBAAa;IACvB,KAAK,EAAE,kBAAU;IACjB,MAAM,EAAE,mBAAW;IACnB,MAAM,EAAE,oBAAW;IACnB,IAAI,EAAE,oBAAW;IACjB,KAAK,EAAE,0BAAU;IACjB,QAAQ,EAAE,qBAAa;IACvB,WAAW,EAAE,wBAAgB;IAC7B,OAAO,EAAE,oBAAY;IACrB,MAAM,EAAE,mBAAW;IACnB,YAAY,EAAE,yBAAiB;IAC/B,IAAI,EAAE,yBAAiB;IACvB,KAAK,EAAE,oBAAgB;CACxB,CAAC"}
|
package/dist/help.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/** `forumulate help`. The resource groups print their own (`forumulate spaces --help`). */
|
|
2
|
-
export declare const HELP = "forumulate \u2014 Forumulate command-line interface\n\nUsage:\n forumulate <command> [args]\n\nCommands:\n login [--token <pat>] Store a token for this API, so every other\n command stops needing FORUMULATE_TOKEN in\n the environment\n logout Forget the stored token\n whoami Show the authenticated user\n config set|get|unset|list Defaults: org, space, library, api-version\n (`forumulate config set org acme`)\n\nEvery API operation:\n api list [--tag t] [--search w] Discover operations and their summaries\n api describe <operationId> Parameters and body schema, as flags\n api <operationId> [args] [flags] Call it: --<param> value, --data @f.json,\n api <METHOD> <path> [flags] --field a.b=v, --paginate, --json\n\nResources (each: <group> --help lists its verbs and the operation each calls):\n Org: orgs | members | invites | groups | roles | service-accounts (bots)\n tokens (pats) | webhooks | extensions | audit\n Spaces: spaces | snapshots | shape | domains | assets | space-types (types)\n Docs: items (pages) | docs | collections | versions | change-requests (crs)\n openapi | sdks | github (git)\n Content: blog | forum | changelog | roadmap | status | events | course\n careers | forms (blog/forum/changelog/status: translations \u2026)\n CMS: libraries | entries | media | releases | environments (envs)\n Site: theme | sites | reader\n search <query...> [--org] e.g. spaces create Docs --slug docs --type DOCS\n items create --space docs --file a.md --publish\n docs schedule set <pageId> <when> --space docs\n webhooks deliveries <id>; webhooks replay <id> <d>\n --out <file> where a file answer goes (SDK archive, PDF, CSV export)\n completion bash|zsh|fish Shell completion script\n\nOlder forms, unchanged:\n orgs List your organizations\n spaces <orgId> List spaces in an org\n items <orgId> <spaceId> List what is in a space, with where each\n piece's content lives\n search <orgId> <query...> Unified search across docs/forum/blog\n dev <folder> Preview a folder of Markdown locally, rendered\n by your space's own renderer; reloads on save.\n --org <id> --space <id> [--port 4321] [--site <your docs URL>]\n publish <folder> Publish a folder of Markdown: one folder per\n collection, front matter, assets, order,\n and a forumulate.yaml manifest for space,\n site, theme, OpenAPI and monitors. Re-runs\n change only what changed, then read back.\n --org <id|slug> --space <id|slug> (or org:/space: in the manifest)\n --dry-run print the plan, write nothing (no token needed for a\n public space)\n --prune remove pages/posts/collections with no file (to the trash)\n --only a,b just these slugs, files, folders, or manifest parts\n (site, theme, settings, openapi, monitors)\n --force re-send every page even if it looks unchanged\n --no-verify skip the read-back --pace <ms> gap between writes\n --manifest <file> a manifest somewhere else\n --diff print the changed paragraphs and fields of each update\n sync <folder> Content as code: the same folder publish,\n PLAN BY DEFAULT. Posts (blog), pages\n (docs, custom, legal), FAQ questions,\n changelog releases and blog categories,\n matched by slug; images uploaded once by\n content hash; README, LICENSE, _drafts/,\n dotfiles skipped. Guide:\n https://forumulate.com/guides/content-as-code\n --apply write the plan (then read it back)\n --prune also remove what has no file (to the trash)\n --diff print the changed paragraphs and fields of each update\n --org, --space, --only, --force, --no-verify, --pace, --manifest, --json\n as for publish\n publish <orgId> <spaceId> <pageId> Publish a page\n publish <orgId> <spaceId> <dir> The folder form, with org and space given\n domains <orgId> <spaceId> List this space's domains and their state\n domains verify <orgId> <spaceId> <hostname>\n Re-run verification and say what is missing\n snapshot <orgId> <spaceId> <label> Create a space version snapshot\n content types --library <id|slug> TypeScript for a content library's model:\n collections, globals, the block union\n [--org <id|slug>] [--out forumulate.d.ts] [--preview] [--schema <file>]\n [--check] fail (exit 1) when the file is out of date, write nothing\n content pull --library <id|slug> Write the model to forumulate.content.json\n [--format json|payload] [--out <file>] (payload: forumulate.payload.ts)\n content push [file] Show the diff against the library, then\n apply it as a new model version\n [--library \u2026] [--dry-run] [--yes] [--force]\n [--rename type.field=new | block:hero.field=new | library:field=new]\n [--rename-type old=new] [--rename-block old=new]\n import <payload|contentful|sanity|strapi|wordpress> <export path>\n Bring another CMS's content into a library:\n model, media, entries, references (always\n shows a dry run first)\n Re-running updates entries a\n previous import made. strapi takes a\n folder or an unencrypted export .tar.gz\n --library <id|slug> [--org \u2026] [--dry-run] [--yes]\n [--config payload.config.ts] (payload) the config that becomes the model\n [--publish source|all|none] what to publish (default: what was live)\n [--allow-model-removals] [--pace <ms>] [--base-url <url>] (strapi uploads)\n translations (alias i18n) Every translation capability, one vocabulary\n locales list|add|relabel|remove|set a space's (--space) or library's\n (--library) languages; set es=Espa\u00F1ol fr [--prune] is exact\n status each piece \u00D7 language: missing/draft/published/outdated\n [--locale es,fr] [--fail-on missing,outdated] (exit 1)\n pull one Markdown file per piece per language \u2192 [--out translations]\n [--locale \u2026] [--only slug,\u2026] [--include-missing] (stubs)\n push [dir] diff the files against the API, write what changed [--dry-run]\n auto machine-translate with YOUR DeepL/AI key --locale es\n [--state missing,outdated] [--only \u2026] [--force] [--publish]\n [--library \u2026 --entry id,\u2026] [--dry-run]\n labels pull|push [file] chrome words (--site <id> | --space \u2026)\n overrides pull|push [file] org UI string overrides [--prune]\n [--format json|xliff] for labels and overrides\n item-locale <itemId> <locale|none> correct a piece's declared language\n remove <pieceId> <locale> one translation (--yes)\n entry <entryId> <locale> a library entry's twin [--fields f.json]\n name <locale> <name\u2026> a space's (or --collection's) name\n switcher get|set <f.json> the org's reader language switcher\n provider status|connect|disconnect your DeepL key (DEEPL_API_KEY)\n conformance <collectionUrl> Run the Content Sync Protocol suite against\n any platform's collection endpoint\n doctor <readerUrl> Check a live site from the outside: health,\n public read, canonical, cache headers,\n crawler access, feeds, HTML rewriting\n help Show this help\n\nEnvironment:\n FORUMULATE_TOKEN Personal Access Token (Bearer). Overrides a stored one, so\n CI keeps working exactly as it did. Mint one at\n https://forumulate.com/account/tokens\n FORUMULATE_URL The site (default https://forumulate.com); the API is its\n /api, i.e. https://forumulate.com/api. A value already\n ending in /api is used as-is.\n FORUMULATE_API_URL Exact API base, for a local API with no /api prefix\n (http://localhost:4000). Wins over FORUMULATE_URL.\n FORUMULATE_ORG, FORUMULATE_SPACE, FORUMULATE_LIBRARY\n Defaults for --org, --space and --library; they beat\n `forumulate config set`, a flag beats both.\n FORUMULATE_API_VERSION\n Forumulate-Version for api/resource commands\n (default 2026-12-01).\n\nThe SDK (ForumulateClient.fromEnv) and the MCP server (@forumulate/mcp) read\nthe same variables. Guide: https://forumulate.com/guides/api-tokens-and-scopes\n\nFlags:\n --json Emit raw JSON instead of a formatted summary\n --dry-run (api, resources) print the request instead of sending it\n --dry-run Plan the work and write nothing (publish of a directory)\n --version Print the CLI version\n";
|
|
2
|
+
export declare const HELP = "forumulate \u2014 Forumulate command-line interface\n\nUsage:\n forumulate <command> [args]\n\nCommands:\n login [--token <pat>] Store a token for this API, so every other\n command stops needing FORUMULATE_TOKEN in\n the environment\n logout Forget the stored token\n whoami [--json] Who you are, and WHICH token: its source (--token,\n FORUMULATE_TOKEN or credentials.json), id, name,\n last 4, expiry, narrowing and the API base\n auth status [--json] The same report, for scripts\n config set|get|unset|list Defaults: org, space, library, api-version\n (`forumulate config set org acme`)\n\nEvery API operation:\n api list [--tag t] [--search w] Discover operations and their summaries\n [--refresh] ...from the live API's spec, not the bundled one\n api describe <operationId> Parameters and body schema, as flags\n api <operationId> [args] [flags] Call it: --<param> value, --data @f.json,\n api <METHOD> <path> [flags] --field a.b=v, --paginate, --json\n\nResources (each: <group> --help lists its verbs and the operation each calls):\n Org: orgs | members | invites | groups | roles | service-accounts (bots)\n tokens (pats) | keys | integration-tokens (int-tokens)\n webhooks | extensions | audit\n Spaces: spaces | snapshots | shape | domains | assets | space-types (types)\n Docs: items (pages) | docs | collections | versions | change-requests (crs)\n openapi | sdks | github (git)\n Content: blog | forum | changelog | roadmap | status | events | course\n careers | forms (blog/forum/changelog/status: translations \u2026)\n CMS: libraries | entries | media | releases | environments (envs)\n Site: theme | sites | reader\n Jobs: jobs | backups | imports | manifest (starters take --wait [--timeout s])\n search <query...> [--org] e.g. spaces create Docs --slug docs --type DOCS\n items create --space docs --file a.md --publish\n docs schedule set <pageId> <when> --space docs\n webhooks deliveries <id>; webhooks replay <id> <d>\n --out <file> where a file answer goes (SDK archive, PDF, CSV export)\n cache purge --space <s> [--page p] Drop cached copies (web tier + every CDN); deletes\n nothing\n completion bash|zsh|fish Shell completion script\n\nOlder forms, unchanged:\n orgs List your organizations\n spaces <orgId> List spaces in an org\n items <orgId> <spaceId> List what is in a space, with where each\n piece's content lives\n search <orgId> <query...> Unified search across docs/forum/blog\n dev <folder> Preview a folder of Markdown locally, rendered\n by your space's own renderer; reloads on save.\n --org <id> --space <id> [--port 4321] [--site <your docs URL>]\n publish <folder> --org <o> --space <s>\n Publish a folder of Markdown: one folder per\n collection, front matter, assets, order,\n and a forumulate.yaml manifest for space,\n site, theme, OpenAPI and monitors. Re-runs\n change only what changed, then read back.\n --org <id|slug> --space <id|slug> (or org:/space: in the manifest)\n --dry-run print the plan, write nothing (no token needed for a\n public space)\n --prune remove pages/posts/collections with no file (to the trash)\n --only a,b just these slugs, files, folders, or manifest parts\n (site, theme, settings, openapi, monitors)\n --force re-send every page even if it looks unchanged\n --no-verify skip the read-back --pace <ms> gap between writes\n --manifest <file> a manifest somewhere else\n --diff print the changed paragraphs and fields of each update\n --purge page|space|none what to drop from the cache (default page),\n reported per CDN\n --json one summary: created, updated, unchanged, trashed, purged,\n verify, diffUrl (the run is recorded; publish.completed fires)\n Pages edited in the studio since the last publish are not overwritten\n without --force. Full reference: forumulate publish --help\n sync <folder> Content as code: the same folder publish,\n PLAN BY DEFAULT. Posts (blog), pages\n (docs, custom, legal), FAQ questions,\n changelog releases and blog categories,\n matched by slug; images uploaded once by\n content hash; README, LICENSE, _drafts/,\n dotfiles skipped. Guide:\n https://forumulate.com/guides/content-as-code\n --apply write the plan (then read it back)\n --prune also remove what has no file (to the trash)\n --diff print the changed paragraphs and fields of each update\n --org, --space, --only, --force, --no-verify, --pace, --manifest, --json\n as for publish\n check links [folder] Broken internal links, #anchors, pictures and\n (--external) outside links in a folder, before\n publishing; exit 1 when any is broken\n --space <s> [--org <o>] the same report for a published space\n --allow-redirect <hosts> --ignore <text> --json\n publish <folder> --preview <name> Send the change to a preview link instead of\n publishing it (--comment posts it on the PR)\n publish <orgId> <spaceId> <pageId> (deprecated) Publish a page \u2014 use items publish\n publish <orgId> <spaceId> <dir> (deprecated) \u2014 use publish <dir> --org --space\n domains <orgId> <spaceId> List this space's domains and their state\n domains verify <orgId> <spaceId> <hostname>\n Re-run verification and say what is missing\n snapshot <orgId> <spaceId> <label> Create a space version snapshot\n content types --library <id|slug> TypeScript for a content library's model:\n collections, globals, the block union\n [--org <id|slug>] [--out forumulate.d.ts] [--preview] [--schema <file>]\n [--check] fail (exit 1) when the file is out of date, write nothing\n content pull --library <id|slug> Write the model to forumulate.content.json\n [--format json|payload] [--out <file>] (payload: forumulate.payload.ts)\n content push [file] Show the diff against the library, then\n apply it as a new model version\n [--library \u2026] [--dry-run] [--yes] [--force]\n [--rename type.field=new | block:hero.field=new | library:field=new]\n [--rename-type old=new] [--rename-block old=new]\n import <payload|contentful|sanity|strapi|wordpress> <export path>\n Bring another CMS's content into a library:\n model, media, entries, references (always\n shows a dry run first)\n Re-running updates entries a\n previous import made. strapi takes a\n folder or an unencrypted export .tar.gz\n --library <id|slug> [--org \u2026] [--dry-run] [--yes]\n [--config payload.config.ts] (payload) the config that becomes the model\n [--publish source|all|none] what to publish (default: what was live)\n [--allow-model-removals] [--pace <ms>] [--base-url <url>] (strapi uploads)\n translations (alias i18n) Every translation capability, one vocabulary\n locales list|add|relabel|remove|set a space's (--space) or library's\n (--library) languages; set es=Espa\u00F1ol fr [--prune] is exact\n status each piece \u00D7 language: missing/draft/published/outdated\n [--locale es,fr] [--fail-on missing,outdated] (exit 1)\n pull one Markdown file per piece per language \u2192 [--out translations]\n [--locale \u2026] [--only slug,\u2026] [--include-missing] (stubs)\n push [dir] diff the files against the API, write what changed [--dry-run]\n auto machine-translate with YOUR DeepL/AI key --locale es\n [--state missing,outdated] [--only \u2026] [--force] [--publish]\n [--library \u2026 --entry id,\u2026] [--dry-run]\n labels pull|push [file] chrome words (--site <id> | --space \u2026)\n overrides pull|push [file] org UI string overrides [--prune]\n [--format json|xliff] for labels and overrides\n item-locale <itemId> <locale|none> correct a piece's declared language\n remove <pieceId> <locale> one translation (--yes)\n entry <entryId> <locale> a library entry's twin [--fields f.json]\n name <locale> <name\u2026> a space's (or --collection's) name\n switcher get|set <f.json> the org's reader language switcher\n provider status|connect|disconnect your DeepL key (DEEPL_API_KEY)\n conformance <collectionUrl> Run the Content Sync Protocol suite against\n any platform's collection endpoint\n validate [dir] Check forumulate.yaml, front matter and $schema\n files against the published schemas, with\n did-you-mean hints. --json; exit 2 if invalid\n doctor <readerUrl> | --site <s> Check a live site from the outside: health,\n canonical on both addresses, sitemap, cache\n consistency, root redirect, descriptions,\n llms.txt, favicon, consent tag, white-label\n leaks. --json; exit 1 on any FAIL\n help [command] Show this help, or a command's own\n (every command also takes --help)\n\nEnvironment:\n FORUMULATE_TOKEN Personal Access Token (Bearer). Overrides a stored one, so\n CI keeps working exactly as it did; --token overrides it.\n Mint one at\n https://forumulate.com/account/tokens\n FORUMULATE_URL The site (default https://forumulate.com); the API is its\n /api, i.e. https://forumulate.com/api. A value already\n ending in /api is used as-is.\n FORUMULATE_API_URL Exact API base, for a local API with no /api prefix\n (http://localhost:4000). Wins over FORUMULATE_URL.\n FORUMULATE_ORG, FORUMULATE_SPACE, FORUMULATE_LIBRARY\n Defaults for --org, --space and --library; they beat\n `forumulate config set`, a flag beats both.\n FORUMULATE_API_VERSION\n Forumulate-Version for api/resource commands\n (default 2026-12-01).\n\nThe SDK (ForumulateClient.fromEnv) and the MCP server (@forumulate/mcp) read\nthe same variables. Guide: https://forumulate.com/guides/api-tokens-and-scopes\n\nEvery FORUMULATE_* variable not listed above is reported (with the one you\nprobably meant) by `forumulate whoami` and on any authentication failure.\n\nFlags:\n --json Emit raw JSON instead of a formatted summary (stdout only;\n progress and warnings go to stderr)\n --out <file> Write stdout to a file (never truncated; non-zero exit if the\n write fails). content/translations use --out for their own file\n --jsonl With --paginate: one JSON row per line, streamed\n --token <pat> The token for this run, on every command. Precedence:\n --token, then FORUMULATE_TOKEN, then credentials.json. On an\n operation with a `token` parameter of its own (registries\n set, github connect, domains acme-challenge) the flag is that\n parameter; set FORUMULATE_TOKEN for the PAT there\n --dry-run (api, resources) print the request instead of sending it\n --dry-run Plan the work and write nothing (publish of a directory)\n --version Print the CLI version\n\nExit status:\n 0 ok 1 failed (verification mismatch, doctor FAIL) 2 usage\n 3 auth (no token, 401, token not allowed) 4 not found\n 5 conflict (409/412, edited in the studio since your last publish)\n";
|
|
3
3
|
//# sourceMappingURL=help.d.ts.map
|