Navigated to /docs/core

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

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

TEXT
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 actions

The 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

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.

BASH
bashnpx tavo check
npx tavo build --report-json
npx tavo preview --ssr

Look up exact public types

Follow linked API names to their canonical TypeScript declarations and package boundaries.