Skip to main content

b2c-mrt

Deploy and manage Managed Runtime (MRT) storefronts using the b2c CLI. Use this skill whenever the user needs to deploy a PWA Kit bundle, manage MRT environments and projects, set environment variables, configure URL redirects, or manage organization connections — even if they just say "deploy my PWA" or "set up a staging environment".

跳到安装

来源信息

仓库
SalesforceCommerceCloud/b2c-developer-tooling
最近来源活动
2026年9月21日 16:20
检测到的 SKILL.md 语言
英语
星标
54
分支
21

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
5 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
b2c-mrt
description
Deploy and manage Managed Runtime (MRT) storefronts using the b2c CLI. Use this skill whenever the user needs to deploy a PWA Kit bundle, manage MRT environments and projects, set environment variables, configure URL redirects, or manage organization connections — even if they just say "deploy my PWA" or "set up a staging environment".
# B2C MRT Skill Use the `b2c` CLI to manage Managed Runtime (MRT) projects, environments, bundles, and deployments for PWA Kit storefronts. > **Tip:** If `b2c` is not installed globally, use `npx @salesforce/b2c-cli` instead (e.g., `npx @salesforce/b2c-cli mrt bundle deploy`). ## Configuration & Authentication The CLI resolves the MRT API key from `MRT_API_KEY` (or `SFCC_MRT_API_KEY`), `dw.json`, `~/.mobify`, or configuration plugins. Project and environment defaults can also come from `package.json` under `b2c` (`mrtProject`, `mrtEnvironment`) or environment variables. `package.json` cannot supply API keys or other secrets. **Flags like `--api-key`, `-p`, and `-e` are usually unnecessary** when defaults are configured — only pass them to override. Run `b2c setup inspect` to see the resolved configuration and which source provided each value (use `--json` for scripting; keep secrets masked unless the user explicitly requests their values). For precedence rules and troubleshooting, see the `b2c-cli:b2c-config` skill. ### MRT Backends (legacy vs SCAPI) Most MRT commands run against the legacy MRT Cloud API (API key). Several commands can also run over the SCAPI MRT backend: `mrt bundle history`, `mrt bundle list`, `mrt bundle deploy` (both the local-build push and deploying an existing `<bundleId>`), and the `mrt env var` family (`list` / `set` / `push` / `delete`). Choose with `--mrt-backend` (`MRT_BACKEND` / `SFCC_MRT_BACKEND`, or `mrtBackend` in `dw.json`): - `auto` (default) — use SCAPI when it's configured (`--short-code` + `--tenant-id` + client-credentials or JWT Bearer auth), otherwise legacy. Falls back to legacy on safe pre-execution errors. Each command requests its own scopes: bundle commands use `sfcc.storefront.deployments[.rw]`; env var commands use `sfcc.storefront.environments[.rw]` (reads accept either tier, writes require `.rw`). - `legacy` — always the MRT Cloud API. - `scapi` — always SCAPI, with no fallback; errors if prerequisites are missing. Also errors on unsupported commands (every MRT command except the bundle and env var commands above). Notes: - Under `--json`, these commands emit the **serving backend's native shape** (e.g. `bundle history` is legacy `{count, next, previous, deployments}` vs SCAPI `{limit, offset, total, data}`; `env var list` is legacy `{count, variables}` vs the SCAPI native environment-variables map). The human table is normalized; `--json` is not. Pin `legacy` or `scapi` when a script needs a stable shape. - Env vars over SCAPI use the Storefront Environments API. `set` and `delete` apply a merge-PATCH (only the keys you pass change; `delete` sends the key with a `null` value); values are always masked by both backends. `push` resolves the backend once from its initial read and pins every write to it, so a single `push` never crosses backends. - Legacy-only flags (`--api-key`, `--cloud-origin` / `-u`, `--credentials-file` / `-c`) are ignored — with a warning — when SCAPI serves the request. - `--storefront` (long) and `-s` (short) are aliases of `--project` / `-p` — the SCAPI storefront ID is the project slug, so all four are interchangeable on every `mrt` command. On `mrt project create` this flag sets the new project's slug (auto-generated from the name if omitted); `mrt bundle save` uses `-d` for `--save-dir`, keeping `-s` free for the storefront alias. ## Command Structure ``` mrt ├── org - Organizations and B2C connections │ ├── member - Organization-level member management │ └── cert - Custom domain certificates ├── project - Project management │ ├── member - Team member management │ └── notification - Deployment notifications ├── env - Environment management (incl. clone) │ ├── var - Environment variables │ ├── redirect - URL redirects │ └── access-control - Access control headers ├── bundle - Bundle and deployment management (incl. delete) └── user - User profile and settings ``` ## Quick Examples ### Deploy a Bundle ```bash # Push local build to staging b2c mrt bundle deploy -p my-storefront -e staging # Push to production with release message b2c mrt bundle deploy -p my-storefront -e production -m "Release v1.0.0" # Deploy existing bundle by ID b2c mrt bundle deploy 12345 -p my-storefront -e production # Build and upload a v2-format bundle (upload only; deploy the returned ID separately) b2c mrt bundle upload-v2 -p my-storefront ``` ### Manage Environments ```bash # List environments b2c mrt env list -p my-storefront # Create a new environment b2c mrt env create qa -p my-storefront --name "QA Environment" # Clone an existing environment (-e is the source; positional arg is the new slug) b2c mrt env clone qa -p my-storefront -e staging --clone-redirects --clone-env-vars # Get environment details b2c mrt env get -p my-storefront -e production # Invalidate CDN cache b2c mrt env invalidate -p my-storefront -e production ``` ### Environment Variables ```bash # List variables b2c mrt env var list -p my-storefront -e production # Set variables b2c mrt env var set API_KEY=secret DEBUG=true -p my-storefront -e staging # Delete a variable b2c mrt env var delete OLD_VAR -p my-storefront -e production ``` ### View Deployment History ```bash # List bundles in project b2c mrt bundle list -p my-storefront # View deployment history for environment b2c mrt bundle history -p my-storefront -e production # Download a bundle artifact b2c mrt bundle download 12345 -p my-storefront # Delete one or more bundles (uses bulk-delete for >1) b2c mrt bundle delete 12345 -p my-storefront b2c mrt bundle delete 12345 12346 12347 -p my-storefront --force ``` ### Organization Members and Certificates Organization members are distinct from project members; they hold a role at the organization level. Custom-domain certificates are organization-scoped and referenced by `b2c mrt env create`/`update`/`clone` via `--certificate-id`. ```bash # List, add, update, remove organization members b2c mrt org member list --org my-org b2c mrt org member add alice@example.com --org my-org --role member --view-all-projects b2c mrt org member update alice@example.com --org my-org --no-cert-permission b2c mrt org member remove alice@example.com --org my-org # Manage custom domain certificates b2c mrt org cert list --org my-org b2c mrt org cert create shop.example.com --org my-org # output includes the DNS validation record b2c mrt org cert get 123 --org my-org b2c mrt org cert restart-validation 123 --org my-org b2c mrt org cert delete 123 --org my-org ``` ### Project Management ```bash # List projects b2c mrt project list # Get project details b2c mrt project get -p my-storefront # List project members b2c mrt project member list -p my-storefront # Add a member b2c mrt project member add user@example.com -p my-storefront --role developer ``` ### URL Redirects ```bash # List redirects b2c mrt env redirect list -p my-storefront -e production # Create a redirect b2c mrt env redirect create -p my-storefront -e production \ --from "/old-path" --to "/new-path" # Clone redirects between environments b2c mrt env redirect clone -p my-storefront --source staging --target production ``` ## Configuration ### dw.json Configure MRT settings in your project's `dw.json`: ```json { "mrtProject": "my-storefront", "mrtEnvironment": "staging" } ``` ### Environment Variables ```bash export MRT_API_KEY=your-api-key export MRT_PROJECT=my-storefront export MRT_ENVIRONMENT=staging export MRT_BACKEND=auto # auto (default) | legacy | scapi ``` ### ~/.mobify Config Store your API key in `~/.mobify`: ```json { "api_key": "your-mrt-api-key" } ``` ## Detailed References - [Project Commands](references/PROJECT-COMMANDS.md) - Projects, members, and notifications - [Environment Commands](references/ENVIRONMENT-COMMANDS.md) - Environments, variables, redirects - [Bundle Commands](references/BUNDLE-COMMANDS.md) - Deployments, history, downloads ### More Commands See `b2c mrt --help` for a full list of available commands and options.
在 GitHub 查看