Quick start
Scaffold your first project in 60 seconds
Run the CLI
pnpm dlx @yabbal/coldstart initThe interactive prompt walks you through 14 options. Here's an example session:
🧊 coldstart
Project name? my-saas
Display name? My SaaS
Short project description? A project management tool
npm package scope? @my-saas
Which platforms? ✓ Web ✓ API
Web app mode? Landing + Application
Product category? Productivity
Billing model? Subscription
Billing provider? Stripe
OAuth providers? ✓ Google ✓ GitHub
Multi-tenant? No
i18n? Yes (en, fr)
Output directory? ./my-saas
Start generation? YesWait for generation
The CLI runs create-next-app, installs dependencies, generates the auth schema, formats the code, and initializes git:
✔ Monorepo structure created
✔ Shared packages created
✔ Web app created (create-next-app + patches)
✔ API created
✔ Billing configured
✔ PostHog analytics configured
✔ Test files created
✔ Dependencies installed
✔ Auth schema generated
✔ CLAUDE.md created
✔ Skills script created
✔ MCP servers configured
✔ CI/CD workflows created
✔ Code formatted
✔ Git repository initializedStart developing
cd my-saas
pnpm devpnpm dev uses portless for stable HTTPS *.localhost URLs:
- Web:
https://web.my-saas.localhost - API:
https://api.my-saas.localhost(OpenAPI docs at/openapi)
The portless proxy auto-starts on first run. To disable: PORTLESS=0 pnpm dev or pnpm dev:no-tls.
Run the CLI
pnpm dlx @yabbal/coldstart initExample session for a mobile-first app:
🧊 coldstart
Project name? fittrack
Display name? FitTrack
Short project description? A fitness tracking app
npm package scope? @fittrack
Which platforms? ✓ Mobile ✓ API
Product category? Health
Billing model? Subscription
Billing provider? Stripe
OAuth providers? ✓ Google ✓ Apple
Multi-tenant? No
i18n? Yes (en, es)
Output directory? ./fittrack
Start generation? YesWait for generation
The CLI runs create-expo-app, installs dependencies, configures RevenueCat, and initializes git:
✔ Monorepo structure created
✔ Shared packages created
✔ Mobile app created (create-expo-app + patches)
✔ API created
✔ Billing configured (RevenueCat mobile + Stripe web webhooks)
✔ PostHog analytics configured
✔ Test files created
✔ Dependencies installed
✔ Auth schema generated
✔ CLAUDE.md created
✔ Skills script created
✔ MCP servers configured
✔ CI/CD workflows created
✔ Code formatted
✔ Git repository initializedStart developing
cd fittrack
pnpm dev- API:
https://api.fittrack.localhost(via portless) - Mobile: run
pnpm -F fittrack-mobile devand open in Expo Go or a simulator
Mobile does not use portless — it runs natively on device/simulator via Expo.
What to do next
Set up infrastructure
coldstart setupThe interactive wizard walks you through each service: Neon database, auth secrets, Stripe/Polar billing, Resend email, Vercel deployment. Every step is optional.
Or let Claude Code do it — the MCP servers are already in .claude/settings.json.
Install Claude Code skills
bash scripts/install-skills.shInstalls 5-40 Claude Code skills tailored to your stack — React best practices, Tailwind v4, Hono, Drizzle, RevenueCat, SEO, and more.
Build your product
The boilerplate is done. Auth works. Billing is wired. Tests pass. Now build the features that matter.
Common commands
| Command | Description |
|---|---|
pnpm dev | Start all apps with portless HTTPS |
pnpm dev:no-tls | Start all apps with plain HTTP (no portless) |
pnpm build | Build everything |
pnpm test | Run all tests |
pnpm lint | Lint with Biome |
pnpm check-types | TypeScript type checking |
coldstart setup | Interactive infrastructure wizard |
coldstart add <platform> | Add a platform to an existing project |
coldstart replay .coldstart.json | Reproduce a scaffold from config |
Dry run: Add --dry-run to see the file tree without writing anything. Add --verify to run check-types after generation.