{
  "commands": {
    "config": {
      "aliases": [],
      "args": {
        "command": {
          "description": "Command to run: get, set, list, migrate, init",
          "name": "command",
          "options": [
            "get",
            "set",
            "list",
            "migrate",
            "init"
          ],
          "required": true
        },
        "key": {
          "description": "Configuration key (for get/set commands)",
          "name": "key",
          "options": [
            "aship_dir"
          ]
        },
        "value": {
          "description": "Configuration value (for set command)",
          "name": "value"
        }
      },
      "description": "Manage Aship configuration",
      "examples": [
        "$ aship config get aship_dir",
        "$ aship config set aship_dir ~/custom-aship",
        "$ aship config list",
        "$ aship config migrate --from ~/.aship --to ~/custom-aship",
        "$ aship config init -l ~/custom-aship",
        "$ aship config init -f"
      ],
      "flags": {
        "from": {
          "description": "Source directory to migrate from",
          "name": "from",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "to": {
          "description": "Target directory to migrate to",
          "name": "to",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dry-run": {
          "description": "Show what would be migrated without actually doing it",
          "name": "dry-run",
          "allowNo": false,
          "type": "boolean"
        },
        "location": {
          "char": "l",
          "description": "Location to create the config file (default: user home directory)",
          "name": "location",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Force overwrite if config file already exists",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "config",
      "pluginAlias": "@aship/cli",
      "pluginName": "@aship/cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "config.js"
      ]
    },
    "exec": {
      "aliases": [],
      "args": {
        "pattern": {
          "description": "Host pattern to target (default: all)",
          "name": "pattern",
          "required": false
        },
        "module": {
          "description": "Module name to execute (default: command)",
          "name": "module",
          "required": false
        }
      },
      "description": "Execute a single task on target servers (ansible command)",
      "examples": [
        "<%= config.bin %> <%= command.id %> all command -a \"uptime\"",
        "<%= config.bin %> <%= command.id %> web setup -a \"name=nginx state=present\"",
        "<%= config.bin %> <%= command.id %> -m ping",
        "<%= config.bin %> <%= command.id %> -h 192.168.1.100 -m command -a \"ls -la\"",
        "<%= config.bin %> <%= command.id %> -s web-server -m service -a \"name=nginx state=started\""
      ],
      "flags": {
        "server": {
          "char": "s",
          "description": "Target server(s) to run on (comma-separated)",
          "name": "server",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "host": {
          "char": "h",
          "description": "Directly specify a host to connect to",
          "name": "host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "user": {
          "char": "u",
          "description": "Username for connection",
          "name": "user",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "password": {
          "char": "p",
          "description": "Password for connection",
          "name": "password",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "key": {
          "char": "k",
          "description": "SSH key for connection",
          "name": "key",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "args": {
          "char": "a",
          "description": "Module arguments",
          "name": "args",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "module": {
          "char": "m",
          "description": "Module name (overrides module argument)",
          "name": "module",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "interactive": {
          "description": "Force interactive mode",
          "name": "interactive",
          "allowNo": false,
          "type": "boolean"
        },
        "non-interactive": {
          "description": "Run in non-interactive mode (requires all necessary options)",
          "name": "non-interactive",
          "allowNo": false,
          "type": "boolean"
        },
        "quiet": {
          "char": "q",
          "description": "Suppress all output except errors",
          "name": "quiet",
          "allowNo": false,
          "type": "boolean"
        },
        "debug": {
          "description": "Enable debug mode",
          "name": "debug",
          "allowNo": false,
          "type": "boolean"
        },
        "verbose": {
          "char": "v",
          "description": "Verbose mode",
          "name": "verbose",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "exec",
      "pluginAlias": "@aship/cli",
      "pluginName": "@aship/cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "exec.js"
      ]
    },
    "init": {
      "aliases": [
        "initialize",
        "setup"
      ],
      "args": {},
      "description": "Initialize a new Aship project with interactive setup",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --yes",
        "<%= config.bin %> <%= command.id %> --minimal"
      ],
      "flags": {
        "yes": {
          "char": "y",
          "description": "Skip prompts and use defaults",
          "name": "yes",
          "allowNo": false,
          "type": "boolean"
        },
        "minimal": {
          "description": "Create minimal configuration without playbook definitions",
          "name": "minimal",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "init",
      "pluginAlias": "@aship/cli",
      "pluginName": "@aship/cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "init.js"
      ]
    },
    "run": {
      "aliases": [],
      "args": {
        "playbook": {
          "description": "Playbook name from aship.yml or file path",
          "name": "playbook",
          "required": false
        }
      },
      "description": "Run a playbook by name or file path",
      "examples": [
        "<%= config.bin %> <%= command.id %> setup",
        "<%= config.bin %> <%= command.id %> site.yml",
        "<%= config.bin %> <%= command.id %> setup -S",
        "<%= config.bin %> <%= command.id %> setup -y",
        "<%= config.bin %> <%= command.id %> deploy -e \"env=prod,port=8080\"",
        "<%= config.bin %> <%= command.id %> setup --tags common --check",
        "<%= config.bin %> <%= command.id %> deploy -H web-prod-1,db-server",
        "<%= config.bin %> <%= command.id %> deploy -i custom.yml",
        "<%= config.bin %> <%= command.id %> deploy -H web-prod-1 -i base.yml"
      ],
      "flags": {
        "server": {
          "char": "s",
          "description": "Target server(s) to run on (comma-separated)",
          "name": "server",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "host": {
          "char": "h",
          "description": "Directly specify a host to connect to",
          "name": "host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "user": {
          "char": "u",
          "description": "Username for connection",
          "name": "user",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "password": {
          "char": "p",
          "description": "Password for connection",
          "name": "password",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "key": {
          "char": "k",
          "description": "SSH key for connection",
          "name": "key",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "reuse": {
          "description": "Reuse previous connection information without prompting",
          "name": "reuse",
          "allowNo": false,
          "type": "boolean"
        },
        "hosts": {
          "char": "H",
          "description": "Use aship hosts (comma-separated host names)",
          "name": "hosts",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "inventory": {
          "char": "i",
          "description": "Use specific inventory file",
          "name": "inventory",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "inventory-mode": {
          "char": "m",
          "description": "How to handle mixed inventory (replace|inject|merge)",
          "name": "inventory-mode",
          "default": "inject",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "replace",
            "inject",
            "merge"
          ],
          "type": "option"
        },
        "dry-run": {
          "description": "Show the command that would be executed without running it",
          "name": "dry-run",
          "allowNo": false,
          "type": "boolean"
        },
        "show-full-command": {
          "description": "Show full command with real paths instead of placeholders",
          "name": "show-full-command",
          "allowNo": false,
          "type": "boolean"
        },
        "limit": {
          "description": "Limit execution to specific hosts or groups",
          "name": "limit",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "skip-vars": {
          "char": "S",
          "description": "Skip variable configuration",
          "name": "skip-vars",
          "allowNo": false,
          "type": "boolean"
        },
        "yes": {
          "char": "y",
          "description": "Skip all prompts and use defaults",
          "name": "yes",
          "allowNo": false,
          "type": "boolean"
        },
        "quiet": {
          "char": "q",
          "description": "Suppress all output except errors",
          "name": "quiet",
          "allowNo": false,
          "type": "boolean"
        },
        "debug": {
          "description": "Enable debug mode",
          "name": "debug",
          "allowNo": false,
          "type": "boolean"
        },
        "trace": {
          "description": "Enable trace mode with maximum verbosity",
          "name": "trace",
          "allowNo": false,
          "type": "boolean"
        },
        "timestamps": {
          "description": "Show timestamps in log output",
          "name": "timestamps",
          "allowNo": false,
          "type": "boolean"
        },
        "extra-vars": {
          "char": "e",
          "description": "Extra variables (key=value,key2=value2)",
          "name": "extra-vars",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tags": {
          "description": "Only run plays and tasks tagged with these values",
          "name": "tags",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "skip-tags": {
          "description": "Only run plays and tasks whose tags do not match these values",
          "name": "skip-tags",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "check": {
          "description": "Run in check mode (dry run)",
          "name": "check",
          "allowNo": false,
          "type": "boolean"
        },
        "diff": {
          "description": "Show differences when changing files",
          "name": "diff",
          "allowNo": false,
          "type": "boolean"
        },
        "verbose": {
          "char": "v",
          "description": "Verbose mode",
          "name": "verbose",
          "allowNo": false,
          "type": "boolean"
        },
        "step": {
          "description": "One-step-at-a-time: confirm each task before running",
          "name": "step",
          "allowNo": false,
          "type": "boolean"
        },
        "ask-become-pass": {
          "description": "Ask for privilege escalation password",
          "name": "ask-become-pass",
          "allowNo": false,
          "type": "boolean"
        },
        "become-user": {
          "description": "Run operations as this user (default=root)",
          "name": "become-user",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "vault-password-file": {
          "description": "Vault password file",
          "name": "vault-password-file",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "ask-vault-pass": {
          "description": "Ask for vault password",
          "name": "ask-vault-pass",
          "allowNo": false,
          "type": "boolean"
        },
        "start-at-task": {
          "description": "Start the playbook at the task matching this name",
          "name": "start-at-task",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "list-tasks": {
          "description": "List all tasks that would be executed",
          "name": "list-tasks",
          "allowNo": false,
          "type": "boolean"
        },
        "list-tags": {
          "description": "List all available tags",
          "name": "list-tags",
          "allowNo": false,
          "type": "boolean"
        },
        "timeout": {
          "description": "Override the connection timeout in seconds",
          "name": "timeout",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "connection": {
          "description": "Connection type to use",
          "name": "connection",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "ssh-common-args": {
          "description": "Specify common arguments to pass to sftp/scp/ssh",
          "name": "ssh-common-args",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "run",
      "pluginAlias": "@aship/cli",
      "pluginName": "@aship/cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "run.js"
      ]
    },
    "host:add": {
      "aliases": [
        "host:create",
        "host:new"
      ],
      "args": {},
      "description": "Add a new host to Aship",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --name web-server --hostname 192.168.1.100 --user ubuntu",
        "<%= config.bin %> <%= command.id %> --hostname example.com --port 2222 --test",
        "<%= config.bin %> <%= command.id %> --non-interactive --name db-server --hostname db.example.com --user admin",
        "<%= config.bin %> host create --hostname example.com",
        "<%= config.bin %> host new -n web-server -h 192.168.1.100 -u ubuntu"
      ],
      "flags": {
        "name": {
          "char": "n",
          "description": "Host name",
          "name": "name",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "hostname": {
          "char": "h",
          "description": "Host hostname (IP or hostname)",
          "name": "hostname",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "port": {
          "char": "p",
          "description": "SSH port",
          "name": "port",
          "default": "22",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "user": {
          "char": "u",
          "description": "SSH username",
          "name": "user",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "identity-file": {
          "char": "i",
          "description": "Path to SSH identity file (optional)",
          "name": "identity-file",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "description": {
          "char": "d",
          "description": "Host description",
          "name": "description",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "non-interactive": {
          "description": "Run in non-interactive mode (requires all necessary options)",
          "name": "non-interactive",
          "allowNo": false,
          "type": "boolean"
        },
        "test": {
          "char": "t",
          "description": "Test connection after adding",
          "name": "test",
          "allowNo": false,
          "type": "boolean"
        },
        "force": {
          "char": "f",
          "description": "Overwrite existing host with same name",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "host:add",
      "pluginAlias": "@aship/cli",
      "pluginName": "@aship/cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "host",
        "add.js"
      ]
    },
    "host:clear": {
      "aliases": [
        "host:clean",
        "host:reset",
        "host:purge"
      ],
      "args": {},
      "description": "Clear host-related data (usage history, recent connections)",
      "examples": [
        "<%= config.bin %> <%= command.id %> --usage",
        "<%= config.bin %> <%= command.id %> --recent",
        "<%= config.bin %> <%= command.id %> --all",
        "<%= config.bin %> <%= command.id %> --usage --force",
        "<%= config.bin %> host clean --all -f",
        "<%= config.bin %> host reset --usage"
      ],
      "flags": {
        "usage": {
          "char": "u",
          "description": "Clear usage history for all hosts",
          "name": "usage",
          "allowNo": false,
          "type": "boolean"
        },
        "recent": {
          "char": "r",
          "description": "Clear recent connection data",
          "name": "recent",
          "allowNo": false,
          "type": "boolean"
        },
        "all": {
          "char": "a",
          "description": "Clear all host-related data (usage + recent)",
          "name": "all",
          "allowNo": false,
          "type": "boolean"
        },
        "force": {
          "char": "f",
          "description": "Skip confirmation prompt",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "host:clear",
      "pluginAlias": "@aship/cli",
      "pluginName": "@aship/cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "host",
        "clear.js"
      ]
    },
    "host:edit": {
      "aliases": [
        "host:update",
        "host:modify",
        "host:change"
      ],
      "args": {
        "name": {
          "description": "Name of the host to edit",
          "name": "name",
          "required": false
        }
      },
      "description": "Edit an existing host configuration",
      "examples": [
        "<%= config.bin %> <%= command.id %> web-server",
        "<%= config.bin %> <%= command.id %> web-server --hostname new.example.com",
        "<%= config.bin %> <%= command.id %> --interactive",
        "<%= config.bin %> <%= command.id %> web-server --test",
        "<%= config.bin %> host update web-server --hostname new.example.com",
        "<%= config.bin %> host modify web-server -i"
      ],
      "flags": {
        "interactive": {
          "char": "i",
          "description": "Select host interactively",
          "name": "interactive",
          "allowNo": false,
          "type": "boolean"
        },
        "hostname": {
          "description": "New hostname (IP or hostname)",
          "name": "hostname",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "port": {
          "description": "New SSH port",
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "user": {
          "description": "New SSH username",
          "name": "user",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "identity-file": {
          "description": "New path to SSH identity file",
          "name": "identity-file",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "description": {
          "description": "New host description",
          "name": "description",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "non-interactive": {
          "description": "Run in non-interactive mode (requires specific field flags)",
          "name": "non-interactive",
          "allowNo": false,
          "type": "boolean"
        },
        "test": {
          "description": "Test connection after editing",
          "name": "test",
          "allowNo": false,
          "type": "boolean"
        },
        "clear-identity": {
          "description": "Clear the SSH identity file",
          "name": "clear-identity",
          "allowNo": false,
          "type": "boolean"
        },
        "clear-description": {
          "description": "Clear the host description",
          "name": "clear-description",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "host:edit",
      "pluginAlias": "@aship/cli",
      "pluginName": "@aship/cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "host",
        "edit.js"
      ]
    },
    "host:export": {
      "aliases": [
        "host:save",
        "host:dump",
        "host:backup"
      ],
      "args": {},
      "description": "Export hosts to various formats",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --format json --output hosts.json",
        "<%= config.bin %> <%= command.id %> --format yaml --output hosts.yml",
        "<%= config.bin %> <%= command.id %> --format ssh-config --output ssh_config",
        "<%= config.bin %> <%= command.id %> --format ansible --output inventory.yml",
        "<%= config.bin %> <%= command.id %> --filter \"web-*\" --format json",
        "<%= config.bin %> host save -f json -o hosts.json",
        "<%= config.bin %> host backup --format ansible"
      ],
      "flags": {
        "format": {
          "char": "f",
          "description": "Export format",
          "name": "format",
          "default": "json",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "json",
            "yaml",
            "ssh-config",
            "ansible"
          ],
          "type": "option"
        },
        "output": {
          "char": "o",
          "description": "Output file path (default: stdout)",
          "name": "output",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "filter": {
          "description": "Filter hosts by pattern (supports wildcards)",
          "name": "filter",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "source": {
          "char": "s",
          "description": "Filter by source type",
          "name": "source",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "manual",
            "ssh_config",
            "imported"
          ],
          "type": "option"
        },
        "include-usage": {
          "description": "Include usage statistics in export (JSON/YAML only)",
          "name": "include-usage",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty": {
          "char": "p",
          "description": "Pretty print output (JSON only)",
          "name": "pretty",
          "allowNo": false,
          "type": "boolean"
        },
        "group": {
          "char": "g",
          "description": "Group name for Ansible inventory format",
          "name": "group",
          "default": "aship_hosts",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "host:export",
      "pluginAlias": "@aship/cli",
      "pluginName": "@aship/cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "host",
        "export.js"
      ]
    },
    "host:import": {
      "aliases": [
        "host:load",
        "host:sync"
      ],
      "args": {
        "source": {
          "description": "Source to import from (ssh-config|file)",
          "name": "source",
          "required": false
        }
      },
      "description": "Import hosts from SSH config or other sources",
      "examples": [
        "<%= config.bin %> <%= command.id %> --ssh-config",
        "<%= config.bin %> <%= command.id %> --file hosts.json",
        "<%= config.bin %> <%= command.id %> --ssh-config --filter \"web-*\"",
        "<%= config.bin %> <%= command.id %> --file hosts.yml --force",
        "<%= config.bin %> host load --ssh-config",
        "<%= config.bin %> host sync -f hosts.json"
      ],
      "flags": {
        "ssh-config": {
          "description": "Import from SSH config file (~/.ssh/config)",
          "name": "ssh-config",
          "allowNo": false,
          "type": "boolean"
        },
        "file": {
          "char": "f",
          "description": "Import from JSON/YAML file",
          "name": "file",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "filter": {
          "description": "Filter hosts by pattern (supports wildcards)",
          "name": "filter",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "description": "Overwrite existing hosts with same names",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        },
        "dry-run": {
          "char": "d",
          "description": "Show what would be imported without actually importing",
          "name": "dry-run",
          "allowNo": false,
          "type": "boolean"
        },
        "interactive": {
          "char": "i",
          "description": "Interactively select which hosts to import",
          "name": "interactive",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "host:import",
      "pluginAlias": "@aship/cli",
      "pluginName": "@aship/cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "host",
        "import.js"
      ]
    },
    "host:list": {
      "aliases": [
        "host:ls",
        "hosts"
      ],
      "args": {},
      "description": "List all configured hosts",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --usage",
        "<%= config.bin %> <%= command.id %> --source manual",
        "<%= config.bin %> <%= command.id %> --format json",
        "<%= config.bin %> <%= command.id %> --verbose",
        "<%= config.bin %> <%= command.id %> --quiet",
        "<%= config.bin %> host ls",
        "<%= config.bin %> hosts -u"
      ],
      "flags": {
        "usage": {
          "char": "u",
          "description": "Show usage statistics",
          "name": "usage",
          "allowNo": false,
          "type": "boolean"
        },
        "source": {
          "char": "s",
          "description": "Filter by source (manual|ssh_config|imported)",
          "name": "source",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "manual",
            "ssh_config",
            "imported"
          ],
          "type": "option"
        },
        "format": {
          "char": "f",
          "description": "Output format (table|json)",
          "name": "format",
          "default": "table",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "table",
            "json"
          ],
          "type": "option"
        },
        "verbose": {
          "char": "v",
          "description": "Show detailed information",
          "name": "verbose",
          "allowNo": false,
          "type": "boolean"
        },
        "quiet": {
          "char": "q",
          "description": "Show only host names",
          "name": "quiet",
          "allowNo": false,
          "type": "boolean"
        },
        "relative-time": {
          "char": "r",
          "description": "Show relative time (e.g., \"2 hours ago\") instead of absolute time",
          "name": "relative-time",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "host:list",
      "pluginAlias": "@aship/cli",
      "pluginName": "@aship/cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "host",
        "list.js"
      ]
    },
    "host:remove": {
      "aliases": [
        "host:rm",
        "host:delete",
        "host:del"
      ],
      "args": {
        "name": {
          "description": "Name of the host to remove",
          "name": "name",
          "required": false
        }
      },
      "description": "Remove a host from Aship",
      "examples": [
        "<%= config.bin %> <%= command.id %> web-server",
        "<%= config.bin %> <%= command.id %> 1",
        "<%= config.bin %> <%= command.id %> web-server --force",
        "<%= config.bin %> <%= command.id %> --interactive",
        "<%= config.bin %> host rm web-server",
        "<%= config.bin %> host del web-server -f"
      ],
      "flags": {
        "force": {
          "char": "f",
          "description": "Skip confirmation prompt",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        },
        "interactive": {
          "char": "i",
          "description": "Select host interactively",
          "name": "interactive",
          "allowNo": false,
          "type": "boolean"
        },
        "keep-usage": {
          "description": "Keep usage history when removing host",
          "name": "keep-usage",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "host:remove",
      "pluginAlias": "@aship/cli",
      "pluginName": "@aship/cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "host",
        "remove.js"
      ]
    },
    "host:show": {
      "aliases": [
        "host:info",
        "host:get",
        "host:describe"
      ],
      "args": {
        "name": {
          "description": "Name of the host to show",
          "name": "name",
          "required": false
        }
      },
      "description": "Show detailed information about a host",
      "examples": [
        "<%= config.bin %> <%= command.id %> web-server",
        "<%= config.bin %> <%= command.id %> web-server --usage",
        "<%= config.bin %> <%= command.id %> --interactive",
        "<%= config.bin %> <%= command.id %> web-server --format json",
        "<%= config.bin %> host info web-server",
        "<%= config.bin %> host get web-server -u"
      ],
      "flags": {
        "interactive": {
          "char": "i",
          "description": "Select host interactively",
          "name": "interactive",
          "allowNo": false,
          "type": "boolean"
        },
        "usage": {
          "char": "u",
          "description": "Show usage statistics",
          "name": "usage",
          "allowNo": false,
          "type": "boolean"
        },
        "format": {
          "char": "f",
          "description": "Output format (table|json)",
          "name": "format",
          "default": "table",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "table",
            "json"
          ],
          "type": "option"
        },
        "relative-time": {
          "char": "r",
          "description": "Show relative time (e.g., \"2 hours ago\") instead of absolute time",
          "name": "relative-time",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "host:show",
      "pluginAlias": "@aship/cli",
      "pluginName": "@aship/cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "host",
        "show.js"
      ]
    },
    "host:test": {
      "aliases": [
        "host:ping",
        "host:check",
        "host:connect"
      ],
      "args": {
        "name": {
          "description": "Name of the host to test",
          "name": "name",
          "required": false
        }
      },
      "description": "Test connection to a host",
      "examples": [
        "<%= config.bin %> <%= command.id %> web-server",
        "<%= config.bin %> <%= command.id %> web-server --verbose",
        "<%= config.bin %> <%= command.id %> --interactive",
        "<%= config.bin %> <%= command.id %> --all",
        "<%= config.bin %> host ping web-server",
        "<%= config.bin %> host check --all -v"
      ],
      "flags": {
        "interactive": {
          "char": "i",
          "description": "Select host interactively",
          "name": "interactive",
          "allowNo": false,
          "type": "boolean"
        },
        "all": {
          "char": "a",
          "description": "Test all configured hosts",
          "name": "all",
          "allowNo": false,
          "type": "boolean"
        },
        "verbose": {
          "char": "v",
          "description": "Show detailed connection information",
          "name": "verbose",
          "allowNo": false,
          "type": "boolean"
        },
        "timeout": {
          "char": "t",
          "description": "Connection timeout in seconds",
          "name": "timeout",
          "default": 10,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "update-usage": {
          "description": "Update usage statistics on successful connection",
          "name": "update-usage",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "host:test",
      "pluginAlias": "@aship/cli",
      "pluginName": "@aship/cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "host",
        "test.js"
      ]
    },
    "inventory:generate": {
      "aliases": [
        "inventory:gen",
        "inventory:create"
      ],
      "args": {},
      "description": "Generate Ansible inventory from aship hosts",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --output inventory.yml",
        "<%= config.bin %> <%= command.id %> --format json",
        "<%= config.bin %> <%= command.id %> --filter \"web-*\"",
        "<%= config.bin %> <%= command.id %> --source manual",
        "<%= config.bin %> <%= command.id %> --group production_hosts",
        "<%= config.bin %> <%= command.id %> --include web-1,web-2 --exclude db-1"
      ],
      "flags": {
        "output": {
          "char": "o",
          "description": "Output file path",
          "name": "output",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "format": {
          "char": "f",
          "description": "Output format (yaml|json)",
          "name": "format",
          "default": "yaml",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "yaml",
            "json"
          ],
          "type": "option"
        },
        "filter": {
          "char": "F",
          "description": "Filter hosts by name pattern (regex)",
          "name": "filter",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "source": {
          "char": "s",
          "description": "Filter by source (manual|ssh_config|imported)",
          "name": "source",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "manual",
            "ssh_config",
            "imported"
          ],
          "type": "option"
        },
        "group": {
          "char": "g",
          "description": "Custom group name for aship hosts",
          "name": "group",
          "default": "aship_hosts",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "include": {
          "description": "Include only specific hosts (comma-separated)",
          "name": "include",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "exclude": {
          "description": "Exclude specific hosts (comma-separated)",
          "name": "exclude",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "verbose": {
          "char": "v",
          "description": "Show detailed generation process",
          "name": "verbose",
          "allowNo": false,
          "type": "boolean"
        },
        "quiet": {
          "char": "q",
          "description": "Suppress output messages",
          "name": "quiet",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "inventory:generate",
      "pluginAlias": "@aship/cli",
      "pluginName": "@aship/cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "inventory",
        "generate.js"
      ]
    },
    "inventory:inject": {
      "aliases": [
        "inventory:merge",
        "inventory:add"
      ],
      "args": {
        "file": {
          "description": "Inventory file to inject hosts into",
          "name": "file",
          "required": true
        }
      },
      "description": "Inject aship hosts into existing inventory file",
      "examples": [
        "<%= config.bin %> <%= command.id %> inventory.yml",
        "<%= config.bin %> <%= command.id %> inventory.yml --backup",
        "<%= config.bin %> <%= command.id %> inventory.yml --dry-run",
        "<%= config.bin %> <%= command.id %> inventory.yml --group production_hosts",
        "<%= config.bin %> <%= command.id %> inventory.yml --filter \"web-*\"",
        "<%= config.bin %> <%= command.id %> inventory.yml --source manual",
        "<%= config.bin %> <%= command.id %> inventory.yml --include web-1,web-2",
        "<%= config.bin %> <%= command.id %> inventory.yml --force"
      ],
      "flags": {
        "backup": {
          "char": "b",
          "description": "Create backup of original file",
          "name": "backup",
          "allowNo": false,
          "type": "boolean"
        },
        "dry-run": {
          "char": "n",
          "description": "Show what would be changed without modifying file",
          "name": "dry-run",
          "allowNo": false,
          "type": "boolean"
        },
        "group": {
          "char": "g",
          "description": "Group name for injected hosts",
          "name": "group",
          "default": "aship_hosts",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "filter": {
          "char": "F",
          "description": "Filter hosts to inject by name pattern (regex)",
          "name": "filter",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "source": {
          "char": "s",
          "description": "Filter by source (manual|ssh_config|imported)",
          "name": "source",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "manual",
            "ssh_config",
            "imported"
          ],
          "type": "option"
        },
        "include": {
          "description": "Include only specific hosts (comma-separated)",
          "name": "include",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "exclude": {
          "description": "Exclude specific hosts (comma-separated)",
          "name": "exclude",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Overwrite existing hosts in inventory",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        },
        "verbose": {
          "char": "v",
          "description": "Show detailed injection process",
          "name": "verbose",
          "allowNo": false,
          "type": "boolean"
        },
        "quiet": {
          "char": "q",
          "description": "Suppress output messages",
          "name": "quiet",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "inventory:inject",
      "pluginAlias": "@aship/cli",
      "pluginName": "@aship/cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "inventory",
        "inject.js"
      ]
    },
    "inventory:show": {
      "aliases": [
        "inventory:preview",
        "inventory:view"
      ],
      "args": {},
      "description": "Show generated inventory content",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --format json",
        "<%= config.bin %> <%= command.id %> --filter \"web-*\"",
        "<%= config.bin %> <%= command.id %> --source manual",
        "<%= config.bin %> <%= command.id %> --group production_hosts",
        "<%= config.bin %> <%= command.id %> --hosts-only",
        "<%= config.bin %> <%= command.id %> --count"
      ],
      "flags": {
        "format": {
          "char": "f",
          "description": "Output format (yaml|json)",
          "name": "format",
          "default": "yaml",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "yaml",
            "json"
          ],
          "type": "option"
        },
        "filter": {
          "char": "F",
          "description": "Filter hosts by name pattern (regex)",
          "name": "filter",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "source": {
          "char": "s",
          "description": "Filter by source (manual|ssh_config|imported)",
          "name": "source",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "manual",
            "ssh_config",
            "imported"
          ],
          "type": "option"
        },
        "group": {
          "char": "g",
          "description": "Custom group name for aship hosts",
          "name": "group",
          "default": "aship_hosts",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "include": {
          "description": "Include only specific hosts (comma-separated)",
          "name": "include",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "exclude": {
          "description": "Exclude specific hosts (comma-separated)",
          "name": "exclude",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "hosts-only": {
          "description": "Show only the hosts section",
          "name": "hosts-only",
          "allowNo": false,
          "type": "boolean"
        },
        "groups-only": {
          "description": "Show only the groups section",
          "name": "groups-only",
          "allowNo": false,
          "type": "boolean"
        },
        "count": {
          "char": "c",
          "description": "Show host count only",
          "name": "count",
          "allowNo": false,
          "type": "boolean"
        },
        "verbose": {
          "char": "v",
          "description": "Show detailed information",
          "name": "verbose",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "inventory:show",
      "pluginAlias": "@aship/cli",
      "pluginName": "@aship/cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "inventory",
        "show.js"
      ]
    }
  },
  "version": "0.2.0"
}