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
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • SonarQube - Static code analysis for 29 languages.
  • Revelo Payroll - Free Global Payroll designed for tech teams
  • Onboard AI - Learn any GitHub repo in 59 seconds
  • 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.

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

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

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • 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