Skip to main content

b2c-scaffold

Generate B2C Commerce cartridges, controllers, hooks, custom APIs, job steps, and Page Designer components from scaffold templates. Use this skill whenever the user needs to create a new cartridge, add a controller or hook to an existing cartridge, bootstrap a custom API endpoint, or generate boilerplate for job steps or Page Designer components — even if they just say "create a new cartridge" or "I need a controller for loyalty".

Source facts

Repository
SalesforceCommerceCloud/b2c-developer-tooling
Last source activity
April 14, 2026 at 02:15
Detected SKILL.md language
English
Stars
56
Forks
22

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
b2c-scaffold
description
Generate B2C Commerce cartridges, controllers, hooks, custom APIs, job steps, and Page Designer components from scaffold templates. Use this skill whenever the user needs to create a new cartridge, add a controller or hook to an existing cartridge, bootstrap a custom API endpoint, or generate boilerplate for job steps or Page Designer components — even if they just say "create a new cartridge" or "I need a controller for loyalty".
# B2C Scaffold Skill Use the `b2c scaffold` commands to generate B2C Commerce components from templates. > **Tip:** If `b2c` is not installed globally, use `npx @salesforce/b2c-cli` instead. ## Examples ### List Available Scaffolds ```bash # list all scaffolds b2c scaffold list # list only cartridge scaffolds b2c scaffold list --category cartridge # show extended info (description, tags) b2c scaffold list -x ``` ### Generate a Cartridge ```bash # generate interactively b2c scaffold cartridge # generate with name b2c scaffold cartridge --name app_custom # generate to specific directory b2c scaffold cartridge --name app_custom --output ./src/cartridges # skip prompts, use defaults b2c scaffold cartridge --name app_custom --force # preview without creating files b2c scaffold cartridge --name app_custom --dry-run ``` ### Generate a Controller ```bash # generate interactively (prompts for cartridge selection) b2c scaffold controller # generate with all options b2c scaffold controller \ --option controllerName=Account \ --option cartridgeName=app_custom \ --option routes=Show,Submit ``` ### Generate a Hook ```bash # generate a system hook b2c scaffold hook \ --option hookName=validateBasket \ --option hookType=system \ --option hookPoint=dw.order.calculate \ --option cartridgeName=app_custom # generate an OCAPI hook b2c scaffold hook \ --option hookName=modifyBasket \ --option hookType=ocapi \ --option hookPoint=dw.ocapi.shop.basket.beforePOST \ --option cartridgeName=app_custom ``` ### Generate a Custom API ```bash # generate a shopper API b2c scaffold custom-api \ --option apiName=loyalty-points \ --option apiType=shopper \ --option cartridgeName=app_custom # generate an admin API b2c scaffold custom-api \ --option apiName=inventory-sync \ --option apiType=admin \ --option cartridgeName=app_custom ``` ### Generate a Job Step ```bash # generate a task-based job step b2c scaffold job-step \ --option stepId=custom.CleanupOrders \ --option stepType=task \ --option cartridgeName=app_custom # generate a chunk-based job step b2c scaffold job-step \ --option stepId=custom.ImportProducts \ --option stepType=chunk \ --option cartridgeName=app_custom ``` ### Generate a Page Designer Component ```bash b2c scaffold page-designer-component \ --option componentId=heroCarousel \ --option componentName="Hero Carousel" \ --option componentGroup=content \ --option cartridgeName=app_custom ``` ### Get Scaffold Info ```bash # see parameters and usage for a scaffold b2c scaffold info cartridge b2c scaffold info controller ``` ### Search Scaffolds ```bash # search by keyword b2c scaffold search api # search within a category b2c scaffold search template --category page-designer ``` ### Create Custom Scaffolds ```bash # create a project-local scaffold b2c scaffold init my-component --project # create a user scaffold b2c scaffold init my-component --user # validate a custom scaffold b2c scaffold validate ./.b2c/scaffolds/my-component ``` ## Built-in Scaffolds | Scaffold | Category | Description | |----------|----------|-------------| | `cartridge` | cartridge | B2C cartridge with standard structure | | `controller` | cartridge | SFRA controller with routes and middleware | | `hook` | cartridge | Hook with hooks.json registration | | `custom-api` | custom-api | Custom SCAPI with OAS 3.0 schema | | `job-step` | job | Job step with steptypes.json registration | | `page-designer-component` | page-designer | Page Designer component | ## Related Skills - `b2c-cli:b2c-code` - Deploy generated cartridges to B2C instances - `b2c:b2c-controllers` - SFRA controller patterns and best practices - `b2c:b2c-hooks` - B2C hook extension points - `b2c:b2c-custom-api-development` - Custom API development guide - `b2c:b2c-custom-job-steps` - Job step implementation patterns - `b2c:b2c-page-designer` - Page Designer component development
View on GitHub