vtz) — a standalone Rust binary with an embedded V8 JavaScript engine. It starts in ~5ms and includes a dev server with SSR + HMR, a built-in test runner, and a package manager. No Node.js required.
How it works
vtz is the primary Vertz CLI. Run it directly — no extra configuration needed.
Command architecture
Not allvtz commands work the same way. Understanding the distinction helps avoid surprises:
V8 commands (
dev, test) run JavaScript inside the vtz binary’s own V8 engine. They use Vertz’s module loader, compiler, and runtime APIs (like @vertz/test and vertz:sqlite).
Shell commands (run, exec) spawn a child process through your system shell. They add node_modules/.bin to the PATH, then hand off execution — similar to npm run or npx. The spawned process uses whatever runtime the script calls for (Node.js, Bun, etc.).
Installation
Install script (recommended)
Install thevtz binary directly — works on macOS and Linux, both x64 and ARM:
~/.vtz/bin/ and creates a vertz symlink. The script auto-detects your platform and architecture.
To install a specific version:
Via npm (existing projects)
If you already have a project withpackage.json, the vertz meta-package includes @vertz/runtime as an optional dependency. Running vtz install (or npm install) resolves the platform-specific binary automatically.
To add the runtime explicitly:
From source
For contributors working on the Vertz monorepo:Binary resolution
The CLI resolves the runtime binary in this order:VERTZ_RUNTIME_BINARYenv var — explicit path override (fail-fast if set but missing)- Monorepo local build —
native/target/release/vtzornative/target/debug/vtz - npm package —
@vertz/runtimeresolves the platform-specific binary - Error — if none found, prints installation instructions and exits
Supported platforms
CLI commands
Thevtz binary supports the following commands:
Dev server options
Updating
Self-update (recommended)
The fastest way to update thevtz binary:
Via npm
If you installed the runtime through npm, update the package instead:Automatic update notifications
vtz checks for new versions automatically after running dev and install commands. When an update is available, you’ll see: