opentui

Build terminal UIs with OpenTUI. Covers Core, frameworks, components, application APIs, testing, extensions, integrations, deployment, and public API lookup.

Install
npx skills add 'https://github.com/anomalyco/opentui/tree/main/packages/web/src/content'
Download bundle ↓
main · ac753b4Scanned 2026-09-15

Contributors

GitHub-linked commit authors for this SKILL.md at the saved revision. Co-authors and history before file renames are not included.

File history ↗

docs/reference/package-entrypoints.mdx

docs/reference/package-entrypoints.mdxBrowse 89 files
View on GitHub
← Back to SKILL.md

title: Package entry points description: Find each published OpenTUI package root and subpath, its runtime, and its workflow guide skill: entry: true intents: [package-exports, entrypoints, subpath-exports, imports]

Package entry points

Generated publish manifests define the entry points below. Some workspace manifests differ from the files published to npm. Import only these roots and subpaths. Source-file deep imports are not public entry points.

Read Runtime and platform support for runtime versions and native targets. Use the API and symbol index to find an exported name.

@opentui/core

Entry pointRuntimePurposeWorkflow
@opentui/coreBun and Node.jsRenderer, renderables, input, buffers, audio, plugins, Tree-sitter, and shared typesRenderer
@opentui/core/testingBun and Node.jsTest renderer, input and mouse drivers, fixtures, clocks, spies, Tree-sitter mock, and frame recorderTesting
@opentui/core/runtime-pluginBun onlyRuntime-module plugin factory, module identifiers, rewrite options, and runtime entry typesRuntime module loading
@opentui/core/runtime-plugin-supportBun onlyInstall core runtime-module support as an import side effect, and export its setup APIRuntime module loading
@opentui/core/runtime-plugin-support/configureBun onlyExport configurable ensureRuntimePluginSupport() without import-time installationRuntime module loading
@opentui/core/yogaBun and Node.jsNative Yoga facade, enums, constants, layout values, and callbacksYoga API
@opentui/core/tree-sitter/update-assetsBuild time, with Bun CLITree-sitter asset updater and command-line runnerTree-sitter
@opentui/core/parser.workerBun and Node.js workerParser worker module with no named application exportsTree-sitter
@opentui/core/node-assetsNode.js build timeNode single-executable asset manifestStandalone executables

The three runtime-plugin entry points publish Node.js stubs. A stub throws during import and tells you to use Bun. The Tree-sitter updater also uses Bun-specific tooling.

@opentui/core/node-assets is a build-time API. Do not call it from the finished executable.

The core build also generates platform packages such as @opentui/core-linux-x64. Each generated package exports one default native-library path. These packages are internal distribution surfaces, not application APIs.

@opentui/react

Entry pointRuntimePurposeWorkflow
@opentui/reactBun and Node.jsReact root, intrinsic catalogue, components, hooks, slots, TimeToFirstDraw, and component typesReact bindings
@opentui/react/rendererBun and Node.jsRenderer declarations for createRoot, createPortal, flushSync, and RootReact bindings
@opentui/react/test-utilsBun and Node.jsReact-aware testRender() over @opentui/core/testingTesting
@opentui/react/runtime-plugin-supportBun onlyInstall React runtime-module support as an import side effectRuntime module loading
@opentui/react/runtime-plugin-support/configureBun onlyConfigure React runtime-module support without import-time installationRuntime module loading
@opentui/react/jsx-runtimeCompiler selectedAutomatic JSX runtime and OpenTUI JSX typesReact bindings
@opentui/react/jsx-dev-runtimeCompiler selectedDevelopment JSX runtime and OpenTUI JSX typesReact bindings

The generated publish map adds /renderer. The workspace manifest does not list it. Its declaration target contains the four renderer exports, but its runtime target is the full root index.js bundle. Do not depend on other root values through /renderer.

Both runtime-plugin support paths publish Node.js stubs that throw during import. TypeScript selects the JSX paths from jsxImportSource. Application code does not import them directly.

@opentui/solid

