Deploy and manage code versions/cartridges on B2C Commerce instances/sandboxes with the b2c cli. Always reference when using the CLI to upload cartridges, deploy code, activate code versions, manage code versions, or watch for file changes during development.
Use the b2c CLI to deploy, download, and manage code versions on Salesforce B2C Commerce instances.
Tip: If
b2cis not installed globally, usenpx @salesforce/b2c-cliinstead (e.g.,npx @salesforce/b2c-cli code deploy).
The CLI auto-discovers the target instance and credentials from SFCC_* environment variables, dw.json in the current or parent directories, ~/.mobify, package.json, and configuration plugins. Flags like --server, --client-id, --client-secret, --username, and --password are usually unnecessary — only pass them to override what's auto-detected.
Run b2c setup inspect to see the resolved configuration and which source provided each value (use --json for scripting, --unmask to reveal secrets). For precedence rules and troubleshooting, see the b2c-cli:b2c-config skill.
# deploy all cartridges from current directory
b2c code deploy
# deploy cartridges from a specific directory
b2c code deploy ./my-cartridges
# deploy to a specific server and code version
b2c code deploy --server my-sandbox.demandware.net --code-version v1
# deploy and reload (re-activate) the code version
b2c code deploy --reload
# delete existing cartridges before upload and reload
b2c code deploy --delete --reload
# deploy only specific cartridges
b2c code deploy -c app_storefront_base -c plugin_applepay
# exclude specific cartridges from deployment
b2c code deploy -x test_cartridge
# download all cartridges from the active code version
b2c code download
# download to a specific directory
b2c code download -o ./downloaded
# download from a specific server and code version
b2c code download --server my-sandbox.demandware.net --code-version v1
# download only specific cartridges
b2c code download -c app_storefront_base -c plugin_applepay
# exclude specific cartridges from download
b2c code download -x test_cartridge
# mirror: extract to local cartridge project locations
b2c code download --mirror
# watch cartridges and upload changes automatically
b2c code watch
# watch a specific directory
b2c code watch ./my-cartridges
# watch with specific server and code version
b2c code watch --server my-sandbox.demandware.net --code-version v1
# watch only specific cartridges
b2c code watch -c app_storefront_base
# watch excluding specific cartridges
b2c code watch -x test_cartridge
# list code versions on the instance
b2c code list
# list with JSON output
b2c code list --json
# activate a code version
b2c code activate <version-name>
# reload (re-activate) the current code version
b2c code activate --reload
Note: Activation is idempotent. If the version is already active, the command succeeds without making a change. If you've uploaded code or changed Custom APIs in the active version, use --reload with deploy or activate to force a refresh and register the endpoints. Check registration status with the b2c-cli:b2c-scapi-custom skill.
# delete a code version
b2c code delete <version-name>
code list, code activate, code delete, and the active-version discovery / activate / reload steps in code deploy run over SCAPI. Configure shortCode, tenantId, and the sfcc.scripts / sfcc.scripts.rw scopes and they work out of the box. Read scope (sfcc.scripts) covers code list / discovery; write scope (sfcc.scripts.rw) covers activate, delete, reload, and the --activate / --reload flags on deploy.
code deploy (file upload itself), code download, and code watch always use WebDAV — only the surrounding code-version operations use SCAPI.
OCAPI is deprecated and disabled on newer instances. --api-backend auto (the default) falls back to the OCAPI Data API on safe SCAPI capability/auth/request rejections; force a backend with --api-backend scapi|ocapi if needed. The --reload flag forces a code cache reload as activate(alternate) + activate(target), using whichever backend the command selected — so it works on OCAPI-disabled instances when SCAPI is configured.
See b2c code --help for a full list of available commands and options in the code topic.
Note:
b2c code deployuploads cartridge code to an instance. To manage which cartridges are active on a site (the cartridge path), see theb2c-cli:b2c-sitesskill for theb2c sites cartridgescommands.
b2c-cli:b2c-sites - Manage site cartridge paths (list, add, remove, set active cartridges)b2c-cli:b2c-scapi-custom - Check Custom API registration status after deploymentb2c-cli:b2c-webdav - Low-level file operations (delete cartridges, list files)b2c:b2c-custom-api-development - Creating Custom API endpointsnpx skills add SalesforceCommerceCloud/b2c-code下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer