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 AI và charts 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.

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> và <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ục | Giá trị |
|---|---|
| Tác giả | Aniket Pawar (Aniket-508, Ấn Độ) |
| Công bố | 6/4/2026 (Vercel Community Showcase) |
| License | MIT |
| Registry items | 128 (112 components · 9 files · 6 hooks · 1 block) |
| Themes tích hợp | 10+ (Default, Dracula, Nord, Catppuccin, Monokai, Solarized, Tokyo Night, One Dark, High Contrast, High Contrast Light) |
| Stack | Ink + React + TypeScript (72.5% TS · 26.7% MDX) |
| GitHub | 183 stars · 5 forks · 1 contributor · 131 commits |
| Install | npx shadcn@latest add <component-url> |
| Version | 0.1.0 (chưa release tag chính thức — copy-paste model) |
| Runtime deps | Zero — 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/maxWidthchưa nhận phần trăm (tracked trongfacebook/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=falsenế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.jsonNguồn: GitHub Aniket-508/termcn, termcn.dev/docs, Vercel Community Showcase, registry.directory, Ink.
