Deployment & infrastructure
Database, email, billing, and hosting setup
After scaffolding, you need to set up external services. You can do this manually, via coldstart setup, or conversationally with Claude Code and MCP servers.
Interactive setup
coldstart setupWalks you through each service based on your project's .coldstart.json. Every step is optional and shows its status at the end.
Service by service
Database (Neon)
> Create a Neon database for my projectClaude uses the Neon MCP to create a project, gets the connection string, and writes it to apps/api/.env.
- Create a project at console.neon.tech
- Copy the connection string
- Add to
apps/api/.env:
DATABASE_URL=postgresql://user:pass@ep-xxx.neon.tech/dbname?sslmode=require- Run migrations:
pnpm -F @my-app/db db:generate
pnpm -F @my-app/db db:migrateAuth secrets
Generate a secret (min 32 characters) and configure the API URL:
BETTER_AUTH_SECRET=your-random-secret-at-least-32-characters
BETTER_AUTH_URL=http://localhost:3001
CORS_ORIGIN=http://localhost:3000For OAuth providers, create apps on each provider's console and add the credentials.
Billing
- Create products and prices in Stripe Dashboard
- Configure webhook: Developers → Webhooks → Add endpoint
- URL:
https://your-api.com/webhooks/stripe - Events:
customer.subscription.*,checkout.session.completed
- URL:
- Add to
apps/api/.env:
STRIPE_SECRET_KEY=sk_live_...
STRIPE_WEBHOOK_SECRET=whsec_...- Add to
apps/web/.env:
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_live_...- Create products on dashboard.polar.sh
- Configure webhook URL:
https://your-api.com/webhooks/polar - Add to
apps/api/.env:
POLAR_ACCESS_TOKEN=...
POLAR_WEBHOOK_SECRET=...For mobile billing, configure RevenueCat: create products matching your App Store/Play Store offerings, add API keys to your mobile .env.
Email (Resend)
> Set up Resend for my projectClaude uses the Resend MCP to configure a sending domain and add the API key.
- Create an account at resend.com
- Add and verify your domain
- Add API key to
apps/api/.env:
RESEND_API_KEY=re_...Email templates are in packages/email/src/ — preview them with pnpm -F @my-app/email dev.
Web hosting (Vercel)
> Deploy my web app to Vercelpnpm dlx vercelOr connect your Git repo in the Vercel dashboard — auto-deploys on push.
API hosting (Docker)
The generated Dockerfile is a multi-stage build optimized for production:
docker build -t my-api -f apps/api/Dockerfile .
docker run -p 3001:3001 my-apiOr use the docker-compose.yml for local development with PostgreSQL:
docker compose up -d # starts Postgres on port 5432Mobile builds (EAS)
cd apps/mobile
pnpm dlx eas-cli init --non-interactiveThen use the release scripts:
bash scripts/release-local.sh— full pipeline: version bump → EAS build → submit → TestFlightbash scripts/release.sh— CI-friendly version bump
The Expo MCP server is configured for Claude Code to manage builds and submissions.
CI/CD
Two GitHub Actions workflows are generated:
| Workflow | Trigger | What it does |
|---|---|---|
ci.yml | Push/PR to main | Lint, check-types, test, build |
deploy.yml | Push to main | Vercel deployment placeholder |
desktop.yml | Version tags | Tauri multi-platform builds (if desktop) |