Scaffold a brand-new Caddi project — repo, three branches, Vercel project, env vars, and a local checkout — in one command.
Usage
bash
caddi init [name] [flags]
Common invocations
bash
# Interactive — pick template + name from a list
caddi init
# Fully specified
caddi init "Meridian Studio" \
--template next-marketing \
--client meridian \
--gh-org northstar-collective \
--vercel-team northstar
# Headless (no prompts, fails fast on missing flags)
caddi init meridian-studio \
--template astro-marketing \
--yes
Flags
--template <slug> — one of the ten starters. See Templates.--client <slug> — assign to an existing client. Skip for an unassigned project.--gh-org <name> — GitHub org to create the repo under.--vercel-team <slug> — Vercel team for the deploy.--no-clone — skip the local clone after scaffold.--yes — accept defaults, no prompts.
What it actually does
caddi.saga
✓ create repo northstar/meridian-studio
✓ push template next-marketing → main, staging, dev
✓ create vercel project meridian-studio
✓ apply env-var schema 14 vars across 3 envs
✓ insert project record
✓ assign preview URLs meridian-{staging,dev}.preview.northstar.dev
✓ git clone ./meridian-studio
The mutation is idempotent — re-running with the same name within 5 minutes reuses the partial work instead of creating duplicates. After 5 minutes it errors out and asks you to rename or use caddi link.
After init
bash
cd meridian-studio
caddi deploy # deploy current branch (dev)
caddi env list # see scaffolded env vars
Next
caddi deploy →