ORIZEN/TUI
We're proudlyOpen Source

Terminal UI ComponentsFor Node.js CLI Apps

A shadcn-style component library for terminal applications.

$npx orizen-tui@latest add spinner
Browse components
orizen --demo
$npx orizen-tui@latest add spinner badge progress
✓ Added 3 components to ./components/ui
Installing dependencies
Progress:██████████░░░░░░░░░░░░░░░░░░░░34%
[default][success][warning][error]

Focus Management

FocusManager context eliminates manual isFocused prop drilling. Tab cycles focus automatically.

Theme System

Deep-merge theme tokens for colors, spacing, and borders. Override anything via ThemeProvider.

60fps Rendering

Built on Ink 5 with tuistate best practices — 80ms intervals, functional updates, cleanup effects.

Install in seconds

Install the CLI, then add components with orizen-tui add. Dependencies (ink, react, orizen-tui-core) are installed automatically.

1
Install dependencies
2
Add components via CLI
3
Import and use
install
add component
app.tsx

Start a new project

Use the init command to scaffold a complete project with TypeScript, dependencies, and starter components ready to go.

1
Run init command
2
Install dependencies
3
Start building
init
install
run
theme.tsx

Theme your way

Override any token in the theme — colors, borders, spacing, animations. Deep merging ensures your customizations blend perfectly with defaults.

primary
Cyan accent color
success
Green for wins
warning
Yellow for caution
error
Red for failures

Keyboard First

Every component responds to arrow keys, enter, space, and escape. No mouse required.

Terminal Native

Runs in any terminal that supports Node.js. macOS, Linux, Windows, SSH, Docker.

Type Safe

Full TypeScript support with strict types. Autocomplete for all props and theme tokens.

Components

View all

Browser previews are simulations. Real components run in terminal apps through Ink.

Ready to build?

Start with a single component. Copy the code, customize the styles, and ship your terminal app today.