Skip to content

CLISchema

Runtime descriptor for the CLI program.

Stores the program name, version, description, and registered commands.
Built incrementally by CLIBuilder.

Signatures

ts
interface CLISchema {}

Members

Properties

commands

Registered commands (type-erased for heterogeneous storage).

ts
commands: readonly ErasedCommand[];

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

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.

ts
defaultCommand: ErasedCommand | undefined;

description

Program description (shown in root help).

ts
description: string | undefined;

hasBuiltInCompletions

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

ts
hasBuiltInCompletions: boolean;

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

Package.json auto-discovery settings. When defined, .run() discovers the nearest package.json and merges metadata before dispatch.

Set via the .packageJson() builder method.

ts
packageJsonSettings: PackageJsonSettings | undefined;

plugins

Registered CLI plugins.

ts
plugins: readonly CLIPlugin[];

version

Program version (shown by --version).

ts
version: string | undefined;

See Also

Released under the MIT License.