Skip to main content

System Requirements

Before installing Rezi, ensure your system meets these requirements:
  • Runtime: Node.js 18+ (18.18+ recommended) or Bun 1.3+
  • Platforms: Linux x64/arm64, macOS x64/arm64, Windows x64/arm64
  • Terminal: 256-color or true-color support recommended
  • Graphics: For inline images, a terminal supporting Kitty graphics, Sixel, or iTerm2 inline images. Canvas and chart widgets work in any terminal via Unicode blitters.
Prebuilt native binaries are published for all supported platforms. The package does not compile from source at install time.

Quick Start with Scaffolding

The fastest way to get started is using create-rezi:
npm create rezi my-app
cd my-app
npm start
create-rezi includes 6 starter templates:
  • dashboard — Product-grade operations console (default)
  • minimal — Single-screen utility TUI
  • cli-tool — Multi-screen CLI with routing
  • animation-lab — Declarative animation playground
  • stress-test — Visual benchmark matrix
  • starship — Full-featured command console
See Examples for detailed template descriptions.

Manual Installation

For manual setup or to add Rezi to an existing project:

Core Packages

Install the runtime-agnostic core and Node.js backend:
npm install @rezi-ui/core @rezi-ui/node

JSX Support (Optional)

If you want to use JSX instead of the ui.* factory functions:
npm install @rezi-ui/jsx
Then configure TypeScript:
tsconfig.json
{
  "compilerOptions": {
    "jsx": "react-jsx",
    "jsxImportSource": "@rezi-ui/jsx"
  }
}
See JSX Documentation for usage details.

Testing Utilities (Optional)

For testing Rezi applications:
npm install --save-dev @rezi-ui/testkit

Package Overview

PackageDescriptionWhen to Install
@rezi-ui/coreRuntime-agnostic widgets, layout, themesRequired — Core framework
@rezi-ui/nodeNode.js/Bun backendRequired — Terminal I/O
@rezi-ui/nativeN-API binding to ZireaelInstalled automatically with @rezi-ui/node
@rezi-ui/jsxJSX runtime (no React)Optional — Only if using JSX
@rezi-ui/testkitTesting utilitiesOptional — Only for testing
create-reziProject scaffolding CLIOptional — Used via npm create rezi

Verify Installation

Create a minimal test file to verify installation:
index.ts
import { ui } from "@rezi-ui/core";
import { createNodeApp } from "@rezi-ui/node";

const app = createNodeApp({ initialState: {} });

app.view(() =>
  ui.page({
    p: 1,
    body: ui.text("Hello, Rezi!", { variant: "heading" }),
  }),
);

app.keys({ q: () => app.stop() });
await app.start();
Run with:
node --loader ts-node/esm index.ts
# or with tsx
npx tsx index.ts
You should see “Hello, Rezi!” rendered in your terminal. Press q to quit.

Terminal Support

Rezi auto-detects your terminal emulator and enables the best available features:
TerminalGraphics ProtocolHyperlinks (OSC 8)
KittyKitty graphics
WezTermSixel
iTerm2iTerm2 inline images
GhosttyKitty graphics
Windows Terminal
Canvas and chart widgets work in any terminal via Unicode blitters — no graphics protocol required.

Override Terminal Capabilities

Set environment variables to override auto-detection:
REZI_TERMINAL_SUPPORTS_KITTY=1
REZI_TERMINAL_SUPPORTS_SIXEL=1
REZI_TERMINAL_SUPPORTS_ITERM2=1
REZI_TERMINAL_SUPPORTS_OSC8=1

Next Steps

Quickstart Tutorial

Build your first counter app step-by-step

JSX Setup

Configure JSX for Rezi (optional)

Example Templates

Explore starter templates and demos

Core Concepts

Learn Rezi’s architecture and patterns

Build docs developers (and LLMs) love