📖 Guide

Next.js — Complete Reference

Next.js App Router cheat sheet covering routing, data fetching, server components, API routes, middleware, and deployment.

92 commands across 11 categories

Project Structure

CommandDescription
npx create-next-app@latest my-app
Create a new Next.js project with interactive setup
app/
App Router directory (routes, layouts, pages)
app/layout.tsx
Root layout — wraps all pages, required
app/page.tsx
Root page — renders at /
app/loading.tsx
Loading UI shown while route segment loads
app/error.tsx
Error boundary for a route segment
app/not-found.tsx
Custom 404 page
app/global-error.tsx
Global error boundary (wraps root layout)
public/
Static files served at / (images, favicon, etc.)
next.config.js
Next.js configuration file

Routing (App Router)

CommandDescription
app/about/page.tsx
Creates route /about
app/blog/[slug]/page.tsx
e.g. /blog/my-post -> params.slug = 'my-post'
Dynamic route segment
app/shop/[...slug]/page.tsx
e.g. /shop/a/b/c -> params.slug = ['a','b','c']
Catch-all route
app/shop/[[...slug]]/page.tsx
Optional catch-all (also matches /shop)
app/(marketing)/about/page.tsx
Route group — organize without affecting URL path
app/@modal/page.tsx
Parallel route (named slot)
app/feed/(..)photo/[id]/page.tsx
Intercepting route — intercept navigation from another segment
import { redirect } from 'next/navigation';
e.g. redirect('/login');
Server-side redirect
import { useRouter } from 'next/navigation';
e.g. router.push('/dashboard');
Client-side navigation hook
import Link from 'next/link';
e.g. <Link href="/about">About</Link>
Client-side link with prefetching

Pages & Layouts

CommandDescription
export default function Layout({ children }) { }
Layout component — wraps child routes, preserved on navigation
export default function Page() { }
Page component — unique UI for a route
export default function Template({ children }) { }
Template — like layout but re-mounts on navigation
export const metadata = { title: 'Home' };
Static metadata for a page (title, description, og)
export async function generateMetadata({ params }) { }
Dynamic metadata based on route params
export default function Loading() { }
Suspense loading state for a route segment
'use client';
Mark a component as a Client Component (enables hooks, events)
export default function Default() { }
Default fallback for parallel routes (default.tsx)

Data Fetching

CommandDescription
const data = await fetch(url);
Fetch data in Server Components (auto-deduped)
fetch(url, { cache: 'force-cache' })
Cache response indefinitely (static data)
fetch(url, { cache: 'no-store' })
Disable caching (always fresh data)
fetch(url, { next: { revalidate: 60 } })
Revalidate cached data every 60 seconds (ISR)
fetch(url, { next: { tags: ['posts'] } })
Tag cache entries for on-demand revalidation
import { revalidateTag } from 'next/cache';
e.g. revalidateTag('posts');
Revalidate all entries with a cache tag
import { revalidatePath } from 'next/cache';
e.g. revalidatePath('/blog');
Revalidate a specific path
import { unstable_cache } from 'next/cache';
Cache function results (not just fetch)
export async function generateStaticParams() { }
Pre-render dynamic routes at build time

Server Components

CommandDescription
async function Page() { const data = await db.query(); }
Server Components can be async and fetch data directly
import { cookies } from 'next/headers';
e.g. const cookieStore = await cookies();
Read cookies in Server Components
import { headers } from 'next/headers';
Read request headers in Server Components
import 'server-only';
Ensure a module is never bundled into client code
'use server';
Mark a function as a Server Action (callable from client)
export async function createPost(formData: FormData) { }
Server Action — runs on server, callable from form/client
<form action={createPost}>
Use a Server Action as a form action (progressive enhancement)
import { useFormStatus } from 'react-dom';
Get pending state of a parent form (client component)

API Routes

CommandDescription
app/api/users/route.ts
Route Handler file — API endpoint at /api/users
export async function GET(request: Request) { }
Handle GET requests
export async function POST(request: Request) { }
Handle POST requests
return Response.json({ data })
Return a JSON response
return new Response(body, { status: 201 })
Return a custom response with status
const body = await request.json();
Parse JSON request body
const { searchParams } = new URL(request.url);
Access query parameters
export const dynamic = 'force-dynamic';
Opt out of static rendering for a route handler

