mirror of
https://github.com/rothgar/awesome-tuis.git
synced 2024-10-31 15:20:26 +00:00
207 lines
17 KiB
Markdown
207 lines
17 KiB
Markdown
# Awesome TUIs
|
|
|
|
List of projects that provide terminal user interfaces
|
|
|
|
## Table of Contents
|
|
|
|
- [Dashboards](#dashboards)
|
|
- [Development](#development)
|
|
- [Games](#games)
|
|
- [Libraries](#libraries)
|
|
- [Messaging](#messaging)
|
|
- [Miscellaneous](#miscellaneous)
|
|
- [Multimedia](#multimedia)
|
|
- [Productivity](#productivity)
|
|
- [Web](#web)
|
|
|
|
## <a name="dashboards"></a>Dashboards
|
|
|
|
- [bashtop](https://github.com/aristocratos/bashtop) Resource manager written in bash
|
|
- [below](https://github.com/facebookincubator/below) A time traveling resource monitor for modern Linux systems
|
|
- [bottom](https://github.com/ClementTsang/bottom) A customizable graphical process/system monitor for the terminal.
|
|
- [btop++](https://github.com/aristocratos/btop) Resource monitor with extras
|
|
- [chkservice](https://github.com/linuxenko/chkservice) Systemd units manager with ncurses, terminal interface
|
|
- [cointop](https://github.com/miguelmota/cointop) The fastest and most interactive terminal based UI application for tracking cryptocurrencies
|
|
- [ctop](https://github.com/bcicen/ctop) Top-like interface for container metrics
|
|
- [damon](https://github.com/hashicorp/damon) TUI interface for Hashicorp Nomad
|
|
- [dockly](https://github.com/lirantal/dockly) Immersive terminal interface for managing docker containers and services
|
|
- [dry](https://github.com/moncho/dry) A Docker manager for the terminal
|
|
- [fff](https://github.com/dylanaraps/fff) A simple file manager written in bash.
|
|
- [Glances](https://github.com/nicolargo/glances) Glances an Eye on your system. A top/htop alternative.
|
|
- [Glow](https://github.com/charmbracelet/glow) Render markdown on the CLI, with pizzazz!
|
|
- [Goaccess](https://github.com/allinurl/goaccess) GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in nix systems or through your browser.
|
|
- [gotop](https://github.com/xxxserxxx/gotop) A terminal based graphical activity monitor inspired by gtop and vtop
|
|
- [Grafterm](https://github.com/slok/grafterm) Metrics dashboards on terminal, a Grafana inspired terminal version
|
|
- [htop](https://github.com/hishamhm/htop) Interactive text-mode process viewer for Unix systems. It aims to be a better 'top'
|
|
- [htui](https://github.com/PierreKieffer/htui) Heroku Terminal User Interface
|
|
- [k9s](https://github.com/derailed/k9s) TUI for managing a Kubernetes cluster
|
|
- [kmon](https://github.com/orhun/kmon) Linux Kernel Manager and Activity Monitor
|
|
- [lazydocker](https://github.com/jesseduffield/lazydocker) The lazier way to manage everything docker
|
|
- [sen](https://github.com/TomasTomecek/sen) Terminal User Interface for docker engine
|
|
- [sysz](https://github.com/joehillen/sysz) An fzf terminal UI for systemctl
|
|
- [tdash](https://github.com/jessfraz/tdash) A terminal dashboard with stats from Google Analytics, GitHub, Travis CI, and Jenkins. Very much built specific to me
|
|
- [TermUI](https://github.com/gizak/termui) Golang terminal dashboard
|
|
- [trek](https://github.com/franckverrot/trek) ncurses explorer for Hashicorp Nomad clusters
|
|
- [WTF](https://github.com/senorprogrammer/wtf) The personal information dashboard for your terminal.
|
|
- [zenith](https://github.com/bvaisvil/zenith) In terminal graphical metrics for your *nix system written in Rust
|
|
|
|
## <a name="development"></a>Development
|
|
|
|
- [amp](https://github.com/jmacdonald/amp) A complete text editor for your terminal
|
|
- [austin-tui](https://github.com/P403n1x87/austin-tui) The top-like text-based user interface for Austin
|
|
- [delta](https://github.com/dandavison/delta) A syntax-highlighting pager for git, diff, and grep output.
|
|
- [gitui](https://github.com/extrawurst/gitui) blazing fast terminal-ui for git written in rust
|
|
- [grv](https://github.com/rgburke/grv) Terminal interface for viewing git repositories
|
|
- [lazygit](https://github.com/jesseduffield/lazygit) Simple terminal UI for git commands
|
|
- [micro](https://github.com/zyedidia/micro) A modern and intuitive terminal-based text editor
|
|
- [mitmproxy](https://www.mitmproxy.org) A free and open source interactive HTTPS proxy
|
|
- [pyautogit](https://github.com/jwlodek/pyautogit) A terminal UI for managing git repositories, written using [py_cui](https://github.com/jwlodek/py_cui)
|
|
- [pudb](https://github.com/inducer/pudb) A console-based visual debugger for Python
|
|
- [slap](https://github.com/slap-editor/slap) Sublime-like terminal-based text editor
|
|
- [sls-dev-tools](https://github.com/Theodo-UK/sls-dev-tools) Dev Tools for the Serverless World
|
|
- [tig](https://github.com/jonas/tig) Text-mode interface for git
|
|
- [turbo](https://github.com/magiblot/turbo) An experimental text editor for the terminal, based on Scintilla and Turbo Vision
|
|
- [vctui](https://github.com/thebsdbox/vctui) Console interface for vCenter
|
|
|
|
## <a name="games"></a>Games
|
|
|
|
- [2048-cli](https://github.com/tiehuis/2048-cli) The game 2048 for your Linux terminal
|
|
- [bastet](https://github.com/fph/bastet) Evil falling block game
|
|
- [Gameboy Emulator](https://github.com/gabrielrcouto/php-terminal-gameboy-emulator) A PHP Terminal GameBoy Emulator
|
|
- [go-life](https://github.com/sachaos/go-life) Terminal based Conway's Game of Life
|
|
- [Greed](https://gitlab.com/esr/greed) A game of consumption. Eat as much as you can before munching yourself into a corner!
|
|
- [moon-buggy](https://github.com/seehuhn/moon-buggy) Drive some car across the moon
|
|
- [MyMan](https://sourceforge.net/projects/myman/) MyMan is a video game for color and monochrome text terminals in the genre of Namco's Pac-Man
|
|
- [NetHack](https://github.com/NetHack/NetHack) Dungeon exploration game
|
|
- [nInvaders](http://ninvaders.sourceforge.net/) Space Invaders
|
|
- [nSnake](https://github.com/alexdantas/nSnake) The classic snake game with textual interface
|
|
- [nudoku](https://github.com/jubalh/nudoku) ncurses based sudoku game
|
|
- [steam-tui](https://github.com/dmadisetti/steam-tui) Just a simple TUI client for steamcmd. Allows for the graphical launching, updating, and downloading of steam games through a simple terminal client.
|
|
- [sudoku-rs](https://github.com/MitchelPaulin/sudoku-rs) Sudoku built with tui-rs
|
|
- [terminal-phase](https://gitlab.com/dustyweb/terminal-phase) Space shooter game that runs in your terminal!
|
|
- [tinytetris](https://github.com/taylorconor/tinytetris) 80x23 terminal tetris!
|
|
|
|
## <a name="libraries"></a>Libraries
|
|
|
|
- [blessings](https://github.com/erikrose/blessings) A Python wrapper lib for ncurses that makes your code pretty to look at, complete with extensions known as [bubbles](https://github.com/charmbracelet/bubbles)
|
|
- [bubbletea](https://github.com/charmbracelet/bubbletea) A Go framework based on Elm to build functional and stateful TUI apps
|
|
- [FINAL CUT](https://github.com/gansm/finalcut) Library for creating terminal applications with text-based widgets
|
|
- [FTXUI](https://github.com/ArthurSonzogni/FTXUI) 💻 C++ Functional Terminal User Interface. ❤️
|
|
- [gocui](https://github.com/jroimartin/gocui) Minimalist Go package aimed at creating Console User Interfaces
|
|
- [imtui](https://github.com/ggerganov/imtui) An immediate mode text-based user interface library, supporting 256 ANSI colors and mouse/keyboard input.
|
|
- [ncurses](https://www.gnu.org/software/ncurses/)
|
|
- [notcurses](https://github.com/dankamongmen/notcurses) blingful character graphics/TUI library. definitely not curses
|
|
- [pterm](https://github.com/pterm/pterm/) A modern go module to beautify console output. Featuring charts, progressbars, tables, trees, and much more! It's completely configurable and 100% cross-platform compatible.
|
|
- [py_cui](https://github.com/jwlodek/py_cui) Python library aimed at making widget based TUI/CUI interfaces as simple as possible. Supports standard widgets and popups like menus, textboxes, forms, file explorers etc.
|
|
- [pytermgui](https://github.com/bczsalba/pytermgui) A simple yet powerful TUI framework for your Python (3.7+) applications.
|
|
- [Python Prompt Toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) Library for building powerful interactive command line applications in Python
|
|
- [Rich](https://github.com/willmcgugan/rich) is a Python library for rich text and beautiful formatting in the terminal.
|
|
- [tcell](https://github.com/gdamore/tcell) Tcell is an alternate terminal package, similar in some ways to termbox, but better in others.
|
|
- [textual](https://github.com/willmcgugan/textual) is a TUI (Text User Interface) framework for Python inspired by modern web development.
|
|
- [tui-go](https://github.com/marcusolsson/tui-go) A UI library for terminal applications (deprecated)
|
|
- [tui-rs](https://github.com/fdehau/tui-rs) Terminal user interfaces and dashboards using Rust
|
|
- [Terminal.Gui](https://github.com/migueldeicaza/gui.cs) Cross Platform Terminal GUI toolkit for .NET
|
|
- [tview](https://github.com/rivo/tview/) Terminal UI library with rich, interactive widgets — written in Golang
|
|
- [tvision](https://github.com/magiblot/tvision) A modern port of Turbo Vision 2.0, cross-platform and Unicode support.
|
|
|
|
## <a name="messaging"></a>Messaging
|
|
|
|
- [aerc](https://aerc-mail.org/) Email client
|
|
- [Alpine](https://alpine.x10host.com) Email client. Fork of Pine by University of Washington.
|
|
- [gomuks](https://github.com/tulir/gomuks) Matrix client
|
|
- [gord](https://github.com/yellowsink/gord) TUI discord client. updated fork of the now-outdated cordless.
|
|
- [matterhorn](https://github.com/matterhorn-chat/matterhorn) A Mattermost terminal client.
|
|
- [Mutt](https://gitlab.com/muttmua/mutt) Email client
|
|
- [sclack](https://github.com/haskellcamargo/sclack) Slack terminal client
|
|
- [scli](https://github.com/isamert/scli/) A simple terminal user interface for signal messenger
|
|
- [siggo](https://github.com/derricw/siggo) A terminal ui for signal-cli, written in Go
|
|
- [Slack-term](https://github.com/erroneousboat/slack-term) Slack client for your terminal
|
|
- [sup](https://github.com/sup-heliotrope/sup) A curses threads-with-tags style email client
|
|
- [toot](https://github.com/ihabunek/toot) Mastodon CLI & TUI
|
|
- [Weechat](https://weechat.org/) Extensible chat client
|
|
|
|
## <a name="miscellaneous"></a>Miscellaneous
|
|
|
|
- [asciiMol](https://github.com/dewberryants/asciiMol) Curses based ASCII molecule viewer for linux terminals.
|
|
- [adbtuifm](https://github.com/darkhz/adbtuifm) A TUI file manager for Android, based on the Android Debug Bridge(ADB).
|
|
- [diary](https://github.com/actuday6418/Diary) A diary app written in Rust that encrypts both text and file data, and can decrypt and build a rich HTML representation of your diary when required.
|
|
- [dive](https://github.com/wagoodman/dive) A tool for exploring each layer in a docker image
|
|
- [emu2](https://github.com/dmsc/emu2) A simple DOS emulator for the Linux text console, supporting basic DOS system calls and console I/O.
|
|
- [gif-for-cli](https://github.com/google/gif-for-cli) Convert a gif into ASCII
|
|
- [gobang](https://github.com/TaKO8Ki/gobang) A cross-platform TUI database management tool written in Rust
|
|
- [gpg-tui](https://github.com/orhun/gpg-tui) A terminal user interface for GnuPG
|
|
- [jrnl](https://jrnl.sh/) Collect your thoughts and notes without leaving the command line. human-friendly. future-proof. secure.
|
|
- [mapscii](https://github.com/rastapasta/mapscii) Braille & ASCII world map renderer for your console
|
|
- [neoss](https://github.com/PabloLec/neoss) Socket statistics visualization and explanation tool for Unix systems.
|
|
- [nmtui](https://developer.gnome.org/NetworkManager/stable/nmtui.html) ncurses network manager
|
|
- [oha](https://github.com/hatoo/oha) HTTP load generator
|
|
- [profanity](https://github.com/profanity-im/profanity) A cross-platfrom XMPP client.
|
|
- [ncdu](https://dev.yorhel.nl/ncdu) disk usage analyzer with an ncurses interface
|
|
- [recoverpy](https://github.com/PabloLec/recoverpy) A TUI to recover overwritten or deleted data.
|
|
- [rocket.term](https://github.com/gerstner-hub/rocket.term) Text based chat client for the Rocket.chat messaging solution.
|
|
- [tcpterm](https://github.com/sachaos/tcpterm) tcpterm is a packet visualizer in TUI.
|
|
- [termdbms](https://github.com/mathaou/termdbms) A TUI for viewing and editing database files.
|
|
- [termshark](https://github.com/gcla/termshark) Terminal UI for tshark
|
|
- [ttyper](https://github.com/max-niederman/ttyper) Terminal-based typing test
|
|
- [vifm](https://github.com/vifm/vifm) A TUI file manager with vi-keybindings and other vim like behaviour.
|
|
- [wego](https://github.com/schachmat/wego) Weather app
|
|
- [wavemon](https://github.com/uoaerg/wavemon) A wireless device monitoring application
|
|
- [wttr.in](https://github.com/chubin/wttr.in) The right way to check the weather
|
|
- [xplr](https://github.com/sayanarijit/xplr) A hackable, minimal, fast TUI file explorer, stealing ideas from nnn and fzf.
|
|
|
|
## <a name="multimedia"></a>Multimedia
|
|
|
|
- [chafa](https://hpjansson.org/chafa/) A powerful utility that converts image data, including animated GIFs, into graphics formats or ANSI/Unicode character art suitable for display in a terminal.
|
|
- [cmdpxl](https://github.com/knosmos/cmdpxl) Totally practical command-line image editor
|
|
- [invidtui](https://github.com/darkhz/invidtui) A TUI Invidious client for Windows, Linux and MacOS, that fetches and plays audio/video from an invidious instance. Supports viewing and playing from playlists and channels as well.
|
|
- [mps-youtube](https://github.com/mps-youtube/mps-youtube) Terminal based YouTube player and downloader
|
|
- [roku-cli](https://github.com/winsbe01/roku-cli) A command line TUI remote for Roku
|
|
- [soundcloud2000](https://github.com/grobie/soundcloud2000) A terminal client for soundcloud
|
|
- [spotify-tui](https://github.com/Rigellute/spotify-tui) Spotify for the terminal written in Rust
|
|
- [spotui](https://github.com/ceuk/spotui) Spotify client written in Python
|
|
- [timg](https://github.com/hzeller/timg) A terminal image viewer
|
|
- [tizonia-openmax-il](https://github.com/tizonia/tizonia-openmax-il) Command-line cloud music player for Linux with support for Spotify, Google Play Music, YouTube, SoundCloud, Dirble, Plex servers and Chromecast devices
|
|
- [ytui-music](https://github.com/sudipghimire533/ytui-music) Listen to music from youtube. Configurable, minimal, lightweight, private & beautiful music client.
|
|
|
|
## <a name="productivity"></a>Productivity
|
|
|
|
- [goful](https://github.com/anmitsu/goful) a powerful TUI file manager written in Go
|
|
- [khal](https://github.com/pimutils/khal) A standards based CLI calendar program, able to synchronize with CalDAV servers
|
|
- [patat](https://github.com/jaspervdj/patat) Terminal-based presentations using Pandoc
|
|
- [ranger](https://github.com/ranger/ranger) A VIM-inspired filemanager for the console
|
|
- [sc-im](https://github.com/andmarti1424/sc-im) An ncurses spreadsheet program for terminal. Reignited version of sc
|
|
- [taskline](https://github.com/perryrh0dan/taskline) Tasks, boards & notes for the command-line habitat
|
|
- [taskwarrior-tui](https://github.com/kdheepak/taskwarrior-tui) A Terminal User Interface for Taskwarrior
|
|
- [tmux](https://github.com/tmux/tmux) Terminal multiplexer
|
|
- [todoman](https://github.com/pimutils/todoman) A simple, standards-based (ics, DAV), cli task-manager
|
|
- [topydo](https://github.com/topydo/topydo) A powerful todo list application using the todo.txt format
|
|
- [TUI_ProjectManager](https://github.com/NicoDblc/TUI_ProjectManager) A simple project-based todo list written in Rust
|
|
- [Visidata](https://github.com/saulpw/visidata) A terminal spreadsheet multitool for discovering and arranging data
|
|
- [zelliji](https://github.com/zellij-org/zellij) A terminal workspace with batteries included
|
|
|
|
## <a name="web"></a>Web
|
|
|
|
- [browsh](https://github.com/browsh-org/browsh) A fully-modern text-based browser, rendering to TTY and browsers
|
|
- [googlit](https://github.com/peterjschroeder/googlit) A TUI frontend to [googler](https://github.com/jarun/googler)
|
|
- [hackernews-TUI](https://github.com/aome510/hackernews-TUI) A Terminal UI to browse Hacker News
|
|
- [haxor-news](https://github.com/donnemartin/haxor-news) Browse Hacker News like a haxor: A Hacker News command line interface (CLI)
|
|
- [LYNX](https://lynx.invisible-island.net/) A text based Terminal browser
|
|
- [newsboat](https://github.com/newsboat/newsboat) An RSS/Atom feed reader for the text console
|
|
- [Rainbowstream](https://github.com/orakaro/rainbowstream) A smart and nice Twitter client on terminal written in Python
|
|
- [rtv](https://github.com/michael-lazar/rtv) Browse Reddit from your terminal
|
|
- [tblogs](https://github.com/ezeoleaf/tblogs) Read and browse development blogs from your terminal
|
|
- [twterm](https://github.com/ryota-ka/twterm) A full-featured TUI Twitter client
|
|
- [w3m](https://github.com/tats/w3m) A text-mode WWW browser
|
|
|
|
---
|
|
There's a crazy amount of TUI projects out there, and we can't list them all (though we try!)
|
|
For more, see awesome-opensource's [TUI Projects](https://awesomeopensource.com/projects/tui) page.
|
|
|
|
Looking for lightweight but not necessarily TUI? check out mayfrost's [alternatives list](https://github.com/mayfrost/guides/blob/master/ALTERNATIVES.md)!
|
|
|
|
Enjoy Vim keybinds and don't want to learn new ones? check out the [Big Pile of Vim-like](https://vim.reversed.top)
|
|
|
|
First-hand reviews for a lot of these tools and many, many more at k.mandla's [Inconsolation blog](https://inconsolation.wordpress.com/index/). The site also has a "surprise me with a random tool" link!
|
|
|
|
[Tim's blog](http://tim.thechases.com/posts/cli/software-for-a-command-line-world/) cover more tools for no X, over ssh, and all CLI (not necessarily TUI tho).
|