Entry pointRuntimePurposeWorkflow
@opentui/solidBun and Node.jsSolid renderer, test renderer, hooks, elements, scrollback, slots, reconciler exports, and typesSolid bindings
@opentui/solid/preloadBun onlyPreload that installs the Solid source transform and has no named exportsSolid bindings
@opentui/solid/bun-pluginBun onlySolid transform plugin, installation helpers, reset helper, and default plugin exportSolid bindings
@opentui/solid/runtime-plugin-supportBun onlyInstall the Solid transform and runtime-module support as an import side effectRuntime module loading
@opentui/solid/runtime-plugin-support/configureBun onlyConfigure Solid runtime support without import-time installationRuntime module loading
@opentui/solid/componentsBun and Node.jsComponent catalogue extension functions and typesSolid bindings
@opentui/solid/jsx-runtimeCompiler selectedAutomatic JSX runtime and OpenTUI JSX namespaceSolid bindings
@opentui/solid/jsx-dev-runtimeCompiler selectedDevelopment JSX runtime and OpenTUI JSX namespaceSolid bindings

preload, bun-plugin, and both runtime-plugin support paths publish Node.js stubs that throw during import. The Solid compiler selects the JSX paths.

@opentui/keymap

Entry pointRuntimePurposeWorkflow
@opentui/keymapJavaScript runtimesHost-agnostic Keymap, extension context, key stringifiers, and shared typesKeymap
@opentui/keymap/extrasJavaScript runtimesBinding lookup, command-binding, and formatting helpersCore keymap API
@opentui/keymap/extras/graphJavaScript runtimesGraph snapshots and graph projection typesCore keymap API
@opentui/keymap/addonsJavaScript runtimesUniversal parser, field, metadata, leader, sequence, command, and diagnostics addonsBuilt-in keymap addons
@opentui/keymap/addons/opentuiBun and Node.jsUniversal addons plus OpenTUI base-layout and edit-buffer helpersBuilt-in keymap addons
@opentui/keymap/testingJavaScript test runtimesFake host, targets, events, diagnostics, and createTestKeymap()Core keymap API
@opentui/keymap/htmlBrowser DOMDOM host, event adapter, and bare or default HTML keymap factoriesKeymap hosts
@opentui/keymap/opentuiBun and Node.jsCliRenderer and Renderable host adapter, plus bare or default OpenTUI keymap factoriesKeymap hosts
@opentui/keymap/reactOpenTUI ReactProvider, hooks, and store-backed reactive matcherReact keymap integration
@opentui/keymap/solidOpenTUI SolidProvider, hooks, selector, and signal-backed reactive matcherSolid keymap integration
@opentui/keymap/runtime-modulesBun runtime loadingRuntime-module map for the root, extras, addons, adapters, and lazy framework bindingsRuntime module loading

Adapter entry points do not re-export the shared engine. Import Keymap, stringifiers, and shared types from the root.

The runtime-module map omits /testing and /runtime-modules. It loads the React and Solid bindings lazily.

@opentui/qrcode

Entry pointRuntimePurposeWorkflow
@opentui/qrcodeBun and Node.jsQR encoder, segments, error correction, SVG and terminal output, and QRCodeRenderableQR encoder
@opentui/qrcode/reactOpenTUI ReactFull root re-export plus registerQRCode() for the qr-code intrinsicQR code component
@opentui/qrcode/solidOpenTUI SolidFull root re-export plus registerQRCode() for the qr_code intrinsicQR code component

The framework paths include the encoder and renderable exports. They are not registration-only modules.

@opentui/ssh

Entry pointRuntimePurposeWorkflow
@opentui/sshBun 1.3.0 or Node.js 26.4.0 or laterSSH server builder, authentication, middleware, sessions, logging, errors, and public typesSSH

The package has no framework subpaths. Pass the session renderer to the React or Solid root API.

@opentui/three

Entry pointRuntimePurposeWorkflow
@opentui/threeBun onlyThree.js WebGPU renderer, renderable, sprites, effects, resource pools, physics adapters, and THREEThree.js WebGPU
@opentui/three/runtime-modulesBun onlyRuntime-module map that contains the @opentui/three rootRuntime module loading

Both entry points require Bun. The package declares Bun 1.3.0 or newer.

Referenced from SKILL.md