📖 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 cheat sheet — from basics to advanced workflows, including branching, stashing, rebasing, and tagging. Searchable, with examples.
📝
Vim Commands
Complete Vim/Vi command reference cheat sheet — modes, motions, editing, search and replace, macros, registers, marks, and window management.
🐳
Docker Commands
Complete Docker & Docker Compose command reference cheat sheet — containers, images, volumes, networks, registry auth, buildx multi-platform builds, & cleanup.
🔤
Regex Reference
Complete regular expression reference cheat sheet — character classes, anchors, quantifiers, groups, lookaheads, flags, and JavaScript string methods.
🐧
Linux Commands
Complete Linux/Bash command reference cheat sheet — file management, text processing, networking, system admin, and shell scripting.
☸️
Kubernetes Commands
Complete Kubernetes & kubectl command reference cheat sheet — pods, deployments, services, secrets, namespaces, scaling, RBAC, networking, and Helm charts.
🐍
Python Reference
Complete Python reference — syntax, data structures, string methods, control flow, classes, error handling, file I/O, comprehensions, and built-ins.
🗃️
SQL Reference
Complete SQL reference cheat sheet — queries, joins, aggregation, subqueries, indexes, window functions, string and date functions, and database management.
🌐
Nginx Reference
Complete Nginx configuration reference — server blocks, locations, proxying, SSL, load balancing, caching, security headers, and rate limiting.
🔐
SSH Commands
Complete SSH reference — connections, key management, tunneling, config, SCP/SFTP, agent forwarding, security hardening, and troubleshooting.
👷
Jenkins Reference
Complete Jenkins reference — pipeline syntax, Jenkinsfile, plugins, CLI, agents, shared libraries, credentials, 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, plus retry, rate limiting, and circuit breaker 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 cheat sheet — 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, CloudWatch, SQS/SNS, Route 53, and common operations.
🐹
Go Reference
Complete Go (Golang) reference — syntax, types, structs, interfaces, goroutines, channels, error handling, testing, and the standard library.
💠
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, providers, backend configuration, and HCL syntax.
⚙️
Ansible Commands
Complete Ansible reference — playbooks, modules, inventory, roles, vault, Galaxy, handlers, conditionals, loops, and ad-hoc commands.
🪶
Apache
Complete Apache HTTP Server cheat sheet — virtual hosts, modules, rewrite rules, and SSL, plus access control, logging, and performance.
🔤
ASCII Table
Complete ASCII character reference with decimal, hexadecimal, and character values, plus control codes and common escape sequences.
🔧
Awk
Powerful text processing language for pattern scanning, data extraction, arrays, control flow, and report generation with built-in variables.
💻
Bash
Complete Bash reference cheat sheet — variables, strings, arrays, conditionals, loops, functions, file tests, I/O redirection, process management, and more.
⚙️
C
Complete C programming cheat sheet covering syntax, pointers, memory management, structs, file I/O, preprocessor, and standard library.
🔐
Chmod
Linux file permission commands and patterns for chmod, covering numeric and symbolic modes, recursive changes, and SUID/SGID/sticky bits.
🔧
Chrome DevTools
Essential Chrome DevTools shortcuts, commands, and workflows for web developers — covering Network, Performance, and Application panels.
🔷
C++
Complete C++ cheat sheet covering STL containers, OOP, templates, smart pointers, iterators, lambda expressions, and modern C++ features.
⏰
Cron
Cron scheduling reference covering syntax, special strings, field values, crontab management, environment variables, and logging.
🎨
CSS
Complete CSS reference cheat sheet — selectors, box model, positioning, typography, animations, media queries, custom properties, and more.
🌐
Curl
Curl command-line reference for HTTP requests, headers, authentication, cookies, proxies, file transfers, SSL/TLS, debugging, and API patterns.
🎯
Dart
Dart language cheat sheet covering syntax, types, OOP, null safety, and async patterns, plus collections, error handling, and classes.
🐳
Docker Compose
Docker Compose reference covering CLI commands, service configuration, networking, volumes, health checks, profiles, and build options.
💧
Drizzle ORM
Complete Drizzle ORM reference for schema definition, column types, queries, filters, joins, relations, migrations, indexes, and patterns.
⚡
Emmet
Quick reference for Emmet abbreviations for lightning-fast HTML and CSS coding, covering nesting, multiplication, numbering, and grouping.
🔍
Find
Search for files and directories in a directory hierarchy with powerful filtering by name, size, time, permissions, type, and actions.
🔥
Firebase
Firebase reference covering Authentication, Firestore, Realtime Database, Cloud Functions, Hosting, Storage, and security rules.
🤖
GitHub Actions
Complete GitHub Actions cheat sheet — workflows, triggers, jobs, and CI/CD patterns, plus matrix strategies, caching, and artifacts.
🔎
Grep
Search text using patterns. Filter lines from files, command output, or streams with regular expressions, context options, and file filtering.
📄
HTML
Complete HTML reference — document structure, text content, links, forms, tables, media, semantic elements, meta tags, attributes, and accessibility.
📡
HTTP Status Codes
Complete reference of all standard HTTP response status codes across 1xx-5xx classes, with descriptions, examples, and common usage patterns.
☕
Java
Complete Java reference — data types, strings, collections, OOP, interfaces, exceptions, file I/O, streams, lambdas, and more.
🟨
JavaScript
Complete JavaScript reference — variables, types, operators, strings, arrays, objects, functions, async, DOM, ES6+, and more.
💲
jQuery
Quick reference for jQuery selectors, DOM manipulation, events, AJAX, and more, including animation effects, traversing, and plugins.
🔺
Laravel
Laravel PHP framework cheat sheet for routing, Eloquent, Blade, Artisan, and more, plus middleware, validation, and authentication.
📐
LaTeX
Quick reference for LaTeX document structure, math mode, formatting, and common packages, plus figures, tables, and citation styles.
📝
Markdown
Complete Markdown syntax reference for headings, formatting, links, tables, code blocks, task lists, footnotes, and extensions.
🍃
MongoDB
MongoDB reference covering CRUD operations, aggregation, indexes, and administration, plus replica sets, users, roles, and query operators.
🐬
MySQL
Complete MySQL cheat sheet covering queries, joins, indexes, transactions, data types, user permissions, and database administration.
🟩
Node.js
Comprehensive Node.js runtime reference covering modules, file system, HTTP, streams, events, child processes, and npm scripts.
📦
npm
Complete npm cheat sheet — package management, scripts, publishing, and configuration, plus workspaces, security audits, and npx.
🔢
NumPy
Essential NumPy commands for array manipulation and numerical computing in Python, covering reshaping, broadcasting, and linear algebra.
🐼
Pandas
Pandas cheat sheet for data manipulation, analysis, and transformation in Python, covering DataFrames, grouping, merging, and date/time.
🐘
PHP
Complete PHP cheat sheet covering syntax, OOP, arrays, PDO, and modern PHP 8.x features, plus file I/O, superglobals, and error handling.
🔄
PM2
Production process manager for Node.js applications with cluster mode, monitoring, log management, startup scripts, and zero-downtime reloads.
💎
Prisma
Complete Prisma ORM cheat sheet — schema, queries, migrations, and CLI, plus relations, aggregations, filtering, and seeding patterns.
🦀
Rust
Comprehensive Rust language cheat sheet covering ownership, traits, pattern matching, structs, enums, error handling, closures, and concurrency.
💅
Sass
Complete Sass/SCSS cheat sheet covering variables, mixins, functions, nesting, extends, maps, and the modern module system.
📺
Screen
GNU Screen terminal multiplexer for persistent sessions, window and split-region management, key bindings, copy mode, and remote work.
✂️
Sed
Stream editor for filtering and transforming text, line by line — substitution, address ranges, hold space, branching, and flags.
⚡
Supabase
Complete Supabase cheat sheet — auth, database, realtime, storage, and edge functions, plus row level security and migrations.
🖥️
Tmux
Terminal multiplexer cheat sheet for managing multiple sessions, windows, and panes from a single terminal, with copy mode and status bar configuration.
📦
TOML
Quick reference for TOML configuration file syntax, types, tables, and common patterns, including arrays of tables and inline tables.
▲
Vercel CLI
Complete Vercel CLI reference for deployment, project management, domains, environment variables, secrets, logs, edge functions, and configuration.
⚡
Vite
Next-generation frontend build tool with instant HMR, native ES modules, plugins, environment variables, library mode, and Rollup-based builds.
📦
Webpack
Module bundler for JavaScript applications — entry/output config, loaders, plugins, code splitting, module resolution, and optimization.
🎯
XPath
Quick reference for XPath expressions, axes, predicates, string functions, node tests, and operators for XML/HTML querying.
📋
YAML
YAML syntax reference covering scalars, collections, anchors, aliases, multi-line strings, nested structures, and common patterns.

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