Requirements
CLI (@sfdt/cli)
Required
| Tool | Version | Why |
|---|---|---|
| Node.js | ≥ 22.15.0 | Uses the built-in node:sqlite module (unflagged in Node 22.15) for the pull cache. |
Salesforce CLI (sf) | 2.x+ | Performs all Salesforce operations; must be authenticated to your target orgs. |
| bash | 4.0+ | Several core scripts are Bash. macOS ships bash 3 — install a newer one with brew install bash. |
| jq | 1.6+ | Required by several shell scripts. |
Optional
| Tool | Enables |
|---|---|
| Claude Code CLI | AI features with the default claude provider. |
| Gemini CLI | AI features with the gemini provider. |
| Codex CLI | AI features with the openai provider. |
GitHub CLI (gh) | PR creation during deployments. |
AI is never required. With AI disabled (features.ai: false), commands still run and
sfdt explain falls back to heuristics. See CLI → AI providers.
Chrome extension (@sfdt/extension)
- Google Chrome (or a Chromium-based browser: Edge, Brave, Chromium, Vivaldi) with Manifest V3 support.
- A logged-in Salesforce session (Lightning or Classic). The extension reads metadata via the Tooling/REST API using your existing session.
- Optional — the CLI running
sfdt uito unlock bridge features (deploy, rollback, quality scoring, AI). Without it, the 25+ standalone features still work. - Optional — the native-messaging host (
sfdt extension install-host) if you can’t keepsfdt uirunning.
VS Code extension (@sfdt/vscode)
- VS Code
^1.80.0or newer. @sfdt/cliinstalled and on yourPATH(or pointsfdt.cliPathat it). The extension is a thin UI — all work is done by the CLI.- A workspace folder that has been initialized with
sfdt init(sologs/snapshots and.sfdt/config exist). - Optional — a configured default org, set via the
SFDT: Set Default Orgcommand or thesfdt.defaultOrgsetting.
Supported platforms
The CLI and extensions run on macOS and Linux today. Windows support for the CLI is on the roadmap (the native host already ships a Windows manifest). For Windows CI, use the Docker image.
Last updated on