You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .claude-plugin/marketplace.json
+3-8Lines changed: 3 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@
17
17
"source": "./skills/b2c-cli",
18
18
"category": "productivity",
19
19
"strict": false,
20
-
"version": "1.3.0"
20
+
"version": "1.3.1"
21
21
},
22
22
{
23
23
"name": "b2c",
@@ -29,7 +29,7 @@
29
29
"source": "./skills/b2c",
30
30
"category": "productivity",
31
31
"strict": false,
32
-
"version": "1.3.0"
32
+
"version": "1.3.1"
33
33
},
34
34
{
35
35
"name": "b2c-dx-mcp",
@@ -52,7 +52,7 @@
52
52
"source": "./skills/storefront-next",
53
53
"category": "productivity",
54
54
"strict": false,
55
-
"version": "1.3.0"
55
+
"version": "1.3.1"
56
56
},
57
57
{
58
58
"name": "cap-dev",
@@ -77,11 +77,6 @@
77
77
"cap",
78
78
"impex"
79
79
],
80
-
"interface": {
81
-
"displayName": "Commerce Apps Dev",
82
-
"shortDescription": "Scaffold, validate, package, and submit Commerce App Packages.",
83
-
"longDescription": "Skills for building Salesforce Commerce Cloud app packages — scaffold new apps (UI-only, backend-only, or fullstack), generate IMPEX configurations for services, custom objects, and site preferences, validate packages against registry requirements, and submit pull requests to the commerce-apps registry."
Copy file name to clipboardExpand all lines: docs/CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,11 @@
1
1
# @salesforce/b2c-dx-docs
2
2
3
+
## 0.3.1
4
+
5
+
### Patch Changes
6
+
7
+
-[#409](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/pull/409)[`ec31234`](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/commit/ec312342e14080fb5d51b72243e763030c429f80) - Document the B2C DX VS Code Extension. New `/vscode-extension/` section with overview, installation (with a dynamic download link to the latest VSIX release), configuration reference, and a feature tour covering Sandbox Realm Explorer, Cartridge Code Sync, WebDAV Browser, Content Libraries, SCAPI API Browser, B2C Script Debugger, scaffold/CAP install, log tailing, and B2C CLI plugin support. (Thanks [@clavery](https://github.com/clavery)!)
|`--site-library`| Treat the library as a site-private library|`false`|
56
+
|`--site-library`/ `--no-site-library`| Treat the library as a site-private library. Defaults from a matching `libraries` config entry, otherwise `false`| from config|
57
57
|`--asset-query`, `-q`| JSON dot-paths for static asset extraction (can be repeated) |`image.path`|
58
58
|`--regex`, `-r`| Treat page IDs as regular expressions |`false`|
59
59
|`--folder`| Filter by folder classification (can be repeated) ||
# With a libraries config entry (see below) marking the site library as
107
+
# site-private, --site-library is inferred automatically:
108
+
b2c content export homepage --library SiteGenesis
109
+
```
110
+
111
+
### Configuring multiple libraries
112
+
113
+
Listing libraries under `b2c.libraries` in `package.json` (or `libraries` in `dw.json`) lets the CLI pick a default library and infer `--site-library` per entry. Bare strings are shared libraries; `{id, siteLibrary: true}` marks a site-private library. Both forms can be mixed:
114
+
115
+
```json
116
+
{
117
+
"b2c": {
118
+
"libraries": [
119
+
"RefArchSharedLibrary",
120
+
{ "id": "SiteGenesis", "siteLibrary": true }
121
+
]
122
+
}
123
+
}
124
+
```
125
+
126
+
With this config:
127
+
128
+
```bash
129
+
# Uses RefArchSharedLibrary (first entry) as the default library
130
+
b2c content export hero-banner
131
+
132
+
# --site-library is inferred from the matching entry
@@ -116,7 +148,7 @@ With `--json`, returns a structured result including the library tree, output pa
116
148
117
149
### Notes
118
150
119
-
- The `--library` flag can be set in `dw.json` as `content-library` or in `package.json` under `b2c.contentLibrary` to avoid passing it every time
151
+
- The `--library` flag can be set in `dw.json` as `content-library` or in `package.json` under `b2c.contentLibrary` to avoid passing it every time. You can also list libraries under `b2c.libraries` (mixed strings or `{id, siteLibrary?}` objects); when the resolved library matches an entry marked `siteLibrary: true`, `--site-library` defaults to true automatically. The CLI flag still wins when passed explicitly
120
152
- Use `b2c content list` to discover available page IDs before exporting
121
153
- You can export pages, content assets, or individual components by their content ID. When a component ID is specified, it is promoted to the root of the export with its full child tree
122
154
- The `--asset-query` flag specifies JSON dot-notation paths within component data to extract static asset references. The default `image.path` covers the common Page Designer image component pattern
@@ -141,7 +173,7 @@ In addition to [global flags](./index#global-flags):
141
173
| Flag | Description | Default |
142
174
|------|-------------|---------|
143
175
|`--library`| Library ID or site ID. Also configurable via `content-library` in dw.json. ||
144
-
|`--site-library`| Treat the library as a site-private library|`false`|
176
+
|`--site-library`/ `--no-site-library`| Treat the library as a site-private library. Defaults from a matching `libraries` config entry, otherwise `false`| from config|
145
177
|`--library-file`| Use a local library XML file instead of fetching from instance ||
146
178
|`--type`| Filter by node type: `page`, `content`, or `component`||
147
179
|`--components`| Include components in table output |`false`|
@@ -166,6 +198,11 @@ b2c content list --library SharedLibrary --tree
166
198
# List from a site-private library
167
199
b2c content list --library RefArch --site-library
168
200
201
+
# With a libraries config entry marking the site library as site-private,
202
+
# --site-library is inferred automatically (see "b2c content export"
203
+
# above for an example b2c.libraries config):
204
+
b2c content list --library SiteGenesis
205
+
169
206
# List from a local XML file
170
207
b2c content list --library SharedLibrary --library-file ./library.xml
Copy file name to clipboardExpand all lines: docs/guide/agent-skills.md
-4Lines changed: 0 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,10 +27,6 @@ Then enter:
27
27
SalesforceCommerceCloud/b2c-developer-tooling
28
28
```
29
29
30
-
::: tip Updating Copilot Skills in VS Code
31
-
To update the extension marketplace for the latest skills, open the Extensions view sidebar, click **`···`** (the ellipsis menu), and select **Check for Extension Updates**.
Copy file name to clipboardExpand all lines: docs/guide/configuration.md
+39-9Lines changed: 39 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -258,8 +258,11 @@ For the full command reference with all flags, see [Setup Commands](/cli/setup).
258
258
|`account-manager-host`| Account Manager hostname for OAuth |
259
259
|`shortCode`| SCAPI short code. Also accepts `short-code` or `scapi-shortcode`. |
260
260
|`content-library`| Default content library ID for `content export` and `content list` commands |
261
+
|`libraries`| Library IDs for the WebDAV browser and Content Libraries tree. Accepts `string[]` or `[{id, siteLibrary?}]`; elements may be mixed |
262
+
|`asset-query`| JSON dot-paths used to extract static asset URLs during content library parsing (default `["image.path"]`). Also accepts `assetQuery`|
261
263
|`tenant-id`| Organization/tenant ID for SCAPI |
262
264
|`sandbox-api-host`| ODS (sandbox) API hostname |
265
+
|`realm`| Default ODS realm for sandbox operations |
263
266
|`cip-host`| CIP analytics host override |
264
267
|`mrtApiKey`| MRT API key |
265
268
|`mrtProject`| MRT project slug |
@@ -319,15 +322,18 @@ You can store project-level defaults in your `package.json` file under the `b2c`
319
322
320
323
Only non-sensitive, project-level fields can be configured in `package.json`. Both camelCase and kebab-case are accepted (e.g., `shortCode` or `short-code`):
|`clientId`| OAuth client ID (for implicit login discovery) |
329
+
|`contentLibrary`| Default content library ID for `content export` and `content list` commands |
330
+
|`libraries`| Library IDs for the WebDAV browser and Content Libraries tree. Accepts `string[]` or `[{id, siteLibrary?}]`; elements may be mixed |
331
+
|`assetQuery`| JSON dot-paths used to extract static asset URLs during content library parsing (default `["image.path"]`) |
332
+
|`mrtProject`| MRT project slug |
333
+
|`mrtOrigin`| MRT API origin URL override |
334
+
|`accountManagerHost`| Account Manager hostname for OAuth |
335
+
|`sandboxApiHost`| ODS (sandbox) API hostname |
336
+
|`realm`| Default ODS realm for sandbox operations |
331
337
332
338
::: warning Security Note
333
339
Sensitive fields like `hostname`, `password`, `clientSecret`, `username`, and `mrtApiKey` are intentionally **not** supported in `package.json`. These should be configured via `dw.json` (which should be in `.gitignore`), environment variables, or secure credential stores.
@@ -337,6 +343,30 @@ Sensitive fields like `hostname`, `password`, `clientSecret`, `username`, and `m
337
343
`package.json` has the lowest priority of all configuration sources. Values from `dw.json`, environment variables, or CLI flags will always override `package.json` settings. This makes it ideal for project defaults that can be overridden per-environment.
338
344
:::
339
345
346
+
### Content Libraries Example
347
+
348
+
The `libraries` field can list the content libraries your project works with so that the VS Code Content Libraries tree auto-loads them and `b2c content list/export` can default `--site-library` based on the entry.
349
+
350
+
A bare string is treated as a shared library; an object can mark a library as site-private. Both forms can appear in the same array:
351
+
352
+
```json
353
+
{
354
+
"b2c": {
355
+
"libraries": [
356
+
"RefArchSharedLibrary",
357
+
{ "id": "SiteGenesis", "siteLibrary": true }
358
+
]
359
+
}
360
+
}
361
+
```
362
+
363
+
With this config:
364
+
365
+
-`b2c content list --library SiteGenesis` calls the site-library API automatically (no need to pass `--site-library`); the library ID is the site ID.
366
+
-`b2c content list --library RefArchSharedLibrary` treats `RefArchSharedLibrary` as a shared library.
367
+
-`--site-library` / `--no-site-library` on the command line still wins over the config default.
368
+
- The VS Code Content Libraries tree shows both entries on activation, with `SiteGenesis` marked `[site]`.
369
+
340
370
### Resolution Priority
341
371
342
372
Configuration is resolved with the following precedence (highest to lowest):
0 commit comments