MCPcopy
hub / github.com/anomalyco/opentui

github.com/anomalyco/opentui @v0.4.3 sqlite

repository ↗ · DeepWiki ↗ · release v0.4.3 ↗
7,922 symbols 28,745 edges 787 files 98 documented · 1%
README

OpenTUI

<a href="https://www.npmjs.com/package/@opentui/core"><img alt="npm" src="https://img.shields.io/npm/v/@opentui/core?style=flat-square" /></a>
<a href="https://github.com/anomalyco/opentui/actions/workflows/build-core.yml"><img alt="Build status" src="https://img.shields.io/github/actions/workflow/status/anomalyco/opentui/build-core.yml?style=flat-square&branch=main" /></a>
<a href="https://github.com/msmps/awesome-opentui"><img alt="awesome opentui list" src="https://awesome.re/badge-flat.svg" /></a>

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:

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.

Extension points exported contracts — how you extend this code

ScrollAcceleration (Interface)
(no doc) [8 implementers]
packages/core/src/lib/scroll-acceleration.ts
HtmlKeyboardEventLike (Interface)
(no doc) [6 implementers]
packages/keymap/src/html.ts
ElementClass (Interface)
(no doc) [5 implementers]
packages/react/jsx-namespace.d.ts
PhysicsRigidBody (Interface)
(no doc) [4 implementers]
packages/three/src/physics/physics-interface.ts
LogEventCommon (Interface)
* A connection-lifecycle event. Pure observability — the logging middleware * never reports errors (those flow to `onEr
packages/ssh/src/logging.ts
PhysicsWorld (Interface)
(no doc) [2 implementers]
packages/examples/src/physx-rapier-2d-demo.ts
EncodedQRCode (Interface)
(no doc) [1 implementers]
packages/qrcode/src/renderables/QRCode.ts
JsxProps (Interface)
(no doc)
packages/solid/jsx-runtime.ts

Core symbols most depended-on inside this repo

expect
called by 30300
packages/core/src/platform/test.ts
toBe
called by 18261
packages/core/src/testing/bun-test-node.ts
toBe
called by 6993
packages/core/src/platform/test.ts
getComputedHeight
called by 4115
packages/core/src/yoga.ts
getComputedWidth
called by 4114
packages/core/src/yoga.ts
getComputedLeft
called by 4113
packages/core/src/yoga.ts
getComputedTop
called by 4113
packages/core/src/yoga.ts
create
called by 3027
packages/core/src/lib/extmarks.ts

Shape

Function 3,724
Method 3,045
Interface 680
Class 433
Enum 40

Languages

TypeScript100%

Modules by API surface

packages/core/src/zig.ts373 symbols
packages/core/src/renderer.ts270 symbols
packages/core/src/yoga.ts166 symbols
packages/core/src/Renderable.ts142 symbols
packages/examples/src/keymap-demo.ts133 symbols
packages/keymap/src/types.ts120 symbols
packages/core/src/renderables/EditBufferRenderable.ts103 symbols
packages/keymap/src/services/command-catalog.ts102 symbols
packages/core/src/renderables/Markdown.ts101 symbols
packages/core/src/testing/bun-test-node.ts95 symbols
packages/qrcode/src/lib/qrcode.ts93 symbols
packages/core/src/renderables/TextTable.ts81 symbols

Dependencies from manifests, versioned

@astrojs/mdx6.0.3 · 1×
@babel/core7.28.0 · 1×
@babel/preset-typescript7.27.1 · 1×
@dimforge/rapier2d-simd-compat0.17.3 · 1×
@opentui/coreworkspace:* · 1×
@opentui/keymapworkspace:* · 1×
@opentui/qrcodeworkspace:* · 1×
@opentui/reactworkspace:* · 1×
@opentui/solidworkspace:* · 1×
@opentui/threeworkspace:* · 1×
@types/babel__core7.20.5 · 1×
@types/bunlatest · 1×

For agents

$ claude mcp add opentui \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact