https://github.com/anomalyco/opentui
OpenTUI is a library for building terminal user interfaces (TUIs)
https://github.com/anomalyco/opentui
Last synced: 3 days ago
JSON representation
OpenTUI is a library for building terminal user interfaces (TUIs)
- Host: GitHub
- URL: https://github.com/anomalyco/opentui
- Owner: anomalyco
- License: mit
- Created: 2025-07-21T09:35:54.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2026-04-10T11:53:42.000Z (6 days ago)
- Last Synced: 2026-04-10T13:30:32.686Z (6 days ago)
- Language: TypeScript
- Homepage: https://opentui.com
- Size: 8.18 MB
- Stars: 10,267
- Watchers: 32
- Forks: 501
- Open Issues: 137
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Agents: AGENTS.md
Awesome Lists containing this project
- awesome - anomalyco/opentui - OpenTUI is a library for building terminal user interfaces (TUIs) (<a name="TypeScript"></a>TypeScript)
- my-awesome - anomalyco/opentui - 03 star:9.7k fork:0.5k OpenTUI is a library for building terminal user interfaces (TUIs) (TypeScript)
README
# OpenTUI
OpenTUI is a native terminal UI core written in Zig with TypeScript bindings. The native core exposes a C ABI and can be used from any language. OpenTUI powers [OpenCode](https://opencode.ai) in production today and will also power [terminal.shop](https://terminal.shop). It is an extensible core with a focus on correctness, stability, and high performance. It provides a component-based architecture with flexible layout capabilities, allowing you to create complex terminal applications.
Docs: https://opentui.com/docs/getting-started
Quick start with [bun](https://bun.sh) and [create-tui](https://github.com/msmps/create-tui):
```bash
bun create tui
```
This monorepo contains the following packages:
- [`@opentui/core`](packages/core) - TypeScript bindings for OpenTUI's native Zig core, with an imperative API and all primitives.
- [`@opentui/solid`](packages/solid) - The SolidJS reconciler for OpenTUI.
- [`@opentui/react`](packages/react) - The React reconciler for OpenTUI.
## Install
NOTE: You must have [Zig](https://ziglang.org/learn/getting-started/) installed on your system to build the packages.
### TypeScript/JavaScript
```bash
bun install @opentui/core
```
## AI Agent Skill
Teach your AI coding assistant OpenTUI's APIs and patterns.
**For [OpenCode](https://opencode.ai) (includes `/opentui` command):**
```bash
curl -fsSL https://raw.githubusercontent.com/msmps/opentui-skill/main/install.sh | bash
```
**For other AI coding assistants:**
```bash
npx skills add msmps/opentui-skill
```
## Try Examples
You can quickly try out OpenTUI examples without cloning the repository:
**For macOS, Linux, WSL, Git Bash:**
```bash
curl -fsSL https://raw.githubusercontent.com/anomalyco/opentui/main/packages/core/src/examples/install.sh | sh
```
**For Windows (PowerShell/CMD):**
Download the latest release directly from [GitHub Releases](https://github.com/anomalyco/opentui/releases/latest)
## Running Examples (from the repo root)
### TypeScript Examples
```bash
bun install
cd packages/core
bun run src/examples/index.ts
```
## Development
See the [Development Guide](packages/core/docs/development.md) for building, testing, debugging, and local development linking.
### Documentation
- [Website docs](https://opentui.com/docs/getting-started) - Guides and API references
- [Development Guide](packages/core/docs/development.md) - Building, testing, and local dev linking
- [Getting Started](packages/core/docs/getting-started.md) - API and usage guide
- [Environment Variables](packages/core/docs/env-vars.md) - Configuration options
## Showcase
Consider showcasing your work on the [awesome-opentui](https://github.com/msmps/awesome-opentui) list. A curated list of awesome resources and terminal user interfaces built with OpenTUI.