Skip to content

Repository files navigation

TypeScript Template

A batteries-included Next.js starter: TypeScript, Tailwind, Drizzle, auth (Google · Apple · email/password), Stripe billing, and a local-Postgres → Neon dev/prod split — with security defaults and agent tooling from the start.

Quick start

bash scripts/rename-app.sh my-app   # name the project (or use the `rename-app` skill)
pnpm bootstrap                      # .env + secret + local DB + schema
pnpm dev                            # → http://localhost:3000

pnpm bootstrap needs a local Postgres (brew install postgresql@17 && brew services start postgresql@17). Email/password sign-up works immediately; verification and reset links print to the dev server console. Add Google/Apple/Stripe/email keys to .env when you want them — each is inert until configured.

Stack

Tool Purpose
Next.js React framework (App Router)
Tailwind CSS Utility-first CSS
Drizzle ORM Type-safe SQL ORM
Local Postgres / Neon Dev database / serverless Postgres in prod
better-auth Self-hosted auth (Google, Apple, email/password)
Stripe Subscription billing (env-flagged)
Vercel AI SDK AI features — subscription CLIs in dev, API keys deployed (docs)
Biome · Vitest · Playwright Lint/format · unit · e2e

Scripts

pnpm bootstrap    # bootstrap a fresh clone
pnpm dev          # dev server
pnpm build        # production build
pnpm check:fix    # lint + format
pnpm test         # unit tests
pnpm e2e          # e2e (local)
pnpm db:local     # create local dev DB
pnpm db:push      # push schema (dev)
pnpm db:generate && pnpm db:migrate   # migrations (prod path)

Migrations auto-apply on every Vercel build, and CI blocks a PR that changes the schema without one — see docs/maintenance/database-migrations.md.

Documentation

Start with docs/setup/getting-started.md. The why behind the stack is in ADRs; provisioning + operations in docs/cli-reference.md; security in docs/security.md. Agents: see CLAUDE.md and the provision-app / rename-app skills in .claude/skills/.

Uses pnpm pinned via packageManager. Run corepack enable once so your local pnpm matches the project (ADR-0002).

About

Starter template for Next.js Typescript apps

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages