[
  {
    "id": "opencode",
    "name": "OpenCode",
    "tagline": "Terminal-first coding agent with 75+ providers",
    "description": "OpenCode is an MIT-licensed terminal AI coding agent with a desktop app and IDE extension. It supports 75+ LLM providers through Models.dev, local models, and hot-swapping between providers without restarting your session. OpenCode Go ($10/month) and Go Plus ($40/month) are optional subscriptions that bundle a curated 30-model line-up, including DeepSeek V4.1 Flash, behind one API key.",
    "switch_steps": [
      {
        "step": 1,
        "title": "Install OpenCode",
        "command": "curl -fsSL https://opencode.ai/install | bash",
        "comment": "Or use `npm install -g opencode-ai`. Verify with `opencode --version`."
      },
      {
        "step": 2,
        "title": "Authenticate DeepSeek",
        "command": "opencode auth login",
        "comment": "Choose DeepSeek and paste your API key. The credential is stored locally, not in the repo."
      },
      {
        "step": 3,
        "title": "Start a session on DeepSeek V4.1 Flash",
        "command": "opencode -m deepseek/deepseek-v4.1-flash",
        "comment": "Inside the TUI, type /models to switch interactively. The model id format is provider/model."
      },
      {
        "step": 4,
        "title": "Make the choice permanent",
        "command": "printf '{\\n  \"$schema\": \"https://opencode.ai/config.json\",\\n  \"model\": \"deepseek/deepseek-v4.1-flash\"\\n}\\n' > opencode.json",
        "comment": "Commit opencode.json to the project so every teammate starts on the same model."
      }
    ],
    "deepseek_peak_impact": "DeepSeek peak rates apply on weekdays from 01:00-04:00 and 06:00-10:00 UTC. V4.1 Flash costs $0.30/M input and $1.20/M output at peak, versus $0.15/M and $0.60/M off-peak. A 5M-input / 500K-output coding day costs $1.80 at peak and $1.05 off-peak. Weekends are entirely off-peak.",
    "source": "https://opencode.ai/docs/models/",
    "source_date": "2026-10-24"
  },
  {
    "id": "command-code",
    "name": "Command Code",
    "tagline": "Agent that learns your coding taste, with model switching built in",
    "description": "Command Code is a terminal coding agent focused on open models and per-project 'taste' learning. It exposes every supported model through one CLI, with per-model credit allowances and zero-markup pay-as-you-go top-ups.",
    "switch_steps": [
      {
        "step": 1,
        "title": "Install the CLI",
        "command": "npm i -g command-code@latest",
        "comment": "Requires Node.js 22 or newer. The binary is available as both `command-code` and `cmd`."
      },
      {
        "step": 2,
        "title": "Log in and trust the project",
        "command": "cmd login && cd your-project && cmd --trust",
        "comment": "The first run in a project asks whether you trust the folder; --trust skips the prompt."
      },
      {
        "step": 3,
        "title": "Switch model for one session",
        "command": "cmd -m deepseek-v4.1-flash",
        "comment": "Run `cmd --list-models` to see the live model catalog. Inside the TUI, use /model."
      },
      {
        "step": 4,
        "title": "Check your allowance",
        "command": "cmd status",
        "comment": "Shows plan, credit balance and the rolling 5-hour and weekly limits."
      }
    ],
    "deepseek_peak_impact": "Command Code passes DeepSeek API pricing through at cost. V4.1 Flash is $0.15/M input and $0.60/M output off-peak, doubling to $0.30/M and $1.20/M during the two weekday peak windows. Because the CLI sends repository context on every tool turn, the off-peak discount matters most for long refactors.",
    "source": "https://commandcode.ai/docs/quickstart",
    "source_date": "2026-10-17"
  },
  {
    "id": "pi",
    "name": "Pi",
    "tagline": "Minimal, hackable agent harness from Earendil",
    "description": "Pi is an MIT-licensed minimal coding-agent harness. It ships four modes (interactive, print/JSON, RPC, SDK), supports 15+ providers, and is designed to be extended with TypeScript packages rather than configured through a large feature matrix.",
    "switch_steps": [
      {
        "step": 1,
        "title": "Install Pi",
        "command": "npm install -g --ignore-scripts @earendil-works/pi-coding-agent",
        "comment": "Also available via `curl -fsSL https://pi.dev/install.sh | sh`, pnpm or bun."
      },
      {
        "step": 2,
        "title": "Start Pi in your repo",
        "command": "cd your-project && pi",
        "comment": "Authenticate with an API key or OAuth when prompted. Pi reads AGENTS.md at startup."
      },
      {
        "step": 3,
        "title": "Switch model mid-session",
        "command": "/model",
        "comment": "Or press Ctrl+L. Use Ctrl+P to cycle through your favourite models."
      },
      {
        "step": 4,
        "title": "Run headless in CI",
        "command": "pi -p \"run the test suite and fix the first failure\" --mode json",
        "comment": "Print mode is designed for scripts and CI; JSON mode emits an event stream."
      }
    ],
    "deepseek_peak_impact": "Pi's minimal system prompt keeps context smaller than most harnesses, but long test loops still add up. DeepSeek V4.1 Flash costs $0.15/M input and $0.60/M output off-peak, and double that during weekday peak windows. Schedule overnight batch runs after 10:00 UTC to stay off-peak every weekday.",
    "source": "https://pi.dev/",
    "source_date": "2026-10-17"
  },
  {
    "id": "openrouter",
    "name": "OpenRouter",
    "tagline": "One API key, 400+ models, automatic provider routing",
    "description": "OpenRouter exposes a single OpenAI-compatible endpoint with per-model pricing, provider routing, fallbacks and usage accounting. It is the simplest way to compare models without opening accounts with every lab.",
    "switch_steps": [
      {
        "step": 1,
        "title": "Point any OpenAI-compatible client at OpenRouter",
        "command": "export OPENAI_BASE_URL=\"https://openrouter.ai/api/v1\"\nexport OPENAI_API_KEY=\"sk-or-v1-...\"",
        "comment": "Works with the OpenAI SDK, LangChain, OpenCode, Pi and most agent frameworks."
      },
      {
        "step": 2,
        "title": "Pick a current DeepSeek model",
        "command": "export OPENAI_MODEL=\"deepseek/deepseek-v4.1-flash\"",
        "comment": "Use the exact OpenRouter model slug. Model pages list live context and pricing."
      },
      {
        "step": 3,
        "title": "Route directly to DeepSeek",
        "command": "curl https://openrouter.ai/api/v1/chat/completions \\\n  -H \"Authorization: Bearer $OPENAI_API_KEY\" \\\n  -H \"HTTP-Referer: https://codingplans.dev\" \\\n  -H \"X-Title: codingplans\" \\\n  -d '{\"model\":\"deepseek/deepseek-v4.1-flash\",\"provider\":{\"order\":[\"DeepSeek\"]}}'",
        "comment": "Provider routing is a preference, not a guarantee; OpenRouter falls back if the preferred provider is unavailable."
      }
    ],
    "deepseek_peak_impact": "OpenRouter passes DeepSeek's peak and off-peak prices through. Off-peak V4.1 Flash is $0.15/M input and $0.60/M output; weekday peak windows double those rates. For predictable budgets, set a provider allowlist and a max price in the request, or route batch jobs to an open-weight model with flat pricing.",
    "source": "https://openrouter.ai/docs/quickstart",
    "source_date": "2026-10-17"
  }
]
