Install AI Tools

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

Claude

Using Claude Desktop? See Claude Desktop (Cowork) setup.

Install the plugin Recommended

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

Start a new Claude Code session. To install for the current project only, run it from your project directory with --scope project.

Manual MCP setup
bash
claude mcp add --transport stdio --scope user b2c-dx-mcp -- npx -y @salesforce/b2c-dx-mcp@latest

Start a new session. To configure the current project only, run it from your project directory with --scope project. See Claude Code MCP setup.

Codex/ChatGPT

Using the ChatGPT desktop app (ChatGPT Work)? See ChatGPT Work setup.

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. Codex plugins also work in ChatGPT Work.

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.

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

Run:

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

Start a new Gemini CLI session. To configure the current project only, run it from your project directory with --scope project. See Gemini CLI MCP setup.

No separate skills plugins needed.

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

@salesforce/b2c-tooling-sdk / operations/jobs / SiteArchiveImportSetOptions

Interface: SiteArchiveImportSetOptions ​

Defined in: packages/b2c-tooling-sdk/src/operations/jobs/import-set.ts:140

Options for siteArchiveImportSet.

Properties ​

breakLock? ​

optional breakLock: boolean

Defined in: packages/b2c-tooling-sdk/src/operations/jobs/import-set.ts:162

Immediately remove an existing lock before attempting to acquire it.


cartridgeRoot? ​

optional cartridgeRoot: string

Defined in: packages/b2c-tooling-sdk/src/operations/jobs/import-set.ts:150

Root directory used to discover cartridges. Defaults to the current working directory.


dryRun? ​

optional dryRun: boolean

Defined in: packages/b2c-tooling-sdk/src/operations/jobs/import-set.ts:144

Plan imports without creating state, locking, importing, or writing receipts.


excludeDirectories? ​

optional excludeDirectories: string[]

Defined in: packages/b2c-tooling-sdk/src/operations/jobs/import-set.ts:152

Directory paths to exclude recursively, resolved relative to cartridgeRoot.


heartbeatIntervalSeconds? ​

optional heartbeatIntervalSeconds: number

Defined in: packages/b2c-tooling-sdk/src/operations/jobs/import-set.ts:160

Lock heartbeat interval. Defaults to 30 seconds.


importArchive()? ​

optional importArchive: (instance, target, options) => Promise<SiteArchiveImportResult>

Defined in: packages/b2c-tooling-sdk/src/operations/jobs/import-set.ts:173

Archive importer override. Defaults to siteArchiveImport. Useful when embedding the operation with a custom import policy.

Parameters ​

instance ​

B2CInstance

target ​

string

options ​

SiteArchiveImportOptions

Returns ​

Promise<SiteArchiveImportResult>


includeCartridgeMetadata? ​

optional includeCartridgeMetadata: boolean

Defined in: packages/b2c-tooling-sdk/src/operations/jobs/import-set.ts:148

Include items from metadata/ directories in discovered cartridges. Defaults to true.


keepArchive? ​

optional keepArchive: boolean

Defined in: packages/b2c-tooling-sdk/src/operations/jobs/import-set.ts:146

Keep uploaded archives in Impex/src/instance after each import.


lockPollIntervalSeconds? ​

optional lockPollIntervalSeconds: number

Defined in: packages/b2c-tooling-sdk/src/operations/jobs/import-set.ts:158

Poll interval while another runner owns the set lock. Defaults to 3 seconds.


onEvent()? ​

optional onEvent: (event) => void

Defined in: packages/b2c-tooling-sdk/src/operations/jobs/import-set.ts:168

Receives planning, locking, and item progress events. The operation itself does not log or write output.

Parameters ​

event ​

ImportSetEvent

Returns ​

void


owner? ​

optional owner: string

Defined in: packages/b2c-tooling-sdk/src/operations/jobs/import-set.ts:164

Optional owner label stored in lock metadata.


setId? ​

optional setId: string

Defined in: packages/b2c-tooling-sdk/src/operations/jobs/import-set.ts:142

Stable receipt and lock namespace. Defaults to migrations.


sleep()? ​

optional sleep: (milliseconds) => Promise<void>

Defined in: packages/b2c-tooling-sdk/src/operations/jobs/import-set.ts:179

Sleep implementation used while polling for a lock.

Parameters ​

milliseconds ​

number

Returns ​

Promise<void>


staleLockSeconds? ​

optional staleLockSeconds: number

Defined in: packages/b2c-tooling-sdk/src/operations/jobs/import-set.ts:156

Age after which a lock heartbeat is considered stale. Defaults to 1800 seconds.


stateRoot? ​

optional stateRoot: string

Defined in: packages/b2c-tooling-sdk/src/operations/jobs/import-set.ts:154

WebDAV state root. Defaults to Impex/b2c-cli/import-sets.


waitOptions? ​

optional waitOptions: WaitForJobOptions

Defined in: packages/b2c-tooling-sdk/src/operations/jobs/import-set.ts:166

Wait options forwarded to each site archive import.