mcpField
B
b2c-sites

b2c-sites

github.com/salesforcecommercecloudCloud & DevOps5781 installsUpdated today
Repository

About b2c-sites

b2c-sites is an Agent Skill for using the `b2c` CLI to inspect Salesforce B2C Commerce sites and manage cartridge paths. It supports configuration discovery and machine-readable output for scripting.

Key features

  1. 01List sites and storefront status
  2. 02Inspect site metadata as JSON
  3. 03List and edit cartridge paths
  4. 04Discover CLI configuration sources
  5. 05Fall back to archive import when needed

Use cases

  1. 01Find site IDs for other commands
  2. 02Check whether storefronts are online
  3. 03Extract site metadata in automation

MCP support

This is an Agent Skill for guiding use of the `b2c` CLI; the input does not describe MCP server connectivity or management.

Install

Copy the command and run it in a terminal.

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

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

Bundled filesevals/trigger-evals.json

Details

From the project README

B2C Sites Skill

Use the b2c CLI plugin to list and manage storefront sites on Salesforce B2C Commerce instances.

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

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, and --client-secret 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.

Commands

b2c sites list

Lists all sites on a B2C Commerce instance, showing site ID, display name, and storefront status.

# list all sites on the configured instance
b2c sites list

# list sites on a specific server
b2c sites list --server my-sandbox.demandware.net

# list sites with JSON output (useful for parsing/automation)
b2c sites list --json

# use a specific instance from config
b2c sites list --instance production

# enable debug logging
b2c sites list --debug
Cartridge Path Management

Manage the ordered list of active cartridges on a site. The singular alias sites cartridge also works.

# list the cartridge path for a storefront site
b2c sites cartridges list --site-id RefArch

# list the Business Manager cartridge path
b2c sites cartridges list --bm

# add a cartridge to the beginning of a site's path (default)
b2c sites cartridges add plugin_applepay --site-id RefArch

# add a cartridge to the end
b2c sites cartridges add plugin_applepay --site-id RefArch --position last

# add a cartridge after a specific cartridge
b2c sites cartridges add plugin_applepay --site-id RefArch --position after --target app_storefront_base

# add a cartridge to Business Manager
b2c sites cartridges add bm_extension --bm --position first

# remove a cartridge from a site
b2c sites cartridges remove old_cartridge --site-id RefArch

# replace the entire cartridge path
b2c sites cartridges set "app_storefront_base:plugin_applepay:plugin_wishlists" --site-id RefArch

# JSON output for automation
b2c sites cartridges list --site-id RefArch --json

When OCAPI direct permissions for /sites/*/cartridges are unavailable, cartridge commands automatically fall back to site archive import/export. Business Manager (--bm) updates always use site archive import.

Key flags (inherited from InstanceCommand):

FlagShortDescription
--server-sB2C instance hostname (env: SFCC_SERVER)
--jsonOutput full site data as JSON
--instanceNamed instance from config
--debugEnable debug logging

Output columns: ID, Display Name, Status (storefront_status).

JSON output returns the full site objects including all properties (useful for extracting channel IDs, custom preferences, and other site metadata not shown in the table).

Site reads and cartridge-path writes run over SCAPI (the site/sites API) when shortCode, tenantId, and the sfcc.sites / sfcc.sites.rw scopes are configured. auto temporarily falls back to deprecated OCAPI on safe SCAPI rejections, and writes can fall back again to site archive import when direct APIs are unavailable.

Common Use Cases

Finding site IDs for other commands: Many commands (e.g., site import/export) require a site ID. Use sites list to discover valid IDs:

b2c sites list
# then use the ID in other commands
b2c job export --site RefArch --site-data content,site_preferences

Checking site status: The status column shows the storefront status (online/offline) for each site, useful for verifying deployment state.

Scripting and automation: Use --json to get machine-readable output for CI/CD pipelines:

b2c sites list --json | jq '.data[].id'

Related Skills

  • b2c-config -- configure instances, credentials, and debug connection issues
  • b2c-site-import-export -- import/export site archives and metadata XML

Comments

Markdown supported