|
2 | 2 |
|
3 | 3 | > **Status: pre-alpha.** Rezi is under active development. Public APIs, native ABI details, and behavior may change between releases. It is not yet recommended for production workloads. |
4 | 4 |
|
5 | | -Rezi is a TypeScript framework for deterministic, native-backed terminal applications on Node.js and Bun. It provides a declarative widget API, predictable input and rendering behavior, and a rendering pipeline powered by the [Zireael engine](https://github.com/RtlZeroMemory/Zireael) written in C. |
| 5 | +Rezi is a TypeScript framework for building serious terminal applications on Node.js and Bun. It gives you structured layout, focus and input handling, routing, widgets, testing tools, and a native-backed rendering pipeline powered by the [Zireael engine](https://github.com/RtlZeroMemory/Zireael) written in C. |
6 | 6 |
|
7 | 7 | **Links:** [Website](https://rezitui.dev/) · [Docs](https://rezitui.dev/) · [Quickstart](https://rezitui.dev/getting-started/quickstart/) · [Widgets](https://rezitui.dev/widgets/) · [Benchmarks](https://rezitui.dev/benchmarks/) |
8 | 8 |
|
9 | 9 |  |
10 | 10 |
|
11 | 11 | ## What Rezi Is For |
12 | 12 |
|
13 | | -Rezi is aimed at terminal applications that need more than line-oriented output: multi-panel layouts, routed screens, focusable controls, forms, tables, overlays, testing support, and predictable behavior under keyboard and mouse input. |
| 13 | +Rezi is aimed at dashboards, control planes, internal tools, log viewers, and developer workflows that need more than line-oriented output: multi-panel layouts, routed screens, focusable controls, forms, tables, overlays, testing support, and predictable behavior under keyboard and mouse input. |
14 | 14 |
|
15 | 15 | ## Why Rezi |
16 | 16 |
|
17 | | -- Declarative application structure without requiring React |
18 | | -- Deterministic render and input contracts for testable TUI workflows |
| 17 | +- Structured app model for real TUI workflows |
| 18 | +- Declarative widget API without requiring React |
19 | 19 | - Native-backed framebuffer diffing and terminal output through Zireael |
20 | | -- First-party widgets for real app surfaces: forms, tables, overlays, routing, charts, and command flows |
21 | | -- Behavior-first test utilities for rendering, routing, focus, and terminal scenarios |
| 20 | +- First-party widgets for forms, tables, overlays, routing, charts, and command flows |
| 21 | +- Reproducible rendering and input contracts for behavior-first tests |
22 | 22 |
|
23 | 23 | ## What Rezi Includes |
24 | 24 |
|
25 | 25 | - Layout primitives for rows, columns, grids, panels, spacing, and layered screens |
26 | 26 | - Interactive widgets such as buttons, inputs, selects, checkboxes, radios, sliders, tabs, tables, virtual lists, trees, dialogs, dropdowns, and toasts |
27 | 27 | - Graphics and data-display widgets including canvas, charts, gauges, sparklines, heatmaps, and image support |
28 | 28 | - Application primitives for focus management, keybindings, routing, theming, and controlled state updates |
29 | | -- Testing utilities and deterministic rendering behavior intended to make TUI code easier to verify |
| 29 | +- Testing utilities for render assertions, routing and focus behavior, and replayable input workflows |
30 | 30 | - A native-backed rendering path through Zireael for layout, framebuffer diffing, and terminal output |
31 | 31 |
|
32 | 32 | ## Example |
@@ -87,9 +87,9 @@ bun run start |
87 | 87 |
|
88 | 88 | ## Public Templates |
89 | 89 |
|
90 | | -- `minimal` - small single-screen starter |
91 | | -- `cli-tool` - routed multi-screen workflow starter |
92 | | -- `starship` - polished command-console showcase with routing, charts, canvas, forms, and overlays |
| 90 | +- `minimal` - small single-screen starter for focused utilities |
| 91 | +- `cli-tool` - routed multi-screen starter for product-style terminal tools |
| 92 | +- `starship` - larger command-console showcase with routing, charts, canvas, forms, and overlays |
93 | 93 |
|
94 | 94 | ## Starship Demo |
95 | 95 |
|
|
0 commit comments