fix(setup, init): skip unavailable clients in setup mcp --agent all and only offer downloadable templates

Merged
ER
15h ago
+333-160

Summary

  • firecrawl setup mcp --agent all no longer stops at the first client that cannot be configured. Clients whose command is not on PATH (OpenClaw, or Codex when the API key comes from the environment) and clients without a verified environment-variable syntax for the API key are skipped with a reason. The command prints a configured / skipped / failed summary and exits non-zero only when a client it attempted fails.
  • --agent all now also covers Gemini CLI, Windsurf, and Antigravity, matching the coding-agent quickstarts on docs.firecrawl.dev (Amp is not included because the underlying config writer does not support it). Gemini CLI and Windsurf get environment-variable auth headers (${FIRECRAWL_API_KEY} and ${env:FIRECRAWL_API_KEY}, per each client's documented config interpolation).
  • firecrawl init <template> only lists templates that can be downloaded anonymously. The templates hosted in firecrawl/cli-templates and firecrawl/browser-ai-sdk returned 404, so they are removed; open-lovable remains. Asking for a removed template reports "Unknown template" with the available list instead of a GitHub 404.
  • README documents the --agent all client set; version bumped to 1.26.13 (main is already at the published 1.26.12).

Testing

  • New unit tests for skipping missing clients, skipping clients without an environment binding, continuing past a failed client, and the template list.
  • Manually on a clean HOME: setup mcp --agent all --global exits 0 with OpenClaw skipped (keyless and with FIRECRAWL_API_KEY exported); a failing openclaw exits 1 with the other clients still configured; init open-lovable succeeds and init scrape-basic lists available templates.
  • pnpm test, pnpm type-check, pnpm format:check, pnpm build.

Found by Wildfire, Firecrawl's integration testing: the cli-setup-mcp and cli-templates checks were failing against the published CLI.