
Deploying Ui Bundle
Install this when your Salesforce project has uiBundles and you need the full org auth → build → deploy → post-deploy sequence without skipping schema or permissions steps.
Overview
deploying-ui-bundle is an agent skill for the Ship phase that runs the full Salesforce UI bundle deployment sequence from org auth through build, metadata push, and post-deploy setup.
Install
npx skills add https://github.com/forcedotcom/afv-library --skill deploying-ui-bundleWhat is this skill?
- Canonical ordered pipeline: org authentication, pre-deploy build, metadata deploy, then post-deploy setup
- Pre-deploy UI bundle build produces dist/ when source changed or dist is missing
- Deploy via manifest/package.xml when present, otherwise full project metadata push
- Post-deploy covers permission set assignment, data import, GraphQL schema fetch, and codegen
- Activates on uiBundles/*/src/, *.uibundle-meta.xml, or sfdx-project.json plus deploy/push intent
- Documents a four-phase canonical flow starting with org authentication through post-deploy
- Requires pre-deploy UI bundle build when dist/ is missing or source changed
Adoption & trust: 1.3k installs on skills.sh; 513 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have a UI bundle Salesforce project but deployments fail or post-deploy breaks because build, manifest deploy, and schema-dependent steps run in the wrong order.
Who is it for?
Developers using sfdx-project.json and uiBundles who need a repeatable agent-guided push to a Salesforce org with post-deploy automation.
Skip if: Projects without UI bundles or Salesforce metadata, or purely local frontend repos with no org target.
When should I use this skill?
Project contains uiBundles/*/src or sfdx-project.json and the task is deploying, pushing to an org, or post-deploy setup for a UI bundle app.
What do I get? / Deliverables
Your org receives a built dist/, deployed metadata, assigned permissions, imported data, and refreshed GraphQL-driven codegen in the documented canonical sequence.
- Built UI bundle dist/ artifact ready for metadata deployment
- Org with deployed metadata, permissions, imported data, and generated client code from schema fetch
Recommended Skills
Journey fit
Pushing UI bundle metadata to an authenticated org is a release action that belongs in Ship once the product is ready to land in a target environment. Launch subphase covers go-live deployment sequences, permission assignment, and data import that make the app usable in the org—not local feature coding.
How it compares
Opinionated Salesforce UI bundle runbook—not a generic Vercel/Netlify static deploy skill.
Common Questions / FAQ
Who is deploying-ui-bundle for?
Salesforce UI bundle developers on AFV-style repos who deploy to orgs with Salesforce CLI workflows and need ordered setup steps.
When should I use deploying-ui-bundle?
In Ship (launch) when uiBundles/*/src or sfdx-project.json exists and you must authenticate, build dist/, deploy metadata, then run permission, data, schema, and codegen post-deploy.
Is deploying-ui-bundle safe to install?
It implies org authentication and deploy commands—review Security Audits on this page and least-privilege org users before granting agent shell and network access.
SKILL.md
READMESKILL.md - Deploying Ui Bundle
# Deploying a UI Bundle The order of operations is critical when deploying to a Salesforce org. This sequence reflects the canonical flow. ## Step 1: Org Authentication Check if the org is connected. If not, authenticate. All subsequent steps require an authenticated org. ## Step 2: Pre-deploy UI Bundle Build Install dependencies and build the UI bundle to produce `dist/`. Required before deploying UI bundle entities. Run when: deploying UI bundles and `dist/` is missing or source has changed. ## Step 3: Deploy Metadata Check for a manifest (`manifest/package.xml` or `package.xml`) first. If present, deploy using the manifest. If not, deploy all metadata from the project. Deploys objects, layouts, permission sets, Apex classes, UI bundles, and all other metadata. Must complete before schema fetch — the schema reflects org state. ## Step 4: Post-deploy Configuration Deploying does not mean assigning. After deployment: - **Permission sets / groups** — assign to users so they have access to custom objects and fields. Required for GraphQL introspection to return the correct schema. - **Profiles** — ensure users have the correct profile. - **Other config** — named credentials, connected apps, custom settings, flow activation. Proactive behavior: after a successful deploy, discover permission sets in `force-app/main/default/permissionsets/` and assign each one (or ask the user). ## Step 5: Data Import (optional) Only if `data/data-plan.json` exists. Delete runs in reverse plan order (children before parents). Import uses Anonymous Apex with duplicate rule save enabled. Always ask the user before importing or cleaning data. ## Step 6: GraphQL Schema and Codegen 1. Set default org 2. Fetch schema (GraphQL introspection) — writes `schema.graphql` at project root 3. Generate types (codegen reads schema locally) Run when: schema missing, or metadata/permissions changed since last fetch. ## Step 7: Final UI Bundle Build Build the UI bundle if not already done in Step 2. ## Summary: Interaction Order 1. Check/authenticate org 2. Build UI bundle (if deploying UI bundles) 3. Deploy metadata 4. Assign permissions and configure 5. Import data (if data plan exists, with user confirmation) 6. Fetch GraphQL schema and run codegen 7. Build UI bundle (if needed) ## Critical Rules - Deploy metadata **before** fetching schema — custom objects/fields appear only after deployment - Assign permissions **before** schema fetch — the user may lack FLS for custom fields - Re-run schema fetch and codegen **after every metadata deployment** that changes objects, fields, or permissions - Never skip permission set assignment or data import silently — either run them or ask the user ## Post-deploy Checklist After every successful metadata deploy: 1. Discover and assign permission sets (or ask the user) 2. If `data/data-plan.json` exists, ask the user about data import 3. Re-run schema fetch and codegen from the UI bundle directory