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 and will also power 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 and create-tui:
bun create tuiThis monorepo contains the following packages:
@opentui/core- TypeScript bindings for OpenTUI's native Zig core, with an imperative API and all primitives.@opentui/solid- The SolidJS reconciler for OpenTUI.@opentui/react- The React reconciler for OpenTUI.
NOTE: You must have Zig installed on your system to build the packages.
bun install @opentui/coreTeach your AI coding assistant OpenTUI's APIs and patterns.
For OpenCode (includes /opentui command):
curl -fsSL https://raw.githubusercontent.com/msmps/opentui-skill/main/install.sh | bashFor other AI coding assistants:
npx skills add msmps/opentui-skillYou 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/core/src/examples/install.sh | shFor Windows (PowerShell/CMD):
Download the latest release directly from GitHub Releases
bun install
cd packages/core
bun run src/examples/index.tsSee the Development Guide for building, testing, debugging, and local development linking.
- Website docs - Guides and API references
- Development Guide - Building, testing, and local dev linking
- Getting Started - API and usage guide
- Environment Variables - Configuration options
Consider showcasing your work on the awesome-opentui list. A curated list of awesome resources and terminal user interfaces built with OpenTUI.