Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
9fc9039
feat(skills): add multi-IDE install support, onboarding skill, and va…
clavery Apr 20, 2026
73ea3cc
Merge remote-tracking branch 'origin/main' into feature/skill-refinement
clavery Apr 20, 2026
61ee9ac
docs(skills): trim implementation details from install page
clavery Apr 20, 2026
f6c97af
chore(changeset): skills plugin install improvements
clavery Apr 20, 2026
c927489
revert(skills): remove offline validation scripts
clavery Apr 20, 2026
489a0bb
refactor(codex): drop b2c-dx-mcp from Codex/Copilot, bump plugin vers…
clavery Apr 20, 2026
a8441f1
css tweaks to homepage
clavery Apr 20, 2026
60499d3
feat(skills): version skills plugins via dedicated workspace package
clavery Apr 20, 2026
a106baf
chore(changeset): skills installer latest-resolution refactor
clavery Apr 20, 2026
c47b4b5
chore(changeset): initial release for @salesforce/b2c-agent-plugins
clavery Apr 20, 2026
75baad7
docs(home): custom feature icons and correct Codex install steps
clavery Apr 21, 2026
2aa088d
docs(agent-skills): tighten intro, IDE-named sections, reorder quick …
clavery Apr 21, 2026
c23d039
docs(nav): add Skills top-level nav between Guides and MCP
clavery Apr 21, 2026
1c689ef
docs: text-less Salesforce logo in nav and tagline-based SEO description
clavery Apr 21, 2026
7f97df1
docs(home): blend SEO description with tagline messaging
clavery Apr 21, 2026
813547a
docs(home): trim SEO description
clavery Apr 21, 2026
a60b39e
docs(home): shorten SEO description
clavery Apr 21, 2026
145a2d2
Merge remote-tracking branch 'origin/main' into feature/skill-refinement
clavery Apr 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .agents/plugins/marketplace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"name": "b2c-developer-tooling",
"interface": {
"displayName": "B2C Developer Tooling"
},
"plugins": [
{
"name": "b2c-cli",
"source": {
"source": "local",
"path": "./skills/b2c-cli"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity"
},
{
"name": "b2c",
"source": {
"source": "local",
"path": "./skills/b2c"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity"
}
]
}
5 changes: 5 additions & 0 deletions .changeset/agent-plugins-initial.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@salesforce/b2c-agent-plugins': minor
---

Initial release. This package tracks the version of the B2C Commerce agent skills plugins (`b2c-cli` and `b2c`). Its version is stamped into the Claude Code marketplace entries and the Codex plugin manifests at release time, and skills-only changes get a dedicated `b2c-agent-plugins@X.Y.Z` GitHub release tag with updated skills zips attached. Target this package in a changeset when you change skills under `skills/b2c-cli/skills/` or `skills/b2c/skills/`.
12 changes: 12 additions & 0 deletions .changeset/skills-plugin-install-improvements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
'@salesforce/b2c-cli': patch
'@salesforce/b2c-dx-docs': patch
---

Broaden skills-plugin install support and improve the installation docs.

- Add a Codex plugin marketplace so the three plugins (`b2c-cli`, `b2c`, `b2c-dx-mcp`) can be installed directly from Codex CLI's plugin directory.
- Add a new `b2c-onboarding` skill (in the `b2c` plugin) that walks new developers through CLI verify, `dw.json` setup, sandbox connect, and first cartridge deploy, then hands off to the topic-specific skill for the user's goal.
- Add per-plugin READMEs with install instructions for each supported client.
- Document Copilot CLI + VS Code Copilot install paths and the Codex marketplace install path.
- Remove the `b2c-experimental` plugin from the public marketplace.
5 changes: 5 additions & 0 deletions .changeset/skills-versioning-pipeline.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@salesforce/b2c-tooling-sdk': patch
---

Skills installer (`b2c setup skills`) now resolves the latest skills release by querying GitHub for releases that actually carry skills zips, instead of relying on GitHub's opinionated "latest release" endpoint. Falls back to a CDN-backed lookup when the GitHub API is rate-limited. Zip downloads continue to use the GitHub release CDN with no API calls. Resolved versions are cached locally for 1 hour to keep consecutive installs fast.
17 changes: 4 additions & 13 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@
"license": "Apache-2.0",
"source": "./skills/b2c-cli",
"category": "productivity",
"strict": false
"strict": false,
"version": "1.0.0"
},
{
"name": "b2c",
Expand All @@ -27,18 +28,8 @@
"license": "Apache-2.0",
"source": "./skills/b2c",
"category": "productivity",
"strict": false
},
{
"name": "b2c-experimental",
"description": "Experimental B2C Commerce skills including scaffold templates. Not installed by default.",
"author": {
"name": "Salesforce"
},
"license": "Apache-2.0",
"source": "./skills/b2c-experimental",
"category": "productivity",
"strict": false
"strict": false,
"version": "1.0.0"
},
{
"name": "b2c-dx-mcp",
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/changesets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
id: changesets
uses: changesets/action@6a0a831ff30acef54f2c6aa1cbbc1096b066edaf # v1.7.0
with:
version: pnpm changeset version
version: pnpm run version
title: 'Next Release: changelog and version packages'
commit: 'chore: version packages'
env:
Expand Down
37 changes: 32 additions & 5 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,13 @@ jobs:
HAS_CHANGES=true
fi
fi
# Also check agent-plugins tag
if [ "$HAS_CHANGES" = "false" ]; then
PLUGINS_VERSION=$(node -p "require('./skills/package.json').version")
if ! git rev-parse "b2c-agent-plugins@${PLUGINS_VERSION}" >/dev/null 2>&1; then
HAS_CHANGES=true
fi
fi
if [ "$HAS_CHANGES" = "false" ]; then
echo "skip=true" >> $GITHUB_OUTPUT
echo "::notice::All package versions match npm — nothing to publish"
Expand Down Expand Up @@ -184,6 +191,16 @@ jobs:
fi
echo "@salesforce/b2c-docs: version=${DOCS_VERSION}"

# Check if agent-plugins version changed (private package — uses git tag)
PLUGINS_VERSION=$(node -p "require('./skills/package.json').version")
if git rev-parse "b2c-agent-plugins@${PLUGINS_VERSION}" >/dev/null 2>&1; then
echo "publish_plugins=false" >> $GITHUB_OUTPUT
else
echo "publish_plugins=true" >> $GITHUB_OUTPUT
echo "version_plugins=${PLUGINS_VERSION}" >> $GITHUB_OUTPUT
fi
echo "@salesforce/b2c-agent-plugins: version=${PLUGINS_VERSION}"

- name: Create snapshot versions
if: steps.release-type.outputs.type == 'nightly'
run: |
Expand Down Expand Up @@ -357,6 +374,13 @@ jobs:
extract_latest docs/CHANGELOG.md
echo ""
fi

if [[ "${{ steps.packages.outputs.publish_plugins }}" == "true" && -f skills/CHANGELOG.md ]]; then
echo "## Agent Skills Plugins"
echo ""
extract_latest skills/CHANGELOG.md
echo ""
fi
} > /tmp/release-notes.md

