React renderer for building interactive command-line apps with components and Flexbox layouts in the terminal.
anomalyco/opentui
A library for building terminal user interfaces, written in Zig with TypeScript, React and Solid bindings.
- Stars
- 13,593
- Forks
- 787
- Open issues
- 214
- Last commit
- 13 hours ago
What is it?
OpenTUI is a library for building terminal user interfaces. Its native core is written in Zig and exposed through TypeScript bindings, so developers can write terminal apps directly in TypeScript or use React and Solid renderers to compose them.
Layout is handled with flexbox, letting you arrange boxes and text in the terminal. Built-in components include selects, inputs and scroll boxes, all with keyboard and mouse controls. The project also covers less common terminal features such as playing sounds, displaying images and rendering 3D graphics.
The monorepo ships several packages: core, React and Solid renderers, a key binding library, a QR code component, a Three.js WebGPU renderer and an SSH server integration. The project states that OpenCode uses it in production.
Key features
- 01Native core written in Zig with TypeScript bindings.
- 02Flexbox layout for boxes and text in the terminal.
- 03Selects, inputs and scroll boxes with keyboard and mouse support.
- 04React and Solid renderers for component-based terminal UIs.
- 05Support for sound playback, image display and 3D rendering.
Use cases
- Building interactive command-line tools with rich layouts.
- Creating terminal dashboards or chat-style interfaces in React or Solid.
- Exposing a terminal app over SSH using the provided server integration.
Quick start
- 1
Install the core package with Bun
bun install - 2
Install the OpenTUI documentation as an AI agent skill
npx skills add https://opentui.com --skill opentui
Things to know
- Building from source requires Bun 1.4.1 or later and Zig 0.16.0.
Topics
FAQ
- What is opentui?
- A library for building terminal user interfaces, written in Zig with TypeScript, React and Solid bindings. OpenTUI is a library for building terminal user interfaces. Its native core is written in Zig and exposed through TypeScript bindings, so developers can write terminal apps directly in TypeScript or use React and Solid renderers to compose them.
- Is opentui free to use? What license does it have?
- opentui is open source under the MIT license. Check the license terms before using it in commercial products.
- Is opentui still maintained?
- Actively maintained. The last commit to opentui was on Oct 21, 2026.
- What can I use opentui for?
- Building interactive command-line tools with rich layouts. Creating terminal dashboards or chat-style interfaces in React or Solid. Exposing a terminal app over SSH using the provided server integration.
- How do I install opentui?
- Install the core package with Bun: bun install Install the OpenTUI documentation as an AI agent skill: npx skills add https://opentui.com --skill opentui
- Where can I get opentui?
- The source code and installation instructions are on GitHub: https://github.com/anomalyco/opentui
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A cross-platform terminal emulator built on web technologies, extensible through plugins and themes.
A Rust crate for building terminal user interfaces (TUIs) with reusable widgets and a simple rendering model.
A terminal JSON viewer and processor that lets you browse, fold and transform JSON interactively in the shell.
A customizable cross-platform terminal graphical monitor for processes and system resources on Linux, macOS and Windows.
A text-mode, ncurses-based terminal interface for browsing Git repositories and staging changes by chunk.