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[];

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

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;

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 (or the .packageJson() / .denoJson() presets).

ts
packageJsonSettings: ResolvedManifestSettings | 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.