Navigated to /docs/core

Tavo.js Framework documentation

Learn how to build, render, extend, test, and operate a Tavo.js application, then look up the exact APIs you need.

Choose the documentation flow

How a Tavo.js application fits together

Tavo.js is a TypeScript and TSX framework with its own component runtime. 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

Start with the first example in a guide, then use its reference sections for defaults, lifecycle, and failure behavior. Examples labeled as a file can be adapted into your project; signature summaries describe an API and are not complete source files. Replace example domains and application-specific services with your own. The generated API inventory mirrors package declarations; check your installed version when a signature differs.

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.