- Des composants d’UI terminal open source pour React, configurables avec une seule commande sans réglage séparé
- Construits sur Ink et OpenTUI, ils s’intègrent parfaitement à shadcn/ui et utilisent le même format de registre ainsi que le même CLI
- Détecte automatiquement le thème de terminal sélectionné et s’y adapte
- Permet de créer des UI terminal complexes par composition (Composable) de composants simples et déclaratifs
- Propose au total 99 composants dans 11 catégories
- Mise en page, typographie, saisie, sélection, données, feedback, navigation, overlays, formulaires, utilitaires, IA
- Inclut de nombreux composants atypiques rarement vus dans un terminal
- Pour agents IA : Thinking Block, Streaming Text, Tool Approval, Token Usage, Model Selector et d’autres nouveaux composants apparus dans les outils de CLI agentiques récents
- Rendu graphique : Image, qui dessine de véritables images dans le terminal, QR Code pour afficher des QR dans un CLI, Progress Circle pour une progression circulaire
- Overlays : Modal, Dialog, Drawer, Popover, Tooltip, qui superposent des couches à une grille de texte
- Spécialisés pour les outils de développement : Git Status, Diff View, Directory Tree, Embedded Terminal, un terminal dans le terminal
- Widgets de saisie façon GUI : Color Picker, Date Picker, File Picker, etc., recréés pour une utilisation au clavier
- Des exemples en fonctionnement sont visibles sur https://www.termcn.dev
- Licence MIT
2 commentaires
C’est vrai que c’est très productif, mais personnellement, si on allait voir les anciens en leur disant qu’on fait une TUI avec React, j’ai l’impression qu’ils diraient : « Hé toi ! Qu’est-ce que tu fais à ajouter de l’overhead inutile dans un terminal ? »
Ça me rappelle un peu l’anecdote de von Neumann qui, en voyant ses élèves utiliser le langage assembleur, leur demandait pourquoi ils se servaient de ce truc bizarre au lieu de coder en langage machine.
Personnellement, je trouve qu’en ce moment les outils TUI sont tellement agréables à utiliser que, comparés aux IDE, ça évoque moins une différence du type langage machine ↔ assembleur que souris ↔ trackpad : au fond, c’est peut-être surtout une question de préférence haha