Work with (B2C/SFCC/Demandware) site archive import archives and metadata XML patterns with the b2c cli. Use when adding custom attributes, system object extensions, site preferences, or understanding import/export XML schemas. Covers directory structure and XML file formats for site archives.
View on GitHubSalesforceCommerceCloud/b2c-developer-tooling
b2c-cli
skills/b2c-cli/skills/b2c-site-import-export/SKILL.md
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/main/skills/b2c-cli/skills/b2c-site-import-export/SKILL.md -a claude-code --skill b2c-site-import-exportInstallation paths:
.claude/skills/b2c-site-import-export/# Site Import/Export Skill
Use the `b2c` CLI plugin to import and export site archives on Salesforce B2C Commerce instances.
> **Tip:** If `b2c` is not installed globally, use `npx @salesforce/b2c-cli` instead (e.g., `npx @salesforce/b2c-cli job import`).
## Import Commands
### Import Local Directory
```bash
# Import a local directory as a site archive
b2c job import ./my-site-data
# Import and wait for completion
b2c job import ./my-site-data --wait
# Import a local zip file
b2c job import ./export.zip
# Keep the archive on the instance after import
b2c job import ./my-site-data --keep-archive
# Show job log if the import fails
b2c job import ./my-site-data --wait --show-log
```
### Import Remote Archive
```bash
# Import an archive that already exists on the instance (in Impex/src/instance/)
b2c job import existing-archive.zip --remote
```
## Export Commands
```bash
# Export site data
b2c job export
# Export with specific configuration
b2c job export --wait
```
## Common Workflows
### Adding a Custom Attribute to Products
1. Create the metadata XML file:
**meta/system-objecttype-extensions.xml:**
```xml
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.demandware.com/xml/impex/metadata/2006-10-31">
<type-extension type-id="Product">
<custom-attribute-definitions>
<attribute-definition attribute-id="vendorSKU">
<display-name xml:lang="x-default">Vendor SKU</display-name>
<type>string</type>
<mandatory-flag>false</mandatory-flag>
<externally-managed-flag>true</externally-managed-flag>
</attribute-definition>
</custom-attribute-definitions>
<group-definitions>
<attribute-group group-id="CustomAttributes">
<display-name xml:lang="x-default">Custom Attributes</display-name>
<attribute attribute-id="vendorSKU"/>
</attribute-group>
</group-definitions>
</ty