A template for validating product ideas fast. Auth, database, a rebrandable design system, and guardrails are done once — so a new idea starts at the interesting part. Built on Wasp 0.25.
A fresh prototype boots with zero external accounts — email/password with a console mailer, and Postgres in Docker.
gh repo create my-idea --template arickuter/proto-stack --private --clone
cd my-idea/app
wasp install # regenerate the generated spec package (required on a fresh clone)
cp .env.server.example .env.serverThen, in two terminals:
wasp start db # terminal 1 — Postgres (Docker). Keep it running.wasp db migrate-dev # terminal 2 — first migration
wasp start # dev server: http://localhost:3000Sign up at /signup (no email verification needed in dev), and you're in.
Run claude in the repo and use the skills:
/prototype <your idea>— renames the app and builds the walking skeleton (entities, operations, screens)./brand <a brief>— rewrites the design tokens, fonts, and palette to your brand, enforcing WCAG AA./ship— upgrades auth for production and deploys to Railway.
- Auth: email/password (+ Google, auto-enabled when you add credentials), sessions, admin-by-email. All Wasp-managed.
- Database: Postgres + Prisma,
wasp start dbfor local, Railway in prod. - Design system: one token file (
app/src/client/Main.css), hand-rolled primitives, a flat "paper" default look, and a linter that fails the build on off-brand colour. Rebrand via/brand. - Guardrails:
npm run checkruns brand-lint, security-lint, seo-lint, a WCAG contrast check, and a palette-mirror sync check. The same gate runs in CI (.github/workflows/check.yml) on every push.
- Node 24.14.1+ · Wasp 0.25 (
npm i -g @wasp.sh/[email protected]) · Docker
Start with AGENTS.md; deep dives in docs/.
main.wasp.ts reads app/.env.server at compile time, so restart
wasp start after editing it. npm run check before calling a change done.