@termcn
A shadcn/ui-compatible registry of terminal-style UI components for React, built on Ink and OpenTUI for full terminal rendering. Components span charts and data (bar charts, line charts, gauges, heat maps), AI/chat (chat messages, tool approvals, streaming text, thinking blocks), and navigation (command palettes, tabs, menus, sidebars, pagination). Shares the same registry format and CLI as shadcn/ui. Theme-aware, zero-config, free and open source (MIT). Use for: building terminal UIs, CLI tools with rich visual output, or embedding terminal-aesthetic widgets inside web apps that need streaming AI output or chart visualizations.
Install this registry
npx shadcn@latest add https://termcn.vercel.app/r/registry.json pnpm dlx shadcn@latest add https://termcn.vercel.app/r/registry.json bunx shadcn@latest add https://termcn.vercel.app/r/registry.json curl -s https://termcn.vercel.app/r/registry.json Components
60 totalShared terminal theme and provider types.
npx shadcn@latest add https://termcn.vercel.app/r/ink/types.json Alert box with success/error/warning/info variants
npx shadcn@latest add https://termcn.vercel.app/r/ink/alert.json Full-screen TUI layout with header, tip bar, full-width input, scrollable content, and hints footer
npx shadcn@latest add https://termcn.vercel.app/r/ink/app-shell.json Constrains children to a given aspect ratio
npx shadcn@latest add https://termcn.vercel.app/r/ink/aspect-ratio.json Semantic status indicator badge (success/error/warning/info)
npx shadcn@latest add https://termcn.vercel.app/r/ink/badge.json Full-width announcement banner
npx shadcn@latest add https://termcn.vercel.app/r/ink/banner.json Horizontal and vertical bar chart with labels
npx shadcn@latest add https://termcn.vercel.app/r/ink/bar-chart.json Figlet-style large ASCII art text
npx shadcn@latest add https://termcn.vercel.app/r/ink/big-text.json Enhanced flexbox container with theme-aware borders
npx shadcn@latest add https://termcn.vercel.app/r/ink/box.json Breadcrumb navigation trail
npx shadcn@latest add https://termcn.vercel.app/r/ink/breadcrumb.json Nested structured content with ●/└/□ bullet prefixes
npx shadcn@latest add https://termcn.vercel.app/r/ink/bullet-list.json Card with header, body, and footer slots
npx shadcn@latest add https://termcn.vercel.app/r/ink/card.json Centers children horizontally and vertically
npx shadcn@latest add https://termcn.vercel.app/r/ink/center.json Chat message bubble with role label, streaming indicator, and collapsible content
npx shadcn@latest add https://termcn.vercel.app/r/ink/chat-message.json Scrollable container for stacking ChatMessage components in a conversation thread
npx shadcn@latest add https://termcn.vercel.app/r/ink/chat-thread.json Checkbox with indeterminate state
npx shadcn@latest add https://termcn.vercel.app/r/ink/checkbox.json Checkbox group with min/max selection
npx shadcn@latest add https://termcn.vercel.app/r/ink/checkbox-group.json Copy-to-clipboard button with success feedback
npx shadcn@latest add https://termcn.vercel.app/r/ink/clipboard.json Real-time clock display with 12h/24h and date
npx shadcn@latest add https://termcn.vercel.app/r/ink/clock.json Syntax-highlighted code block (50+ languages)
npx shadcn@latest add https://termcn.vercel.app/r/ink/code.json Color picker with palette, hex, and RGB input
npx shadcn@latest add https://termcn.vercel.app/r/ink/color-picker.json Multi-column layout with configurable widths
npx shadcn@latest add https://termcn.vercel.app/r/ink/columns.json VS Code–style command palette with fuzzy search
npx shadcn@latest add https://termcn.vercel.app/r/ink/command-palette.json Yes/No confirmation prompt
npx shadcn@latest add https://termcn.vercel.app/r/ink/confirm.json Arrow-key scrollable stack for long assistant threads with optional hint
npx shadcn@latest add https://termcn.vercel.app/r/ink/conversation-history.json Advanced data grid with sorting, filtering, pagination, and cell editing
npx shadcn@latest add https://termcn.vercel.app/r/ink/data-grid.json Calendar date picker with keyboard navigation
npx shadcn@latest add https://termcn.vercel.app/r/ink/date-picker.json Term–description definition list
npx shadcn@latest add https://termcn.vercel.app/r/ink/definition.json Confirmation dialog with OK/Cancel actions
npx shadcn@latest add https://termcn.vercel.app/r/ink/dialog.json Unified, split, and inline diff viewer with LCS-based diff algorithm and line numbers
npx shadcn@latest add https://termcn.vercel.app/r/ink/diff-view.json Box-drawing character numerals
npx shadcn@latest add https://termcn.vercel.app/r/ink/digits.json Filesystem browser with expand/collapse
npx shadcn@latest add https://termcn.vercel.app/r/ink/directory-tree.json Horizontal or vertical divider / rule
npx shadcn@latest add https://termcn.vercel.app/r/ink/divider.json Slide-in panel from any edge
npx shadcn@latest add https://termcn.vercel.app/r/ink/drawer.json Email input with validation and domain suggestions
npx shadcn@latest add https://termcn.vercel.app/r/ink/email-input.json Embedded PTY terminal panel (requires node-pty peer)
npx shadcn@latest add https://termcn.vercel.app/r/ink/embedded-terminal.json React error boundary with graceful terminal display
npx shadcn@latest add https://termcn.vercel.app/r/ink/error-boundary.json Inline error panel with retry, dismiss, and max-retry guard
npx shadcn@latest add https://termcn.vercel.app/r/ink/error-retry.json Interactive file-change review list with diff expansion, per-file accept/reject actions, and accept-all shortcut
npx shadcn@latest add https://termcn.vercel.app/r/ink/file-change.json Interactive file browser and picker
npx shadcn@latest add https://termcn.vercel.app/r/ink/file-picker.json Form container with validation, Ctrl+S submit, and dirty tracking
npx shadcn@latest add https://termcn.vercel.app/r/ink/form.json Form field wrapper with label, hint, and error
npx shadcn@latest add https://termcn.vercel.app/r/ink/form-field.json Arc/speedometer gauge meter
npx shadcn@latest add https://termcn.vercel.app/r/ink/gauge.json Git status display (branch, staged, modified, ahead/behind)
npx shadcn@latest add https://termcn.vercel.app/r/ink/git-status.json Color gradient text
npx shadcn@latest add https://termcn.vercel.app/r/ink/gradient.json Rows × columns grid layout
npx shadcn@latest add https://termcn.vercel.app/r/ink/grid.json h1–h4 styled headings with optional figlet ASCII art
npx shadcn@latest add https://termcn.vercel.app/r/ink/heading.json Grid heatmap with color intensity scale
npx shadcn@latest add https://termcn.vercel.app/r/ink/heat-map.json Auto-generated help panel from a keymap
npx shadcn@latest add https://termcn.vercel.app/r/ink/help.json Figlet banner + tagline + aligned Options/Commands help sections
npx shadcn@latest add https://termcn.vercel.app/r/ink/help-screen.json Image renderer with iTerm2/Kitty protocol and ASCII fallback
npx shadcn@latest add https://termcn.vercel.app/r/ink/image.json Bordered info panel with header, key-value rows, and tree-prefix rows
npx shadcn@latest add https://termcn.vercel.app/r/ink/info-box.json Pretty-printed JSON with collapsible nodes
npx shadcn@latest add https://termcn.vercel.app/r/ink/json.json Aligned key–value pairs
npx shadcn@latest add https://termcn.vercel.app/r/ink/key-value.json Formatted keyboard shortcut reference table
npx shadcn@latest add https://termcn.vercel.app/r/ink/keyboard-shortcuts.json ASCII line chart with axes and multi-series support
npx shadcn@latest add https://termcn.vercel.app/r/ink/line-chart.json OSC 8 clickable hyperlink
npx shadcn@latest add https://termcn.vercel.app/r/ink/link.json Navigable list with optional filtering
npx shadcn@latest add https://termcn.vercel.app/r/ink/list.json Scrolling log viewer with severity levels and filtering
npx shadcn@latest add https://termcn.vercel.app/r/ink/log.json Full-page onboarding/login screen with announcement banner, big ASCII title, description, and numbered select
npx shadcn@latest add https://termcn.vercel.app/r/ink/login-flow.json