Files
anomalyco__opentui/README.md
T
Simon Klee 6dec16a77c native: move Zig sources into packages/native (#1391)
Separate the native implementation from the TypeScript bindings. Keep
core on
the public bindings and keep the current native artifact packages and
release
workflows.

packages/native owns the Zig source, tests, benches, and vendor updates.
The
package is private and unpublished for now Core still packages the
@opentui/core-* artifacts. build:native, test:native, and bench:native
still
work from core and delegate to native.

Expose a Zig import root and a no-JS hello example for proof of concept,
not a focus point, just a smoke test.
2026-08-20 11:34:03 +02:00

3.9 KiB

OpenTUI

npm Build status awesome opentui list

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 in production today. 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 and create-tui:

bun create tui

This monorepo contains the following packages:

  • @opentui/native - Private workspace package containing the Zig implementation, tests, and benchmarks.
  • @opentui/core - TypeScript bindings for OpenTUI's native Zig core, with an imperative API and all primitives.
  • @opentui/three - Three.js WebGPU renderer for OpenTUI.
  • @opentui/solid - The SolidJS reconciler for OpenTUI.
  • @opentui/react - The React reconciler for OpenTUI.
  • @opentui/keymap - Shared command, keybinding, and sequence engine.
  • @opentui/qrcode - QR encoder and terminal renderable integrations.
  • @opentui/ssh - Serve imperative, React, and Solid OpenTUI applications over SSH.
  • @opentui/examples - Example browser and standalone examples executable build.
  • @opentui/web - Private documentation website and installable AI agent skill source.

Install

NOTE: You must have Zig installed on your system to build the packages.

TypeScript/JavaScript

bun install @opentui/core

AI Agent Skill

Teach your AI coding assistant OpenTUI's APIs and patterns.

Universal skill install with npx skills:

npx skills add anomalyco/opentui --skill opentui

Install globally for every project:

npx skills add anomalyco/opentui --skill opentui -g

OpenCode uses the same install command. No separate installer is needed.

Try Examples

You can quickly try out OpenTUI examples without cloning the repository:

For macOS, Linux, WSL, Git Bash:

curl -fsSL https://raw.githubusercontent.com/anomalyco/opentui/main/packages/examples/install.sh | sh

For Windows (PowerShell/CMD):

Download the latest release directly from GitHub Releases

Running Examples (from the repo root)

TypeScript Examples

bun install
cd packages/examples
bun run dev

Development

See the Development Guide for building, testing, debugging, and local development linking.

Documentation

Showcase

Consider showcasing your work on the awesome-opentui list. A curated list of awesome resources and terminal user interfaces built with OpenTUI.