b2c-sites について
b2c-sitesは、`b2c`コマンドラインでSalesforce B2C Commerceのサイトを確認し、カートリッジパスを管理するAgent Skillです。設定元の確認や、スクリプト向けのJSON出力にも対応します。
主な機能
- 01サイトとストアフロント状態の一覧
- 02JSONによるサイトメタデータ表示
- 03カートリッジパスの表示と編集
- 04コマンドライン設定元の特定
- 05必要に応じたアーカイブインポートへの切り替え
活用シーン
- 01他のコマンド用のサイトID確認
- 02ストアフロントの稼働状態確認
- 03自動化でのサイトメタデータ抽出
MCP 対応
`b2c`コマンドラインの利用を案内するAgent Skillです。MCPサーバーへの接続や管理については入力に記載がありません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ salesforcecommercecloud/ b2c-developer-tooling --skill b2c-sitesインストール後、Claude Code で/b2c-sitesを入力して読み込まれたか確認します。
同梱ファイルevals/trigger-evals.json
詳細
B2C サイトスキル
b2c CLI プラグインを使用して、Salesforce B2C Commerce インスタンス上のストアフロントサイトを一覧表示および管理します。
ヒント:
b2cがグローバルにインストールされていない場合は、代わりにnpx @salesforce/b2c-cliを使用してください(例:npx @salesforce/b2c-cli sites list)。
設定と認証
CLI は、SFCC_* 環境変数(プロジェクトの .env を含む)、選択したプロジェクトローカルまたは共有の dw.json、および設定プラグインから、対象インスタンスと認証情報を自動検出します。package.json には機密情報ではないデフォルト値のみを指定します。--server、--client-id、--client-secret などのフラグは通常不要です。自動検出された値を上書きする場合にのみ指定してください。
b2c setup inspect を実行すると、解決された設定と各値の取得元を確認できます(スクリプトで使用する場合は --json を指定します。デフォルトではシークレットはマスクされます)。優先順位のルールやトラブルシューティングについては、b2c-cli:b2c-config スキルを参照してください。
コマンド
b2c sites list
B2C Commerce インスタンス上のすべてのサイトを一覧表示し、サイト ID、表示名、ストアフロントのステータスを表示します。
# list all sites on the configured instance
b2c sites list
# list sites on a specific server
b2c sites list --server my-sandbox.demandware.net
# list sites with JSON output (useful for parsing/automation)
b2c sites list --json
# use a specific instance from config
b2c sites list --instance production
# enable debug logging
b2c sites list --debug
カートリッジパスの管理
サイト上で有効なカートリッジの順序付きリストを管理します。単数形のエイリアス sites cartridge も使用できます。
# list the cartridge path for a storefront site
b2c sites cartridges list --site-id RefArch
# list the Business Manager cartridge path
b2c sites cartridges list --bm
# add a cartridge to the beginning of a site's path (default)
b2c sites cartridges add plugin_applepay --site-id RefArch
# add a cartridge to the end
b2c sites cartridges add plugin_applepay --site-id RefArch --position last
# add a cartridge after a specific cartridge
b2c sites cartridges add plugin_applepay --site-id RefArch --position after --target app_storefront_base
# add a cartridge to Business Manager
b2c sites cartridges add bm_extension --bm --position first
# remove a cartridge from a site
b2c sites cartridges remove old_cartridge --site-id RefArch
# replace the entire cartridge path
b2c sites cartridges set "app_storefront_base:plugin_applepay:plugin_wishlists" --site-id RefArch
# JSON output for automation
b2c sites cartridges list --site-id RefArch --json
/sites/*/cartridges に対する OCAPI の直接権限が利用できない場合、カートリッジコマンドは自動的にサイトアーカイブのインポート/エクスポートにフォールバックします。Business Manager(--bm)による更新では、常にサイトアーカイブのインポートを使用します。
主なフラグ(InstanceCommand から継承):
| フラグ | 短縮形 | 説明 |
|---|---|---|
--server | -s | B2C インスタンスのホスト名(env: SFCC_SERVER) |
--json | すべてのサイトデータを JSON として出力する | |
--instance | 設定から名前付きインスタンスを指定する | |
--debug | デバッグログを有効にする |
出力列: ID、表示名、ステータス(storefront_status)。
JSON 出力では、すべてのプロパティを含むサイトオブジェクト全体を返します(表には表示されないチャネル ID、カスタム設定、その他のサイトメタデータの抽出に便利です)。
shortCode、tenantId、および sfcc.sites / sfcc.sites.rw スコープが設定されている場合、サイトの読み取りとカートリッジパスの書き込みは SCAPI(site/sites API)経由で実行されます。auto は、安全な SCAPI の拒否時に一時的に非推奨の OCAPI にフォールバックし、直接 API が利用できない場合、書き込みはさらにサイトアーカイブのインポートにフォールバックできます。
よくある使用例
他のコマンドで使用するサイト ID の検索: サイトのインポート/エクスポートなど、多くのコマンドではサイト ID が必要です。sites list を使用して有効な ID を確認してください。
b2c sites list
# then use the ID in other commands
b2c job export --site RefArch --site-data content,site_preferences
サイトのステータスの確認: ステータス列には、各サイトのストアフロントのステータス(オンライン/オフライン)が表示され、デプロイ状態の確認に役立ちます。
スクリプトと自動化: --json を使用すると、CI/CD パイプラインで扱える機械可読形式の出力を取得できます。
b2c sites list --json | jq '.data[].id'
関連スキル
- b2c-config -- インスタンスと認証情報を設定し、接続の問題をデバッグする
- b2c-site-import-export -- サイトアーカイブとメタデータ XML をインポート/エクスポートする