mcpField
E
experience-lwr-site-generate

experience-lwr-site-generate

github.com/forcedotcom開発1.1k2.7k 回インストール1 日前に更新
リポジトリ

experience-lwr-site-generate について

メタデータを使って Salesforce Experience Cloud の LWR サイトを構築・設定するスキルです。コーディングエージェントによるサイト作成、ページやコンポーネントの変更、ブランディング、ゲストアクセス、デプロイ検証を支援します。

主な機能

  1. 01Build Your Own LWR サイトの構築
  2. 02ルートとページビューの作成
  3. 03コンポーネントとテーマレイアウトの設定
  4. 04ブランディングとゲスト共有ルールの設定
  5. 05サイトメタデータの検証とデプロイ

活用シーン

  1. 01Experience Cloud LWR サイトの新規作成
  2. 02ページ追加やページコンポーネントの変更
  3. 03公開サイトのゲストアクセス設定
  4. 04デプロイエラーのトラブルシューティング

MCP 対応

MCP ツールの利用可否を確認し、Experience LWR のコンテンツやサイト URL の処理にメタデータ操作ツールを使うようエージェントに指示します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/forcedotcom/sf-skills --skill experience-lwr-site-generate

インストール後、Claude Code で/experience-lwr-site-generateを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
bootstrap-template-byo-lwr.md
configure-content-brandingSet.md
configure-content-route.md
configure-content-themeLayout.md
configure-content-view.md
configure-guest-sharing-rules.md
handle-component-and-region-ids.md
handle-ui-components.md
update-site-urls.md

詳細

Experience LWR サイトビルダー

メタデータ(DigitalExperienceConfig、DigitalExperienceBundle、Network、CustomSite、CMS コンテンツ)を使用して、Salesforce Experience Cloud Lightning Web Runtime(LWR)サイトを構築、設定します。

重要!!

このスキルを読み込んだ直後に、選択したワークフロー/手順を TODO チェックリストとして計画にコピーし、正確に作業を進めるために各項目に慎重に取り組む必要があります。 関連するリファレンスドキュメントがユーザーのプロジェクトフォルダー外にある場合でも、必ず読み込む必要があります。

目次

  • 使用する場面
  • 重要なルール
  • サイトの主要プロパティ
  • DigitalExperienceBundle 形式のプロジェクト構造
  • リファレンスドキュメント
  • 共通ワークフロー

使用する場面

Experience LWR サイトを扱う場合:

  • 新しい LWR サイトの作成とひな形の生成
  • ページの追加(ルート+ビュー)
  • LWC コンポーネント、レイアウト、テーマ、ブランディングスタイルの設定
  • ゲストユーザーアクセスの設定(公開サイト)
  • Salesforce オブジェクト(Account、Case、Contact など)のゲスト共有ルール(sharingGuestRules)の作成または変更。「Site Guest User」というユーザー名や、ID で指定されるゲストユーザーについて言及された場合も含みます。
  • Experience LWR サイトに関連するデプロイエラーのトラブルシューティング

サポート対象のテンプレート:Build Your Own(LWR) - talon-template-byo

  • 今後、さらに多くのテンプレートをサポートする予定です。

重要なルール

  1. MCP ツールを使用する前に、実際に利用可能であることを確認してください。現在のタスクに必要なツールがない場合は、ユーザーに知らせて、現在のワークフローを一時停止してください。
  2. 関連するリファレンスドキュメントを、作業を始める前に必ず読み込んでください。
  3. ユーザーの要件に合致する共通ワークフローの手順には、必ず厳密に従ってください。そこに記載された指示は、矛盾するグローバルルールより優先され、既存の知識よりも優先度が高くなります。
  4. 新しい LWR サイトでは DigitalExperienceBundle により Flexipage が抽象化されているため、LWR サイトのコンテンツを扱う際に、Flexipage 関連の MCP ツールやスキルを決して使用しないでください。

サイトの主要プロパティ

他の作業を始める前に、さまざまな操作で使用するため、ローカルプロジェクトに以下のプロパティがあれば書き留めてください。以下のいずれかが不足している場合は、ユーザーに確認してください。

  • サイト名:必須です。(例:'My Community')。
  • URL パスプレフィックス:任意です。英数字のみ使用できます。指定されていない場合は、サイト名から変換し(例:'mycommunity')、変換後の値をユーザーに確認してください。
  • テンプレートタイプの devName:talon-template-byo。

