Agent Skills: B2C Code Skill

Deploy, download, and manage cartridge code versions on B2C Commerce instances. Use this skill whenever the user needs to upload or download cartridges to/from a sandbox, activate or delete code versions, watch for local file changes during development, or deploy a subset of cartridges. Also use when pushing code to an instance, pulling code from an instance, or setting up a dev workflow with live reload -- even if they just say 'push my code to the sandbox', 'download the code', or 'how do I activate the new version'.

UncategorizedID: salesforcecommercecloud/b2c-developer-tooling/b2c-code

Install this agent skill to your local

pnpm dlx add-skill https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/tree/HEAD/skills/b2c-cli/skills/b2c-code

Skill Files

Browse the full folder contents for b2c-code.

Download Skill

Loading file tree…

skills/b2c-cli/skills/b2c-code/SKILL.md

Skill Metadata

Name
b2c-code
Description
Deploy, download, and manage cartridge code versions on B2C Commerce instances. Use this skill whenever the user needs to upload or download cartridges to/from a sandbox, activate or delete code versions, watch for local file changes during development, or deploy a subset of cartridges. Also use when pushing code to an instance, pulling code from an instance, or setting up a dev workflow with live reload -- even if they just say 'push my code to the sandbox', 'download the code', or 'how do I activate the new version'.

B2C Code Skill

Use the b2c CLI to deploy, download, and manage code versions on Salesforce B2C Commerce instances.

Tip: If b2c is not installed globally, use npx @salesforce/b2c-cli instead (e.g., npx @salesforce/b2c-cli code deploy).

MCP equivalent

Prefer cartridge_deploy for cartridge upload. Set codeVersion explicitly when needed; files selects up to 100 local files (64 MiB total), relative to projectDirectory, within discovered cartridges. Omit files for whole cartridges. Matching remote files are overwritten; selected-file mode preserves other files. reload may activate the target; keep upload success/warnings if reload fails. Code mode builtin/code-version-inspect reads active/rollback and activation metadata; builtin/site-cartridge-inspect reads site cartridge order and checks expected names. SCAPI dx/scripts/v1 provides version management; site/sites/v1 manages site paths. Use the CLI for watches, recursive downloads, and extra deployment flags.

Configuration & Authentication

The CLI auto-discovers the target instance and credentials from SFCC_* environment variables (including project .env), the selected project-local or shared dw.json, and configuration plugins. package.json supplies only non-sensitive defaults. 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; secrets stay masked by default). For precedence rules and troubleshooting, see the b2c-cli:b2c-config skill.

Examples

Deploy Cartridges

# 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 Cartridges

# 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 for Changes

# 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

# list code versions on the instance
b2c code list

# list with JSON output
b2c code list --json

Activate Code Version

# 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 Code Version

# delete a code version
b2c code delete <version-name>

API Backend

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.

More Commands

See b2c code --help for a full list of available commands and options in the code topic.

Note: b2c code deploy uploads cartridge code to an instance. To manage which cartridges are active on a site (the cartridge path), see the b2c-cli:b2c-sites skill for the b2c sites cartridges commands.

Related Skills

  • 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 deployment
  • b2c-cli:b2c-webdav - Low-level file operations (delete cartridges, list files)
  • b2c:b2c-custom-api-development - Creating Custom API endpoints