%% Salesforce CI/CD reference architecture
%% Reference architecture: a reusable pattern, not a live client integration
flowchart TB
subgraph z0["Your tooling"]
dev["Developers and admins
VS Code, Web Console, CLI"]
aiaid["AI coding aids
Salesforce DX MCP Server"]
git["Source control
branches and pull requests"]
ci["CI pipeline
sf CLI, static analysis, tests"]
end
subgraph z1["Salesforce environments"]
scratch["Scratch orgs and dev sandboxes
short-lived environments"]
devops["DevOps Center
Lifecycle Center in Winter '27"]
uat["UAT and staging sandboxes
release candidates"]
prod["Production org
deploy, monitor, roll back"]
mc["Marketing Cloud Engagement
separate deployment path"]
end
dev -->|"build and test"| scratch
aiaid -->|"assisted changes"| scratch
dev -->|"pull requests"| git
scratch -->|"retrieve metadata"| git
git -->|"PR triggers"| ci
git -->|"work items"| devops
ci -->|"validated deploy"| uat
devops -->|"promote"| uat
ci -->|"release deploy"| prod
uat -->|"sign-off"| prod
ci -.->|"Marketing Cloud steps"| mc
prod -.->|"hotfix back-merge"| git
classDef salesforce stroke:#125BD8,fill:#e8f0fd
class scratch,devops,uat,prod,mc salesforce
classDef ai stroke:#5747AF,fill:#f6f4fd
class aiaid ai
classDef integration stroke:#334155,fill:#eef2f6
class git,ci integration
classDef people stroke:#125BD8,fill:#ffffff
class dev people