Modern full-stack starter powered by Next.js 15 (App Router), React 19, and TypeScript. It ships with feature-based file structure, Tailwind CSS, React Query, and Zustand.
- Next.js 15 (App Router, Server Components, Server Actions)
- React 19 + TypeScript
- Tailwind CSS
- TanStack Query (React Query) v5
- Zustand state management
- Node.js >= 18
- pnpm (recommended; the repo specifies a
packageManager)
pnpm install
pnpm devProduction run:
pnpm build
pnpm startpnpm dev: Start the development serverpnpm build: Build for productionpnpm start: Run the production serverpnpm lint: Lint./srcwith Biomepnpm format: Format./srcwith Biomepnpm check: Biome check (lint + format diagnostics)pnpm check:fix: Autofix with Biomepnpm type: Type-check withtsc --noEmit
This template organizes code by feature/domain. Auth-related pages, components, and server actions live together, improving cohesion and maintainability.
src/
app/
(auth)/
actions.ts # Server Actions for auth
login/
components/
form.tsx
page.tsx
register/
components/
form.tsx
page.tsx
(main)/
page.tsx # Example main page
layout.tsx # Root layout
provider.tsx # App-wide providers (e.g., React Query)
components/
auth/
logout-button.tsx
ui/ # Shared UI components
hooks/ # Shared hooks
stores/ # Zustand stores
styles/ # Global styles (Tailwind)
types/ # Shared types
utils/ # Utilities
- Tailwind CSS is preconfigured. Global styles live in
src/styles/global.cssandtailwind.config.js.
- React Query v5 is set up in the app provider for declarative data fetching and caching.
- Zustand is available for local, composable state.
- Lint:
pnpm lint - Format:
pnpm format - Check (report only):
pnpm check - Autofix:
pnpm check:fix - Type-check:
pnpm type
This template works great on Vercel:
- Build command:
pnpm build - Output: Next.js defaults
MIT — see license.md.