- 別途設定不要で、コマンド一つでセットアップできるReact向けターミナルUIコンポーネントのオープンソース
- Ink と OpenTUI の上に構築されており、shadcn/uiとスムーズに連携し、同じレジストリ形式とCLIを使用
- 選択したターミナルテーマを自動検出して合わせてくれる
- シンプルで宣言的なコンポーネントを**組み合わせ可能(Composable)**にして、複雑なターミナルUIを構成
- 全11カテゴリで99個のコンポーネントを提供
- レイアウト、タイポグラフィ、入力、選択、データ、フィードバック、ナビゲーション、オーバーレイ、フォーム、ユーティリティ、AI
- ターミナルでは珍しいユニークなコンポーネントも多数含む
- AIエージェント向け: Thinking Block、Streaming Text、Tool Approval、Token Usage、Model Selector など、最近の agentic CLI ツールで登場した新種のコンポーネント
- グラフィックレンダリング: ターミナルに実際の画像を描画する Image、CLI でQRを出力する QR Code、円形進捗の Progress Circle
- オーバーレイ系: テキストグリッドの上にレイヤーを重ねる Modal、Dialog、Drawer、Popover、Tooltip
- 開発ツール特化: Git Status、Diff View、Directory Tree、ターミナル内ターミナルの Embedded Terminal
- GUI型入力ウィジェット: Color Picker、Date Picker、File Picker などをキーボードベースで再現
- 動作デモは https://www.termcn.dev で確認可能
- MITライセンス
2件のコメント
生産性が高いのは確かですが、個人的には昔の人たちのところへ行って「TUI を React で作ります」と言ったら、「こら! ターミナルに余計なオーバーヘッドを追加して何をしているんだ」と言われそうな気がします
フォン・ノイマンがアセンブリ言語を作って使っている弟子たちを見て、「なぜ機械語でコーディングせずに変なものを使うんだ」と言ったという逸話を思い出す感じです
個人的には、最近のTUIツールは使い勝手がかなり良いので、IDEと比べても機械語 ↔ アセンブリ言語という感じというより、マウス ↔ トラックパッドみたいな好みの違いなんじゃないかなと思ったりします(笑)