export type ParsedArgs = { readonly positionals: readonly string[]; readonly flags: Readonly>; }; export declare const parseArgs: (argv: readonly string[]) => ParsedArgs; /** * Whether an optional part of the starter was settled by a flag. * * Both spellings are accepted because both get typed: `--no-studio` is what a person * writes, and `--studio=false` is what a script does. */ export declare const answered: (args: ParsedArgs, name: string) => boolean | undefined; export declare const USAGE: string[]; /** * `--help`, with the templates this install actually carries listed by name. * * SPEC.md §78 fixes the five questions a project is scaffolded with, and which starter * to copy is deliberately not one of them: it would ask everybody about something most * people want the default of. So this is where a person finds the others — read from * disk rather than written out here, because a list in this file is a list that is * wrong the day somebody adds a starter. */ export declare const help: () => Promise; export type CliSession = { readonly cwd: string; readonly input: NodeJS.ReadableStream; readonly output: NodeJS.WritableStream; readonly error: NodeJS.WritableStream; /** Whether there is somebody at the other end of stdin. */ readonly interactive: boolean; }; /** * What the developer does next — and there are two answers, because there are two * worlds. * * Once there is a release it is four commands, and `pnpm dev` rather than * `assemora dev`: the executable arrives with the install on the line above it, and * telling somebody to run a binary that is not there yet is how a first run fails * before it starts. * * `pnpm build` is the third of them because it writes `app/dist`, which is the bundle * `/preview` serves and the builder canvas frames (SPEC.md §59). Skipped, the first * thing a new project shows is a page builder with nothing in its canvas — and the * server says so in a warning nobody reading the printed steps was told to expect. A * page builder that cannot draw a page is the worst available first impression, and it * costs one line to not make it. * * Until then there is no install to run at all. Printing `pnpm install` and then a * paragraph saying that `pnpm install` has nothing to fetch is one instruction and one * retraction of it, in that order, and whoever reads the first and stops runs a command * that cannot resolve a single dependency. So the block itself changes rather than * gaining a footnote, and what it names is the one route that works. */ export declare const nextSteps: (cwd: string, directory: string, released: boolean) => readonly string[]; export declare const run: (argv: readonly string[], session: CliSession) => Promise; //# sourceMappingURL=cli.d.ts.map