Agent skill

b2c-sites

List and manage storefront sites and cartridge paths on B2C Commerce (SFCC/Demandware) instances with the b2c cli. Always reference when using the CLI to list storefront sites, find site IDs, check site status, view storefront configuration, site settings, channel IDs, or get a site list, or manage the ordered list of active cartridges on a site or Business Manager.

Stars 34
Forks 10

Install this agent skill to your Project

npx add-skill https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/tree/main/skills/b2c-cli/skills/b2c-sites

SKILL.md

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).

Commands

b2c sites list

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

bash
# 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.

bash
# 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):

Flag Short Description
--server -s B2C instance hostname (env: SFCC_SERVER)
--json Output full site data as JSON
--instance Named instance from config
--debug Enable debug logging

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

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

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:

bash
b2c sites list
# then use the ID in other commands
b2c site-import upload --site RefArch ...

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:

bash
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

Expand your agent's capabilities with these related and highly-rated skills.

SalesforceCommerceCloud/b2c-developer-tooling

api-client-development

Creating typed API clients with OpenAPI specs, authentication, and OAuth scopes for SCAPI and similar APIs. Use when adding a new SCAPI client, generating types from an OpenAPI spec, setting up OAuth middleware, or integrating a new Commerce API endpoint.

34 10
Explore
SalesforceCommerceCloud/b2c-developer-tooling

testing

Writing tests for the B2C CLI project using Mocha, Chai, and MSW. Use when writing unit or integration tests, mocking HTTP requests with MSW, testing CLI commands with oclif, isolating config in tests, setting up test coverage, using sinon stubs, c8 coverage, capturing or silencing stdout, or creating MSW handlers.

34 10
Explore
SalesforceCommerceCloud/b2c-developer-tooling

documentation

Updating user guides, CLI reference, and API documentation for the B2C CLI project. Use when adding or changing CLI command docs, writing JSDoc for TypeDoc generation, updating Vitepress sidebar config, or creating new guide pages.

34 10
Explore
SalesforceCommerceCloud/b2c-developer-tooling

cli-command-development

Creating new CLI commands and topics for the B2C CLI using oclif. Use when adding a new command, creating a topic, adding flags or arguments, implementing table output, or extending BaseCommand/OAuthCommand/InstanceCommand.

34 10
Explore
SalesforceCommerceCloud/b2c-developer-tooling

sdk-module-development

Adding new modules and exports to the @salesforce/b2c-tooling-sdk package. Use when creating a new SDK module, adding barrel file exports, configuring package.json exports, or building client factory functions.

34 10
Explore
SalesforceCommerceCloud/b2c-developer-tooling

b2c-code

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.

34 10
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results