Interface: CliContribution
Makaio Framework / kernel/cli / CliContribution
Interface: CliContribution
Section titled “Interface: CliContribution”Defined in: ../../../packages/kernel/src/cli/types.ts:168
A plugin’s CLI contribution, declared in its MakaioExtension manifest.
Extends CliManifest (pure-data) with executable code: an optional interactive TUI handler and typed subcommand definitions. The CLI router uses CliManifest for discovery and help generation; this type is used when the package is loaded and ready to handle commands.
The CLI router dispatches as follows:
makaio account-manager→ interactive (if defined)makaio account-manager --help→ auto-generated from subcommands + schema metadatamakaio account-manager list→ matched subcommand handler
Extends
Section titled “Extends”Properties
Section titled “Properties”description
Section titled “description”
readonlydescription:string
Defined in: ../../../packages/contracts/src/extension/manifest.ts:240
One-line description shown in help text.
Inherited from
Section titled “Inherited from”hasInteractive?
Section titled “hasInteractive?”
readonlyoptionalhasInteractive?:boolean
Defined in: ../../../packages/contracts/src/extension/manifest.ts:255
Whether this extension provides an interactive TUI handler.
When true, invoking the bare command (without a subcommand) launches
the interactive handler. When false or omitted, bare invocation shows
help. This is a serializable declaration in descriptor.json; the
executable handler itself lives in ExtensionCliContribution.interactive.
Named hasInteractive (not interactive) to avoid a type conflict with
the ExtensionCliContribution property of the same short name, which carries
the function implementation rather than a boolean flag.
Inherited from
Section titled “Inherited from”interactive?
Section titled “interactive?”
readonlyoptionalinteractive?: (ctx) =>Promise<void>
Defined in: ../../../packages/kernel/src/cli/types.ts:176
Interactive TUI launched when the command is invoked without a subcommand.
When defined, bare makaio <name> enters this handler instead of printing
help. Typically renders an Ink TUI that reuses the same bus RPC calls as
the non-interactive subcommands.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”Promise<void>
readonlyname:string
Defined in: ../../../packages/contracts/src/extension/manifest.ts:238
Top-level command name (e.g. 'account-manager').
Inherited from
Section titled “Inherited from”subcommands
Section titled “subcommands”
readonlysubcommands: readonlyCliSubcommandEntry[]
Defined in: ../../../packages/kernel/src/cli/types.ts:178
Typed subcommand definitions with Zod schemas and strongly-typed handlers.