opentui

Build terminal user interfaces with OpenTUI Core, React, or Solid APIs.

1|Updated Jun 17, 2026
One-click install
npx skills add https://github.com/Lento47/arcana --skill opentui-lento47
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: opentui
Source: https://github.com/Lento47/arcana/tree/main/agent/skills/opentui
Command: npx skills add https://github.com/Lento47/arcana --skill opentui-lento47

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @opentui/core, @opentui/react, @opentui/solid, @opentui/keymap, and includes references (resource) components.

What problem does it solve? Building terminal user interfaces requires navigating OpenTUI's three frameworks (Core, React, Solid), its Yoga flexbox layout system, keyboard and keymap handling, animations, and testing utilities, and finding the right API or component for each task is time-consuming without structured guidance. ## Core Features & Use Cases - Framework Selection Guidance: Decision trees route you to the right API (imperative Core, React reconciler, or Solid reconciler) based on your control and reactivity needs. - Component & Concept References: On-demand reference files cover components (text, boxes, inputs, code/diff viewers), layout, keyboard input, layered keymaps, timeline animations, and snapshot testing. - Use Case: Imagine you need to build an interactive CLI dashboard with a scrollable log view, keyboard shortcuts, and a diff viewer. This Skill directs you to the scrollbox and diff components, the keymap package for layered bindings, and the test renderer for snapshot tests. ## Quick Start Ask the agent to scaffold a new OpenTUI app with create-tui and build a bordered box containing styled text and a keyboard-driven menu.

Frequently Asked Questions about opentui

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

FAQPage Schema
How do I build a terminal UI with OpenTUI?▼

Scaffold a project with bunx create-tui -t react my-app (or -t solid / -t core), then run it with bun run. The template flag must come before the directory name, and the target directory must not already exist.

OpenTUI React vs Solid vs Core: which should I use?▼

Use Core for maximum control, smallest bundle, or when building libraries on top of OpenTUI. Use React if your team knows React patterns, and Solid when you want fine-grained signal-based reactivity with optimal re-rendering.

How do I handle keyboard shortcuts in OpenTUI?▼

For simple shortcuts, use the useKeyboard hook in React or Solid, or renderer.keyInput events in Core. For layered bindings, leader keys, sequences like dd, and ex-style commands, use the separate @opentui/keymap package.

Does OpenTUI work with Node.js or only Bun?▼

Bun is the reference runtime, with Zig used for native builds. Node.js 26.3.0 is supported for the native renderer when launched with --experimental-ffi, and @opentui/keymap imports in Node without any FFI.

How do I test an OpenTUI terminal app?▼

Use createTestRenderer from @opentui/core/testing for headless rendering, or testRender from @opentui/react/test-utils or @opentui/solid. Capture frames with captureCharFrame() for assertions or snapshots, and always destroy the renderer after each test.

Why is text styling not applying in my OpenTUI React app?▼

Text styling in React and Solid requires nested modifier elements like <strong>, <em>, or <span fg="red"> inside <text>, not style props. Passing styling props directly to text content does not apply attributes.