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.