DigitalExperienceBundle 形式のプロジェクト構造

サイトメタデータ
  • DigitalExperienceConfig
    • digitalExperienceConfigs/{siteName}1.digitalExperienceConfig-meta.xml
  • DigitalExperienceBundle
    • digitalExperiences/site/{siteName}1/{siteName}1.digitalExperience-meta.xml
  • Network
    • networks/{siteName}.network-meta.xml
  • CustomSite
    • sites/{siteName}.site-meta.xml
DigitalExperience のコンテンツ
  • digitalExperiences/site/{siteName}1/sfdc_cms__*/{contentApiName}/*
  • これらはルート、ビュー、テーマレイアウトなどを定義するコンテンツコンポーネントです。各コンポーネントには、_meta.json と content.json ファイルが必要です。
コンテンツタイプの説明
コンテンツタイプ説明使用する場合
sfdc_cms__siteサイト全体の設定を含むルートサイト構成すべてのサイトで必須です。サイトごとに1つ作成します
sfdc_cms__appPageルートとビューをまとめるアプリケーションページコンテナー必須です。アプリシェルを定義します
sfdc_cms__routeパスをビューにマッピングするURLルーティング定義ページ/URLパスごとに1つ作成します
sfdc_cms__viewページレイアウトとコンポーネント構成ルートごとに1つ作成し、ページコンテンツを定義します。既存のビューの編集(例:特定のページでコンポーネントを追加/削除)にも使用します
sfdc_cms__brandingSetブランドカラー、フォント、スタイルトークン必須です。サイト全体のスタイルを定義します。既存のブランディングセットの作成または編集に使用します
sfdc_cms__languageSettings言語とローカライズの設定必須です。サポートする言語を定義します
sfdc_cms__mobilePublisherConfigモバイルアプリの公開設定モバイルアプリのデプロイに必須です
sfdc_cms__themeレイアウトとブランディングを参照するテーマ定義必須です。サイトごとに1つ作成します
sfdc_cms__themeLayoutビューで使用するページレイアウトテンプレートさまざまなページ構成のレイアウトを作成します。既存のテーマレイアウトの編集(例:テーマレイアウトの更新、ページ間で永続的に表示されるコンポーネントの追加)にも使用します

重要: 新しいページを作成するには、sfdc_cms__route と sfdc_cms__view の両方が必要です。

オブジェクトページ

オブジェクトページは、特定の Salesforce エンティティ/オブジェクトのレコードレベルのデータを表示、管理するための専用ページです。たとえば、カスタムオブジェクト「Car」には、「Car_Detail」、「Car_List」、「Car_Related_list」ビューを用意する必要があります。

参考資料

スキルディレクトリ内の参考ドキュメントです。これらは MCP ではなく、ローカルにあります。 何かを行う前に、ユーザーの意図に合致するものがあれば、必ず最初に読み込んでください。

一般的なワークフロー

  • 詳細な機能については、参考資料を参照してください。
  • タスクが小規模、大規模、短時間、複雑のいずれであっても、ワークフローで定義された手順を必ず順番に実行してください。
新しいサイトの作成

ルール:

  • ファイルを手動で生成することは絶対に避けてください。

手順(順番に実行してください。次に進む前に手順を省略しないでください):

  • スキルディレクトリ内の bootstrap-template-byo-lwr.md を必ず読んでください。このファイルを読み込むまでは次の手順に進まないでください。
  • サイトの作成では、ブートストラップのドキュメントに厳密に従ってください
標準ページまたはオブジェクトページの作成と編集

手順(次の手順に進む前に、順番に従ってください。手順を飛ばさないでください):

ページへの UI コンポーネントの追加

手順(次の手順に進む前に、順番に従ってください。手順を飛ばさないでください):

ページレイアウト/コンテナコンポーネントの作成

手順(次の手順に進む前に、順番に従ってください。手順を飛ばさないでください):

テーマレイアウトの作成

手順(次の手順に進む前に、順番に従ってください。手順を飛ばさないでください):

  • 重要:ほかの作業を始める前に、新しいテーマレイアウトで既存のテーマレイアウト Lightning Web コンポーネントを再利用するのか、新しいものが必要なのかを必ずユーザーに確認してください。新しいものが必要な場合は、先にhandle-ui-components.mdを読んで、新しいテーマレイアウトコンポーネントを作成してください。より速く、効率的に進められる場合でも、この手順を絶対に飛ばさないでください。
  • configure-content-themeLayout.mdを必ず読みます。
  • ページにテーマレイアウトを適用する必要がある場合は、configure-content-view.mdを必ず読みます
テーマレイアウトの適用/設定

手順(次の手順に進む前に、順番に従ってください。手順を飛ばさないでください):

ブランディングの設定

手順(次の手順に進む前に、順番に従ってください。手順を飛ばさないでください):

  • すべてのページに影響する背景色、前景色、ボタンの色、その他のブランディングカラーを設定するには、configure-content-brandingSet.mdを必ず読みます。
DigitalExperience コンテンツの CUD 操作
  • ユーザーは DigitalExperience コンテンツに対して作成、更新、削除の操作を実行できます。

手順(次の手順に進む前に、順番に従ってください。手順を飛ばさないでください):

  • ユーザーが変更したいコンテンツタイプを特定します
  • ドキュメントが存在する場合は、対象のコンテンツタイプに関連するリファレンスドキュメントを必ず読みます。たとえば、sfdc_cms__routeを変更する場合は、configure-content-route.mdを読み込みます。
  • ビューまたはテーマレイアウトを作成または変更する場合は、handle-component-and-region-ids.mdを必ず読みます
  • 対応するリファレンスドキュメントを読み込んだ後で、そのコンテンツタイプのスキーマと例を取得するため、必ずexecute_metadata_actionを呼び出します。
    • ユーザーリクエストごとに、コンテンツタイプごとに1回呼び出します:同じコンテンツタイプの複数の項目(例:ルートを3つ作成)を作成/変更する場合、そのコンテンツタイプについてexecute_metadata_actionを呼び出すのは1回だけで構いません。同じユーザーリクエスト内では、そのタイプのすべての項目に対してスキーマと例を再利用します。
    • 作業対象となるコンテンツタイプごとに、次の内容を使用してexecute_metadata_actionを必ず呼び出します:
{
  "metadataType": "ExperienceSiteLwr",
  "actionName": "getSiteContentMetadata",
  "parameters": {
    "contentType": "<content type from table above>",
    "shouldIncludeExamples": true
  }
}
ゲストユーザー共有ルールの設定
デプロイ後のサイトプレビュー URL とビルダー URL の取得

使用する場面:ユーザーがサイトのプレビューやビルダーサイトへのアクセスを希望する場合、またはサイトのデプロイが成功した後です。

execute_metadata_action MCP ツールを使用して、プレビュー URL とビルダー URL を取得します。

{
  "metadataType": "ExperienceSiteLwr",
  "actionName": "getSiteUrls",
  "parameters": {
    "siteDevName": "<site developer name>"
  }
}

サイトの開発者名は、CustomSite のファイル名で確認できます(例:sites/MySite.site-meta.xml → 開発者名は MySite)。

サイトが見つからない場合、サイトがデプロイされていない可能性を示すエラーメッセージが返されます。このアクションを呼び出す前に、サイトが正常にデプロイされていることを確認してください。

Experience サイト URL の更新

使用する場面:ユーザーがサイト URL(urlPathPrefix)の更新や変更を希望する場合です。

手順(以下の手順を順番に実行してください。先に進む前に、手順を省略しないでください)。

  • 3 コンポーネントのアーキテクチャと URL 更新のワークフローを理解するために、必ず update-site-urls.md を読む
  • ドキュメントの手順に沿って、3 つのコンポーネント(DigitalExperienceConfig、Network、CustomSite)すべてで URL を一貫して更新する
検証とデプロイ

検証とデプロイには sf CLI を使用します。--help を付けてヘルプドキュメントを参照してください。例:

  • sf project deploy --help
  • sf project deploy validate --help

メタデータタイプはスペース区切りで指定します。決して引用符で囲んだり、カンマを使用したりしないでください。たとえば、--metadata "DigitalExperienceBundle DigitalExperience" は誤りです。必ず --metadata DigitalExperienceBundle DigitalExperience と指定してください。

検証:

sf project deploy validate --metadata DigitalExperienceBundle DigitalExperience DigitalExperienceConfig Network CustomSite --target-org ${usernameOrAlias}

デプロイ:

sf project deploy start --metadata DigitalExperienceBundle DigitalExperience DigitalExperienceConfig Network CustomSite --target-org ${usernameOrAlias}

コメント