Skip to content

CLISchema ​

Runtime descriptor for the CLI program.

Stores the program name, version, description, and registered command schemas.
Sealed by createCLISchema and rebuilt by each CLIBuilder step.

Signatures ​

ts
interface CLISchema {}

Members ​

Properties ​

[schemaBrand] ​

Type-only seal produced by createCLISchema.

ts
[schemaBrand]: "cli";

builtins ​

Which built-in flags the root still owns.

Every built-in starts 'on'. Set via the .builtins() builder method or the builtins field of CLIDefinition; a built-in set to 'off' releases its tokens to the commands.

ts
builtins: Builtins;

commands ​

Schemas of the registered commands, in registration order.

ts
commands: readonly CommandSchema[];

completionsFlag ​

Eager --completions <shell> flag configuration.

Set when .completions({ as: 'flag' }) is used instead of the default completions subcommand. When defined, the planner intercepts --completions <shell> before dispatch, prints the script, and exits; root help advertises the flag in its Flags: section.

ts
completionsFlag: CompletionsFlagConfig | undefined;

configSettings ​

Config discovery settings.

When defined, .run() auto-discovers and loads a config file before command dispatch.

Set via the .config() builder method.

ts
configSettings: ConfigSettings | undefined;

defaultCommand ​

Schema of the default command dispatched when no subcommand matches.

When set, the CLI root behaves like a hybrid command group: subcommands dispatch by name as usual, but empty argv or flags-only argv falls through to this command instead of showing root help.

Set via the .default() builder method or the defaultCommand field of CLIDefinition.

ts
defaultCommand: CommandSchema | undefined;

defaultCommandRouted ​

Whether the default command is also exposed as a named top-level route.

Set by .default(cmd, { route: true }). When true, mycli <name> dispatches to the default command (in addition to the bare/flags-only root surface behavior) and the command is listed in the root Commands: section. When false (the default), the default is the root surface only.

ts
defaultCommandRouted: boolean;

description ​

Program description (shown in root help).

ts
description: string | undefined;

flagSettings ​

Flag-parsing behavior settings (ParseOptions).

Set via the cli(name, { flags }) / cli({ flags }) factory forms.

ts
flagSettings: ParseOptions | undefined;

hasBuiltInCompletions ​

Whether built-in .completions() registration (command or flag) is active.

ts
hasBuiltInCompletions: boolean;

helpConfig ​

Consumer-configured root-help defaults.

Set via the .help() builder method and merged under runtime options.help (runtime wins) before rendering.

ts
helpConfig: HelpConfig | undefined;

OSC 8 hyperlink targets for the root-help header (name/version).

Set via the .links() builder method. Fields left undefined are derived from manifest metadata (repository / homepage) when manifest discovery (.manifest()) is active.

ts
helpLinks: HelpLinks | undefined;

inheritName ​

Whether .run() should replace name with the invoked program name.

Set via the cli({ inherit: true }) factory form.

ts
inheritName: boolean;

name ​

Program name (used in help text, usage lines, and completion scripts).

ts
name: string;

packageJsonSettings ​

Manifest auto-discovery settings. When defined, .run() discovers the nearest manifest (package.json, deno.json, jsr.json, …) and merges metadata before dispatch.

Set via the .manifest() builder method.

ts
packageJsonSettings: ResolvedManifestSettings | undefined;

version ​

Program version (shown by --version).

ts
version: string | undefined;

See Also ​

Released under the MIT License.