@termun/core - v0.0.0
    Preparing search index...

    Class Cli

    Index

    Constructors

    • Creates a new Cli instance with empty menus and actions registries. Use addMenu(), addAction(), and run() to build and execute the CLI.

      Returns Cli

    Methods

    • Writes text to stdout with optional chalk color styling.

      Parameters

      • text: string

        Text to write.

      • Optionalcolor: ColorName

        Optional chalk color name.

      Returns void

    • Builds a global choice entry for a Menu or Action.

      Parameters

      • value: string

        Choice value/name.

      • label: string

        Display label.

      • item: Action | Menu

        Menu or Action instance.

      Returns Choice

    • Returns true if menuName equals ancestorName or has it in its parents chain.

      Parameters

      • menuName: string | undefined
      • ancestorName: string

      Returns boolean

    • Returns true when a global item can be shown in currentMenuName.

      Parameters

      • globalItem: Action | Menu
      • OptionalcurrentMenuName: string

      Returns boolean

    • Collects all global menus and actions to be added as choices in every menu.

      Parameters

      • OptionalcurrentMenuName: string

      Returns (Action | Menu)[]

    • Creates a "back" action for the given menu, or returns undefined if none should be shown.

      Parameters

      Returns ActionGoto | undefined

    • Resolves the parent menu name, prioritizing runtime parameter over Menu parent list.

      Parameters

      • menu: Menu | undefined

        The current menu context.

      • OptionalruntimeParent: string

        Runtime-provided parent name override.

      Returns string | undefined

    • Executes an input menu interaction and handles its callback.

      Parameters

      • item: MenuInput

        MenuInput to run.

      • OptionalparentName: string

        Optional parent menu name for navigation context.

      Returns Promise<void>

    • Executes an editor menu interaction (opens $EDITOR with pre-populated content).

      Parameters

      • item: MenuEditor

        MenuEditor to run.

      • OptionalparentName: string

        Optional parent menu name for navigation context.

      Returns Promise<void>

    • Executes a choice menu interaction and handles selected items or callbacks.

      Parameters

      • item: MenuChoice

        MenuChoice to run.

      • OptionalparentName: string

        Optional parent menu name for navigation context.

      Returns Promise<void>

    • Executes a field menu interaction (choice + optional input sequence).

      Parameters

      • item: MenuField

        MenuField to run.

      • OptionalparentName: string

        Optional parent menu name for navigation context.

      Returns Promise<void>

    • Executes a goto action: records the target and returns control to the caller.

      Parameters

      • item: ActionGoto

        ActionGoto to execute.

      • OptionalparentName: string

        Optional parent menu name for navigation context.

      Returns Promise<void>

    • Registers a plugin and merges its translations, menus and actions.

      Parameters

      Returns this

      Current Cli instance for chaining.

    • Returns all registered menus.

      Returns Menu[]

    • Returns a menu by name.

      Parameters

      • name: string

        Menu name.

      Returns Menu | undefined

    • Adds a menu from JSON config.

      Parameters

      Returns this

      Current Cli instance for chaining.

    • Adds an existing Menu instance.

      Parameters

      • menu: Menu

        Menu instance.

      • Optionalplugin: string

        Optional plugin namespace override.

      Returns this

      Current Cli instance for chaining.

    • Returns all registered actions.

      Returns Action[]

    • Returns an action by name.

      Parameters

      • name: string

        Action name.

      Returns Action | undefined

    • Adds an action from JSON config.

      Parameters

      Returns this

      Current Cli instance for chaining.

    • Adds an existing Action instance.

      Parameters

      • action: Action

        Action instance.

      • Optionalplugin: string

        Optional plugin namespace override.

      Returns this

      Current Cli instance for chaining.

    • Deletes an action by name.

      Parameters

      • name: string

        Action name.

      Returns this

      Current Cli instance for chaining.

    • Triggers a shortcut flow from a menu.

      Supported built-in shortcuts:

      • "back": navigates to the computed parent.
      • "exit": executes the global exit action.

      Parameters

      • menu: Menu

        Current menu context.

      • type: string

        Trigger type.

      • Optionalparent: string

        Optional runtime parent override.

      Returns void | Promise<unknown>

    • Rebuilds reverse links by injecting menus/actions into their parent menus.

      Returns this

      Current Cli instance for chaining.

    • Runs the default entry item ("main").

      Returns Promise<Cli>

    • Runs an item by name.

      Parameters

      • value: string

        Menu/action name.

      • Optionalparent: string | Action | Menu

        Optional parent context (name or instance).

      Returns Promise<Cli>

    • Runs an item instance directly.

      Parameters

      • value: Action | Menu

        Menu or Action instance.

      • Optionalparent: string | Action | Menu

        Optional parent context (name or instance).

      Returns Promise<Cli>

    • Serializes current menus and actions into plugin-compatible JSON.

      Returns Omit<PluginJson, "name" | "version" | "translations">

    Properties

    menus: Record<string, Menu>
    actions: Record<string, Action>