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 / cli / WebDavCommand

Abstract Class: WebDavCommand<T> ​

Defined in: packages/b2c-tooling-sdk/src/cli/webdav-command.ts:60

Base command for WebDAV file operations.

Extends InstanceCommand with a --root flag to specify the WebDAV directory root for operations. Provides helper methods for building paths relative to the selected root.

Example ​

typescript
export default class MyWebDavCommand extends WebDavCommand<typeof MyWebDavCommand> {
  static args = {
    path: Args.string({ required: true, description: 'Remote path' }),
  };

  async run(): Promise<void> {
    const fullPath = this.buildPath(this.args.path);
    // fullPath = "Impex/src/data/file.xml" when --root=impex path=src/data/file.xml
    const entries = await this.instance.webdav.propfind(fullPath);
  }
}

Extends ​

Type Parameters ​

T ​

T extends typeof Command

Constructors ​

Constructor ​

new WebDavCommand<T>(argv, config): WebDavCommand<T>

Defined in: packages/b2c-tooling-sdk/src/cli/oauth-command.ts:52

Parameters ​

argv ​

string[]

config ​

Config

Returns ​

WebDavCommand<T>

Inherited from ​

InstanceCommand.constructor

Properties ​

argv ​

argv: string[]

Defined in: node_modules/@oclif/core/lib/command.d.ts:12

Inherited from ​

InstanceCommand.argv


config ​

config: Config

Defined in: node_modules/@oclif/core/lib/command.d.ts:13

Inherited from ​

InstanceCommand.config


id ​

id: string | undefined

Defined in: node_modules/@oclif/core/lib/command.d.ts:75

Inherited from ​

InstanceCommand.id


parsed ​

parsed: boolean

Defined in: node_modules/@oclif/core/lib/command.d.ts:76

Inherited from ​

InstanceCommand.parsed


aliases ​

static aliases: string[]

Defined in: node_modules/@oclif/core/lib/command.d.ts:16

An array of aliases for this command.

Inherited from ​

InstanceCommand.aliases


args ​

static args: ArgInput

Defined in: node_modules/@oclif/core/lib/command.d.ts:18

An order-dependent object of arguments for the command

Inherited from ​

InstanceCommand.args


baseFlags ​

static baseFlags: object

Defined in: packages/b2c-tooling-sdk/src/cli/webdav-command.ts:61

account-manager-host ​

account-manager-host: OptionFlag<string, CustomOptions>

api-backend ​

api-backend: OptionFlag<"ocapi" | "scapi" | "auto" | undefined, CustomOptions>

auth-methods ​

auth-methods: OptionFlag<string[], CustomOptions>

auth-scope ​

auth-scope: OptionFlag<string[], CustomOptions>

certificate ​

certificate: OptionFlag<string | undefined, CustomOptions>

client-auth-method ​

client-auth-method: OptionFlag<"basic" | "basic-unencoded" | "body" | undefined, CustomOptions>

client-id ​

client-id: OptionFlag<string, CustomOptions>

client-secret ​

client-secret: OptionFlag<string, CustomOptions>

code-version ​

code-version: OptionFlag<string | undefined, CustomOptions>

config ​

config: OptionFlag<string | undefined, CustomOptions>

debug ​

debug: BooleanFlag<boolean>

dotenv-file ​

dotenv-file: OptionFlag<string | undefined, CustomOptions>

extra-body ​

extra-body: OptionFlag<string | undefined, CustomOptions>

extra-headers ​

extra-headers: OptionFlag<string | undefined, CustomOptions>

extra-query ​

extra-query: OptionFlag<string | undefined, CustomOptions>

instance ​

instance: OptionFlag<string | undefined, CustomOptions>

json ​

json: BooleanFlag<boolean>

jsonl ​

jsonl: BooleanFlag<boolean>

jwt-cert ​

jwt-cert: OptionFlag<string | undefined, CustomOptions>

jwt-key ​

jwt-key: OptionFlag<string | undefined, CustomOptions>

jwt-passphrase ​

jwt-passphrase: OptionFlag<string | undefined, CustomOptions>

lang ​

lang: OptionFlag<string | undefined, CustomOptions>

