b2c-dx
MCP server for B2C Commerce developer experience tools
Installation
npx @salesforce/b2c-dx-mcpAsk AI about b2c-dx
Powered by Claude Β· Grounded in docs
I know everything about b2c-dx. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
B2C CLI, MCP and Tooling SDK
[!NOTE] This project is Generally Available (GA). Please provide feedback via GitHub issues.
Salesforce B2C Commerce Command Line Tools.
[!TIP] Just looking for the B2C CLI or MCP install instructions? Visit the documentation site at https://salesforcecommercecloud.github.io/b2c-developer-tooling/ for the latest install guide and CLI reference.
Agent Skills & Plugins
Install B2C Commerce agent skills and plugins in your AI-powered editor. Three plugins are available: b2c-cli (CLI operations), b2c (development patterns), and b2c-dx-mcp (MCP server β Claude Code only).
-
Claude Code: run these commands in chat:
/plugin marketplace add SalesforceCommerceCloud/b2c-developer-tooling /plugin install b2c-cli@b2c-developer-tooling /plugin install b2c@b2c-developer-tooling /plugin install b2c-dx-mcp@b2c-developer-tooling -
VS Code (GitHub Copilot): Command Palette (
Cmd+Shift+P/Ctrl+Shift+P) β Chat: Install Plugin From Source β enter the repoSalesforceCommerceCloud/b2c-developer-tooling. -
GitHub Copilot CLI:
copilot plugin marketplace add SalesforceCommerceCloud/b2c-developer-tooling copilot plugin install b2c-cli@b2c-developer-tooling copilot plugin install b2c@b2c-developer-tooling -
Cursor: add the marketplace from this repo URL in Cursor Settings β Plugins, then install
b2c-cli/b2c. -
Codex CLI: run
/pluginsand add from this repo (GitHub URL). -
Gemini CLI:
gemini extensions install https://github.com/SalesforceCommerceCloud/b2c-developer-tooling -
Any supported IDE (file-copy install via CLI):
npx @salesforce/b2c-cli setup skills
For Windsurf, OpenCode, Agentforce Vibes, manual installs, and the full install matrix, see docs/guide/agent-skills.
Packages
This is a pnpm monorepo with the following packages:
| Package | Description |
|---|---|
b2c-cli | Command line interface built with oclif |
b2c-tooling-sdk | SDK/library for B2C Commerce operations; supports the CLI and can be used standalone |
b2c-dx-mcp | MCP server for B2C Commerce developer experience tools |
Development
Prerequisites
- Node.js >= 22.16.0
- pnpm 10.17.1+
Setup
pnpm install
Running the CLI in Development Mode
pnpm start
# or directly:
pnpm --filter @salesforce/b2c-cli run dev
# or using convenience script:
./cli
The dev mode uses Node.js --conditions=development to resolve TypeScript source files directly from @salesforce/b2c-tooling-sdk without needing to build first.
Building
# Build all packages
pnpm -r run build
# Build individual packages
pnpm --filter @salesforce/b2c-cli run build
pnpm --filter @salesforce/b2c-tooling-sdk run build
Testing
Tests use Mocha + Chai with c8 for coverage. HTTP mocking uses MSW.
# Run all tests with coverage (also runs linter after tests)
pnpm test
# Run tests for a specific package
pnpm --filter @salesforce/b2c-tooling-sdk run test
# Run tests without coverage (faster)
pnpm --filter @salesforce/b2c-tooling-sdk run test:unit
# Watch mode for TDD
pnpm --filter @salesforce/b2c-tooling-sdk run test:watch
# Run a specific test file
cd packages/b2c-tooling-sdk
pnpm mocha "test/clients/webdav.test.ts"
# Run tests matching a pattern
pnpm mocha --grep "uploads a file" "test/**/*.test.ts"
Coverage
Coverage reports are generated in each package's coverage/ directory:
coverage/index.html- HTML reportcoverage/lcov.info- LCOV format for CI integration
The SDK package has a 5% coverage threshold that will fail the build if not met.
Linting
# Run linter only
pnpm --filter @salesforce/b2c-cli run lint
pnpm --filter @salesforce/b2c-tooling-sdk run lint
Code Formatting
This project uses Prettier for code formatting.
# Format all packages
pnpm -r run format
# Check formatting without modifying files
pnpm -r run format:check
Documentation
Documentation is built using TypeDoc for API reference generation and VitePress for the documentation site.
Structure
docs/- VitePress documentation sourceguide/- User guide and getting startedcli/- CLI command referenceapi/- Generated API documentation (do not edit manually)
typedoc.json- TypeDoc configuration with entry points for SDK modules
Development Server
pnpm run docs:dev
This runs typedoc to generate API docs, then starts VitePress in development mode with hot reload.
Building Documentation
pnpm run docs:build
Previewing Built Documentation
pnpm run docs:preview
Deployed Documentation
The documentation site serves two versions:
- Stable (root URL) β built from the most recent release tag, updated on every stable release
- Dev (
/dev/) β built from themainbranch, updated on every push tomain
Doc-only releases (without bumping CLI/SDK/MCP versions) are possible by creating a changeset targeting @salesforce/b2c-dx-docs. See PUBLISHING.md for details.
API Documentation
API documentation is auto-generated from JSDoc comments in the @salesforce/b2c-tooling-sdk package. The entry points are defined in typedoc.json:
See the documentation site for the generated API reference.
auth- Authentication strategies (OAuth, API Key, Basic)instance- B2C instance configurationplatform- MRT and ODS clientsoperations/code- Cartridge code operationsoperations/jobs- Job executionoperations/sites- Site managementi18n- Internationalization utilitieslogging- Structured logging
When adding new public APIs, ensure they have comprehensive JSDoc comments as these will appear in the generated documentation.
Releases and Publishing
This project uses Changesets for version management and publishes to npm using OIDC trusted publishers.
| Release Type | npm Tag | Trigger |
|---|---|---|
| Stable | @latest | Merge version PR on main |
| Release Branch | @latest or @release-X.Y | Push to release/** branch |
| Nightly | @nightly | Scheduled (weekdays) or manual |
For detailed information about the release process, including release branches, see PUBLISHING.md.
Quick Reference
# Create a changeset for your changes
pnpm changeset
# Check pending changesets
pnpm changeset status
Preview Releases
Preview releases are available as tgz files on GitHub Releases for testing before npm publication.
Package Exports
The @salesforce/b2c-tooling-sdk package uses the exports field in package.json to define its public API surface. Each module is available as a subpath export:
import {OAuthStrategy} from '@salesforce/b2c-tooling-sdk/auth';
import {B2CInstance} from '@salesforce/b2c-tooling-sdk/instance';
import {getLogger} from '@salesforce/b2c-tooling-sdk/logging';
The development condition in exports enables direct TypeScript source resolution when using --conditions=development, which is how bin/dev.js works for local development.
Contributing
We welcome contributions! Please see our Contributing Guide for details on how to get started, submit pull requests, and our code of conduct.
Third-Party Dependency Review
To prevent net-new third-party libraries from being added without discussion, PRs are checked by the 3PL Guard workflow (Net-new 3PL check).
- The check compares changed
package.jsonfiles in the PR and detects net-new external dependencies. - If net-new dependencies are found, the PR is labeled
needs-3pl-reviewand the check fails. - After discussion and approval, a maintainer adds the
3pl-approvedlabel to allow the check to pass. - If the net-new dependency is removed,
needs-3pl-reviewis removed automatically.
To enforce this as a merge gate, keep Net-new 3PL check as a required status check in branch protection.
Security
For security concerns, please review our Security Policy. Report any security issues to security@salesforce.com.
License
This project is licensed under the Apache License 2.0. See LICENSE.txt for full details.
Disclaimer
This project is currently in Developer Preview and is provided "as-is" without warranty of any kind. It is not yet generally available (GA) and should not be used in production environments. Features, APIs, and functionality may change without notice in future releases.
