Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A minimal Next.js web service template with auth, payments, observability, testing, and a create-app-foundation CLI.

A full-stack Next.js TypeScript template focused on functionality over UI, featuring Zustand, TanStack Query, and ESLint 9 support.
web-app-template is a minimal Next.js boilerplate for production-ready web services, scaffolded by the npx create-app-foundation@latest CLI or the GitHub 'Use this template' button, that preconfigures authentication, payments, observability, database, testing, and developer tooling so you can start writing product code immediately.
web-app-template is a GitHub template repository maintained by hiroppy that generates a Next.js application pre-wired with a production-oriented stack. It takes your project name through the create-app-foundation CLI and outputs a fully configured project directory, or you can click 'Use this template' on GitHub and run node .internal/setup/init.mjs to finish setup. The generated app includes Next.js, Tailwind CSS, NextAuth.js, React Hook Form, Zod, Prisma, PostgreSQL, Stripe, OpenTelemetry, and TypeScript, with Vitest, Playwright, and Testcontainers for testing.
/me/payment page demonstrates subscription payments, and a pnpm dev:stripe command runs the Stripe CLI for webhook testing.Full-stack TypeScript developers who want a production-grade Next.js starter without assembling the toolchain manually, solo founders shipping a SaaS MVP that needs auth, payments, and a PostgreSQL database, and teams that want testing, CI, and dependency updates configured from day one. It also suits developers who prefer to opt out of extras: the init script asks whether to include sample application code, Dockerfile, E2E testing, observability, and Stripe.
pnpm db:up, pnpm build, and pnpm start.Run npx create-app-foundation@latest to create a project directory and automatically execute the internal init script. If you use the GitHub template route, clone the repo and run node .internal/setup/init.mjs to complete setup. The init script walks through optional components so you can include only what your project needs.
The template is a public GitHub repository, so you can use it without a paid license. The only costs are your own infrastructure, such as hosting and a PostgreSQL instance.
You need Node.js v20 or higher and Docker. Docker is required for the local PostgreSQL database and for Testcontainers during integration testing.
Yes. When the project is initialized, the init script asks whether you want the sample application code, Dockerfile, E2E testing, observability feature, and Stripe. Each of these is optional and can be opted out.
First install Chrome with pnpm exec playwright install chrome, then run pnpm build to bypass JWT logic. After that, run pnpm test:e2e for the suite or pnpm test:e2e:ui for the interactive Playwright UI.
PostgreSQL is configured through Prisma. Use pnpm db:up to start the database container, pnpm db:migrate to apply schema migrations, and pnpm db:studio to view and edit records.
