Three environments
Production, staging, and development — each a real Vercel deploy on a real branch. Modeled on WPEngine.
The shape
Every Caddi project has exactly three long-lived environments:
productionon branchmain— your live customer-facing site.stagingon branchstaging— the place clients sign off.developmenton branchdev— your team’s in-progress sandbox.
URLs
The branded preview subdomains come from verifying your agency domain in Caddi settings. Each project gets a deterministic <client-slug>-{staging,dev}.preview.<agency> alias automatically.
Env vars
Env vars are per environment and validated against the template’s schema. They’re typed as either secret (encrypted, write-only after create) or plain (visible). You can copy a value from one environment to another or diff the three.
Promotion
A promotion is a real GitHub PR from one branch into the next. Caddi opens it, attaches a change summary, and watches the resulting Vercel deploy. If your repo requires PR reviews, Caddi surfaces that gate on the promotion screen instead of failing.
Rollback
Every promotion has a stored commit SHA. Rollback is a one-click operation that opens a revert PR back to the previous SHA — same flow, same audit log entry, opposite direction.