opentui

Build terminal user interfaces with the OpenTUI core, components, and framework bindings.

18|8|Updated Jun 17, 2026
One-click install
npx skills add https://github.com/PyModel/pythinker-code --skill opentui-pymodel
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: opentui
Source: https://github.com/PyModel/pythinker-code/tree/main/.agents/skills/opentui
Command: npx skills add https://github.com/PyModel/pythinker-code --skill opentui-pymodel

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Building rich terminal applications requires coordinating rendering, layout, keyboard input, audio, and framework bindings across many APIs. This Skill routes you to the correct OpenTUI documentation for each task so you can implement terminal UIs without guessing which component or reference page applies. ## Core Features & Use Cases - Intent-based doc routing: Maps requests like audio playback, keymaps, React/Solid bindings, plugins, QR encoding, SSH, and Three.js WebGPU to the right docs/**/*.mdx reference page. - Component guidance: Covers core components such as Box, Text, Input, Code (Tree-sitter highlighting), and ASCIIFont with properties and usage examples. - Runtime and packaging references: Includes environment variables, standalone executables (Bun compile and Node.js SEA), package entrypoints, and testing with snapshot renderers. - Use Case: You want to add streaming internet radio with ICY metadata to a terminal app. The Skill routes you to the native audio docs covering playStreamUrl, reconnect options, and metadata events. ## Quick Start Ask how to create a terminal UI with OpenTUI, for example how to render a bordered box with text or handle keyboard input, and the Skill will load the relevant documentation. ## Quick Start Tell the agent to build a terminal UI feature with OpenTUI, such as a bordered panel with text and keybindings, and it will consult the matching docs.

Frequently Asked Questions about opentui

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a terminal UI with OpenTUI?

Install @opentui/core with Bun, then call createCliRenderer() and add components like Box and Text to renderer.root. The getting-started docs walk through a hello world example with green text and a bordered panel.

How do I play audio in an OpenTUI terminal app?

Use the Audio engine from @opentui/core to load sound files, play voices with volume and pan, or stream MP3/FLAC from URLs with ICY metadata support. The native audio docs cover capture, recording to WAV, and device selection.

Does OpenTUI work with React and Solid?

Yes, the OpenTUI monorepo includes @opentui/react and @opentui/solid bindings. Each has dedicated docs covering JSX usage, hooks, keyboard handling, focus, animation, and testing.

Can OpenTUI run in Node.js without Bun?

Portable entry points like @opentui/keymap and @opentui/core import in Node.js without FFI. Creating a native renderer requires Node.js 26.4.0 with --experimental-ffi enabled.

How do I package an OpenTUI app as a standalone executable?

Use bun build --compile for Bun executables or Node.js SEA for Node binaries, embedding assets like audio files. The standalone-executables reference documents both approaches including asset loading.

How do I set up keybindings and leader keys in OpenTUI?

The @opentui/keymap package provides a bare engine plus addons for default parsers, leader keys, timed leaders, Emacs-style chords, and ex commands. The keymap overview and addons docs describe registration and disambiguation.