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 – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. 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

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. 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

  4. 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.

  5. 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).

  6. k9s

    🐶 Kubernetes CLI To Manage Your Clusters In Style!

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

    https://k9scli.io/

  7. 123elf

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

  8. cointop

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

  9. SaaSHub

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

    SaaSHub logo
  10. 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

  11. 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.

  12. Terminal.Gui

    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.

  13. 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

  14. lazygit

    simple terminal UI for git commands

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

  15. 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

  16. 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

  17. 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

  18. 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

  19. awesome-cli-apps-in-a-csv

    The largest Awesome Curated list of command line programs (CLI/TUI) 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

  20. 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.

  21. 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.

  22. toolong

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

  23. 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

  24. 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

  25. 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

  26. TinyMUSH

    TinyMUSH Server

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

  27. 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.

  28. 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.

  29. 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

  30. 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.

  31. ctop

    Top-like interface for container metrics

  32. 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

  33. 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/

  34. ratatui

    Discontinued Rust library that's all about cooking up terminal user interfaces (TUIs) 👨‍🍳🐀 [Moved to: https://github.com/ratatui/ratatui] (by ratatui-org)

    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/

  35. 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

  36. casual-calc

    Casual Calc - An opinionated Transient user interface 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.

  37. casual-isearch

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

  38. casual-dired

    Casual Dired - An opinionated Transient user interface 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.

  39. 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/

  40. mblaze

    Unix utilities to deal with Maildir

  41. 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.

  42. mocp

    Music On Console Player

  43. rich

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

  44. 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

  45. wpunix

    WordPerfect for UNIX Character Terminals

  46. 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

  47. 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.).

  48. 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.

  49. pcfand

  50. logmerger

    TUI utility to view multiple log files with merged timeline

  51. 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

  52. 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

  • Matanuska ADR 002 - Architecture

    3 projects | dev.to | 18 Dec 2024
  • 5 Best Python TUI Libraries for Building Text-Based User Interfaces

    4 projects | dev.to | 9 Nov 2024
  • A REPL for Fat-Finger Friendly Typing

    2 projects | dev.to | 21 Oct 2024
  • 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

Did you know that C is
the 6th most popular programming language
based on number of references?