Middleware

CommandDescription
middleware.ts
Middleware file at project root — runs before every matched route
import { NextResponse } from 'next/server';
Utility for creating middleware responses
NextResponse.next()
Continue to the route (pass-through)
NextResponse.redirect(new URL('/login', request.url))
Redirect the request
NextResponse.rewrite(new URL('/proxy', request.url))
Rewrite the URL without redirect
export const config = { matcher: ['/dashboard/:path*'] };
Limit middleware to specific paths
request.cookies.get('token')
Read cookies in middleware
response.headers.set('x-custom', 'value')
Set response headers in middleware

Image & Font

CommandDescription
import Image from 'next/image';
Optimized image component with lazy loading
<Image src="/photo.jpg" width={800} height={600} alt="Photo" />
Display a local or remote image with dimensions
import img from './photo.png';
Static import for automatic width/height/blur placeholder
<Image src={img} placeholder="blur" alt="Photo" />
Show blur placeholder while loading
<Image src="/hero.jpg" fill alt="Hero" className="object-cover" />
Fill parent container (replaces layout=fill)
import { Inter } from 'next/font/google';
Load a Google Font with zero layout shift
const inter = Inter({ subsets: ['latin'] });
Configure font subset and options
import localFont from 'next/font/local';
Load a local font file

Configuration

CommandDescription
/** @type {import('next').NextConfig} */
Type annotation for next.config.js
images: { remotePatterns: [{ hostname: 'cdn.example.com' }] }
Allow external image domains
redirects: async () => [{ source, destination, permanent }]
Configure URL redirects
rewrites: async () => [{ source: '/api/:path*', destination: 'http://backend/:path*' }]
Proxy/rewrite URLs
env: { CUSTOM_VAR: 'value' }
Expose environment variables to the browser
output: 'standalone'
Create a standalone build for Docker deployment
experimental: { serverActions: { bodySizeLimit: '2mb' } }
Configure experimental features
.env.local
Local environment variables (git-ignored, loaded automatically)

Deployment

CommandDescription
next build
Create a production build
next start
Start the production server
next dev --turbo
Start dev server with Turbopack (faster)
next lint
Run ESLint with Next.js rules
next info
Print system info for bug reports
output: 'export'
e.g. // in next.config.js
Static HTML export (no server required)
ANALYZE=true next build
Analyze bundle size (requires @next/bundle-analyzer)

Common Patterns

CommandDescription
import { useSearchParams } from 'next/navigation';
Access URL search params in client components
import { usePathname } from 'next/navigation';
Get the current pathname in client components
import { notFound } from 'next/navigation';
e.g. if (!post) notFound();
Trigger the not-found page
export const dynamic = 'force-dynamic';
Force dynamic rendering for a page
export const revalidate = 60;
Set page-level ISR revalidation (seconds)
import { Suspense } from 'react';
e.g. <Suspense fallback={<Loading />}><AsyncComponent /></Suspense>
Wrap async components for streaming
import { cache } from 'react';
e.g. const getUser = cache(async (id) => db.user.find(id));
Deduplicate data fetching across components
import dynamic from 'next/dynamic';
e.g. const Chart = dynamic(() => import('./Chart'), { ssr: false });
Dynamically import a component (lazy load)

More Guides

