{
  "version": "1.18.3",
  "generatedAt": "2026-05-06T18:44:32.691Z",
  "cliName": "adk",
  "globalOptions": [
    {
      "flags": "--no-cache",
      "description": "Disable caching for integration lookups"
    },
    {
      "flags": "--version, -V",
      "description": "Show version number"
    },
    {
      "flags": "--help, -h",
      "description": "Show help for command"
    }
  ],
  "commands": [
    {
      "name": "add",
      "fullName": "add",
      "description": "Add an integration or interface to your agent",
      "aliases": ["i", "install"],
      "arguments": [],
      "options": [
        {
          "flags": "--alias <alias>",
          "description": "use a custom alias for the resource"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "ai-upgrade",
      "fullName": "ai-upgrade",
      "description": "Update ADK skills and slash commands from the botpress/skills repository",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "assets",
      "fullName": "assets",
      "description": "Manage agent assets and static files",
      "aliases": [],
      "arguments": [],
      "options": []
    },
    {
      "name": "list",
      "fullName": "assets list",
      "description": "List all asset files",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--local",
          "description": "show only local assets"
        },
        {
          "flags": "--remote",
          "description": "show only remote assets"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "pull",
      "fullName": "assets pull",
      "description": "Download remote assets to local directory",
      "aliases": [],
      "arguments": [],
      "options": []
    },
    {
      "name": "status",
      "fullName": "assets status",
      "description": "Show asset synchronization status",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "sync",
      "fullName": "assets sync",
      "description": "Synchronize assets with remote storage",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--dry-run",
          "description": "preview changes without applying them"
        },
        {
          "flags": "-y, --yes",
          "description": "skip confirmation prompts"
        },
        {
          "flags": "--bail-on-failure",
          "description": "stop on first error"
        },
        {
          "flags": "--force",
          "description": "force re-upload all files"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "build",
      "fullName": "build",
      "description": "Build the agent for production",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "chat",
      "fullName": "chat",
      "description": "Chat with your agent in development mode",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--single <message>",
          "description": "send one message, print the response, and exit"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        },
        {
          "flags": "--conversation-id <id>",
          "description": "continue a conversation (use --format json to get the ID)"
        },
        {
          "flags": "--timeout <duration>",
          "description": "max wait duration (500ms, 30s, 1m, 5m)",
          "defaultValue": "60s"
        }
      ]
    },
    {
      "name": "check",
      "fullName": "check",
      "description": "Validate project structure, config, and primitives (without login required)",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "config",
      "fullName": "config",
      "description": "",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--prod",
          "description": "use production configuration"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "config:get",
      "fullName": "config:get",
      "description": "Get a configuration value",
      "aliases": [],
      "arguments": [
        {
          "name": "key",
          "description": "configuration key",
          "required": true
        }
      ],
      "options": [
        {
          "flags": "--prod",
          "description": "use production configuration"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "config:set",
      "fullName": "config:set",
      "description": "Set a configuration value",
      "aliases": [],
      "arguments": [
        {
          "name": "key",
          "description": "configuration key",
          "required": true
        },
        {
          "name": "value",
          "description": "configuration value",
          "required": true
        }
      ],
      "options": [
        {
          "flags": "--prod",
          "description": "use production configuration"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "deploy",
      "fullName": "deploy",
      "description": "Deploy the agent to Botpress",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "-e, --env <environment>",
          "description": "deployment environment",
          "defaultValue": "production"
        },
        {
          "flags": "-y, --yes",
          "description": "auto-approve preflight changes without prompting"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "dev",
      "fullName": "dev",
      "description": "Start development mode with hot reloading",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "-p, --port <port>",
          "description": "port for development server",
          "defaultValue": "3000"
        },
        {
          "flags": "--port-console <port>",
          "description": "port for console server",
          "defaultValue": "3001"
        },
        {
          "flags": "--otlp",
          "description": "enable OTLP export to external collector (default port 4318)"
        },
        {
          "flags": "--port-otlp <port>",
          "description": "port for OTLP collector endpoint (Jaeger, otel-tui, etc.)"
        },
        {
          "flags": "-v, --verbose",
          "description": "show additional details (project path, log file)"
        },
        {
          "flags": "--non-interactive",
          "description": "emit structured NDJSON events to stdout without Ink/TUI"
        }
      ]
    },
    {
      "name": "evals",
      "fullName": "evals",
      "description": "Run and manage eval suites",
      "aliases": [],
      "arguments": [
        {
          "name": "name",
          "description": "Run a specific eval by name",
          "required": false
        }
      ],
      "options": [
        {
          "flags": "--tag <tag>",
          "description": "Run only evals with this tag"
        },
        {
          "flags": "--type <type>",
          "description": "Run only evals of this type (capability|regression)"
        },
        {
          "flags": "--judge-model <model>",
          "description": "Model to use for llm_judge assertions (e.g. openai:gpt-4o)"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        },
        {
          "flags": "-v, --verbose",
          "description": "Show full details for all evals, not just failures"
        },
        {
          "flags": "--server <url>",
          "description": "Dev server URL (auto-starts in lightweight mode if not running)",
          "defaultValue": "http://localhost:3001"
        }
      ]
    },
    {
      "name": "runs",
      "fullName": "evals runs",
      "description": "List or show eval run history",
      "aliases": [],
      "arguments": [
        {
          "name": "runId",
          "description": "Show a specific run by ID",
          "required": false
        }
      ],
      "options": [
        {
          "flags": "--latest",
          "description": "Show the latest run"
        },
        {
          "flags": "--limit <n>",
          "description": "Max runs to list",
          "defaultValue": "10"
        },
        {
          "flags": "-v, --verbose",
          "description": "Show full details for all evals in a run"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "flags",
      "fullName": "flags",
      "description": "Show feature-flag values for the current profile",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "info",
      "fullName": "info",
      "description": "Show detailed information about an integration",
      "aliases": [],
      "arguments": [
        {
          "name": "name",
          "description": "integration name",
          "required": true
        }
      ],
      "options": [
        {
          "flags": "--actions",
          "description": "show only actions"
        },
        {
          "flags": "--channels",
          "description": "show only channels"
        },
        {
          "flags": "--events",
          "description": "show only events"
        },
        {
          "flags": "--full",
          "description": "show all details"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "init",
      "fullName": "init",
      "description": "Initialize a new ADK agent project",
      "aliases": [],
      "arguments": [
        {
          "name": "name",
          "description": "name of the agent project (required with --yes --format json)",
          "required": false
        }
      ],
      "options": [
        {
          "flags": "-t, --template <template>",
          "description": "template to use (default: blank, required with --yes --format json)"
        },
        {
          "flags": "-y, --yes",
          "description": "skip prompts and use sensible defaults"
        },
        {
          "flags": "--defaults",
          "description": "alias for --yes"
        },
        {
          "flags": "--skip-link",
          "description": "skip the interactive linking step (required with --yes --format json)"
        },
        {
          "flags": "--list-templates",
          "description": "list available templates and exit"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "kb",
      "fullName": "kb",
      "description": "Manage knowledge bases and synchronization",
      "aliases": [],
      "arguments": [],
      "options": []
    },
    {
      "name": "sync",
      "fullName": "kb sync",
      "description": "Synchronize knowledge bases with Botpress (requires --dev or --prod)",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--dev",
          "description": "sync with development bot"
        },
        {
          "flags": "--prod",
          "description": "sync with production bot"
        },
        {
          "flags": "--dry-run",
          "description": "preview changes without applying them"
        },
        {
          "flags": "-y, --yes",
          "description": "skip confirmation prompts"
        },
        {
          "flags": "--force",
          "description": "force re-sync all knowledge bases"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "link",
      "fullName": "link",
      "description": "Link local agent to workspace and bot",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--workspace <workspaceId>",
          "description": "workspace ID"
        },
        {
          "flags": "--bot <botId>",
          "description": "bot ID to link to"
        },
        {
          "flags": "--dev <devBotId>",
          "description": "dev bot ID (optional)"
        },
        {
          "flags": "--api-url <apiUrl>",
          "description": "Botpress API URL (e.g., https://api.botpress.cloud)"
        },
        {
          "flags": "-f, --force",
          "description": "overwrite existing agent.json if present"
        },
        {
          "flags": "--local",
          "description": "write to gitignored agent.local.json, which overrides agent.json without changing it (for multi-dev workflows)"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "list",
      "fullName": "list",
      "description": "List integrations (installed or available)",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--available",
          "description": "list all available integrations"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        },
        {
          "flags": "--limit <number>",
          "description": "limit number of results",
          "defaultValue": "50"
        }
      ]
    },
    {
      "name": "list",
      "fullName": "list",
      "description": "List recent conversations",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "login",
      "fullName": "login",
      "description": "Authenticate with your Botpress account",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--token <token>",
          "description": "Botpress API token"
        },
        {
          "flags": "--profile <profile>",
          "description": "profile name to save credentials under"
        },
        {
          "flags": "--api-url <url>",
          "description": "Botpress API URL",
          "defaultValue": "https://api.botpress.cloud"
        }
      ]
    },
    {
      "name": "logs",
      "fullName": "logs",
      "description": "Query dev server logs from .adk/logs/",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "-f, --follow",
          "description": "follow log output (tail -f style)"
        },
        {
          "flags": "--summary",
          "description": "emit a single JSON summary snapshot (requires --format json)"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "mcp",
      "fullName": "mcp",
      "description": "Start MCP server for AI assistant integration (Claude Code, Cursor, etc.)",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--cwd <path>",
          "description": "working directory for MCP operations"
        },
        {
          "flags": "--port <port>",
          "description": "UI server port to connect to (default: 3001)"
        }
      ]
    },
    {
      "name": "mcp:init",
      "fullName": "mcp:init",
      "description": "Generate MCP configuration files for AI assistants",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--tool <tool...>",
          "description": "specific tool(s) to configure (claude-code, vscode, cursor)"
        },
        {
          "flags": "--all",
          "description": "generate configuration for all supported tools"
        },
        {
          "flags": "--force",
          "description": "overwrite existing ADK configuration"
        },
        {
          "flags": "--project-dir <path>",
          "description": "ADK project subdirectory (for monorepos, e.g., ./bot)"
        }
      ]
    },
    {
      "name": "models",
      "fullName": "models",
      "description": "List available Cognitive models for the current bot",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "profiles",
      "fullName": "profiles",
      "description": "Manage authentication profiles",
      "aliases": [],
      "arguments": [],
      "options": []
    },
    {
      "name": "list",
      "fullName": "profiles list",
      "description": "List all configured profiles",
      "aliases": [],
      "arguments": [],
      "options": []
    },
    {
      "name": "set",
      "fullName": "profiles set",
      "description": "Switch to a different profile",
      "aliases": [],
      "arguments": [
        {
          "name": "profile",
          "description": "profile name to switch to",
          "required": false
        }
      ],
      "options": []
    },
    {
      "name": "remove",
      "fullName": "remove",
      "description": "Remove an integration, interface, or plugin from your agent",
      "aliases": ["rm"],
      "arguments": [],
      "options": []
    },
    {
      "name": "run",
      "fullName": "run",
      "description": "Run a TypeScript script with the full ADK runtime (actions, Zai, tables, etc.)",
      "aliases": [],
      "arguments": [
        {
          "name": "script",
          "description": "path to the TypeScript script to run",
          "required": true
        }
      ],
      "options": [
        {
          "flags": "-f, --force",
          "description": "force regeneration of the bot project"
        },
        {
          "flags": "--prod",
          "description": "use production bot (default: uses dev bot)"
        }
      ]
    },
    {
      "name": "search",
      "fullName": "search",
      "description": "Search for integrations in the Botpress hub",
      "aliases": [],
      "arguments": [
        {
          "name": "query",
          "description": "search query",
          "required": true
        }
      ],
      "options": [
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        },
        {
          "flags": "--limit <number>",
          "description": "limit number of results",
          "defaultValue": "20"
        }
      ]
    },
    {
      "name": "secret",
      "fullName": "secret",
      "description": "Show declared secrets and their status",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--prod",
          "description": "use production bot"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "secret:delete",
      "fullName": "secret:delete",
      "description": "Delete a secret",
      "aliases": [],
      "arguments": [
        {
          "name": "key",
          "description": "secret key",
          "required": true
        }
      ],
      "options": [
        {
          "flags": "--prod",
          "description": "use production bot"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "secret:set",
      "fullName": "secret:set",
      "description": "Set a secret value",
      "aliases": [],
      "arguments": [
        {
          "name": "key",
          "description": "secret key (SCREAMING_SNAKE_CASE)",
          "required": true
        },
        {
          "name": "value",
          "description": "secret value",
          "required": true
        }
      ],
      "options": [
        {
          "flags": "--prod",
          "description": "use production bot"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "self-upgrade",
      "fullName": "self-upgrade",
      "description": "Upgrade ADK CLI to the latest version (or a specific tag/version)",
      "aliases": ["self-update"],
      "arguments": [
        {
          "name": "tag-or-version",
          "description": "Tag (beta, next) or version (1.13.0) to install",
          "required": false
        }
      ],
      "options": []
    },
    {
      "name": "show",
      "fullName": "show",
      "description": "Show conversation timeline and details",
      "aliases": [],
      "arguments": [
        {
          "name": "id",
          "description": "conversation ID",
          "required": true
        }
      ],
      "options": [
        {
          "flags": "--include-llm",
          "description": "include LLM reasoning spans"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "status",
      "fullName": "status",
      "description": "Show project status, integrations, and local server state",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "telemetry",
      "fullName": "telemetry",
      "description": "Manage telemetry preferences",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--status",
          "description": "show telemetry status"
        },
        {
          "flags": "--enable",
          "description": "enable telemetry"
        },
        {
          "flags": "--disable",
          "description": "disable telemetry"
        }
      ]
    },
    {
      "name": "theme",
      "fullName": "theme",
      "description": "Manage CLI theme preferences",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--set <theme>",
          "description": "set theme (dark or light)"
        }
      ]
    },
    {
      "name": "traces",
      "fullName": "traces",
      "description": "Query trace data from local SQLite store",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "-f, --follow",
          "description": "follow new traces as they complete"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        },
        {
          "flags": "--include-llm",
          "description": "include LLM instructions, code, and tools in drill-in mode"
        }
      ]
    },
    {
      "name": "upgrade",
      "fullName": "upgrade",
      "description": "Upgrade integration(s) to latest version",
      "aliases": ["up"],
      "arguments": [
        {
          "name": "integration",
          "description": "integration alias to upgrade (interactive if not specified)",
          "required": false
        }
      ],
      "options": []
    },
    {
      "name": "workflows",
      "fullName": "workflows",
      "description": "List, inspect, and run workflows from the local dev server",
      "aliases": [],
      "arguments": [],
      "options": []
    },
    {
      "name": "inspect",
      "fullName": "workflows inspect",
      "description": "Inspect a workflow schema and metadata",
      "aliases": [],
      "arguments": [
        {
          "name": "name",
          "description": "workflow name",
          "required": true
        }
      ],
      "options": [
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "list",
      "fullName": "workflows list",
      "description": "List all discovered workflows",
      "aliases": [],
      "arguments": [],
      "options": [
        {
          "flags": "--format <format>",
          "description": "output format (json)"
        }
      ]
    },
    {
      "name": "run",
      "fullName": "workflows run",
      "description": "Run a workflow and optionally wait for completion",
      "aliases": [],
      "arguments": [
        {
          "name": "name",
          "description": "workflow name",
          "required": true
        },
        {
          "name": "payload",
          "description": "workflow payload as a JSON string",
          "required": false
        }
      ],
      "options": [
        {
          "flags": "--wait",
          "description": "wait for the workflow to reach a terminal state"
        },
        {
          "flags": "--timeout <duration>",
          "description": "max wait duration (500ms, 30s, 1m, 5m); implies --wait"
        },
        {
          "flags": "--format <format>",
          "description": "output format (json)",
          "defaultValue": "json"
        }
      ]
    }
  ]
}
