Domains
Domains live at the **business** scope: add and verify them once, then attach them to one or more projects per env (`preview` or `production`). One verified domain can serve any project in your business.
Your mycimplify.com subdomain
Every business gets one free subdomain: <handle>.mycimplify.com, where <handle> is your business handle. You don't register or verify it; it's provisioned automatically and attached to the first project you create, for production.
A few rules follow from that:
- One per business. The
mycimplify.comsubdomain is tied to your handle, so a business only ever gets one, and it lives on your first project. - Additional projects use custom domains. A second project doesn't get its own
mycimplify.comsubdomain; attach a custom domain to give it a public URL. Until then it's reachable only at a fallback project URL. - It goes live on first deploy. The subdomain is assigned immediately, but only starts serving traffic after that project's first
cimplify deploy --prod.
To point the handle subdomain (or any domain) at a different project, see Move a domain to another project.
Add → verify → attach
# 1. Register the domain at the business scope
cimplify domains add shop.example.com
# Output: DNS records to set at your registrar
# 2. After setting DNS, trigger verification
cimplify domains verify shop.example.com
# 3. Attach to the linked project for production
cimplify domains attach shop.example.com --env=production --primaryList
# All business-scoped domains
cimplify domains ls
# Only domains attached to the linked project
cimplify domains ls --attachedAdd
cimplify domains add shop.example.comRegisters the domain at the business scope and prints DNS records (usually a CNAME for a subdomain, or A / AAAA records for an apex). The domain isn't usable until you verify it.
Verify
cimplify domains verify shop.example.comTriggers a re-check against the DNS records the domain was registered with. Run this after you've set the records at your registrar; propagation can take a few minutes.
Attach
# Bind a verified domain to the linked project for an env
cimplify domains attach shop.example.com --env=production
# Mark it primary at the same time
cimplify domains attach shop.example.com --env=production --primary
# Wire a preview env (e.g. preview.shop.example.com)
cimplify domains attach preview.shop.example.com --env=previewA domain attached to --env=production serves cimplify deploy --prod builds. Attaching to --env=preview binds the domain to preview deploys. --primary sets the canonical host for that env (others redirect to it).
Detach & primary
# Detach from the linked project
cimplify domains detach shop.example.com --env=production
# Skip the confirmation prompt
cimplify domains detach shop.example.com --env=production --yes
# Promote an attached domain to primary for its env
cimplify domains primary shop.example.com --env=productionMove a domain to another project
There's no single move command; reassigning a domain (including your <handle>.mycimplify.com subdomain) is a detach on the old project followed by an attach on the new one. detach always acts on the currently linked project, so you re-link between the two steps:
# 1. Detach from the project that currently holds it
cimplify link <old-project-id>
cimplify domains detach acme.mycimplify.com --env=production
# 2. Attach to the new project and mark it primary
cimplify link <new-project-id>
cimplify domains attach acme.mycimplify.com --env=production --primary
# 3. Redeploy so the edge routes to the new project
cimplify deploy --prodThe domain only moves at the edge after step 3; until the new project redeploys, traffic still hits the old one.
Remove
cimplify domains rm shop.example.comRemoves the domain from the business scope. Detach it from every project first.
Subcommand reference
| Command | Description |
|---|---|
domains ls [--attached] | List domains. --attached filters to the linked project. |
domains add <domain> | Register a domain; prints DNS records to set. |
domains verify <domain> | Trigger verification after DNS is configured. |
domains rm <domain> | Remove a domain from the business scope. |
domains attach <domain> [--env=<e>] [--primary] | Bind a verified domain to the linked project for an env. |
domains detach <domain> [--env=<e>] [--yes] | Unbind a domain from the linked project. |
domains primary <domain> [--env=<e>] | Promote an attached domain to primary for its env. |
DNS records
add prints the records you need to create at your registrar. The exact set depends on whether you're attaching a subdomain or an apex.
| Domain type | Records |
|---|---|
shop.example.com (subdomain) | CNAME to the printed Cimplify edge host. |
example.com (apex) | A / AAAA records to the printed IPs (or ALIAS / ANAME if your registrar supports it). |
| Verification | A TXT record at _cimplify-challenge.<your-domain>. |
Where next
Env vars
Manage environment variables for the linked project across three scopes: `development`, `preview`, `production`. Push your `.env.local` in one command, or mutate single keys with `add` / `rm`.
cimplify mock
Boots an in-process Hono server that mirrors the production Cimplify API (~99% parity) with seeded data. The mock is the oracle for testing and local development; every scaffolded storefront wires `bun dev` to start it alongside Next.js.