# Kovo > The TypeScript web framework where agents get build-time errors and users get instant pages. > Server-rendered MPA, zero hydration, statically verifiable end-to-end. Every documentation page is available as raw markdown at the URLs below. The full corpus for ingestion is at https://kovo.sh/llms-full.txt The normative specification is at https://kovo.sh/spec.md ## Getting Started - [Why Kovo?](https://kovo.sh/docs/why-kovo.md): What Kovo is for, the trade-offs it makes, and how it compares to Next, Remix, htmx, Qwik, and Astro. - [Quickstart](https://kovo.sh/docs/quickstart.md): Scaffold a Kovo app, get a page rendering, and watch the compiler catch a bug you'd normally ship. - [Thinking in Kovo](https://kovo.sh/docs/mental-model.md): Build a cart badge that updates itself, and learn how Kovo turns components into self-describing HTML along the way. - [Installation](https://kovo.sh/docs/installation.md): Prerequisites, what the scaffold sets up, and why Kovo asks for strict TypeScript. - [Project structure](https://kovo.sh/docs/project-structure.md): Tour the files in a scaffolded project and see how the graph-verification workflow plugs into your CI. - [Stability & Versioning](https://kovo.sh/docs/stability.md): What Kovo promises about its public API, how versions change, and which packages are safe to depend on. ## Tutorial - [1. Scaffold & the first page](https://kovo.sh/tutorial/01-first-page.md): Set up the tutorial workspace and serve a complete HTML document from a typed route. - [2. Components & islands](https://kovo.sh/tutorial/02-islands.md): Author a TSX component with state and a click handler; let the compiler decide what ships as JavaScript. - [3. Queries & data binding](https://kovo.sh/tutorial/03-queries.md): Declare typed reads once; get dependency stamps, data bindings, and shared client data derived. - [4. Mutations & forms](https://kovo.sh/tutorial/04-mutations.md): One typed write, one endpoint, two response modes — a real form without JavaScript, the fragment wire with it. - [5. Invalidation & optimistic updates](https://kovo.sh/tutorial/05-optimistic.md): Declare what the write touches; derive what re-runs; predict what you can prove — and property-test the prediction. - [6. Streaming & defer](https://kovo.sh/tutorial/06-streaming.md): Ship the shell now, stream the slow part later in the same response — with the wire vocabulary you already know. - [7. Testing & verification](https://kovo.sh/tutorial/07-verification.md): Guards, the app graph, kovo check and kovo explain, harness tests with write verification — and parity with the reference app. - [8. Wrap-up & deploy](https://kovo.sh/tutorial/08-wrap-up.md): What you built, the invariants that now hold, and how it ships. ## Guides - [Queries & invalidation](https://kovo.sh/guides/queries.md): Declare what a component reads, and the framework figures out which writes refresh it — no invalidate() calls, no client cache. - [Mutations & forms](https://kovo.sh/guides/mutations.md): Write to the server through one real form that works with or without JavaScript, with typed inputs and typed errors. - [Optimistic updates](https://kovo.sh/guides/optimistic.md): Make writes feel instant by declaring one transform per query, with a check that catches the one you forgot. - [Styling with Tailwind](https://kovo.sh/guides/styling.md): Keep Tailwind classes statically discoverable so pages, mutation fragments, and streamed content all arrive styled. - [Deployment](https://kovo.sh/guides/deployment.md): Run a stateless server, keep old client modules published across deploys, and know what "live" means without sockets. - [Testing with @kovojs/test](https://kovo.sh/guides/testing.md): Test handler logic, rendered HTML, and the honesty of your invalidation graph — without starting a browser. - [Reading kovo check & kovo explain](https://kovo.sh/guides/kovo-explain.md): Query the graph your build emits, turn product rules into CI assertions, and debug mutations straight from the Network panel. - [Streaming & defer](https://kovo.sh/guides/streaming.md): Answer immediately with the cheap parts of a page and stream the expensive parts into the same response with kovo-defer. - [Compiler internals](https://kovo.sh/guides/compiler-internals.md): See exactly what the compiler emits from your TSX, why the output is valid source, and how to eject a component. - [Accessibility](https://kovo.sh/guides/accessibility.md): Kovo's styled primitives are axe-clean across their interactive state tiers — proven, not asserted, by the framework's own gallery browser axe suite. - [Components & copy-in UI](https://kovo.sh/guides/components.md): Build behavior on the public @kovojs/headless-ui primitives, and start from the @kovojs/ui starter by copying its source into your app — you own the code. ## API Reference - [@kovojs/core](https://kovo.sh/api/core.md): Component model, diagnostics registry, routes, queries, forms, storage, and webhook verifiers. - [@kovojs/server](https://kovo.sh/api/server.md): Schemas and validation, guards and sessions, the request lifecycle, route matching, rendering, and streaming. - [@kovojs/runtime](https://kovo.sh/api/runtime.md): Client runtime: the Kovo loader, delegated events, island signals, morphing, the query store, and optimistic mutations. - [@kovojs/test](https://kovo.sh/api/test.md): Test harness: PGlite-backed databases, db verification against the touch graph, and mutation/property testing. - [@kovojs/drizzle](https://kovo.sh/api/drizzle.md): Drizzle adapter: table annotations, touch-graph extraction from queries, and invalidation registry derivation. - [@kovojs/better-auth](https://kovo.sh/api/better-auth.md): Better Auth adapter: typed session/sign-in/up/out mutations, authed/role guards, and the redirect-protocol mount. - [@kovojs/compiler](https://kovo.sh/api/compiler.md): Build/codegen surface: app-graph derivation, component compilation, fixpoint/render-equivalence assertions, and the Vite plugin. - [kovo](https://kovo.sh/api/cli.md): Programmatic verifiers behind the kovo CLI: kovoCheck and kovoExplain over the compiler's app graph. ## Reference - [Diagnostics](https://kovo.sh/reference/diagnostics.md): Every KV### diagnostic the framework emits, with its severity, message, and how to fix it.