Quickstart
The fast path: scaffold, run locally, deploy. Every command is non-interactive by default and prints the fix inside any error.
1. Scaffold
pnpm new # interactive wizard — or use flags:
pnpm new my-idea --type webapp --layout macos --design prism --accent violet \
--features example,activity,admin
Expected output:
✓ apps/my-idea scaffolded
title My Idea
design prism · violet · dark · layout: macos
type webapp (react stack, convex db)
features dashboard, settings, example, activity, admin
port 5200
Next steps:
pnpm install
cd apps/my-idea && npx convex dev --once # first run: creates your Convex backend + types
pnpm dev # http://localhost:5200
pnpm deploy my-idea # → Convex Cloud + Cloudflare Pages
2. Run locally
pnpm install
cd apps/my-idea
npx convex dev --once # creates the Convex backend + generated types
pnpm dev # live at http://localhost:5200
npx convex dev --once is a Convex-only step. Supabase apps instead need a Supabase project, supabase/schema.sql run in its SQL editor, and .env.local filled from .env.example. Static sites need nothing — just open index.html.
3. Deploy
cd ../..
pnpm deploy my-idea # Convex Cloud + Cloudflare Pages (default)
pnpm deploy my-idea --to vercel # or any of the 6 providers
The deploy handles login flows, deploys the Convex backend first (reusing the recorded project), builds the SPA against production URLs, writes the provider's SPA fallback, and syncs SITE_URL so sign-in works on the deployed origin. The provider choice is remembered in apps/my-idea/.deploy.json.
Other shapes
pnpm new my-site --type website-blog --stack static --accent teal # plain HTML+CSS site
pnpm new my-app --type webapp --db supabase # idiomatic SQL variant