@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 +3 -3
- package/skills/building-ui-bundle-app/SKILL.md +2 -2
- package/skills/building-ui-bundle-frontend/SKILL.md +3 -1
- package/skills/deploying-ui-bundle/SKILL.md +1 -1
- package/skills/generating-ui-bundle-features/SKILL.md +1 -1
- package/skills/generating-ui-bundle-metadata/SKILL.md +9 -2
- package/skills/generating-ui-bundle-site/SKILL.md +1 -1
- package/skills/implementing-ui-bundle-agentforce-conversation-client/SKILL.md +1 -1
- package/skills/implementing-ui-bundle-file-upload/SKILL.md +1 -1
- package/skills/using-ui-bundle-salesforce-data/SKILL.md +1 -1
- package/skills/generating-experience-lwr-site/SKILL.md +0 -243
- package/skills/generating-experience-lwr-site/docs/bootstrap-template-byo-lwr.md +0 -279
- package/skills/generating-experience-lwr-site/docs/configure-content-brandingSet.md +0 -141
- package/skills/generating-experience-lwr-site/docs/configure-content-route.md +0 -232
- package/skills/generating-experience-lwr-site/docs/configure-content-themeLayout.md +0 -145
- package/skills/generating-experience-lwr-site/docs/configure-content-view.md +0 -233
- package/skills/generating-experience-lwr-site/docs/configure-guest-sharing-rules.md +0 -49
- package/skills/generating-experience-lwr-site/docs/handle-component-and-region-ids.md +0 -27
- package/skills/generating-experience-lwr-site/docs/handle-ui-components.md +0 -215
- package/skills/generating-experience-lwr-site/docs/update-site-urls.md +0 -100
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/afv-skills",
|
|
3
|
-
"version": "1.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.
|
|
15
|
-
"@salesforce/ui-bundle-template-app-react-sample-b2x": "^1.120.
|
|
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: "
|
|
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-
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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
|
-
**
|
|
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: "
|
|
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
|
|
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: "
|
|
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: "
|
|
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
|
-
```
|