- Open-Source-Terminal-UI-Komponenten für React, die sich ohne zusätzliche Konfiguration mit einem einzigen Befehl einrichten lassen
- Aufgebaut auf Ink und OpenTUI, nahtlos mit shadcn/ui integrierbar und mit demselben Registry-Format sowie derselben CLI
- Erkennt das gewählte Terminal-Theme automatisch und passt sich daran an
- Zusammensetzbare (Composable), einfache und deklarative Komponenten zum Aufbau komplexer Terminal-UIs
- Insgesamt 99 Komponenten in 11 Kategorien
- Layout, Typografie, Eingabe, Auswahl, Daten, Feedback, Navigation, Overlay, Formulare, Utilities, AI
- Enthält auch zahlreiche ungewöhnliche Komponenten, die man im Terminal selten sieht
- Für AI-Agenten: Thinking Block, Streaming Text, Tool Approval, Token Usage, Model Selector und weitere neue Komponenten, die zuletzt in agentischen CLI-Tools aufgetaucht sind
- Grafik-Rendering: Image zum Zeichnen echter Bilder im Terminal, QR Code zur QR-Ausgabe in der CLI, kreisförmiger Fortschrittsindikator Progress Circle
- Overlay-Arten: Modal, Dialog, Drawer, Popover, Tooltip, die Ebenen über einem Textgitter überlagern
- Spezialisiert für Entwickler-Tools: Git Status, Diff View, Directory Tree, Embedded Terminal als Terminal im Terminal
- GUI-artige Eingabe-Widgets: Color Picker, Date Picker, File Picker usw., tastaturbasiert nachgebildet
- Funktionsbeispiele sind unter https://www.termcn.dev zu sehen
- MIT-Lizenz
2 Kommentare
Es stimmt zwar, dass es produktiver ist, aber persönlich habe ich das Gefühl: Wenn man Leuten von früher erzählen würde, dass man eine TUI mit React baut, würden sie sagen: „Du da! Warum sitzt du da und baust unnötigen Overhead ins Terminal ein?“
Das erinnert mich an die Anekdote, in der von Neumann seine Studenten, die Assembler verwendeten, gefragt haben soll, warum sie nicht in Maschinensprache programmieren und stattdessen so etwas Seltsames benutzen.
Ich persönlich finde, dass TUI-Tools in letzter Zeit in Sachen Nutzbarkeit so gut geworden sind, dass sich der Vergleich mit einer IDE weniger wie Maschinensprache ↔ Assembler anfühlt, sondern eher wie Maus ↔ Trackpad — also vielleicht einfach eine Frage der Vorliebe, haha.