- name: Create GitHub Release
Expand All @@ -375,6 +399,8 @@ jobs:
RELEASE_TAG="b2c-vs-extension@${{ steps.packages.outputs.version_vsx }}"
elif [[ "${{ steps.packages.outputs.publish_docs }}" == "true" ]]; then
RELEASE_TAG="docs@${{ steps.packages.outputs.version_docs }}"
elif [[ "${{ steps.packages.outputs.publish_plugins }}" == "true" ]]; then
RELEASE_TAG="b2c-agent-plugins@${{ steps.packages.outputs.version_plugins }}"
else
echo "No packages published, skipping release"
exit 0
Expand All @@ -385,7 +411,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Package skills artifacts
if: steps.release-type.outputs.type == 'stable' && steps.changesets.outputs.skip != 'true' && steps.quick-check.outputs.skip != 'true'
if: steps.release-type.outputs.type == 'stable' && steps.changesets.outputs.skip != 'true' && steps.quick-check.outputs.skip != 'true' && steps.packages.outputs.publish_plugins == 'true'
run: |
# Create b2c-skills.zip containing skills/b2c/skills/
cd skills/b2c && zip -r ../../b2c-skills.zip skills/
Expand All @@ -397,9 +423,9 @@ jobs:
ls -la *.zip

- name: Upload skills to release
if: steps.release-type.outputs.type == 'stable' && steps.changesets.outputs.skip != 'true' && steps.quick-check.outputs.skip != 'true'
if: steps.release-type.outputs.type == 'stable' && steps.changesets.outputs.skip != 'true' && steps.quick-check.outputs.skip != 'true' && steps.packages.outputs.publish_plugins == 'true'
run: |
# Determine the release tag (same logic as Create GitHub Release)
# Determine the release tag (same priority as Create GitHub Release)
if [[ "${{ steps.packages.outputs.publish_cli }}" == "true" ]]; then
RELEASE_TAG="@salesforce/b2c-cli@${{ steps.packages.outputs.version_cli }}"
elif [[ "${{ steps.packages.outputs.publish_sdk }}" == "true" ]]; then
Expand All @@ -410,9 +436,10 @@ jobs:
RELEASE_TAG="@salesforce/mrt-utilities@${{ steps.packages.outputs.version_mrt }}"
elif [[ "${{ steps.packages.outputs.publish_vsx }}" == "true" ]]; then
RELEASE_TAG="b2c-vs-extension@${{ steps.packages.outputs.version_vsx }}"
elif [[ "${{ steps.packages.outputs.publish_docs }}" == "true" ]]; then
RELEASE_TAG="docs@${{ steps.packages.outputs.version_docs }}"
else
echo "No package release to upload to"
exit 0
RELEASE_TAG="b2c-agent-plugins@${{ steps.packages.outputs.version_plugins }}"
fi

