{
  "ok": true,
  "status": "planned",
  "command": "ulw",
  "role": "lazycodex_adapter_installer",
  "adapterPackage": "lazycodex-ai",
  "installerCommand": "npx lazycodex-ai install",
  "executed": false,
  "mutatesGlobalConfig": false,
  "optionalGrokByokConfig": {
    "ok": true,
    "status": "planned",
    "command": "config grok-byok",
    "purpose": "Configure a Grok OpenAI-compatible BYOK model for Grok Build laz
ycodex use.",
    "mutatesGlobalConfig": true,
    "executed": false,
    "provider": "custom_openai_compatible",
    "requiredSettings": [
      "apiKey",
      "modelAlias"
    ],
    "conditionalSettings": [
      "baseUrl is required only when ~/.grok/config.toml has no [endpoints].mode
ls_base_url."
    ],
    "defaultModelId": "gpt-5.5",
    "automationEnv": [
      "LFG_GROK_API_KEY",
      "LFG_GROK_MODEL_ALIAS"
    ],
    "optionalAutomationEnv": [
      "LFG_GROK_BASE_URL",
      "LFG_GROK_MODEL_ID",
      "LFG_GROK_DISPLAY_NAME"
    ],
    "target": "/Users/ilseoblee/.grok/config.toml",
    "steps": [
      {
        "id": "collect_provider_settings",
        "status": "pending",
        "text": "Collect API key, model alias, upstream model id, and base URL o
nly when [endpoints].models_base_url is absent."
      },
      {
        "id": "write_grok_config",
        "status": "pending",
        "text": "Back up and update ~/.grok/config.toml while preserving existin
g [endpoints] when possible."
      }
    ]
  },
  "grokBuildUse": true,
  "lfgIsPlugin": false,
  "adapterRoot": "/Users/ilseoblee/.grok/plugins/lazycodex",
  "adapterManifest": "/Users/ilseoblee/.grok/plugins/lazycodex/.codex-plugin/plu
gin.json",
  "grokSurfaces": {
    "customModelConfig": "/Users/ilseoblee/.grok/config.toml",
    "globalAgentRoot": "/Users/ilseoblee/.grok/agents",
    "projectAgentRoot": "/Users/ilseoblee/workspace/linalab/lfg/.grok/agents",
    "acpCommand": "grok agent stdio",
    "globalPluginRoot": "/Users/ilseoblee/.grok/plugins",
    "projectPluginRoot": "/Users/ilseoblee/workspace/linalab/lfg/.grok/plugins",
    "userMcpConfig": "/Users/ilseoblee/.grok/config.toml",
    "projectMcpConfig": "/Users/ilseoblee/workspace/linalab/lfg/.grok/config.tom
l",
    "projectRootMcpConfig": "/Users/ilseoblee/workspace/linalab/lfg/.mcp.json"
  },
  "verificationCommands": [
    "grok models",
    "grok -m <model>",
    "/model <model>",
    "grok agent stdio",
    "grok inspect --json",
    "grok plugin list --json",
    "grok plugin details <name>"
  ],
  "adapter": {
    "found": false,
    "root": "/Users/ilseoblee/.grok/plugins/lazycodex",
    "manifest": "/Users/ilseoblee/.grok/plugins/lazycodex/.codex-plugin/plugin.j
son",
    "mcpConfig": "/Users/ilseoblee/.grok/plugins/lazycodex/.mcp.json",
    "skillsDir": "/Users/ilseoblee/.grok/plugins/lazycodex/skills"
  },
  "steps": [
    {
      "id": "run_npm_installer",
      "status": "pending",
      "text": "Run npx lazycodex-ai install."
    },
    {
      "id": "use_lazycodex_adapter",
      "status": "pending",
      "text": "Use lazycodex through Grok custom model, agent/persona, ACP, plug
in, or MCP config surfaces when running grok-build."
    },
    {
      "id": "verify_lazycodex_adapter",
      "status": "pending",
      "text": "Confirm Grok can see lazycodex with grok models, grok inspect --j
son, and plugin commands where applicable."
    }
  ]
}

EXIT:0

