TL;DR

termcn là thư viện terminal UI component cho React do Aniket Pawar (Ấn Độ) công bố trên Vercel Community ngày 6/4/2026. Registry có 128 item (112 component, 9 file, 6 hook, 1 block), 10+ theme sẵn (Dracula, Nord, Catppuccin, Tokyo Night...), bộ component AIcharts tích hợp, build trên Ink, phân phối qua shadcn CLI. MIT, 100% miễn phí, không có runtime dependency.

termcn — Beautiful terminal UIs, made simple — ảnh các component Table, Bar Chart, Spinner, Alert, Tool Call, Badge

Có gì mới

Ý tưởng rất đơn giản: mang mô hình shadcn/ui lên terminal. Thay vì npm install <ui-library> rồi chịu lock-in, bạn chạy npx shadcn add <url>, code component copy thẳng vào repo, bạn sửa gì thì sửa, không có runtime dependency.

  • 100+ component dựng sẵn: Table, Bar/Line/Pie Chart, Heat Map, Sparkline, Gauge, Command Palette, Sidebar, Wizard, Modal, Toast, Spinner, Directory Tree, Git Status, Diff View, JSON viewer, Log Panel, QR Code...
  • Bộ AI 9 component: Chat Message, Chat Thread, Streaming Text, Thinking Block, Token Usage, Tool Approval, Tool Call, Model Selector, File Change — đúng trúng nhu cầu dựng agent/copilot CLI.
  • 10+ theme: Default, Dracula, Nord, Catppuccin, Monokai, Solarized, Tokyo Night, One Dark, High Contrast, High Contrast Light — tự adapt theo terminal user đang dùng.
  • Templates sẵn: App Shell, Login Flow, Setup Flow, Splash Screen, Welcome Screen, Help Screen, Usage Monitor — build app CLI từ template thay vì dựng từ 0.
  • TypeScript 100%, registry chuẩn shadcn, có MCP registry và llms.txt để agent tự cài component.

Vì sao đáng quan tâm

Terminal UI đang quay lại mạnh nhờ làn sóng AI coding tool. Claude Code, Gemini CLI, GitHub Copilot CLI, Cloudflare Wrangler, Linear CLI đều chạy trên Ink — React renderer cho CLI, đã có 37.7k star và được dùng bởi ~94.7k project. Nhưng Ink chỉ cho bạn <Box><Text>, mọi component khác bạn phải tự build hoặc gom từ 5–6 lib rời.

termcn lấp đúng khoảng trống đó: một bộ component cohesive, theme-aware, composable, sẵn cho AI agent — giống cách shadcn/ui lấp khoảng trống giữa Tailwind và Radix cho web. Với frontend/full-stack dev đã quen React, đây là con đường ngắn nhất để ship một CLI đẹp, interactive mà không phải học thêm stack mới.

Thông số kỹ thuật

Hạng mụcGiá trị
Tác giảAniket Pawar (Aniket-508, Ấn Độ)
Công bố6/4/2026 (Vercel Community Showcase)
LicenseMIT
Registry items128 (112 components · 9 files · 6 hooks · 1 block)
Themes tích hợp10+ (Default, Dracula, Nord, Catppuccin, Monokai, Solarized, Tokyo Night, One Dark, High Contrast, High Contrast Light)
StackInk + React + TypeScript (72.5% TS · 26.7% MDX)
GitHub183 stars · 5 forks · 1 contributor · 131 commits
Installnpx shadcn@latest add <component-url>
Version0.1.0 (chưa release tag chính thức — copy-paste model)
Runtime depsZero — bạn sở hữu code

Các nhóm component

