UI/Text-based
TUI - a Terminal User Interface
- A full-screen, cursor-addressed, keyboard-driven interface drawn in text inside a terminal. The distinction from a CLI/Tool is statefulness: a CLI prints and exits, a TUI holds the screen and waits.
Frameworks
- Ratatui — Rust library, community fork of tui-rs (2023). Most of the Rust entries below sit on it.
- Charm — the Go equivalent: Bubble Tea for structure, Lip Gloss for styling, Glamour for Markdown rendering, and gum to reach the same ideas from shell scripts without writing Go.
- Curses — the ncurses lineage the whole category descends from.
By what they wrap
git, containers, tasks
files and shell
- yazi — Terminal/File/Manager built on async I/O
- atuin — shell history in SQLite, with encrypted sync across machines
reading and messaging
music and audio
everything else
Implementation language
- Rust — apisnip, atuin, basalt, bitchat/tui, eilmeldung, Ratatui, spotify-player, tuicr, yazi, Person/joshjetson/GitHub/phosphor, Person/sihooleebd/GitHub/orbit
- Go — Lazygit, Lazydocker, mani, Neomd
Finding more
- Terminal/Trove — aggregator for TUIs and CLI tools; many of the pages above arrived through it.
Open questions
Pages tagged with "ui/text-based"