前端开发

experience-ui-bundle-site-generate

forcedotcom/sf-skills

MUST activate when the project contains a uiBundles/*/src/ directory and the task involves creating or configuring site infrastructure. Use this skill when creating or configuring a Salesforce Digital Experience Site for hosting a UI bundle. Activate when files matching digitalExperiences/, networks/, customSite/, or DigitalExperienceBundle exist and need modification, or when the user wants to publish, host, or configure guest access for their app. Also use this skill to add multi-language, multi-locale, internationalization, or translation support to such a site by declaring a default locale and additional supported languages via the sfdc_cms__languageSettings content type. DO NOT TRIGGER for LWR (non-React) sites; use experience-lwr-site-generate instead.

  • 5025 次安装
  • 1100 星标
  • 收录于

安装命令

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

SKILL.md

Digital Experience Site for React UI Bundles

Create and configure Digital Experience Sites that host React UI bundles on Salesforce. This skill generates the minimum necessary site infrastructure — Network, CustomSite, DigitalExperienceConfig, DigitalExperienceBundle, and the sfdc_cms__site content type — so a React app can be served from Salesforce.

React sites differ from standard LWR sites: they don't need routes, views, theme layouts, or branding sets. The site acts as a thin container (appContainer: true) that delegates rendering to the React UI bundle referenced by appSpace.

Required Properties

Resolve all five properties before generating any metadata. Each has a fallback chain — work through each option in order until a value is found.

Property Format How to Resolve
siteName UpperCamelCase (e.g., MyCommunity) Ask user or derive from context
siteUrlPathPrefix All lowercase (e.g., mycommunity) User-provided, or convert siteName to all lowercase with alphanumeric characters only
appNamespace String namespace in sfdx-project.json → sf data query -q "SELECT NamespacePrefix FROM Organization" --target-org ${usernameOrAlias} → default c
appDevName String UIBundle metadata in the project → sf data query -q "SELECT DeveloperName FROM UIBundle" --target-org ${usernameOrAlias} → default to siteName
enableGuestAccess Boolean Ask user whether unauthenticated guest users can access site APIs → default false

The appNamespace and appDevName properties record the intended UIBundle binding for a future follow-up update; they are not substituted into appSpace at initial site creation. appSpace in the sfdc_cms__site content.json is always "" at initial creation — see configure-metadata-digital-experience.md for the reason and the follow-up flow.