Back to Skills

opentui

Build terminal UIs with OpenTUI. Covers the core API, native audio, keymaps, React and Solid bindings, components, layout, keyboard input, plugins, and testing.

12,400stars640forksUpdated 7/11/2026

Security Assessment

Medium Risk(65/100)

Detected risks:

Secret Exposure([docs/bindings/react.mdx] password =)
Sensitive File Access([docs/reference/env-vars.mdx] .env, [docs/reference/standalone-executables.mdx] .env)
Security Score65/100

About opentui

OpenTUI is a framework for building terminal user interfaces, and this skill is the navigation layer over its canonical documentation, spanning the core API, native audio, keymaps, React and Solid bindings, components, layout, keyboard input, plugins, and testing. Rather than duplicating prose, it routes to sibling docs/**/*.mdx files authored once as the single source of truth. A path invariant keeps references stable: a /docs/<slug> URL maps to docs/<slug>.mdx relative to the skill root, and inside the OpenTUI repository the same slug resolves under packages/web/src/content/docs/. The skill lays out a reading order by area so callers know where to begin for each topic: getting started, the renderer for core concepts, audio, keymap overview, React and Solid bindings, the text and input components, layout, keyboard handling, plugin slots, testing, and the environment-variable reference. A quick routing table translates intents into entry documents: audio-related keywords such as native-audio, sound, playback, pcm, and fft point to docs/core-concepts/audio.mdx; layout, flexbox, and yoga point to docs/core-concepts/layout.mdx; keymap, keybindings, and leader point to docs/keymap/overview.mdx; and so on across renderer, keyboard, testing, plugins, text, input, and environment configuration. For a specific component the guidance is to jump straight to docs/components/<name>.mdx after the relevant entry page, and for plugin internals to narrow from docs/plugins/slots.mdx into the core, React, or Solid plugin docs. Working rules tell the reader to prefer the current entry pages first, then read narrower docs in the same section, to open the sibling .mdx files directly instead of copying their content, and to use the stable /docs/... URLs when cross-referencing. It suits anyone installing OpenTUI, wiring up a React or Solid terminal app, adding audio or keymaps, writing plugins, or testing terminal UI code, by pointing to the precise document for the task.

FAQ

What does OpenTUI let me build?

Terminal user interfaces. The skill covers the core API, native audio, keymaps, React and Solid bindings, components, layout, keyboard input, plugins, and testing.

Where should I start?

Begin at /docs/getting-started, then read narrower docs within the relevant section, preferring the current entry pages first.

Does OpenTUI support React and Solid?

Yes. There are dedicated bindings docs at /docs/bindings/react and /docs/bindings/solid, covering JSX, hooks, animation, and testing.

How does the doc path mapping work?

A /docs/<slug> URL maps to docs/<slug>.mdx relative to the skill root; in the repo the same slug lives under packages/web/src/content/docs/<slug>.mdx.

How do I find the right doc for a topic?

Use the quick routing table by intent: for example audio/pcm/fft go to docs/core-concepts/audio.mdx, layout/flexbox/yoga to docs/core-concepts/layout.mdx, and keymap/leader to docs/keymap/overview.mdx.

All Files

47 files
docs/components/markdown.mdx10.4 KB
View
docs/components/scrollbox.mdx7.5 KB
View
docs/components/tab-select.mdx6.0 KB
View
docs/core-concepts/audio.mdx6.3 KB
View
docs/core-concepts/constructs.mdx5.8 KB
View
docs/core-concepts/lifecycle.mdx4.4 KB
View
docs/core-concepts/renderables.mdx9.0 KB
View
docs/getting-started.mdx3.2 KB
View
docs/keymap/custom-addons.mdx26.7 KB
View
docs/components/input.mdx4.7 KB
View
docs/components/qr-code.mdx4.1 KB
View
docs/components/select.mdx6.2 KB
View
docs/components/text.mdx4.5 KB
View
docs/core-concepts/colors.mdx7.8 KB
View
docs/core-concepts/keyboard.mdx10.4 KB
View
docs/keymap/react.mdx4.9 KB
View
docs/bindings/react.mdx9.4 KB
View
docs/bindings/solid.mdx14.4 KB
View
docs/components/ascii-font.mdx3.7 KB
View
docs/components/box.mdx5.3 KB
View
docs/components/code.mdx8.9 KB
View
docs/components/diff.mdx4.2 KB
View
docs/components/frame-buffer.mdx6.7 KB
View
docs/components/line-number.mdx4.0 KB
View
docs/components/scrollbar.mdx2.3 KB
View
docs/components/slider.mdx1.9 KB
View
docs/components/textarea.mdx7.7 KB
View
docs/core-concepts/console.mdx3.2 KB
View
docs/core-concepts/layout.mdx4.0 KB
View
docs/core-concepts/renderables-vs-constructs.mdx4.5 KB
View
docs/plugins/react.mdx6.5 KB
View
docs/reference/color-matrix.mdx3.8 KB
View
docs/core-concepts/notifications.mdx2.3 KB
View
docs/core-concepts/renderer.mdx30.4 KB
View
docs/keymap/addons.mdx15.6 KB
View
docs/keymap/hosts.mdx15.7 KB
View
docs/keymap/solid.mdx5.1 KB
View
docs/plugins/slots.mdx12.7 KB
View
docs/reference/env-vars.mdx4.8 KB
View
docs/reference/tree-sitter.mdx4.6 KB
View
docs/core-concepts/testing.mdx1.9 KB
View
docs/keymap/core.mdx38.9 KB
View
docs/keymap/overview.mdx17.7 KB
View
docs/plugins/core.mdx12.6 KB
View
docs/plugins/solid.mdx7.0 KB
View
docs/reference/standalone-executables.mdx1.5 KB
View
SKILL.md3.5 KB
View

Install opentui

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill