Bubble Tea: fun, functional and stateful way to build terminal apps

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

Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarLint - Clean code begins in your IDE with SonarLint
  • SaaSHub - Software Alternatives and Reviews
  • bubbletea

    A powerful little TUI framework 🏗

    It doesn't actually matter. You can use pointers for models, return the same pointer, and it will re-render fine. We do this for our CLI at https://www.inngest.com - especially for creating new serverless functions via a quick walkthrough.

    It's actually the `tea.Msg` that causes re-renders. Here's the code: https://github.com/charmbracelet/bubbletea/blob/v0.20.0/tea.....

    tea.Msg is, in Redux land, an "action" that triggers some state updates and _always_ triggers a re-render, even if nothing changes.

    This is elm-like, but we have to understand the limitations of what we're working with: a terminal with no way of (nicely) updating elements in place. It's essentially an immediate-mode UI.

  • termdbms

    A TUI for viewing and editing database files.

    One of my favorite TUI frameworks. I made https://github.com/mathaou/termdbms with it. A very pleasant experience.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • duckduckgo-locales

    Translation files for duckduckgo.com

  • ssh-slides

    Terminal-based Presentations Over SSH

    Loved this framework as it helped me build my ssh app idea really quickly (https://github.com/ivantsepp/ssh-slides)! In fact, it pushed me to finally learn golang haha. Would love seeing more and more ssh apps in the wild.

  • love

    LÖVE is an awesome 2D game framework for Lua.

    Lately I'm all in on LÖVE (https://love2d.org). No dynamic linking required, and anything it can't do I just accept as a constraint I can't change.

  • indicatif

    A command line progress reporting library for Rust

  • chafa

    📺🗿 Terminal graphics for the 21st century.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • TerminalImageViewer

    Small C++ program to display images in a (modern) terminal using RGB ANSI codes and unicode block graphics characters

  • notcurses

    blingful character graphics/TUI library. definitely not curses.

  • tui-rs

    Build terminal user interfaces and dashboards using Rust

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