@salesforce/afv-skills 1.6.6 → 1.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/afv-skills",
3
- "version": "1.6.6",
3
+ "version": "1.6.8",
4
4
  "description": "Salesforce skills for Agentforce Vibes",
5
5
  "license": "CC-BY-NC-4.0",
6
6
  "files": [
@@ -11,8 +11,8 @@
11
11
  "registry": "https://registry.npmjs.org"
12
12
  },
13
13
  "devDependencies": {
14
- "@salesforce/ui-bundle-template-app-react-sample-b2e": "^1.120.2",
15
- "@salesforce/ui-bundle-template-app-react-sample-b2x": "^1.120.2",
14
+ "@salesforce/ui-bundle-template-app-react-sample-b2e": "^1.120.3",
15
+ "@salesforce/ui-bundle-template-app-react-sample-b2x": "^1.120.3",
16
16
  "@salesforce/webapp-template-app-react-sample-b2e-experimental": "^1.117.1",
17
17
  "@salesforce/webapp-template-app-react-sample-b2x-experimental": "^1.117.1",
18
18
  "@types/js-yaml": "^4.0.9",
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: building-ui-bundle-app
3
- description: "Build complete Salesforce React UI bundle applications from natural language descriptions. Use this skill when a user requests a full React app, UI bundle app, web app on Salesforce, or describes a scenario requiring scaffolding, features, data access, UI pages, and deployment of a React application hosted on Salesforce. Orchestrates all UI bundle skills in proper dependency order to produce a deployable application. Triggers on: build a React app, create a UI bundle, build me an app, full-stack Salesforce React app, create a web app on Salesforce."
3
+ description: "MUST activate when the user wants to build, create, or generate a React application, React app, web application, single-page application (SPA), or frontend application — even if no project files exist yet. MUST also activate when the project contains a uiBundles/*/src/ directory or sfdx-project.json and the prompt says create, build, construct, or generate a new app, site, or page from scratch — even if the prompt also describes visual styling. MUST also activate when the task spans more than one ui-bundle skill. Use this skill when building a complete app end-to-end. This is the orchestrator that coordinates scaffolding, features, data access, frontend UI, integrations, and deployment in the correct dependency order. Without it, phases execute out of order and the app breaks. Do NOT use for Lightning Experience apps with custom objects (use generating-lightning-app). Do NOT use for single-concern edits to an existing page (use building-ui-bundle-frontend)."
4
4
  metadata:
5
5
  version: "1.0"
6
- related-skills: generating-ui-bundle-metadata, generating-ui-bundle-features, using-ui-bundle-salesforce-data, building-ui-bundle-frontend, implementing-ui-bundle-agentforce-conversation-client, implementing-ui-bundle-file-upload, deploying-ui-bundle, generating-experience-react-site
6
+ related-skills: generating-ui-bundle-metadata, generating-ui-bundle-features, using-ui-bundle-salesforce-data, building-ui-bundle-frontend, implementing-ui-bundle-agentforce-conversation-client, implementing-ui-bundle-file-upload, deploying-ui-bundle, generating-ui-bundle-site
7
7
  ---
8
8
 
9
9
  # Building a UI Bundle App
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: building-ui-bundle-frontend
3
- description: "Build and modify React UI for Salesforce UI bundles — pages, components, layout, navigation, and headers/footers. Use whenever creating or editing TSX/JSX files or making visual/layout changes. Triggers on: add page, add component, header, footer, navigation, layout, styling, Tailwind, shadcn, React component, appLayout."
3
+ description: "MUST activate before editing ANY file under uiBundles/*/src/ for visual or UI changes to an EXISTING app — pages, components, sections, layout, styling, colors, fonts, navigation, animations, or any look-and-feel change. Use this skill when modifying pages, components, layout, styling, or navigation in an existing UI bundle app. Activate when the project contains appLayout.tsx, routes.tsx, src/pages/, src/components/, or global.css. This skill contains critical project-specific conventions (appLayout.tsx shell, shadcn/ui components, Tailwind CSS, Salesforce base-path routing, module restrictions) that override general knowledge. Without this skill, generated code will use wrong imports, break routing, or ignore project structure. Do NOT use when creating a new app from scratch (use building-ui-bundle-app instead)."
4
4
  ---
5
5
 
6
6
  # UI Bundle UI
@@ -94,6 +94,8 @@ Choose a clear conceptual direction and execute it with precision. Bold maximali
94
94
  - **Spatial Composition:** Unexpected layouts — asymmetry, overlap, diagonal flow, grid-breaking elements. Generous negative space OR controlled density.
95
95
  - **Backgrounds & Depth:** Create atmosphere rather than defaulting to solid colors. Gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, decorative borders, grain overlays.
96
96
 
97
+ - **Mobile Responsiveness:** All generated UI MUST be mobile-responsive. Use Tailwind responsive prefixes (`sm:`, `md:`, `lg:`) to adapt layouts across breakpoints. Stack columns on small screens, use flexible grids, and ensure touch targets are at least 44px. Test that navigation, typography, and spacing work on mobile viewports.
98
+
97
99
  Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate animations and effects. Minimalist designs need restraint, precision, and careful spacing/typography. No two designs should look the same — vary themes, fonts, and aesthetics across generations.
98
100
 
99
101
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: deploying-ui-bundle
3
- description: "Deploy a Salesforce UI bundle to an org the full deployment sequence including org authentication, pre-deploy build, metadata deployment, permission set assignment, data import, GraphQL schema fetch, and codegen. Use whenever the user wants to deploy, push to org, assign permission sets, import data, fetch GraphQL schema, run codegen, or set up an org after development. Triggers on: deploy, push to org, deploy metadata, assign permission set, import data, schema fetch, codegen, org auth, authenticate org, build and deploy, post-deploy, org setup."
3
+ description: "MUST activate when the project contains a uiBundles/*/src/ directory or sfdx-project.json and the task involves deploying, pushing to an org, or post-deploy setup. Use this skill when deploying a UI bundle app to a Salesforce org. Covers the full deployment sequence: org authentication, pre-deploy build, metadata deployment, permission set assignment, data import, GraphQL schema fetch, and codegen. Activate when files like *.uibundle-meta.xml or sfdx-project.json exist and the user mentions deploying, pushing, org setup, or post-deploy tasks."
4
4
  ---
5
5
 
6
6
  # Deploying a UI Bundle
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: generating-ui-bundle-features
3
- description: "Search and install pre-built features into Salesforce React UI bundles authentication, shadcn, search, navigation, GraphQL, Agentforce AI, and more. Use whenever searching for or installing features. Always check for an existing feature before building from scratch. Triggers on: install feature, add authentication, add shadcn, add feature, search features, list features."
3
+ description: "MUST activate when the project contains a uiBundles/*/src/ directory and the user wants to add authentication or search to their app. Use this skill when adding authentication or search to a UI bundle app. Only covers two features: authentication (login, logout, protected routes, session management) and search (global search across pages and content). Always use this skill for these two features instead of building from scratch."
4
4
  ---
5
5
 
6
6
  # UI Bundle Features
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: generating-ui-bundle-metadata
3
- description: "Scaffold new Salesforce UI bundles and configure their metadata sf template generate ui-bundle, UIBundle bundles (meta XML, ui-bundle.json with routing/headers/outputDir), and CSP Trusted Sites for external domains. Use whenever creating a new UI bundle, setting up UI bundle metadata structure, configuring routing or headers, setting outputDir, adding external domains that need CSP registration, or editing bundle configuration. Triggers on: create UI bundle, create ui-bundle, new app, sf template generate ui-bundle, metadata, ui-bundle.json, CSP, trusted site, bundle configuration, meta XML, routing config, external domain, headers config, outputDir."
3
+ description: "MUST activate when the project contains a uiBundles/*/src/ directory and scaffolding a new UI bundle or app, or when editing ui-bundle.json, .uibundle-meta.xml, or CSP trusted site files. Use this skill when scaffolding with sf template generate ui-bundle, configuring ui-bundle.json (routing, headers, outputDir), or registering CSP Trusted Sites. Activate when the task involves files matching *.uibundle-meta.xml, ui-bundle.json, or cspTrustedSites/*.cspTrustedSite-meta.xml."
4
4
  ---
5
5
 
6
6
  # UI Bundle Metadata
@@ -9,7 +9,14 @@ description: "Scaffold new Salesforce UI bundles and configure their metadata
9
9
 
10
10
  Use `sf template generate ui-bundle` to create new apps — not create-react-app, Vite, or other generic scaffolds.
11
11
 
12
- **UI bundle name (`-n`):** Alphanumerical only no spaces, hyphens, underscores, or special characters. Example: `CoffeeBoutique` (not `Coffee Boutique`).
12
+ **Always pass `--template reactbasic`** to scaffold a React-based bundle.
13
+
14
+ **UI bundle name (`-n`):** Alphanumerical only — no spaces, hyphens, underscores, or special characters.
15
+
16
+ **Example:**
17
+ ```bash
18
+ sf template generate ui-bundle -n CoffeeBoutique --template reactbasic
19
+ ```
13
20
 
14
21
  After generation:
15
22
  1. Replace all default boilerplate — "React App", "Vite + React", default `<title>`, placeholder text
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: generating-ui-bundle-site
3
- description: "Use this skill when users need to create or configure a Salesforce Digital Experience Site specifically for hosting a React UI bundle. Trigger when users mention creating an Experience site for a React app, setting up a React site on Salesforce, configuring Network/CustomSite/DigitalExperience metadata for a UI bundle, or deploying site infrastructure for a React application. Also trigger when users mention site URL path prefixes, app namespaces, appDevName, guest access configuration, DigitalExperienceConfig, DigitalExperienceBundle, or sfdc_cms__site content types in the context of React apps. Always use this skill for any React UI bundle site creation or site infrastructure configuration work, even if the user just says \"create a site for my React app\" or \"set up the site for my UI bundle.\""
3
+ description: "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."
4
4
  ---
5
5
 
6
6
  # Digital Experience Site for React UI Bundles
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: implementing-ui-bundle-agentforce-conversation-client
3
- description: Use this skill when the user asks to add, embed, integrate, configure, style, or remove an agent, chatbot, chat widget, conversation client, or AI assistant in a React component. Covers styling (colors, fonts, spacing, borders), layout (inline vs floating, width, height, dimensions), and props (agentId, agentLabel, headerEnabled, showHeaderIcon, showAvatar, styleTokens). Also matches references to specific agents (e.g. travel agent, HR agent, support agent, employee agent). Never create a custom agent, chatbot, or chat widget component.
3
+ description: "MUST activate when the project contains a uiBundles/*/src/ directory and the task involves adding or modifying a chat widget, chatbot, or conversational AI. Use this skill when the user asks to add, embed, integrate, configure, style, or remove an agent, chatbot, chat widget, conversation client, or AI assistant. Covers styling (colors, fonts, spacing, borders), layout (inline vs floating, width, height, dimensions), and props (agentId, agentLabel, headerEnabled, showHeaderIcon, showAvatar, styleTokens). Activate when files under uiBundles/*/src/ import AgentforceConversationClient or when adding any chat or agent functionality to a page. Never create a custom agent, chatbot, or chat widget component."
4
4
  metadata:
5
5
  author: ACC Components
6
6
  version: 1.0.1
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: implementing-ui-bundle-file-upload
3
- description: "Add file upload functionality to React UI bundles with progress tracking and Salesforce ContentVersion integration. Use when the user wants to upload files, attach documents, handle file input, create file dropzones, track upload progress, or link files to Salesforce records. This feature provides programmatic APIs ONLY — no components or hooks are exported. Build your own custom UI using the upload() API. ALWAYS use this feature instead of building file upload from scratch with FormData or XHR."
3
+ description: "MUST activate when the project contains a uiBundles/*/src/ directory and the task involves uploading, attaching, or dropping files. Use this skill when adding file upload functionality to a UI bundle app. Provides progress tracking and Salesforce ContentVersion integration. This feature provides programmatic APIs ONLY — build custom UI using the upload() API. ALWAYS use this instead of building file upload from scratch with FormData or XHR."
4
4
  ---
5
5
 
6
6
  # File Upload API (workflow)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: using-ui-bundle-salesforce-data
3
- description: "Salesforce data access for reading, writing, and querying records via REST, GraphQL, Apex, or Platform SDK. Use when the user wants to fetch, search, filter, sort, display, create, update, delete, or attach files to Salesforce records (standard objects like Accounts, Contacts, Opportunities, Cases, Quotes, or any custom object) in a UI bundle or UI component (React, Angular, Vue, etc.); call Chatter, Connect, or Apex REST APIs; or invoke AuraEnabled Apex methods from an external app. Does not apply to authentication/OAuth setup, schema changes (adding fields, relationships), Bulk/Tooling/Metadata API usage, declarative automation (Flows, Process Builder), general LWC/Apex coding guidance without a specific data operation, or Salesforce admin/configuration tasks."
3
+ description: "MUST activate when the project contains a uiBundles/*/src/ directory and the task involves ANY Salesforce record operation — reading, creating, updating, or deleting. Use this skill when building forms that submit to Salesforce, pages that display Salesforce records, or any code that touches Salesforce objects or custom objects. Activate when files under uiBundles/*/src/ import from @salesforce/sdk-data, or when *.graphql files or codegen.yml exist. This skill owns all Salesforce data access patterns in UI bundles. Does not apply to authentication/OAuth setup, schema changes, Bulk/Tooling/Metadata API, or declarative automation."
4
4
  ---
5
5
 
6
6
  # Salesforce Data Access
@@ -1,243 +0,0 @@
1
- ---
2
- name: generating-experience-lwr-site
3
- description: "Creates, modifies, or manages Salesforce Experience Cloud LWR sites via DigitalExperience metadata. Always trigger when users mention Experience sites, LWR sites, DigitalExperience, Experience Cloud, community sites, portals, creating pages, adding routes, views, theme layouts, branding sets, previewing sites, or any DigitalExperience bundle work. Also use when users mention specific content types like sfdc_cms__route, sfdc_cms__themeLayout, etc. or when troubleshooting site deployment. ALWAYS trigger for ANY guest sharing rule (metadata type sharingGuestRules) creation/modification, guest user access, sharing records to guest users, or when user provides a guest user ID (15 or 18 characters starting with 005)"
4
- ---
5
-
6
- # Experience LWR Site Builder
7
-
8
- Build and configure Salesforce Experience Cloud Lightning Web Runtime (LWR) sites via metadata (DigitalExperienceConfig, DigitalExperienceBundle, Network, CustomSite, CMS contents).
9
-
10
- ## IMPORTANT!!
11
-
12
- Right after loading this skill, you MUST copy the selected workflows/steps to your plan as a TODO checklist and work on each of the item carefully to ensure correctness.
13
- You MUST load the relevant reference docs even though they may live outside of user's project folder.
14
-
15
- ## Table of Contents
16
-
17
- - When to Use
18
- - Critical Rules
19
- - Core Site Properties
20
- - Project Structure in DigitalExperienceBundle Format
21
- - Reference Docs
22
- - Common Workflows
23
-
24
- ## When to Use
25
-
26
- When working with Experience LWR sites:
27
-
28
- - Creating and scaffolding new LWR site
29
- - Adding pages (routes + views)
30
- - Configuring LWC components, layouts, themes, or branding styles
31
- - Setting up guest user access (public sites)
32
- - Creating or modifying **guest sharing rules** (`sharingGuestRules`) for any Salesforce object (Account, Case, Contact, etc.) — including when the user refers to a "Site Guest User" username or any guest user by ID
33
- - Troubleshoot deployment errors related to Experience LWR Sites
34
-
35
- **Supported Template**: Build Your Own (LWR) - `talon-template-byo`
36
-
37
- - More templates to support in the future.
38
-
39
- ## Critical Rules
40
-
41
- 1. Before using any MCP tool, make sure they're actually available. If a tool is missing for the current task, let the user know and pause the current workflow.
42
- 2. **MUST ALWAYS** load the relevant reference docs before doing anything.
43
- 3. **MUST ALWAYS** strictly follow workflows in [Common Workflows](#common-workflows) that match user's requirements. The instructions there should override any conflicting global rules and should have the highest priority over your existing knowledge.
44
- 4. Flexipage is abstracted away for newer LWR sites with DigitalExperienceBundle, so **NEVER** use any Flexipage-related MCP tool or skills to handle LWR sites' contents.
45
-
46
- ## Core Site Properties
47
-
48
- Before doing anything else, note down the following properties from the local project if available as they will be used for various operations. Check with the user if any of the following is missing:
49
-
50
- - **Site name**: Required. (e.g., `'My Community'`).
51
- - **URL path prefix**: Optional. Alphanumeric characters only. Convert from site name if not provided (e.g., `'mycommunity'`) and verify with the user for the converted value.
52
- - **Template type devName**: `talon-template-byo`.
53
-
54
- ## Project Structure in DigitalExperienceBundle Format
55
-
56
- ### Site Metadata
57
-
58
- - DigitalExperienceConfig
59
- - `digitalExperienceConfigs/{siteName}1.digitalExperienceConfig-meta.xml`
60
- - DigitalExperienceBundle
61
- - `digitalExperiences/site/{siteName}1/{siteName}1.digitalExperience-meta.xml`
62
- - Network
63
- - `networks/{siteName}.network-meta.xml`
64
- - CustomSite
65
- - `sites/{siteName}.site-meta.xml`
66
-
67
- ### DigitalExperience Contents
68
-
69
- - `digitalExperiences/site/{siteName}1/sfdc_cms__*/{contentApiName}/*`
70
- - These are the content components defining routes, views, theme layouts, etc. Each component must have a `_meta.json` and `content.json` file.
71
-
72
- #### Content Type Descriptions
73
-
74
- | Content Type | Description | When to Use |
75
- |-|-|-|
76
- | `sfdc_cms__site` | Root site configuration containing site-wide settings | Required for every site; one per site |
77
- | `sfdc_cms__appPage` | Application page container that groups routes and views | Required; defines the app shell |
78
- | `sfdc_cms__route` | URL routing definition mapping paths to views | Create one for each page/URL path |
79
- | `sfdc_cms__view` | Page layout and component structure | Create one for each route; defines page content. Also use to edit existing views (e.g., adding/removing components on a specific page) |
80
- | `sfdc_cms__brandingSet` | Brand colors, fonts, and styling tokens | Required; defines site-wide styling. Use to create or edit existing branding sets |
81
- | `sfdc_cms__languageSettings` | Language and localization configuration | Required; defines supported languages |
82
- | `sfdc_cms__mobilePublisherConfig` | Mobile app publishing settings | Required for mobile app deployment |
83
- | `sfdc_cms__theme` | Theme definition referencing layouts and branding | Required; one per site |
84
- | `sfdc_cms__themeLayout` | Page layout templates used by views | Create layouts for different page structures. Also use to edit existing theme layouts (e.g., updating theme layout, add a component that's persistent across pages) |
85
-
86
- **Important:** Creating any new pages require BOTH `sfdc_cms__route` AND `sfdc_cms__view`.
87
-
88
- #### Object Pages
89
-
90
- Object Pages are dedicated pages used to display and manage record-level data for a specific Salesforce entity/object. For example, an custom object "Car" should have "Car_Detail", "Car_List", and "Car_Related_list" views.
91
-
92
- ## References
93
-
94
- Reference docs within the skill directory. Note that these are **local** and not MCP.
95
- Before doing anything, you **MUST ALWAYS** load them first if they match user intent.
96
-
97
- - [bootstrap-template-byo-lwr.md](docs/bootstrap-template-byo-lwr.md) - Site creation, template defaults
98
- - [configure-content-route.md](docs/configure-content-route.md) - Route creation (custom/object pages)
99
- - [configure-content-view.md](docs/configure-content-view.md) - View creation/editing (custom/object pages)
100
- - [configure-content-themeLayout.md](docs/configure-content-themeLayout.md) - Theme layout creation + theme sync
101
- - [configure-content-brandingSet.md](docs/configure-content-brandingSet.md) - Branding with color patterns/WCAG
102
- - [handle-component-and-region-ids.md](docs/handle-component-and-region-ids.md) - **UUID generation (CRITICAL)** for component and region ids used in views and themeLayout.
103
- - [handle-ui-components.md](docs/handle-ui-components.md) - Component discovery, schemas, insertion, configuration
104
- - [configure-guest-sharing-rules.md](docs/configure-guest-sharing-rules.md) - **Guest sharing rules** (`sharingGuestRules`) for public sites — use for any request involving "guest sharing rule", "Site Guest User", or sharing object records with unauthenticated visitors
105
- - [update-site-urls.md](docs/update-site-urls.md) - **Updating site URLs** - URL architecture, workflow for updating `urlPathPrefix` in DigitalExperienceConfig, Network, and CustomSite
106
-
107
- ## Common Workflows
108
-
109
- - See [References](#references) for detailed capabilities.
110
- - **Always** follow the steps defined in the workflows sequentially whether the task is small, big, quick, or complex.
111
-
112
- ### Creating a New Site
113
-
114
- **Rules**:
115
-
116
- - **NEVER** generate the files manually.
117
-
118
- **Steps** (Follow the steps sequentially. Do not skip any step before proceeding):
119
-
120
- - [ ] **ALWAYS** read [bootstrap-template-byo-lwr.md](docs/bootstrap-template-byo-lwr.md) within the skill directory. Do not proceed to the next step without loading the file.
121
- - [ ] Follow the bootstrap doc strictly on site creation
122
-
123
- ### Creating and Editing Standard or Object Pages
124
-
125
- **Steps** (Follow the steps sequentially. Do not skip any step before proceeding):
126
-
127
- - [ ] MUST read [configure-content-route.md](docs/configure-content-route.md)
128
- - [ ] MUST read [configure-content-view.md](docs/configure-content-view.md)
129
- - [ ] MUST read [handle-component-and-region-ids.md](docs/handle-component-and-region-ids.md)
130
-
131
- ### Adding UI Components to Pages
132
-
133
- **Steps** (Follow the steps sequentially. Do not skip any step before proceeding):
134
-
135
- - [ ] MUST read [handle-ui-components.md](docs/handle-ui-components.md) to add LWCs to LWR sites.
136
- - [ ] MUST read [handle-component-and-region-ids.md](docs/handle-component-and-region-ids.md) to handle id generation
137
- - [ ] MUST read [configure-content-themeLayout.md](docs/configure-content-themeLayout.md) if a component has one of the following requirements:
138
- - needs to be "sticky" and persistent across pages
139
- - is used as a theme layout
140
-
141
- ### Creating Page Layouts / Container Components
142
-
143
- **Steps** (Follow the steps sequentially. Do not skip any step before proceeding):
144
-
145
- - [ ] MUST read [handle-ui-components.md](docs/handle-ui-components.md)
146
-
147
- ### Creating Theme Layouts
148
-
149
- **Steps** (Follow the steps sequentially. Do not skip any step before proceeding):
150
-
151
- - [ ] **CRITICAL**:Before doing anything else, MUST Check with user whether this new theme layout reuses an existing theme layout Lightning web component or requires a new one. If it requires a new one, make sure to read [handle-ui-components.md](docs/handle-ui-components.md) to create the new theme layout component before proceeding. DO NOT skip this step even if doing so would be faster or more efficient.
152
- - [ ] MUST read [configure-content-themeLayout.md](docs/configure-content-themeLayout.md).
153
- - [ ] MUST read [configure-content-view.md](docs/configure-content-view.md) if need to apply theme layout to pages
154
-
155
- ### Applying/Setting Theme Layouts
156
-
157
- **Steps** (Follow the steps sequentially. Do not skip any step before proceeding):
158
-
159
- - [ ] MUST read [configure-content-view.md](docs/configure-content-view.md)
160
-
161
- ### Configuring Branding
162
-
163
- **Steps** (Follow the steps sequentially. Do not skip any step before proceeding):
164
-
165
- - [ ] MUST read [configure-content-brandingSet.md](docs/configure-content-brandingSet.md) to configure background colors, foreground colors, button colors, and other branding colors that affect all pages.
166
-
167
- ### CUD Operations on DigitalExperience Contents
168
-
169
- - Users can perform create, update, delete operations on DigitalExperience Contents.
170
-
171
- **Steps** (Follow the steps sequentially. Do not skip any step before proceeding):
172
-
173
- - [ ] Determine what content types the user wants to modify
174
- - [ ] MUST read the reference doc related to the target content types if the doc exists. e.g., if modifying `sfdc_cms__route`, load [configure-content-route.md](docs/configure-content-route.md).
175
- - [ ] MUST read [handle-component-and-region-ids.md](docs/handle-component-and-region-ids.md) if creating or modifying view or theme layout
176
- - [ ] **Always** Call `execute_metadata_action` to get the schema and examples for that content type **after** loading the corresponding reference docs.
177
- - **Call once per content type per user request**: If you're creating/modifying multiple items of the same content type (e.g., creating 3 routes), you only need to call `execute_metadata_action` ONCE for that content type. Reuse the schema and examples for all items of that type within the same user request.
178
- - For each unique content type you need to work with, **always** call `execute_metadata_action` using the following:
179
-
180
- ```json
181
- {
182
- "metadataType": "ExperienceSiteLwr",
183
- "actionName": "getSiteContentMetadata",
184
- "parameters": {
185
- "contentType": "<content type from table above>",
186
- "shouldIncludeExamples": true
187
- }
188
- }
189
- ```
190
-
191
- ### Configuring Guest User Sharing Rules
192
-
193
- - [ ] MUST read [configure-guest-sharing-rules.md](docs/configure-guest-sharing-rules.md) and follow all steps there.
194
-
195
- ### Retrieving Site Preview and Builder URLs After Deployment
196
-
197
- **Use when** user requests to preview a site, access a builder site, or after successfully deploying a site.
198
-
199
- Use the `execute_metadata_action` MCP tool to get the preview and builder URLs:
200
-
201
- ```json
202
- {
203
- "metadataType": "ExperienceSiteLwr",
204
- "actionName": "getSiteUrls",
205
- "parameters": {
206
- "siteDevName": "<site developer name>"
207
- }
208
- }
209
- ```
210
-
211
- The site developer name can be found in the CustomSite filename (e.g., `sites/MySite.site-meta.xml` → developer name is `MySite`).
212
-
213
- If the site is not found, an error message will be returned indicating that the site may not be deployed. Ensure the site has been successfully deployed before calling this action.
214
-
215
- ### Updating Experience Site URLs
216
-
217
- **Use when** user wants to update or change site URLs (urlPathPrefix).
218
-
219
- **Steps** (Follow the steps sequentially. Do not skip any step before proceeding):
220
-
221
- - [ ] MUST read [update-site-urls.md](docs/update-site-urls.md) to understand the three-component architecture and URL update workflow
222
- - [ ] Follow the step-by-step workflow in the doc to update URLs consistently across all three components (DigitalExperienceConfig, Network, CustomSite)
223
-
224
- ### Validation & Deployment
225
-
226
- Use `sf` CLI to validate and deploy. Access help docs by attaching `--help`, e.g.:
227
-
228
- - `sf project deploy --help`
229
- - `sf project deploy validate --help`
230
-
231
- Note that metadata types are space-delimited. **Never** wrap them in quotes or use commas. For example, `--metadata "DigitalExperienceBundle DigitalExperience"` is **incorrect** — always use `--metadata DigitalExperienceBundle DigitalExperience`.
232
-
233
- **Validate**:
234
-
235
- ```bash
236
- sf project deploy validate --metadata DigitalExperienceBundle DigitalExperience DigitalExperienceConfig Network CustomSite --target-org ${usernameOrAlias}
237
- ```
238
-
239
- **Deploy**:
240
-
241
- ```bash
242
- sf project deploy start --metadata DigitalExperienceBundle DigitalExperience DigitalExperienceConfig Network CustomSite --target-org ${usernameOrAlias}
243
- ```