{"id":35710831,"url":"https://github.com/salesforcecommercecloud/b2c-developer-tooling","last_synced_at":"2026-05-20T08:09:16.318Z","repository":{"id":330171587,"uuid":"1087143522","full_name":"SalesforceCommerceCloud/b2c-developer-tooling","owner":"SalesforceCommerceCloud","description":"B2C CLI, MCP, and Tooling SDK for Salesforce Agentforce Commerce B2C ","archived":false,"fork":false,"pushed_at":"2026-04-15T01:35:54.000Z","size":202812,"stargazers_count":35,"open_issues_count":25,"forks_count":10,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-04-15T01:42:13.709Z","etag":null,"topics":["b2c","cli","dx"],"latest_commit_sha":null,"homepage":"https://salesforcecommercecloud.github.io/b2c-developer-tooling/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SalesforceCommerceCloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"license.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-10-31T12:52:16.000Z","updated_at":"2026-04-15T01:35:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"eb409388-8639-4d75-a5e7-aa9570557cb5","html_url":"https://github.com/SalesforceCommerceCloud/b2c-developer-tooling","commit_stats":null,"previous_names":["salesforcecommercecloud/b2c-developer-tooling"],"tags_count":135,"template":false,"template_full_name":null,"purl":"pkg:github/SalesforceCommerceCloud/b2c-developer-tooling","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalesforceCommerceCloud%2Fb2c-developer-tooling","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalesforceCommerceCloud%2Fb2c-developer-tooling/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalesforceCommerceCloud%2Fb2c-developer-tooling/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalesforceCommerceCloud%2Fb2c-developer-tooling/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SalesforceCommerceCloud","download_url":"https://codeload.github.com/SalesforceCommerceCloud/b2c-developer-tooling/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalesforceCommerceCloud%2Fb2c-developer-tooling/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31950891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T17:29:20.459Z","status":"ssl_error","status_checked_at":"2026-04-17T17:28:47.801Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["b2c","cli","dx"],"created_at":"2026-01-06T04:08:32.332Z","updated_at":"2026-04-21T04:06:57.269Z","avatar_url":"https://github.com/SalesforceCommerceCloud.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# B2C CLI, MCP and Tooling SDK\n\n[![CI](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/actions/workflows/ci.yml/badge.svg)](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/actions/workflows/ci.yml)\n\n\u003e [!NOTE]\n\u003e This project is **Generally Available (GA)**. Please provide feedback via GitHub issues.\n\nSalesforce B2C Commerce Command Line Tools.\n\n\u003e [!TIP]\n\u003e **Just looking for the B2C CLI or MCP install instructions?** Visit the documentation site at [https://salesforcecommercecloud.github.io/b2c-developer-tooling/](https://salesforcecommercecloud.github.io/b2c-developer-tooling/) for the latest install guide and CLI reference.\n\n## Agent Skills \u0026 Plugins\n\nInstall 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).\n\n- **Claude Code**: run these commands in chat:\n\n    ```\n    /plugin marketplace add SalesforceCommerceCloud/b2c-developer-tooling\n    /plugin install b2c-cli@b2c-developer-tooling\n    /plugin install b2c@b2c-developer-tooling\n    /plugin install b2c-dx-mcp@b2c-developer-tooling\n    ```\n\n- **VS Code (GitHub Copilot)**: Command Palette (`Cmd+Shift+P` / `Ctrl+Shift+P`) → **Chat: Install Plugin From Source** → enter the repo `SalesforceCommerceCloud/b2c-developer-tooling`.\n\n- **GitHub Copilot CLI**:\n\n    ```\n    copilot plugin marketplace add SalesforceCommerceCloud/b2c-developer-tooling\n    copilot plugin install b2c-cli@b2c-developer-tooling\n    copilot plugin install b2c@b2c-developer-tooling\n    ```\n\n- **Cursor**: add the marketplace from this repo URL in Cursor Settings → Plugins, then install `b2c-cli` / `b2c`.\n\n- **Codex CLI**: run `/plugins` and add from this repo (GitHub URL).\n\n- **Gemini CLI**: `gemini extensions install https://github.com/SalesforceCommerceCloud/b2c-developer-tooling`\n\n- **Any supported IDE (file-copy install via CLI)**:\n\n    ```\n    npx @salesforce/b2c-cli setup skills\n    ```\n\nFor Windsurf, OpenCode, Agentforce Vibes, manual installs, and the full install matrix, see [docs/guide/agent-skills](https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/agent-skills).\n\n## Packages\n\nThis is a pnpm monorepo with the following packages:\n\n| Package                                                   | Description                                                                          |\n| --------------------------------------------------------- | ------------------------------------------------------------------------------------ |\n| [`b2c-cli`](./packages/b2c-cli/README.md)                 | Command line interface built with oclif                                              |\n| [`b2c-tooling-sdk`](./packages/b2c-tooling-sdk/README.md) | SDK/library for B2C Commerce operations; supports the CLI and can be used standalone |\n| [`b2c-dx-mcp`](./packages/b2c-dx-mcp/README.md)           | MCP server for B2C Commerce developer experience tools                               |\n\n## Development\n\n### Prerequisites\n\n- Node.js \u003e= 22.16.0\n- pnpm 10.17.1+\n\n### Setup\n\n```bash\npnpm install\n```\n\n### Running the CLI in Development Mode\n\n```bash\npnpm start\n# or directly:\npnpm --filter @salesforce/b2c-cli run dev\n# or using convenience script:\n./cli\n```\n\nThe dev mode uses Node.js `--conditions=development` to resolve TypeScript source files directly from `@salesforce/b2c-tooling-sdk` without needing to build first.\n\n### Building\n\n```bash\n# Build all packages\npnpm -r run build\n\n# Build individual packages\npnpm --filter @salesforce/b2c-cli run build\npnpm --filter @salesforce/b2c-tooling-sdk run build\n```\n\n### Testing\n\nTests use [Mocha](https://mochajs.org/) + [Chai](https://www.chaijs.com/) with [c8](https://github.com/bcoe/c8) for coverage. HTTP mocking uses [MSW](https://mswjs.io/).\n\n```bash\n# Run all tests with coverage (also runs linter after tests)\npnpm test\n\n# Run tests for a specific package\npnpm --filter @salesforce/b2c-tooling-sdk run test\n\n# Run tests without coverage (faster)\npnpm --filter @salesforce/b2c-tooling-sdk run test:unit\n\n# Watch mode for TDD\npnpm --filter @salesforce/b2c-tooling-sdk run test:watch\n\n# Run a specific test file\ncd packages/b2c-tooling-sdk\npnpm mocha \"test/clients/webdav.test.ts\"\n\n# Run tests matching a pattern\npnpm mocha --grep \"uploads a file\" \"test/**/*.test.ts\"\n```\n\n#### Coverage\n\nCoverage reports are generated in each package's `coverage/` directory:\n\n- `coverage/index.html` - HTML report\n- `coverage/lcov.info` - LCOV format for CI integration\n\nThe SDK package has a 5% coverage threshold that will fail the build if not met.\n\n### Linting\n\n```bash\n# Run linter only\npnpm --filter @salesforce/b2c-cli run lint\npnpm --filter @salesforce/b2c-tooling-sdk run lint\n```\n\n### Code Formatting\n\nThis project uses Prettier for code formatting.\n\n```bash\n# Format all packages\npnpm -r run format\n\n# Check formatting without modifying files\npnpm -r run format:check\n```\n\n## Documentation\n\nDocumentation is built using [TypeDoc](https://typedoc.org/) for API reference generation and [VitePress](https://vitepress.dev/) for the documentation site.\n\n### Structure\n\n- `docs/` - VitePress documentation source\n  - `guide/` - User guide and getting started\n  - `cli/` - CLI command reference\n  - `api/` - Generated API documentation (do not edit manually)\n- `typedoc.json` - TypeDoc configuration with entry points for SDK modules\n\n### Development Server\n\n```bash\npnpm run docs:dev\n```\n\nThis runs `typedoc` to generate API docs, then starts VitePress in development mode with hot reload.\n\n### Building Documentation\n\n```bash\npnpm run docs:build\n```\n\n### Previewing Built Documentation\n\n```bash\npnpm run docs:preview\n```\n\n### Deployed Documentation\n\nThe documentation site serves two versions:\n- **Stable** (root URL) — built from the most recent release tag, updated on every stable release\n- **Dev** (`/dev/`) — built from the `main` branch, updated on every push to `main`\n\nDoc-only releases (without bumping CLI/SDK/MCP versions) are possible by creating a changeset targeting `@salesforce/b2c-dx-docs`. See [PUBLISHING.md](./PUBLISHING.md#documentation-deployment) for details.\n\n### API Documentation\n\nAPI documentation is auto-generated from JSDoc comments in the `@salesforce/b2c-tooling-sdk` package. The entry points are defined in `typedoc.json`:\n\nSee the [documentation site](https://salesforcecommercecloud.github.io/b2c-developer-tooling/) for the generated API reference.\n\n- `auth` - Authentication strategies (OAuth, API Key, Basic)\n- `instance` - B2C instance configuration\n- `platform` - MRT and ODS clients\n- `operations/code` - Cartridge code operations\n- `operations/jobs` - Job execution\n- `operations/sites` - Site management\n- `i18n` - Internationalization utilities\n- `logging` - Structured logging\n\nWhen adding new public APIs, ensure they have comprehensive JSDoc comments as these will appear in the generated documentation.\n\n## Releases and Publishing\n\nThis project uses [Changesets](https://github.com/changesets/changesets) for version management and publishes to npm using [OIDC trusted publishers](https://docs.npmjs.com/trusted-publishers).\n\n| Release Type | npm Tag | Trigger |\n|-------------|---------|---------|\n| **Stable** | `@latest` | Merge version PR on `main` |\n| **Release Branch** | `@latest` or `@release-X.Y` | Push to `release/**` branch |\n| **Nightly** | `@nightly` | Scheduled (weekdays) or manual |\n\nFor detailed information about the release process, including release branches, see [PUBLISHING.md](./PUBLISHING.md).\n\n### Quick Reference\n\n```bash\n# Create a changeset for your changes\npnpm changeset\n\n# Check pending changesets\npnpm changeset status\n```\n\n### Preview Releases\n\nPreview releases are available as tgz files on [GitHub Releases](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/releases) for testing before npm publication.\n\n## Package Exports\n\nThe `@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:\n\n```typescript\nimport {OAuthStrategy} from '@salesforce/b2c-tooling-sdk/auth';\nimport {B2CInstance} from '@salesforce/b2c-tooling-sdk/instance';\nimport {getLogger} from '@salesforce/b2c-tooling-sdk/logging';\n```\n\nThe `development` condition in exports enables direct TypeScript source resolution when using `--conditions=development`, which is how `bin/dev.js` works for local development.\n\n## Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](./CONTRIBUTING.md) for details on how to get started, submit pull requests, and our code of conduct.\n\n### Third-Party Dependency Review\n\nTo prevent net-new third-party libraries from being added without discussion, PRs are checked by the `3PL Guard` workflow (`Net-new 3PL check`).\n\n- The check compares changed `package.json` files in the PR and detects net-new external dependencies.\n- If net-new dependencies are found, the PR is labeled `needs-3pl-review` and the check fails.\n- After discussion and approval, a maintainer adds the `3pl-approved` label to allow the check to pass.\n- If the net-new dependency is removed, `needs-3pl-review` is removed automatically.\n\nTo enforce this as a merge gate, keep `Net-new 3PL check` as a required status check in branch protection.\n\n## Security\n\nFor security concerns, please review our [Security Policy](./SECURITY.md). Report any security issues to [security@salesforce.com](mailto:security@salesforce.com).\n\n## License\n\nThis project is licensed under the Apache License 2.0. See [LICENSE.txt](./LICENSE.txt) for full details.\n\n## Disclaimer\n\nThis 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalesforcecommercecloud%2Fb2c-developer-tooling","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsalesforcecommercecloud%2Fb2c-developer-tooling","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalesforcecommercecloud%2Fb2c-developer-tooling/lists"}