Package entrypoints
OpenTUI packages use explicit exports maps. Import only the root and subpaths listed below; source-file deep imports are not public package entrypoints.
@opentui/core
| Entrypoint | Public purpose |
|---|---|
@opentui/core | Main imperative renderer, renderables, buffers, input, audio, plugins, Tree-sitter client, utilities, and shared types |
@opentui/core/testing | Test renderer, input/mouse drivers, capability fixtures, clocks, spies, Tree-sitter mock, and frame recorder |
@opentui/core/runtime-plugin | Bun runtime-module plugin factory, module-ID helpers, rewrite options, and runtime module entry types |
@opentui/core/runtime-plugin-support | Installs core runtime-plugin support as an import side effect and re-exports its setup API |
@opentui/core/runtime-plugin-support/configure | Configurable ensureRuntimePluginSupport() without import-time installation |
@opentui/core/yoga | Native Yoga Config/Node, enums, constants, layout values, and callback types |
@opentui/core/tree-sitter/update-assets | updateAssets, runUpdateAssetsCli, and UpdateOptions for Tree-sitter assets |
@opentui/core/parser.worker | Tree-sitter parser worker module; no named application API |
@opentui/core/node-assets | getNodeAssets(target) plus NodeAsset and NodeAssetTarget for Node distribution assets |
runtime-plugin, both runtime-plugin-support entries, and the Tree-sitter update CLI use Bun-specific tooling. See the Plugin API and Tree-sitter reference for their workflows.
@opentui/react
| Entrypoint | Public purpose |
|---|---|
@opentui/react | React renderer root, intrinsic catalogue, components, hooks, slots, TimeToFirstDraw, and component types |
@opentui/react/renderer | Published alias for the root renderer exports, including createRoot and Root |
@opentui/react/test-utils | React-aware testRender(node, options) over @opentui/core/testing |
@opentui/react/runtime-plugin-support | Installs the React runtime-module plugin as an import side effect |
@opentui/react/runtime-plugin-support/configure | Configurable React ensureRuntimePluginSupport() without import-time installation |
@opentui/react/jsx-runtime | Automatic JSX runtime: Fragment, jsx, jsxs, and OpenTUI JSX types |
@opentui/react/jsx-dev-runtime | Development JSX runtime: Fragment, jsxDEV, and OpenTUI JSX types |
The runtime-plugin-support entries use Bun’s plugin API. Normal applications use the root and compiler-selected JSX runtime; use /test-utils only in tests.
@opentui/solid
| Entrypoint | Public purpose |
|---|---|
@opentui/solid | Solid renderer, root render/testRender, reconciler helpers, elements, scrollback, slots, hooks, and types |
@opentui/solid/preload | Bun preload that installs the Solid source transform |
@opentui/solid/bun-plugin | Solid transform plugin factory/default export and installation/reset helpers |
@opentui/solid/runtime-plugin-support | Installs Solid transform and runtime-module support as an import side effect |
@opentui/solid/runtime-plugin-support/configure | Configurable Solid runtime support without import-time installation |
@opentui/solid/components | extend, getComponentCatalogue, and component extension types |
@opentui/solid/jsx-runtime | Automatic JSX runtime and OpenTUI JSX namespace |
@opentui/solid/jsx-dev-runtime | Development JSX runtime and OpenTUI JSX namespace |
preload, bun-plugin, and both runtime-plugin-support entries are Bun-specific. The root and JSX runtime setup are covered in Solid.js bindings.
@opentui/keymap
| Entrypoint | Public purpose |
|---|---|
@opentui/keymap | Host-agnostic Keymap, extension context, key stringifiers, and shared types |
@opentui/keymap/extras | Binding lookup, command-binding, and formatting helpers |
@opentui/keymap/extras/graph | Graph snapshots and graph projection types |
@opentui/keymap/addons | Universal parser, field, metadata, leader, sequence, command, and diagnostics addons |
@opentui/keymap/addons/opentui | Universal addons plus OpenTUI base-layout and edit-buffer/textarea helpers |
@opentui/keymap/testing | Host-agnostic fake host, targets/events, diagnostics, and createTestKeymap |
@opentui/keymap/html | DOM host/event adapter and bare/default HTML keymap factories |
@opentui/keymap/opentui | CliRenderer/Renderable host adapter and bare/default OpenTUI keymap factories |
@opentui/keymap/react | OpenTUI React provider, hooks, and store-backed reactive matcher |
@opentui/keymap/solid | OpenTUI Solid provider, hooks, selector, and signal-backed reactive matcher |
@opentui/keymap/runtime-modules | Runtime-module map for the keymap root, extras, addons, adapters, and lazy framework bindings |
Adapter entrypoints intentionally do not re-export the shared engine. Import Keymap, key stringifiers, and shared types from @opentui/keymap. See the Keymap overview for how the entrypoints compose.
@opentui/qrcode
| Entrypoint | Public purpose |
|---|---|
@opentui/qrcode | QR encoder, segment/ECC APIs, SVG/terminal output, and QRCodeRenderable |
@opentui/qrcode/react | registerQRCode() for the React qr-code intrinsic |
@opentui/qrcode/solid | registerQRCode() for the Solid qr_code intrinsic |
See QR encoder and QR Code component for the two API layers.
@opentui/ssh
| Entrypoint | Public purpose |
|---|---|
@opentui/ssh | SSH server builder, authentication, middleware, sessions, logging, errors, and public types |
The package has no framework-specific subpaths; hand the session renderer to the React or Solid root API. See SSH.
@opentui/three
| Entrypoint | Public purpose |
|---|---|
@opentui/three | Three.js WebGPU renderer, renderable, sprites, effects, resource pools, physics adapters, and THREE |
@opentui/three/runtime-modules | Runtime-module map containing the @opentui/three root for Bun-loaded plugins |
Both entrypoints are Bun-only. See Three.js WebGPU.