Getting Started
Quick Start
Scaffold a new Waku project and run it locally in five minutes.
What is Waku?
The minimal React framework built around React Server Components.
Philosophy
The principles behind Waku's design.
Comparison
How Waku compares architecturally with other frameworks.
Use Cases
Where Waku fits well, and where another framework may serve you better.
Learn
The Mental Model
The five ideas that explain every Waku app.
Pages and Layouts
Add routes, nest layouts, and link between pages with the file-based router.
Server and Client Components
Fetch data in server components and add interactivity at the client boundary.
Static and Dynamic Rendering
Declare when each route executes and understand Waku's freshness model.
Building for Production
Build the app, inspect what got prerendered, and watch the rendering model hold.
Advanced Setup
Waku in a Monorepo Setup
Avoid duplicate React installs and common workspace issues.
React Compiler in Waku
How new Waku projects enable React Compiler, and what to check when upgrading an older app.
Server Components Performance Tracks
View React's Server Components performance tracks for a Waku app in Chrome DevTools, and what to check when component spans do not appear.
Routing and Navigation
- Experimental
Navigation and Prefetching
How Waku navigates between routes, caches static RSC payloads, prefetches likely next pages, and reveals cached shells instantly.
- Experimental
Typed Routes
Type-safe navigation to dynamic routes with router.push and router.replace.
- Experimental
Redirect Maps
How to configure redirect maps in front of a Waku server.
Redirects and Not Found
Handle app-level redirects, missing data, and custom 404 pages.
- Experimental
No SSR and Static Fallbacks
Disable document SSR when a route should render from Waku's fallback HTML shell.
Runtime and Middleware
Request Context
Read request headers and pass request-scoped data to server components and server functions.
Configure CSP
Configure Content Security Policy headers, nonce for inline script, and overall suggestions.
- Experimental
SSR Stream Interception
How to intercept SSR stream to inject content before it is sent to the client.
Integrations
Low-level APIs
Deployment
Static Deployments
Build a pure static Waku app and publish dist/public without a server runtime.
Run Waku on Cloudflare
How to integrate Waku with Cloudflare Workers and interact with Cloudflare bindings and other resources.
- Experimental
Deploy Waku to AWS Lambda
Deploy a Waku application with the experimental AWS Lambda adapter.
Dockerise a Waku app
How to package a Waku app into a Docker image.
