## Summary - keep at most one terminal pixel-resolution query in flight and coalesce resize or suspended refreshes into one follow-up query - preserve complete and partial pixel-resolution replies across suspend/resume without leaking suspended protocol prefixes into later input - preserve post-resume input across chunk boundaries and discard retained prefixes when the query is cancelled - reject unsafe or signed-32-bit-overflowing pixel dimensions before they reach renderer geometry - keep the implementation and causal regression coverage independent from native image support Extracted from the final implementation in #1283, with additional regressions proven and fixed during standalone review. ## Verification - focused parser and renderer tests: 605 passed - core Bun tests: 5,221 passed, 23 skipped - Node 26.4 source tests: 4,527 passed, 6 skipped - library build, formatting, and lint pass
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 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 tui
This monorepo contains the following packages:
@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
- Website docs - Guides and API references
- Development Guide - Building, testing, and local dev linking
- Getting Started - API and usage guide
- Environment Variables - Configuration options
Showcase
Consider showcasing your work on the awesome-opentui list. A curated list of awesome resources and terminal user interfaces built with OpenTUI.