mcpField
B
b2c-code

b2c-code

github.com/salesforcecommercecloudCloud & DevOps5781 installsUpdated today
Repository

About b2c-code

b2c-code is a skill for deploying, downloading, and managing code versions on Salesforce B2C Commerce with the `b2c` CLI. It covers cartridge transfers, automatic upload on file changes, version activation, and version listing.

Key features

  1. 01Deploy and download cartridges
  2. 02Watch for changes and upload
  3. 03List, activate, and delete code versions
  4. 04Inspect resolved configuration

Use cases

  1. 01Deploy cartridge code to an instance
  2. 02Download active-version cartridges
  3. 03Upload edits as files change
  4. 04Activate or remove a code version

MCP support

The skill documents MCP equivalents for cartridge deployment and code-version or site-cartridge inspection. It also distinguishes MCP operations from CLI tasks such as watching files and recursive downloads.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/salesforcecommercecloud/b2c-developer-tooling --skill b2c-code

After installing, type/b2c-codein Claude Code to confirm it loaded.

Bundled filesevals/trigger-evals.json

Details

From the project README

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.

With only a server configured, the first command opens a browser for the user to sign in with their Account Manager account and waits until they do; tell the user to finish signing in. Their Business Manager roles decide access, and a 403 names the missing permission (for example WebDAV_Manage_Customization for Cartridges). Code goes to the active code version; activating one (code activate, --activate, --reload) needs an API client.

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

Comments

Markdown supported