OpentuiCAUTION
OpenTUI is a library to build terminal user interfaces (TUI)
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
OpenTUI is a library to build terminal user interfaces.
- It is written in Zig.
- You write TypeScript directly or through React and Solid.
- You arrange boxes and text with flexbox.
- You add selects, inputs, and scroll boxes with keyboard and mouse controls.
- You can play sounds, show images, and render 3D graphics.
OpenCode uses OpenTUI in production for millions of users.
Website | Documentation | Packages
Packages
@opentui/core- Native terminal UI library with TypeScript bindings.@opentui/react- React renderer for building terminal user interfaces with OpenTUI Core.@opentui/solid- Solid renderer for building terminal user interfaces with OpenTUI Core.@opentui/keymap- Key binding and command routing library for terminal and browser applications.@opentui/qrcode- QR code encoder and renderable with React and Solid surfaces.@opentui/three- Three.js WebGPU renderer for OpenTUI.@opentui/ssh- SSH server integration for OpenTUI applications.
Private packages
@opentui/native- Private workspace with the Zig implementation, native tests, and benchmarks.@opentui/examples- Private workspace wi
7406e9f12f30OBSERVED · 2026-10-20Install
Commands as the repository documents them. They are shown, not run.
npx skills add https://opentui.com --skill opentui
npx skills add anomalyco/opentui
npx skills add https://opentui.com --skill opentui
npx skills add anomalyco/opentui
npm install @opentui/ssh
npx skills add https://opentui.com --skill opentui
Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| codex | mentioned | |
| cursor | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
--- name: opentui description: Build terminal UIs with OpenTUI. Covers Core, frameworks, components, application APIs, testing, extensions, integrations, deployment, and public API lookup. --- # OpenTUI Skill Canonical reference docs are in the sibling `docs/**/*.mdx` files. Inside the OpenTUI repository, this skill root is `packages/web/src/content/`. The same files are available under `packages/web/src/content/docs/**/*.mdx` from the repository root. ## Terminal layout defaults Design for a terminal app, not a browser. Use the available columns and rows efficiently. - Do not use gaps between adjacent UI panels. - Do not add unnecessary margins or padding. - Prefer compact, information-dense layouts over website-style card spacing. ## Path invariant - `/docs` maps to `docs/getting-started.mdx`. - `/docs/components` maps to `docs/components/overview.mdx`. - Every other `/docs/<slug>` URL maps to `docs/<slug>.mdx` relative to this skill root. - From the repository root, prepend `packages/web/src/content/` to each source path. - `/docs/releases/<version>` maps to `docs/releases/<version>.md`, the release notes of that version. ## Versions The docs describe the release or branch that this skill came from. Each release notes file lists what changed in that release and links the pages it affects. When a project uses an older `@opentui/core` than the docs describe, read the notes of the newer releases before you use an API, and prefer what the project's version provides. ## Choose packages Use Core directly or choose a React or Solid binding for the UI. Recommend companion packages when their features fit the task. Do not install every package by default. - [`@opentui/core`](docs/core-concepts/renderer.mdx): use imperative renderables and events with `createCliRenderer()`. - [`@opentui/react`](docs/bindings/react.mdx): use React components, JSX, and hooks with `createRoot()`. - [`@opentui/solid`](docs/bindings/solid.mdx): use Solid components, JSX, and signals with `render()`. - [`@opentui/keymap`](docs/keymap/overview.mdx): centralize keyboard bindings and named commands across views. The package supports focus-scoped layers, configurable shortcuts, and multi-key sequences. Start with `createDefaultOpenTuiKeymap()` from `@opentui/keymap/opentui`. Use `@opentui/keymap/react` or `@opentui/keymap/solid` for providers and hooks. [Direct keyboard events](docs/core-concepts/keyboard.mdx) or component-local bindings are enough for simple local input. - [`@opentui/ssh`](docs/reference/ssh.mdx): serve a terminal UI to standard SSH clients without a local app installation. Import `createServer()` from the package root. Pass each session's renderer to Core, React, or Solid. The package has no framework subpaths. Read the SSH guide for authentication, middleware, and session cleanup. - [`@opentui/qrcode`](docs/reference/qr-encoder.mdx): encode QR matrices, terminal text, or SVG, or display a `QRCodeRenderable`. For JSX, use `registerQRCode()` from `@opentui/qrcode/react` or `@opentui/qrcode/solid`. See the [QR code component](docs/components/qr-code.mdx). - [`@opentui/three`](docs/reference/three.mdx): render Three.js WebGPU scenes in the terminal with `ThreeRenderable`. This integration supports only Bun. Before you choose it, check its runtime and dependency requirements. See [Package entry points](docs/reference/package-entrypoints.mdx) for the full list of public imports. The list includes testing, addons, host adapters, and runtime-module maps. Use the [API and symbol index](docs/reference/api-index.mdx) to find exports. Use public package entry points instead of source-file deep imports. ## Reading order by area - Start: `/docs`, `/docs/getting-started/quickstart`, `/docs/getting-started/runtime-support` - Frameworks: `/docs/bindings/react`, `/docs/bindings/solid` - Core: `/docs/core-concepts/renderer`, `/docs/core-concepts/layout`, `/docs/core-concepts/keyboard` - Components: `/docs/components`, `/docs/components/text`, `/docs/components/input`, `/docs/components/image`, `/docs/components/embedded-terminal` - Application APIs: `/docs/core-concepts/clipboard`, `/docs/core-concepts/audio`, `/docs/application-apis/audio-streaming`, `/docs/application-apis/audio-capture`, `/docs/application-apis/animation` - Test and debug: `/docs/core-concepts/testing`, `/docs/test-and-debug/troubleshooting` - Extensions: `/docs/plugins/slots`, `/docs/extend/runtime-plugins` - Keymap: `/docs/keymap/overview` - Integrations: `/docs/reference/ssh`, `/docs/reference/three`, `/docs/reference/qr-encoder` - Native: `/docs/native/overview` - Ship: `/docs/ship/deploy`, `/docs/reference/standalone-executables` - Reference: `/docs/reference/api-index`, `/docs/reference/package-entrypoints`, `/docs/reference/env-vars`, `/docs/reference/native-image` ## Quick routing by intent | Intent(s) | Start here | | -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | | `getting-started`, `intro`, `examples`, `agent-skill` | `docs/getting-started.mdx` | | `installation`, `quickstart` | `docs/getting-started/quickstart.mdx` | | `runtime-support`, `bun`, `nodejs`, `native-artifacts`, `ffi`, `permissions`, `libc`, `runtime-assets` | `docs/getting-started/runtime-support.mdx` | | `react`, `jsx`, `hooks`, `keyboard`, `paste`, `focus`, `blur`, `selection`, `animation`, `testing` | `docs/bindings/react.mdx` | | `solid`, `jsx`, `signals`, `hooks`, `keyboard`, `animation`, `testing` | `docs/bindings/
Trust audit
CAUTIONgrade D · trust 68/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- declared (3 observation(s))
- Shell
- declared (5 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (25)
tree-sitter-javascript.wasm
tree-sitter-markdown.wasm
tree-sitter-markdown_inline.wasm
tree-sitter-zig.wasm
tone-750hz-48k-mono-1s.flac
.oxfmtrc.json
.oxlintrc.json
.zig-version
const config: ServerConfig<AuthConfig> = { auth: Math.random() > 0.5 ? "open" : { password: () => true } }const AUTHORIZED_KEYS = process.env.AUTHORIZED_KEYS ?? "./authorized_keys"
publicKey: { authorizedKeys: AUTHORIZED_KEYS },title: " @opentui/ssh · authorized_keys ",
box.add(new TextRenderable(renderer, { content: `allowlist: ${AUTHORIZED_KEYS}`, fg: "#94a3b8" }))const file = join(dir, "authorized_keys")
echo "${{ github.sha }}" > ../../.native-tests-passedcd ../../three/dist && npm pack --dry-run
cd ../../qrcode/dist && npm pack --dry-run
cd ../../react/dist && npm pack --dry-run
cd ../../solid/dist && npm pack --dry-run
const remote = await audio.playStreamUrl(`http://127.0.0.1:${address.port}`, options)return `http://127.0.0.1:${address.port}`renderable.source = `http://127.0.0.1:${address.port}/pending`const base = `http://127.0.0.1:${address.port}`source: `http://127.0.0.1:${address.port}/pending`,iVBORw0KGgoAAAANSUhEUgAAAAMAAAABCAMAAAAsPuSGAAABYGlDQ1BpY2MAACiRdZE/SMNAFMa//pEWW1Chg4NDBxWHFtQW7KCg7VCQIjUqqLgk1zQVkjRcUqSzi6Pg6qI4i47FoY7dBV1Ed3EQBBcp5zsjtoh9x9378XHf4907IJgzmeWGlwHL9rhSzCe3d3aTkRdE
Gates applied: no_behavioural_pass.
7406e9f12f30full audit observations/trust-audit/skill/anomalyco__opentui.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-20 | 7406e9f12f30 | CAUTION | D | 68 | first audit |
Questions
What does the opentui — anomalyco/opentui skill do?
OpenTUI is a library to build terminal user interfaces (TUI)
Is opentui — anomalyco/opentui safe to install?
With care. The audit graded it D (68/100) and found 25 things worth knowing before you trust this skill, listed below with the exact line each was found on.
What can opentui — anomalyco/opentui access on my machine?
The audit observed that it reaches the network, runs shell commands and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: none found.
Which assistants does opentui — anomalyco/opentui work with?
Its documentation mentions codex and cursor. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (7406e9f12f30), read on 2026-10-20. The repository is watched, and a new audit runs when it changes — this is the first audit.
Add this badge to your README
Shows this page's audit result and links back to it. It updates when the audit does.
[](https://modelsatlas.com/skills/anomalyco/opentui/)
Not your listing, or something out of date? Claim or update your listing.