log-level ​

log-level: OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, CustomOptions>

passphrase ​

passphrase: OptionFlag<string | undefined, CustomOptions>

password ​

password: OptionFlag<string | undefined, CustomOptions>

project-directory ​

project-directory: OptionFlag<string, CustomOptions>

root ​

root: OptionFlag<string, CustomOptions>

scapi-base-url ​

scapi-base-url: OptionFlag<string | undefined, CustomOptions>

selfsigned ​

selfsigned: BooleanFlag<boolean>

selfsigned-api ​

selfsigned-api: BooleanFlag<boolean>

server ​

server: OptionFlag<string | undefined, CustomOptions>

short-code ​

short-code: OptionFlag<string, CustomOptions>

tenant-id ​

tenant-id: OptionFlag<string | undefined, CustomOptions>

user-auth ​

user-auth: BooleanFlag<boolean>

username ​

username: OptionFlag<string | undefined, CustomOptions>

verify ​

verify: BooleanFlag<boolean>

webdav-server ​

webdav-server: OptionFlag<string | undefined, CustomOptions>

Overrides ​

InstanceCommand.baseFlags


deprecateAliases? ​

static optional deprecateAliases: boolean

Defined in: node_modules/@oclif/core/lib/command.d.ts:23

Emit deprecation warning when a command alias is used

Inherited from ​

InstanceCommand.deprecateAliases


deprecationOptions? ​

static optional deprecationOptions: Deprecation

Defined in: node_modules/@oclif/core/lib/command.d.ts:24

Inherited from ​

InstanceCommand.deprecationOptions


description ​

static description: string | undefined

Defined in: node_modules/@oclif/core/lib/command.d.ts:30

A full description of how to use the command.

If no summary, the first line of the description will be used as the summary.

Inherited from ​

InstanceCommand.description


enableJsonFlag ​

static enableJsonFlag: boolean

Defined in: node_modules/@oclif/core/lib/command.d.ts:31

Inherited from ​

InstanceCommand.enableJsonFlag


examples ​

static examples: Example[]

Defined in: node_modules/@oclif/core/lib/command.d.ts:46

An array of examples to show at the end of the command's help.

IF only a string is provided, it will try to look for a line that starts with the cmd.bin as the example command and the rest as the description. If found, the command will be formatted appropriately.

EXAMPLES:
  A description of a particular use case.

    $ <%= config.bin => command flags

Inherited from ​

InstanceCommand.examples


flags ​

static flags: FlagInput

Defined in: node_modules/@oclif/core/lib/command.d.ts:48

A hash of flags for the command

Inherited from ​

InstanceCommand.flags


hasDynamicHelp ​

static hasDynamicHelp: boolean

Defined in: node_modules/@oclif/core/lib/command.d.ts:49

Inherited from ​

InstanceCommand.hasDynamicHelp


help ​

static help: string | undefined

Defined in: node_modules/@oclif/core/lib/command.d.ts:50

Inherited from ​

InstanceCommand.help


hidden ​

static hidden: boolean

Defined in: node_modules/@oclif/core/lib/command.d.ts:52

Hide the command from help

Inherited from ​

InstanceCommand.hidden


hiddenAliases ​

static hiddenAliases: string[]

Defined in: node_modules/@oclif/core/lib/command.d.ts:54

An array of aliases for this command that are hidden from help.

Inherited from ​

InstanceCommand.hiddenAliases


id ​

static id: string

Defined in: node_modules/@oclif/core/lib/command.d.ts:56

A command ID, used mostly in error or verbose reporting.

Inherited from ​

InstanceCommand.id


plugin ​

static plugin: Plugin | undefined

Defined in: node_modules/@oclif/core/lib/command.d.ts:57

Inherited from ​

InstanceCommand.plugin


pluginAlias? ​

readonly static optional pluginAlias: string

Defined in: node_modules/@oclif/core/lib/command.d.ts:58

Inherited from ​

InstanceCommand.pluginAlias


pluginName? ​

readonly static optional pluginName: string

Defined in: node_modules/@oclif/core/lib/command.d.ts:59

Inherited from ​

InstanceCommand.pluginName


pluginType? ​

readonly static optional pluginType: string

Defined in: node_modules/@oclif/core/lib/command.d.ts:60

Inherited from ​

InstanceCommand.pluginType


state? ​

static optional state: string

Defined in: node_modules/@oclif/core/lib/command.d.ts:62

Mark the command as a given state (e.g. beta or deprecated) in help

Inherited from ​

InstanceCommand.state


strict ​

static strict: boolean

Defined in: node_modules/@oclif/core/lib/command.d.ts:64

When set to false, allows a variable amount of arguments

Inherited from ​

InstanceCommand.strict


summary? ​

static optional summary: string

Defined in: node_modules/@oclif/core/lib/command.d.ts:69

The tweet-sized description for your class, used in a parent-commands sub-command listing and as the header for the command help.

Inherited from ​

InstanceCommand.summary


usage ​

static usage: string | string[] | undefined

Defined in: node_modules/@oclif/core/lib/command.d.ts:73

An override string (or strings) for the default usage documentation.

Inherited from ​

InstanceCommand.usage

Methods ​

baseCommandTest() ​

baseCommandTest(): void

Defined in: packages/b2c-tooling-sdk/src/cli/base-command.ts:940

Returns ​

void

Inherited from ​

InstanceCommand.baseCommandTest


error() ​

Call Signature ​

error(input, options): void

Defined in: node_modules/@oclif/core/lib/command.d.ts:90

Parameters ​
input ​

string | Error

options ​

object & PrettyPrintableError

Returns ​

void

Inherited from ​

InstanceCommand.error

Call Signature ​

error(input, options?): never

Defined in: node_modules/@oclif/core/lib/command.d.ts:94

Parameters ​
input ​

string | Error

options? ​

object & PrettyPrintableError

Returns ​

never

Inherited from ​

InstanceCommand.error


exit() ​

exit(code?): never

Defined in: node_modules/@oclif/core/lib/command.d.ts:98

Parameters ​

code? ​

number

Returns ​

never

Inherited from ​

InstanceCommand.exit


init() ​

init(): Promise<void>

Defined in: packages/b2c-tooling-sdk/src/cli/instance-command.ts:126

Override init to collect lifecycle providers from plugins.

Returns ​

Promise<void>

Inherited from ​

InstanceCommand.init


jsonEnabled() ​

jsonEnabled(): boolean

Defined in: node_modules/@oclif/core/lib/command.d.ts:106

Determine if the command is being run with the --json flag in a command that supports it.

Returns ​

boolean

true if the command supports json and the --json flag is present

Inherited from ​

InstanceCommand.jsonEnabled


log() ​

log(message?, ...args?): void

Defined in: packages/b2c-tooling-sdk/src/cli/base-command.ts:523

Override oclif's log() to use pino.

Parameters ​

message? ​

string

args? ​

...unknown[]

Returns ​

void

Inherited from ​

InstanceCommand.log


logToStderr() ​

logToStderr(message?, ...args?): void

Defined in: node_modules/@oclif/core/lib/command.d.ts:109

Parameters ​

message? ​

string

args? ​

...any[]

Returns ​

void

Inherited from ​

InstanceCommand.logToStderr


run() ​

abstract run(): Promise<any>

Defined in: node_modules/@oclif/core/lib/command.d.ts:114

actual command run code goes here

Returns ​

Promise<any>

Inherited from ​

InstanceCommand.run


warn() ​

warn(input): string | Error

Defined in: packages/b2c-tooling-sdk/src/cli/base-command.ts:532

Override oclif's warn() to use pino.

Parameters ​

input ​

string | Error

Returns ​

string | Error

Inherited from ​

InstanceCommand.warn


run() ​

static run<T>(this, argv?, opts?): Promise<ReturnType<T["run"]>>

Defined in: node_modules/@oclif/core/lib/command.d.ts:86

instantiate and run the command

Type Parameters ​

T ​

T extends Command

Parameters ​

this ​

(argv, config) => T

the command class

argv? ​

string[]

argv

opts? ​

LoadOptions

options

Returns ​

Promise<ReturnType<T["run"]>>

result

Inherited from ​

InstanceCommand.run