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 devOpen http://localhost:3000 — your web app is running with auth pages, billing UI, and a landing page. The API runs on http://localhost:3001 with OpenAPI docs at /openapi.
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.
pnpm dev # Start all apps
pnpm build # Build everything
pnpm test # Run all tests
pnpm lint # Lint with Biome
pnpm check-types # TypeScript checkDry run: Add --dry-run to see the file tree without writing anything. Add --verify to run check-types after generation.