Tavo.js Framework documentation
The complete source of truth for building, rendering, extending, securing, testing, and operating a Tavo.js application.
Choose the documentation flow
Learn by building
Understand a subsystem
Look up an exact API
How a Tavo.js application fits together
Tavo.js is a TypeScript and TSX framework with its own component runtime; it is not a React wrapper. Vite supplies the development server and bundling pipeline, while Tavo.js adds file routes, request data, server rendering, hydration, state, and production output.
Files in src/pages define the route tree. Middleware decides whether resolution continues, loaders prepare route data, and layouts compose the visible shell. Plain TSX components render interface; createTavo adds component-local state and controller behavior; stores share client state between consumers.
Follow one URL through Tavo.js
textURL
→ match a file route
→ run global, layout, and page middleware
→ load layout data from root to leaf, then page data
→ resolve route metadata
→ render or reuse SSR/static output, optionally stream deferred sections
→ send HTML and serialized route state
→ hydrate the same tree in the browser
→ handle later client navigation or server actionsThe exact work depends on the route mode. A CSR route sends a server shell and resolves in the browser. An SSR route renders for the request. Static and revalidated routes reuse SSR output according to their cache policy.
Browse the Framework by system
Fundamentals
Routing and data
Application model
Rendering
Server and security
Extensions
Quality and tooling
Production
Reference
How to read this reference
Each focused guide explains ownership and lifecycle, provides a complete example, states defaults and failure behavior, and ends with a way to verify the result. Reference pages describe the exact public contract; the generated API inventory mirrors the declarations in the connected Framework checkout.
Use the production loop early
Development mode optimizes iteration. A production build verifies route discovery, generated types, SSR output, static generation, and bundle boundaries.
bashnpx tavo check
npx tavo build --report-json
npx tavo preview --ssrLook up exact public types
Follow linked API names to their canonical TypeScript declarations and package boundaries.