gh release upload "$RELEASE_TAG" b2c-skills.zip b2c-cli-skills.zip
Expand Down
37 changes: 37 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,43 @@ 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/](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 repo `SalesforceCommerceCloud/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 `/plugins` and 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](https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/agent-skills).

## Packages

This is a pnpm monorepo with the following packages:
Expand Down
3 changes: 2 additions & 1 deletion docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ export default defineConfig({
},

themeConfig: {
logo: '/logo.svg',
logo: '/logo-mark.svg',
outline: {
level: [2, 3],
},
Expand All @@ -232,6 +232,7 @@ export default defineConfig({
},
nav: [
{text: 'Guides', link: '/guide/'},
{text: 'Skills', link: '/guide/agent-skills'},
{text: 'MCP', link: '/mcp/'},
{text: 'Reference', link: '/cli/'},
{text: 'SDK', link: '/api/'},
Expand Down
25 changes: 21 additions & 4 deletions docs/.vitepress/theme/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,21 @@

/* Hero image sizing */
.VPHero .container {
max-width: 100% !important;
max-width: calc(var(--vp-layout-max-width) - 100px);
}

.VPHero .image-container {
max-width: 550px !important;
max-width: 600px !important;
padding: 24px;
margin-bottom: 20px;
}

@media (min-width: 960px) {
.VPHero .image-container {
margin-bottom: 0;
transform: none;
max-width: 100% !important;
margin-left: 60px;
}
}

Expand All @@ -38,7 +41,21 @@
}

.VPHero .image-container img {
max-width: 550px !important;
max-height: 470px;
max-width: 600px !important;
max-height: 500px;
object-fit: contain;
}

/* Home features icon treatment */
.VPFeature .box .icon {
background-color: var(--vp-c-brand-soft);
width: 56px;
height: 56px;
font-size: 28px;
border-radius: 12px;
}

.VPFeature .box .icon img {
width: 32px;
height: 32px;
}
Loading
Loading