whatisgithub

What is opentui?

anomalyco/opentui — explained in plain English

Analysis updated 2026-06-24

11,099TypeScriptAudience · developerComplexity · 3/5Setup · moderate

In one sentence

A library for building interactive terminal user interfaces with panels, menus, and layouts, built on a fast Zig core with TypeScript bindings and React/SolidJS integrations.

Mindmap

mindmap
  root((OpenTUI))
    What it does
      Terminal UI layouts
      Component-based design
      Animated panels
    Tech stack
      Zig core
      TypeScript bindings
      React and SolidJS
      Three.js GPU rendering
    Use cases
      File managers
      Chat apps
      Server dashboards
    Setup
      Install Zig
      Install Bun
      Quickstart template
    Audience
      CLI developers
      TypeScript developers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a terminal-based file manager with interactive panels and keyboard navigation.

USE CASE 2

Create a real-time dashboard inside a terminal window for monitoring server metrics.

USE CASE 3

Add a rich interactive terminal UI to an existing CLI tool using React components.

What is it built with?

TypeScriptZigReactSolidJSThree.jsBun

How does it compare?

anomalyco/opentuistyleguidist/react-styleguidistcaptbaritone/webamp
Stars11,09911,08911,083
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatemoderatemoderate
Complexity3/53/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires both Zig (for building the native core) and the Bun JavaScript runtime to be installed.

License not mentioned in the explanation.

So what is it?

OpenTUI is a library for building terminal user interfaces, meaning applications that run inside a terminal window and draw their own visual layouts rather than just printing plain text. Think of tools like database clients, file managers, or chat applications that fill the terminal screen with panels, menus, and interactive elements. OpenTUI gives you the building blocks to create that kind of software. The core of the library is written in Zig, a low-level programming language focused on performance and correctness, and it exposes a standard C interface so it can be called from many different languages. TypeScript bindings are the primary way most developers will use it. The README notes that OpenTUI is already running in production powering OpenCode, an AI coding tool. The library uses a component-based approach with flexible layout capabilities, which means you build your interface out of reusable pieces and describe how they should be arranged on screen, rather than manually calculating where each character should go. Several integration packages are available for popular frameworks: React, SolidJS, and Three.js (for GPU-accelerated rendering inside the terminal) are all included in the repository. Installation requires Zig to be present on your system to build the native core, plus a JavaScript runtime called Bun. A quick-start command spins up a new project from a template. Pre-built example binaries can also be downloaded without cloning the repository, which is useful for trying out the library before committing to a full setup. Documentation, a development guide, and a curated list of projects built with OpenTUI are all linked from the README.

Copy-paste prompts

Prompt 1
Using the OpenTUI library with TypeScript bindings, write me a basic terminal app with two side-by-side panels: one showing a file list and one showing the selected file contents.
Prompt 2
Show me how to set up an OpenTUI project from scratch using Bun, including installing dependencies and running the quickstart template.
Prompt 3
Help me build a terminal chat interface using OpenTUI component-based layout with an input field at the bottom and a scrollable message list above.
Prompt 4
Explain how to create a custom OpenTUI layout that arranges three panels in an L-shape and handles keyboard input events.

Frequently asked questions

What is opentui?

A library for building interactive terminal user interfaces with panels, menus, and layouts, built on a fast Zig core with TypeScript bindings and React/SolidJS integrations.

What language is opentui written in?

Mainly TypeScript. The stack also includes TypeScript, Zig, React.

What license does opentui use?

License not mentioned in the explanation.

How hard is opentui to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is opentui for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.