Next.js
Next.js is a React framework for building server-side rendered and static site applications with powerful features like Server Components and App Router.
Presentation
Full-stack React framework for production-grade applications with server-side rendering, static site generation, and React Server Components.
→ Official Next.js Documentation
What create-faster adds
Beyond the official Next.js setup, we include:
Project Structure:
- Pre-configured error pages (
error.tsx,not-found.tsx) - Centralized app providers (
src/components/app-providers.tsx) - Custom hooks directory with
useIsMobileutility
Development Scripts:
build:analyze- Bundle size analysis with@next/bundle-analyzerstart:inspect- Debug mode with Node inspector
Modules
shadcn/ui
Technical changes:
Files added:
src/
├── components/ui/
│ └── button.tsx # Example component with variants
├── lib/
│ └── utils.ts # cn() helper for Tailwind classes
└── styles/
└── globals.css # Tailwind setup
components.json # shadcn CLI configuration
postcss.config.mjs # PostCSS config for Tailwind
# Turborepo only:
packages/ui/
├── src/components/ui/
├── package.json # @repo/ui with exports
└── postcss.config.mjsModified files:
package.json- Addsradix-ui,class-variance-authority,clsx,cmdk,tailwind-merge,vaul,tw-animate-css
Turborepo mode:
Creates @repo/ui package with shared components accessible via @repo/ui imports.
next-themes
Technical changes:
Modified files:
src/components/app-providers.tsx- Wraps app withNextThemesProviderpackage.json- Addsnext-themesdependency
Configuration:
enableSystem: true- Respects system theme preferencestorageKey: '{appName}-theme'- Persists theme choice
MDX
Technical changes:
Files added:
src/
├── lib/
│ └── mdx.ts # parseFrontmatter() utility
├── mdx-components.tsx # Custom MDX component mappings
├── styles/
│ └── mdx.css # MDX-specific styling
└── app/[...mdxExampleSlug]/
└── page.tsx # Dynamic MDX route exampleModified files:
next.config.ts- Adds MDX support withcreateMDXand.mdx/.mdextensionspackage.json- Adds@mdx-js/loader,@mdx-js/react,@next/mdx,next-mdx-remote,@types/mdx
PWA
Technical changes:
Files added:
src/app/
└── manifest.ts # Web app manifest configManifest configuration:
- App name and short name (uses
{appName}) - Icon definitions (192x192, 512x512)
- Start URL, display mode, theme colors
Better Auth
Requirements: Requires database + ORM selection
Technical changes:
Files added:
src/
├── lib/auth/
│ ├── auth.ts # Server auth config
│ └── auth-client.ts # Client auth helpers
└── app/api/auth/[...all]/
└── route.ts # Auth API handler
# Turborepo only:
packages/auth/
├── src/
│ ├── auth.ts
│ ├── auth-client.ts
│ ├── route.ts
│ └── types.ts
├── package.json # @repo/auth
└── tsconfig.jsonModified files:
package.json- Addsbetter-authdependency
ORM Integration: Automatically configures adapter based on:
- Drizzle:
drizzleAdapterwith provider-specific config (pg/mysql) - Prisma:
prismaAdapterwith provider config (postgresql/mysql)
Maps to database tables: user, account, session, verification
Turborepo mode:
Creates @repo/auth package, depends on @repo/db for database access.
TanStack Query
→ TanStack Query Documentation
Technical changes:
Modified files:
src/components/app-providers.tsx- AddsQueryClientProviderpackage.json- Adds@tanstack/react-query
QueryClient configuration:
- Retry: 1 attempt
refetchOnWindowFocus: falsestaleTime: 5 minutesgcTime: 10 minutes
TanStack Devtools
→ TanStack Devtools Documentation
Technical changes:
Modified files:
src/app/layout.tsx- Adds devtools panel (development only)package.json- Adds@tanstack/react-devtools,@tanstack/react-query-devtools
Devtools configuration:
- Position: top-left
- TanStack Query plugin integrated
- Server bus connection enabled
React Hook Form
→ React Hook Form Documentation
Technical changes:
Modified files:
package.json- Addsreact-hook-form,@hookform/resolvers
TanStack Form
Technical changes:
Modified files:
package.json- Adds@tanstack/react-form