Registry termcn chia theo tag: utility 13, data 12, feedback 9, templates 9, layout 9, typography 9, AI 9, themes 9, selection 8, input 8, navigation 7, forms 7, core 7, charts 6, overlays 6. Một số component đáng chú ý theo nhóm:

  • Input & Forms: Email Input, Masked Input, Password Input, Path Input, Search Input, Text Area, Checkbox, Multi Select, Color Picker, Radio Group, Tree Select, Date/Time/File Picker, Wizard.
  • Data: Card, Data Grid, Definition, Diff View, Directory Tree, Git Status, JSON, Key Value, List, Table, Tree, Virtual List.
  • Feedback: Alert, Banner, Multi Progress, Progress Bar, Progress Circle, Skeleton, Spinner, Status Message, Toast.
  • Navigation & Overlays: Breadcrumb, Command Palette, Menu, Pagination, Sidebar, Tabs, Dialog, Drawer, Modal, Notification Center, Popover, Tooltip.
  • Charts: Bar Chart, Gauge, Heat Map, Line Chart, Pie Chart, Sparkline.
  • AI: Chat Message, Chat Thread, File Change, Model Selector, Streaming Text, Thinking Block, Token Usage, Tool Approval, Tool Call.
  • Utility: Clipboard, Clock, Embedded Terminal, Error Boundary, Keyboard Shortcuts, Log Panel, QR Code, Stopwatch, Timer, Toggle.
  • Templates: App Shell, Login Flow, Setup Flow, Splash Screen, Welcome Screen, Help Screen, Usage Monitor, Info Box.

Dùng để làm gì

Sân chơi lớn nhất của termcn là AI agent / coding copilot. Ink đã chứng minh trong Claude Code, Gemini CLI, GitHub Copilot CLI — termcn đẩy thêm một bậc: bạn có Tool Approval, Streaming Text, Thinking Block, Token Usage ngay từ phút đầu. Không cần tự dựng UI cho tool-calling loop.

Kịch bản thứ hai là CLI nội bộ — deploy tool, scaffolding tool, monitoring tool. Diff View + Git Status + Directory Tree + Log Panel đưa một CLI quản trị từ "text xổ ra terminal" lên "TUI dùng được thật".

Kịch bản thứ ba là dashboard local — system monitor, network traffic, crypto/finance tracker. Bar/Line Chart + Gauge + Heat Map + Sparkline đủ để dựng dashboard terminal hoàn chỉnh mà không cần tự vẽ ký tự bằng tay.

Giới hạn & pricing

  • Miễn phí tuyệt đối: MIT, không tier trả phí, không add-on enterprise.
  • Không có NPM package: đây là lựa chọn thiết kế. Bạn copy-paste code, không có import { ... } from 'termcn'.
  • Node 22: kế thừa từ Ink — bản Ink mới nhất đã nâng CI lên Node.js 22.
  • Giới hạn layout của Yoga: minWidth / maxWidth chưa nhận phần trăm (tracked trong facebook/yoga#872).
  • Phím nâng cao: phân biệt Super/Hyper hoặc bắt key-release phụ thuộc kitty keyboard protocol — chỉ chạy trên kitty, WezTerm, Ghostty.
  • CI mode: môi trường CI chỉ render frame cuối (không overwrite được ANSI). Override bằng CI=false nếu CI runner hỗ trợ.
  • Maturity: version nội bộ mới là 0.1.0, 1 contributor, chưa release tag chính thức. Dự án <1 tháng tuổi, 183 star, đang commit hằng ngày.

Sắp tới

Aniket Pawar đang ship liên tục: commit mới trong ngày, vừa tích hợp cli-spinners, chuyển từ biome sang oxlint + oxfmt, thêm MCP registry và llms.txt để agent tự cài component. Chưa có public roadmap, nhưng 2 PR đang mở cho thấy cộng đồng bắt đầu góp sức.

Nếu bạn đang (1) dựng AI agent CLI, (2) làm internal dev tool, hoặc (3) muốn thử TUI cho sản phẩm của mình — đây là thời điểm ngon để vào sớm: độ chín đủ dùng, code copy-paste nên không rủi ro lock-in, và registry rõ ràng để góp thêm component.

Thử ngay:

npx shadcn@latest add https://termcn.dev/r/chat-thread.json

Nguồn: GitHub Aniket-508/termcn, termcn.dev/docs, Vercel Community Showcase, registry.directory, Ink.