coldstart

Quick start

Scaffold your first project in 60 seconds

Run the CLI

Terminal
pnpm dlx @yabbal/coldstart init

The interactive prompt walks you through 14 options. Here's an example session:

Example prompt flow
🧊 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?            Yes

Wait for generation

The CLI runs create-next-app, installs dependencies, generates the auth schema, formats the code, and initializes git:

Generation output
✔ 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 initialized

Start developing

Terminal
cd my-saas
pnpm dev

pnpm 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

Terminal
pnpm dlx @yabbal/coldstart init

Example session for a mobile-first app:

Example prompt flow
🧊 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?            Yes

Wait for generation

The CLI runs create-expo-app, installs dependencies, configures RevenueCat, and initializes git:

Generation output
✔ 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 initialized

Start developing

Terminal
cd fittrack
pnpm dev
  • API: https://api.fittrack.localhost (via portless)
  • Mobile: run pnpm -F fittrack-mobile dev and 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

Terminal
coldstart setup

The 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

Terminal
bash scripts/install-skills.sh

Installs 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

CommandDescription
pnpm devStart all apps with portless HTTPS
pnpm dev:no-tlsStart all apps with plain HTTP (no portless)
pnpm buildBuild everything
pnpm testRun all tests
pnpm lintLint with Biome
pnpm check-typesTypeScript type checking
coldstart setupInteractive infrastructure wizard
coldstart add <platform>Add a platform to an existing project
coldstart replay .coldstart.jsonReproduce 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.

On this page