# OpenTUI Solid (@opentui/solid) A SolidJS reconciler for building terminal user interfaces with fine-grained reactivity. Get optimal performance with Solid's signal-based approach. ## Overview OpenTUI Solid provides: - **Custom reconciler**: Solid components render to OpenTUI renderables - **JSX intrinsics**: ``, ``, ``, etc. - **Hooks**: `useKeyboard`, `useRenderer`, `useTimeline`, etc. - **Fine-grained reactivity**: Only what changes re-renders - **Portal & Dynamic**: Advanced composition primitives ## When to Use Solid Use the Solid reconciler when: - You want optimal re-rendering performance - You prefer signal-based reactivity - You need fine-grained control over updates - Building performance-critical applications - You already know SolidJS ## When NOT to Use Solid | Scenario | Use Instead | |----------|-------------| | Team knows React, not Solid | `@opentui/react` | | Maximum control needed | `@opentui/core` | | Smallest bundle size | `@opentui/core` | | Building a framework/library | `@opentui/core` | ## Quick Start ```bash bunx create-tui@latest -t solid my-app cd my-app && bun install ``` The CLI creates the `my-app` directory for you - it must **not already exist**. Options: `--no-git` (skip git init), `--no-install` (skip bun install) **Agent guidance**: Always use autonomous mode with `-t