These terms belong to different layers and should not be used interchangeably. Start with Core concepts when learning how to define commands; use this page when you need a precise definition.
Ordinary CLI input terms
| Term | Meaning | Location or API |
|---|---|---|
Invocation | One complete run from starting the executable until it exits, such as ship project --help. | Complete argv |
Executable | The program name users type, such as ship; package.json#bin normally maps it to a built artifact. | package.json#bin |
Token | One ordered piece of command-line input before parsing, such as project, --role, or owner. | process.argv |
Option | General CLI term for --name, -n, and their values; Func distinguishes field options from Handler flags. | @Flag / @Value / @Handler({ flag }) |
Positional input | Data identified by position rather than an option name, such as alice. | @Args().inputs |
Concepts that define a Func CLI
| Term | Meaning | API |
|---|---|---|
Named command | A Command class whose one-or-more path tokens match a canonical path or alias. | @Command() |
Major command | A special Command with default, path, or flag entries when no named Command matches. | @CommandMajor() |
Missing command | Optional fallback Command for positional input that matches no named path. | @CommandMissing() |
Handler | Method that performs an action in a Command class; one invocation selects one Handler. | @Handler() |
Default Handler | Method used when no path or action option is selected at the current command node. | @Handler() |
Handler path | One or more fixed tokens appended to a Command path. | @Handler(path) |
Handler flag | An option such as --version that selects another mutually exclusive Handler. | @Handler({ flag, alias }) |
Module action | A reusable, mutually exclusive action option available within a Module scope. | @OptionCommand() |
Field option | A flag, scalar, or repeated value parsed onto a Command or option Provider. | @Flag / @Value / @ArrayString / @ArrayNumber |
Input | Positional tokens left after matching the Command and Handler paths. | Args.inputs |
Runtime and application-structure terms
| Term | Meaning | API |
|---|---|---|
Command graph | Immutable routing structure compiled from Command paths, Handler paths, and aliases. | Internal runtime structure |
Runtime context | Command metadata, IO, cwd, signal, and exit code for the current invocation. | Context |
Module | Application boundary that organizes Commands, options, Providers, and imported Modules. | @Module() |
Provider | Module-registered class, value, or factory that usually supplies a reusable capability through DI. | @Injectable / Module.providers |
Option Provider | Injectable class with CLI fields, registered by a Module for the root or directly owned Commands. | @Option / Module.options |
See Modules for dependency visibility and project boundaries, Runtime execution model for how these definitions select classes, methods, and dependencies, and API reference for the complete decorator parameters.