Ask HN: Interesting TUIs (text user interfaces), maybe forgotten ones?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • Turbo Vision

    A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support.

    > Someone took the time to rewrite [port] it as a cross-platform open source library: https://github.com/magiblot/tvision

    I just now came across the following related to Turbo Vision:

    > TuiCss is a library focused to create web applications using an interface based on ASCII table, like the old MS-DOS applications. ...... The base of this project is Turbo Vision Framework, but some other frameworks were also checked to introduce some features to TuiCss, like curses, ncurses, Newt, etc.

    https://www.npmjs.com/package/tuicss

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • awesome-tuis

    List of projects that provide terminal user interfaces

    I personally love TUI software, you don't have to worry about GUI toolkits, mouse focused interaction, you can run them remotely over SSH, they're often composable, and composability is much easier, and who doesn't like the hackerman aesthetic?

    Some things I don't like about modern TUIs is developers getting away from the purpose of them, portability. Often you'll find really beautiful TUIs that require installation of custom fonts for icons and other overcomplicated stuff like that. They can be nice, but generally they sacrifice the practical benefit to a significant degree.

    One I discovered yesterday, not really a TUI, more of a shell but still, extremely powerful, is kalc https://github.com/bgkillas/kalc which is a complete scientific and graphing calculator in the terminal. It depends on gnuplot which is unfortunate since that is a GUI program, but there we go with composability again! It's fine and works and does what it needs to, so not really a big deal I guess.

    To find more:

    https://github.com/rothgar/awesome-tuis

    https://github.com/toolleeo/cli-apps

  • htop

    htop - an interactive process viewer

    These certainly aren't forgotten, but I like:

    * `ranger` file manager: https://ranger.github.io/

    * `ncdu` for visualising disk usage: https://dev.yorhel.nl/ncdu

    * `htop` process monitor: https://htop.dev/

    I just find them very intuitive, and information-dense while not being overwhelming.

  • csvlens

    Command line csv viewer

    Some which I use: lf, neomutt, moc/mocp, newsboat, fzf. Screenshots for some: https://nunosempere.com/blog/2023/03/27/soothing-software/

    to a lesser extent: btop, htop (but I find the shortcuts confusing), csvlens (https://github.com/YS-L/csvlens), lynx (elinks, links).

  • k9s

    🐶 Kubernetes CLI To Manage Your Clusters In Style!

    If you do any work with K8s, k9s is a handy tool.

    https://k9scli.io/

  • 123elf

    A native port of Lotus 1-2-3 to Linux.

  • cointop

    Discontinued A fast and lightweight interactive terminal based UI application for tracking cryptocurrencies 🚀

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • hof

    Framework that joins data models, schemas, code generation, and a task engine. Language and technology agnostic.

    I recently built a TUI for exploring and developing CUE, JSON, Yaml.

    Large inspiration for the overall UX comes from the Bloomberg terminal, where every function is reachable with four letter shortcut from the command box. It was really the command box that I liked. I've also built a sort of "flex" panel component for the layout so you can create as many panels as you like.

    https://docs.hofstadter.io/getting-started/hof-tui/

    https://github.com/hofstadter-io/hof/tree/_dev/lib/tui

  • tig

    Text-mode interface for git

    https://github.com/jonas/tig is one of the first things I install on a new dev machine. It's a really nice UI for staging files or hunks. Since it's just a companion to the git CLI, it feels much more focused than full-blown git GUIs, and doesn't do anything magical.

  • Gui.cs

    Cross Platform Terminal UI toolkit for .NET

    As someone who writes software for moderately boring business operations, I've been wondering making terminal-based apps with lots of keyboard shortcuts would lead to a more productive end user than writing a web app.

    I've been looking at https://github.com/gui-cs/Terminal.Gui but haven't tried it yet.

  • bottom

    Yet another cross-platform graphical process/system monitor.

    htop is great, but I've migrated to bottom which has a very similar interface with "btm --basic".

    [1] https://github.com/ClementTsang/bottom

  • lazygit

    simple terminal UI for git commands

    Sounds like something comparable to LazyGit. https://github.com/jesseduffield/lazygit

  • lazydocker

    The lazier way to manage everything docker

    lazydocker [0] is by the same author as lazygit. I'm thoroughly familiar with the Docker CLI, but sometimes it's just easier to use a GUI or TUI for some things. In particular, I use lazydocker for cleaning up volumes or images that may no longer be needed.

    [0] https://github.com/jesseduffield/lazydocker

  • vifm

    Vifm is a file manager with curses interface, which provides Vim-like environment for managing objects within file systems, extended with some useful ideas from mutt.

    Some alternatives:

    * `vifm` file manager, more powerful and performant than ranger, for those who lean towards vim keybindings: https://vifm.info/

    * `btop` process monitor, for those who like eye candy: https://github.com/aristocratos/btop

  • btop

    A monitor of resources

    Some alternatives:

    * `vifm` file manager, more powerful and performant than ranger, for those who lean towards vim keybindings: https://vifm.info/

    * `btop` process monitor, for those who like eye candy: https://github.com/aristocratos/btop

  • kalc

    a complex numbers, 2d/3d graphing, arbitrary precision, vector/matrix, cli calculator with real-time output and support for units

    I personally love TUI software, you don't have to worry about GUI toolkits, mouse focused interaction, you can run them remotely over SSH, they're often composable, and composability is much easier, and who doesn't like the hackerman aesthetic?

    Some things I don't like about modern TUIs is developers getting away from the purpose of them, portability. Often you'll find really beautiful TUIs that require installation of custom fonts for icons and other overcomplicated stuff like that. They can be nice, but generally they sacrifice the practical benefit to a significant degree.

    One I discovered yesterday, not really a TUI, more of a shell but still, extremely powerful, is kalc https://github.com/bgkillas/kalc which is a complete scientific and graphing calculator in the terminal. It depends on gnuplot which is unfortunate since that is a GUI program, but there we go with composability again! It's fine and works and does what it needs to, so not really a big deal I guess.

    To find more:

    https://github.com/rothgar/awesome-tuis

    https://github.com/toolleeo/cli-apps

  • cli-apps

    The largest Awesome Curated list of CLI/TUI applications with source data organized into CSV files

    I personally love TUI software, you don't have to worry about GUI toolkits, mouse focused interaction, you can run them remotely over SSH, they're often composable, and composability is much easier, and who doesn't like the hackerman aesthetic?

    Some things I don't like about modern TUIs is developers getting away from the purpose of them, portability. Often you'll find really beautiful TUIs that require installation of custom fonts for icons and other overcomplicated stuff like that. They can be nice, but generally they sacrifice the practical benefit to a significant degree.

    One I discovered yesterday, not really a TUI, more of a shell but still, extremely powerful, is kalc https://github.com/bgkillas/kalc which is a complete scientific and graphing calculator in the terminal. It depends on gnuplot which is unfortunate since that is a GUI program, but there we go with composability again! It's fine and works and does what it needs to, so not really a big deal I guess.

    To find more:

    https://github.com/rothgar/awesome-tuis

    https://github.com/toolleeo/cli-apps

  • Ink

    🌈 React for interactive command-line apps

    I have used this https://github.com/vadimdemedes/ink/ to TUI design, it's "React" for TUI. It's pretty good but I had to add a bit of sub-process parallelization since I have a long running process in the background.

  • elia

    A snappy, keyboard-centric terminal user interface for interacting with large language models. Chat with ChatGPT, Claude, Llama 3, Phi 3, Mistral, Gemma and more.

  • toolong

    A terminal application to view, tail, merge, and search log files (plus JSONL).

  • awesome-ratatui

    A curated list of TUI apps and libraries built with Ratatui

    I'm a maintainer of Ratatui (a rust TUI crate). Here's a few links

    https://ratatui.rs/showcase/apps/

    https://github.com/ratatui-org/awesome-ratatui

    https://discord.com/channels/1070692720437383208/10729061831... (made with ratatui channel on our discord server)

    We encourage our users to use https://github.com/charmbracelet/vhs to build out demos that look neat.

    My particular favorite of the bunch (from a look and feel perspective) is https://github.com/zaghaghi/openapi-tui

    Also, not ratatui, but worth a look: https://github.com/rothgar/awesome-tuis

  • vhs

    Your CLI home video recorder 📼

    I'm a maintainer of Ratatui (a rust TUI crate). Here's a few links

    https://ratatui.rs/showcase/apps/

    https://github.com/ratatui-org/awesome-ratatui

    https://discord.com/channels/1070692720437383208/10729061831... (made with ratatui channel on our discord server)

    We encourage our users to use https://github.com/charmbracelet/vhs to build out demos that look neat.

    My particular favorite of the bunch (from a look and feel perspective) is https://github.com/zaghaghi/openapi-tui

    Also, not ratatui, but worth a look: https://github.com/rothgar/awesome-tuis

  • openapi-tui

    Terminal UI to list, browse and run APIs defined with openapi spec.

    I'm a maintainer of Ratatui (a rust TUI crate). Here's a few links

    https://ratatui.rs/showcase/apps/

    https://github.com/ratatui-org/awesome-ratatui

    https://discord.com/channels/1070692720437383208/10729061831... (made with ratatui channel on our discord server)

    We encourage our users to use https://github.com/charmbracelet/vhs to build out demos that look neat.

    My particular favorite of the bunch (from a look and feel perspective) is https://github.com/zaghaghi/openapi-tui

    Also, not ratatui, but worth a look: https://github.com/rothgar/awesome-tuis

  • TinyMUSH

    TinyMUSH Server

    TinyMUSH (which is somewhere between TinyMUD and TinyMUSE if my historic memory is correct): https://github.com/TinyMUSH/TinyMUSH

  • pug

    Drive terraform at terminal velocity. (by leg100)

    I've built a TUI for terraform:

    https://github.com/leg100/pug

    It's built using Go and the bubbletea library. It's been a breath of fresh air compared to building a web app, simpler and faster to develop and test. And of course far more responsive than a web app could ever be.

  • vtm

    Text-based desktop environment

    There is https://github.com/directvt/vtm

    It used to have a site where you could just connect via ssh and see interact with it in all its glory.

  • imtui

    ImTui: Immediate Mode Text-based User Interface C++ Library

    imtui looks interesting. A text based backend for Dear ImGui. Never tested it myself though.

    https://github.com/ggerganov/imtui

  • Congruence

    A command line interface to Atlassian Confluence

    I have, and I did: https://github.com/AdrianVollmer/Congruence

    I consider it MeWare: written for me, but published for others to use because why not? But don't expect a polished product.

  • ctop

    Top-like interface for container metrics

  • tvterm

    A terminal emulator that runs in your terminal. Powered by Turbo Vision.

    tvterm: A Turbo Vision based terminal emulator: https://github.com/magiblot/tvterm

  • asak

    A cross-platform audio recording/playback CLI tool with TUI, written in Rust.

    As a sound and music computing person, I rarely used tui before although I use cli tools often, e.g. SoX. I usually use Audacity to record on Mac. But then I realized I wanted a tool that could quickly open and record inspiration, and that's when TUI came into play: I decided to write my own custom tool called asak (audio Swiss Army Knife) [1]

    This way I can quickly record on Mac, and of course, since this is Rust and ratatui [2], this tool should also be cross-platform.

    [1] https://github.com/chaosprint/asak

    [2] https://ratatui.rs/

  • ratatui

    Rust library that's all about cooking up terminal user interfaces (TUIs) 👨‍🍳🐀

    As a sound and music computing person, I rarely used tui before although I use cli tools often, e.g. SoX. I usually use Audacity to record on Mac. But then I realized I wanted a tool that could quickly open and record inspiration, and that's when TUI came into play: I decided to write my own custom tool called asak (audio Swiss Army Knife) [1]

    This way I can quickly record on Mac, and of course, since this is Rust and ratatui [2], this tool should also be cross-platform.

    [1] https://github.com/chaosprint/asak

    [2] https://ratatui.rs/

  • slartboz-pub

    Slartboz: sci-fi, post-apoc, dystopic comedy, real-time Roguelike adventure game under dev. for public or promotional material only

    Slartboz is my real-time action adventure Rogue-like set in Normerika 2100 CE after democracy collapse and climate catastrophe. Written in Golang. Uses ncurses for visuals and VLC for sound and music. I try to push the bounds on whats possible and what you'd expect from a Terminal-based TUI game.

    https://github.com/mkramlich/slartboz-pub

  • casual-calc

    Casual Calc - An opinionated Transient porcelain for Emacs Calc.

    - For Dired, there is Casual Dired https://github.com/kickingvegas/casual-dired

    All can be run in a TTY to get that TUI experience.

  • casual-isearch

    Casual I-Search - A Transient menu for Emacs I-Search

  • casual-dired

    Casual Dired - An opinionated Transient porcelain for Emacs file manager Dired.

    - For Dired, there is Casual Dired https://github.com/kickingvegas/casual-dired

    All can be run in a TTY to get that TUI experience.

  • GoAccess

    GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser.

    Not forgotten by any means but goaccess is nice and simple to use

    https://goaccess.io/

  • mblaze

    Unix utilities to deal with Maildir

  • BeautyHair

    BeautyHair is a multiplatform CLI software written in Java to manage beauty saloons.

    How about this software I wrote back in college to manage beauty parlors?

    https://github.com/victorqribeiro/beautyhair

    The text is in PT but I guess you can understand it. I loved writing those CLI applications in Java back then.

  • mocp

    Music On Console Player

  • rich

    Rich is a Python library for rich text and beautiful formatting in the terminal.

  • Windows Terminal

    The new Windows Terminal and the original Windows console host, all in the same place!

    A Microsoft employee recently (~6 months) opened a Github issue to discuss a command line editor for Windows: https://github.com/microsoft/terminal/discussions/16440

  • wpunix

    WordPerfect for UNIX Character Terminals

  • twin

    Text mode window environment. A "retro" program for embedded or remote systems, that doubles as X11 terminal and text-mode equivalent of VNC server

    In the same TUI spirit:

    https://github.com/cosmos72/twin

    A text mode environment and window manager, with terminal emulation, VNC-style sessions and viewers, and networked clients.

    Disclaimer: I'm the author

  • euporie

    Jupyter notebooks in the terminal

    Euporie is the most complex TUI application I have built:

    https://github.com/joouha/euporie

    It consists of a TUI editor (and interactive REPL) for Jupyter notebooks, and supports displaying rich output in the terminal (images, LaTeX, HTML, interactive widgets, etc.).

  • lf

    Terminal file manager

    A very good alternative to ranger is lf https://github.com/gokcehan/lf

    It's a lot faster in all aspects, has mostly the same features and is pretty much a standalone binary.

  • pcfand

  • logmerger

    TUI utility to view multiple log files with merged timeline

  • chordclopedia

    :musical_note: Chord formation for six-string guitars

    How about this music chord formation program with a virtual six-string guitar fret that I wrote back in 1999? https://github.com/capr/chordclopedia

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Build a password manager with Rust - Part 2

    3 projects | dev.to | 1 Jun 2024
  • Superfile – A fancy, petty terminal file manager

    12 projects | news.ycombinator.com | 10 May 2024
  • Orange Site Hit

    4 projects | news.ycombinator.com | 1 Jan 2024
  • What are the best open source tools to easily navigate directories from the command line?

    4 projects | /r/linux | 28 Jun 2023
  • Canonical way to handle concurrent events with crates that don't model that use case

    1 project | /r/rust | 21 May 2023