termcn
Terminal UI components for React, installed with the shadcn CLI, on Ink and OpenTUI
termcn applies the shadcn copy-paste model to terminal user interfaces: 123 components published twice, once for Ink and once for OpenTUI, plus hooks, providers and 40+ terminal color themes, totalling 342 registry items. The catalog goes far past text and boxes — dithered charts, data grids, diff views, git status, embedded terminals, command palettes, wizards, plus a full agent-CLI set (chat thread, streaming text, thinking block, tool call, tool approval, token usage, model selector). Items are namespaced by base (ink/ or opentui/) and pulled with `npx shadcn@latest add`, so you own the source. Built for anyone shipping a serious CLI or coding-agent TUI in TypeScript.
npx shadcn@latest add https://termcn.dev/r/ink/spinner.jsonReach for termcn whenever the deliverable is a CLI, installer, or coding-agent TUI in TypeScript — it removes the worst part of terminal work (grapheme-safe width, cursor math, truncation, Unicode fallbacks, reduced-motion) and its ink/tool-call, ink/tool-approval, ink/streaming-text and ink/token-usage items are exactly the pieces an agent runner needs. Choose the base before you install anything: ink/ for the mature Ink ecosystem, opentui/ for the GPU-accelerated renderer; the two namespaces are parallel but not interchangeable, and mixing them in one app will break the theme and interaction providers. Install the matching theme-provider and use-theme items first, or components fall back to unstyled defaults.
Why it is here. It is the only serious attempt to give terminal UIs the shadcn treatment, and it lands with real depth — 123 components per renderer, dithered charts, and a purpose-built agent-CLI set — at a moment when most new dev tools ship as a TUI.
- 123 components mirrored across Ink and OpenTUI
- 342 registry items including 40+ terminal themes
- dithered terminal charts and heatmaps
- agent-CLI set: tool-call, tool-approval, token-usage
- OpenAPI spec and .well-known agent-skills index
Verified 2026-08-15. HTTP 200. https://termcn.vercel.app (307 -> https://www.termcn.dev/), https://www.termcn.dev/docs.md, https://www.termcn.dev/r/registry.json, https://api.github.com/search/repositories?q=termcn. On 2026-10-12, termcn.vercel.app still redirected to https://www.termcn.dev, so the record uses the new domain.