🌿
Git Commands
Complete Git command reference — from basics to advanced workflows. Searchable, with examples.
📝
Vim Commands
Complete Vim/Vi command reference — modes, motions, editing, search, and advanced features.
🐳
Docker Commands
Complete Docker & Docker Compose command reference — containers, images, volumes, networks, and orchestration.
🔤
Regex Reference
Complete regular expression reference — syntax, patterns, quantifiers, groups, lookaheads, and common recipes.
🐧
Linux Commands
Complete Linux/Bash command reference — file management, text processing, networking, system admin, and shell scripting.
☸️
Kubernetes Commands
Complete Kubernetes & kubectl command reference — pods, deployments, services, configmaps, and cluster management.
🐍
Python Reference
Complete Python reference — syntax, data structures, string methods, file I/O, comprehensions, and common patterns.
🗃️
SQL Reference
Complete SQL reference — queries, joins, aggregation, subqueries, indexes, and database management.
🌐
Nginx Reference
Complete Nginx configuration reference — server blocks, locations, proxying, SSL, load balancing, and caching.
🔐
SSH Commands
Complete SSH reference — connections, key management, tunneling, config, SCP/SFTP, and security hardening.
👷
Jenkins Reference
Complete Jenkins reference — pipeline syntax, Jenkinsfile, plugins, CLI, agents, and CI/CD patterns.
📨
HTTP Headers Reference
Complete HTTP headers reference — request headers, response headers, caching, security, CORS, and content negotiation. Searchable, with examples.
🐘
PostgreSQL Reference
Comprehensive PostgreSQL reference — from connection basics to advanced features like JSONB, full-text search, window functions, and performance tuning.
Async Patterns Reference
Multi-language async/concurrency patterns — JavaScript, Python, Go, Rust, Java, and universal concurrency patterns.
📡
Protobuf & gRPC Reference
Comprehensive reference for Protocol Buffers (proto3) and gRPC — message definitions, services, streaming, and common patterns.
📚
JS Array Methods
Complete JavaScript Array methods reference — creating, searching, transforming, sorting, iterating, and common patterns. Searchable, with examples.
🌊
Tailwind CSS Reference
Complete Tailwind CSS reference — layout, spacing, typography, colors, responsive design, states, and common patterns. Searchable, with examples.
GraphQL Reference
Complete GraphQL reference — schema definition, types, queries, mutations, directives, fragments, and common patterns. Searchable, with examples.
💻
VS Code Shortcuts
Complete VS Code keyboard shortcuts — editing, navigation, search, multi-cursor, terminal, debug, and more. Searchable, with Cmd/Ctrl notation.
🔲
CSS Grid Reference
Complete CSS Grid reference — container properties, item placement, grid functions, and common layout patterns. Searchable, with examples.
📦
CSS Flexbox Reference
Complete CSS Flexbox reference — container properties, item properties, and common layout patterns. Searchable, with examples.
⚛️
React Hooks Reference
Complete React Hooks reference — useState, useEffect, useContext, custom hooks, and common patterns. Searchable, with examples.
🔷
TypeScript Reference
Complete TypeScript reference — types, interfaces, generics, utility types, and advanced patterns. Searchable, with examples.
☁️
AWS CLI Reference
Complete AWS CLI reference — EC2, S3, IAM, Lambda, ECS, RDS, CloudFormation, and common operations.
🐹
Go Reference
Complete Go (Golang) reference — syntax, types, functions, concurrency, error handling, and common patterns.
💠
PowerShell Reference
Complete PowerShell reference — cmdlets, pipelines, scripting, file operations, remote management, and Active Directory.
💾
Redis Commands
Complete Redis command reference — strings, hashes, lists, sets, sorted sets, pub/sub, transactions, and server management.
🏗️
Terraform Commands
Complete Terraform reference — init, plan, apply, state management, modules, workspaces, and HCL syntax.
⚙️
Ansible Commands
Complete Ansible reference — playbooks, modules, inventory, roles, vault, and ad-hoc commands.
🟨
JavaScript
Complete JavaScript reference — variables, types, operators, strings, arrays, objects, functions, async, DOM, ES6+, and more.
🎨
CSS
Complete CSS reference — selectors, box model, positioning, typography, animations, media queries, custom properties, and more.
📄
HTML
Complete HTML reference — document structure, text content, forms, media, semantic elements, accessibility, and more.
Java
Complete Java reference — data types, strings, collections, OOP, interfaces, exceptions, file I/O, streams, lambdas, and more.
💻
Bash
Complete Bash reference — variables, strings, arrays, conditionals, loops, functions, file tests, I/O redirection, process management, and more.
🦀
Rust
Comprehensive Rust language cheat sheet covering ownership, traits, pattern matching, concurrency, and more.
📝
Markdown
Complete Markdown syntax reference for headings, formatting, links, tables, code blocks, and extensions.
📋
YAML
YAML syntax reference covering scalars, collections, anchors, multi-line strings, and common patterns.
🌐
Curl
Curl command-line reference for HTTP requests, authentication, file transfers, debugging, and common API patterns.
Cron
Cron scheduling reference covering syntax, field values, crontab management, and common schedule patterns.
🖥️
Tmux
Terminal multiplexer for managing multiple sessions, windows, and panes from a single terminal.
🔧
Awk
Powerful text processing language for pattern scanning, data extraction, and report generation.
✂️
Sed
Stream editor for filtering and transforming text, line by line.
🔍
Find
Search for files and directories in a directory hierarchy with powerful filtering options.
🔎
Grep
Search text using patterns. Filter lines from files, command output, or streams with regular expressions.
🐘
PHP
Complete PHP cheat sheet covering syntax, OOP, arrays, PDO, and modern PHP 8.x features.
⚙️
C
Complete C programming cheat sheet covering syntax, pointers, memory management, and standard library.
🔷
C++
Complete C++ cheat sheet covering STL containers, OOP, templates, smart pointers, and modern C++ features.
🐬
MySQL
Complete MySQL cheat sheet covering queries, joins, indexes, transactions, and administration.
💅
Sass
Complete Sass/SCSS cheat sheet covering variables, mixins, functions, nesting, and modern module system.
🔐
Chmod
Linux file permission commands and patterns for chmod.
🔢
NumPy
Essential NumPy commands for array manipulation and numerical computing in Python.
🐼
Pandas
Pandas cheat sheet for data manipulation, analysis, and transformation in Python.
🎯
Dart
Dart language cheat sheet covering syntax, types, OOP, null safety, and async patterns.
🔺
Laravel
Laravel PHP framework cheat sheet for routing, Eloquent, Blade, Artisan, and more.
🟩
Node.js
Comprehensive Node.js runtime reference covering modules, file system, HTTP, streams, and more.
🍃
MongoDB
MongoDB reference covering CRUD operations, aggregation, indexes, and administration.
🔥
Firebase
Firebase reference covering Authentication, Firestore, Realtime Database, Cloud Functions, and Hosting.
🐳
Docker Compose
Docker Compose reference covering CLI commands, service configuration, networking, volumes, and more.
💲
jQuery
Quick reference for jQuery selectors, DOM manipulation, events, AJAX, and more.
📐
LaTeX
Quick reference for LaTeX document structure, math mode, formatting, and common packages.
🎯
XPath
Quick reference for XPath expressions, axes, predicates, and functions for XML/HTML querying.
Emmet
Quick reference for Emmet abbreviations for lightning-fast HTML and CSS coding.
📦
TOML
Quick reference for TOML configuration file syntax, types, tables, and common patterns.
💎
Prisma
Complete Prisma ORM cheat sheet — schema, queries, migrations, and CLI.
🤖
GitHub Actions
Complete GitHub Actions cheat sheet — workflows, triggers, jobs, and CI/CD patterns.
📦
npm
Complete npm cheat sheet — package management, scripts, publishing, and configuration.
Supabase
Complete Supabase cheat sheet — auth, database, realtime, storage, and edge functions.
🪶
Apache
Complete Apache HTTP Server cheat sheet — virtual hosts, modules, rewrite rules, and SSL.
📡
HTTP Status Codes
Complete reference of all standard HTTP response status codes with descriptions and use cases.
🔤
ASCII Table
Complete ASCII character reference with decimal, hexadecimal, and character values.
🔧
Chrome DevTools
Essential Chrome DevTools shortcuts, commands, and workflows for web developers.
💧
Drizzle ORM
Complete Drizzle ORM reference for schema definition, queries, relations, migrations, and common patterns.
Vercel CLI
Complete Vercel CLI reference for deployment, project management, domains, environment variables, and configuration.
🔄
PM2
Production process manager for Node.js applications with built-in load balancer, monitoring, and zero-downtime reloads.
📺
Screen
GNU Screen terminal multiplexer for persistent sessions, window management, and remote work.
📦
Webpack
Module bundler for JavaScript applications — loaders, plugins, code splitting, optimization, and dev server.
Vite
Next-generation frontend build tool with instant HMR, native ES modules, and optimized production builds via Rollup.

📖 Free, searchable command reference. Bookmark this page for quick access.