Install AI Tools

B2C Commerce tools, documentation, and skills for your assistant.

Claude

Install the plugin Recommended

bash
claude plugin marketplace add SalesforceCommerceCloud/b2c-developer-tooling
claude plugin install b2c-dx-mcp@b2c-developer-tooling --scope project

Start a new Claude Code session in your project. Use --scope user instead for all projects.

Manual MCP setup

From your project directory:

bash
claude mcp add --transport stdio --scope project b2c-dx-mcp -- npx -y @salesforce/b2c-dx-mcp@latest

Start a new session. Use --scope user instead for all projects. See Claude Code MCP setup.

Claude Desktop setup

Codex

Install the plugin Recommended

bash
codex plugin marketplace add SalesforceCommerceCloud/b2c-developer-tooling
codex plugin add b2c-dx-mcp@b2c-developer-tooling

Start a new Codex session in your project. This setup also works with the Codex IDE extension and the ChatGPT Work desktop app.

Manual MCP setup
bash
codex mcp add b2c-dx-mcp -- npx -y @salesforce/b2c-dx-mcp@latest

Or add this to ~/.codex/config.toml (or $CODEX_HOME/config.toml if customized):

toml
[mcp_servers.b2c-dx-mcp]
command = "npx"
args = ["-y", "@salesforce/b2c-dx-mcp@latest"]

Start a new session. See Codex MCP configuration.

ChatGPT online setup

VS Code

Install the plugin Recommended

  1. Open the Command Palette (Cmd/Ctrl+Shift+P) and run Chat: Install Plugin from Source.
  2. Enter SalesforceCommerceCloud/b2c-developer-tooling.
  3. Select b2c-dx-mcp and follow the installation prompts.
  4. Start a new chat in GitHub Copilot.
Manual MCP setup

Add this to .vscode/mcp.json in your workspace:

json
{
  "servers": {
    "b2c-dx-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@salesforce/b2c-dx-mcp@latest"]
    }
  }
}

See VS Code MCP setup.

Copilot CLI setup

Cursor

Reload the MCP server in Cursor after installation.

Manual MCP setup

Add this to .cursor/mcp.json in your project:

json
{
  "mcpServers": {
    "b2c-dx-mcp": {
      "command": "npx",
      "args": ["-y", "@salesforce/b2c-dx-mcp@latest"]
    }
  }
}

For all projects, use ~/.cursor/mcp.json instead.

See Cursor's MCP documentation.

OpenCode

Add this to opencode.json in your project:

json
{
  "mcp": {
    "b2c-dx-mcp": {
      "type": "local",
      "command": ["npx", "-y", "@salesforce/b2c-dx-mcp@latest"],
      "enabled": true
    }
  }
}

Restart OpenCode. For all projects, use ~/.config/opencode/opencode.json. See OpenCode MCP setup.

Gemini

From your project directory, run:

bash
gemini mcp add --scope project b2c-dx-mcp -- npx -y @salesforce/b2c-dx-mcp@latest

Start a new Gemini CLI session. Use --scope user instead for all projects. See Gemini CLI MCP setup.

No separate skills plugins needed.

Other clients and manual setup →
Skip to content
View as Markdown
View as Markdown

Logging

The CLI uses pino for structured logging with pretty-printed output by default.

Output Modes

Pretty Print (Default)

Human-readable output with colors, suitable for interactive terminal use:

[18:31:58] INFO: Deploying cartridges...
[18:31:59] INFO: Upload complete

JSON Lines (--jsonl)

Machine-readable output for scripting, CI/CD pipelines, and log aggregation:

bash
b2c code deploy --jsonl
json
{"level":"info","time":1764113529411,"command":"code deploy","msg":"Deploying cartridges..."}
{"level":"info","time":1764113529412,"command":"code deploy","msg":"Upload complete"}

Log Levels

Control verbosity with --log-level or -D for debug:

LevelDescription
traceMaximum verbosity
debugDetailed operational info
infoNormal messages (default)
warnWarnings
errorErrors only
silentNo output
bash
b2c code deploy --log-level debug
b2c code deploy -D  # shorthand for --log-level debug

In debug/trace mode, context objects are displayed:

[18:31:58] INFO: Upload complete
    command: "code deploy"
    file: "cartridge.zip"
    bytes: 45678
    duration: 1234

Flags

FlagEnvironment VariableDescription
--log-levelSFCC_LOG_LEVELSet log verbosity
-D, --debugSFCC_DEBUGEnable debug logging
--jsonl, --json-logsSFCC_JSON_LOGSOutput log messages as JSON lines
--jsonOutput command result as JSON

Environment Variables

VariableDescription
SFCC_LOG_LEVELLog level (trace, debug, info, warn, error, silent)
SFCC_DEBUGEnable debug logging
SFCC_LOG_TO_STDOUTSend logs to stdout instead of stderr
SFCC_REDACT_SECRETSSet to false to disable secret redaction
NO_COLORIndustry standard to disable colors
DEBUGSet to oclif* for CLI framework debug logs

CLI Framework Debugging

For low-level debugging of the CLI parser and command loading, use the oclif debug flag:

bash
DEBUG=oclif* b2c code deploy

This outputs internal oclif framework logs, useful for troubleshooting command resolution, plugin loading, and argument parsing issues.

Output Streams

By default, logs go to stderr so that command output (data, IDs, etc.) can be piped cleanly:

bash
# Logs go to stderr, JSON output goes to stdout
b2c sites list --json 2>/dev/null | jq '.sites[0].id'

To send logs to stdout instead:

bash
SFCC_LOG_TO_STDOUT=1 b2c code deploy

Secret Redaction

Sensitive fields are automatically redacted from log output:

  • password, secret, token
  • client_secret, access_token, refresh_token
  • api_key, authorization
[18:31:58] INFO: Authenticating
    client_id: "my-client"
    client_secret: "[REDACTED]"

To disable redaction (for debugging):

bash
SFCC_REDACT_SECRETS=false b2c code deploy --debug

CI/CD Usage

For CI/CD pipelines, use JSON lines log output and disable colors:

bash
NO_COLOR=1 b2c code deploy --jsonl 2>&1 | tee deploy.log

Or explicitly set the log level:

bash
SFCC_LOG_LEVEL=info b2c code deploy --jsonl