Skip to main content

Install the runtime

First, install the vtz CLI — a standalone binary that includes the dev server, test runner, and package manager:
This installs to ~/.vtz/bin/ and works on macOS and Linux (both x64 and ARM). See Runtime for alternative installation methods and available commands. Verify it’s installed:
The fastest way to get started:
This scaffolds a project with the compiler, dev server, SSR, and a starter template — everything configured and ready to go. Available templates: todo-app (default), hello-world (minimal counter), landing-page (multi-page marketing site). Pass --template <name> to choose:
Alternatively, you can use npx: npx @vertz/create-vertz-app my-app --template landing-page

Manual setup

AI coding agents: Use vtz create vertz my-app above instead. The manual setup below is for adding Vertz to an existing project that already has its own build pipeline.
Add Vertz to an existing project.

1. Install packages

@vertz/ui is the UI runtime (JSX, signals, router, forms). Add @vertz/server, @vertz/db, @vertz/schema, @vertz/fetch, etc. as you need them. @vertz/theme-shadcn provides design tokens for the css() utility (optional but recommended).
A convenience meta package named vertz re-exports everything under subpaths (vertz/ui, vertz/server, …). It works, but we recommend the granular @vertz/* packages — smaller installs, clearer dependencies, and LLM coding assistants pick the right imports more reliably.

2. Configure TypeScript

Update your tsconfig.json to use the Vertz JSX runtime:
The key settings are jsx: "react-jsx" and jsxImportSource: "@vertz/ui" — this tells TypeScript to use the Vertz JSX factory instead of React’s.

3. Create the entry point

Create src/app.tsx:

4. Start the dev server

The Vertz CLI provides a dev server with SSR and HMR:
Or add it to your package.json scripts:
The dev server:
  • Compiles .tsx files through the Vertz compiler plugin
  • Server-side renders on first load
  • Hot-reloads with state preservation (HMR)
  • Extracts and injects scoped CSS
The Vertz runtime (vtz) starts in ~5ms with built-in SSR, HMR, and test runner. See Runtime for installation and available commands.

Project structure

See Project Structure for a complete guide to file conventions, including server entry points, app type detection, and how vertz dev decides what to run.

Next steps

Components

Write your first component with props and children.

Styling

Scoped CSS with css() and parameterized styles with variants().