Bubble Tea

Bubble Tea is a framework based on Elm architecture and designed to develop terminal applications in Go language. It features a cell-based high-performance builder, built-in color reduction, declarative views, and keyboard/mouse management. Applications run through a model that keeps the application status and the Init, Update, and View methods attached to it.

BU

charmbracelet · Terminal & CLI

STARS45.6K
FORKS3.2K
COMMITS—
CONTRIBUTORS155
VERSIONv2.0.8
UPDATED3 days ago
GoTuiFrameworkMIT
What can it do?
  • With Go, you can develop terminal applications in inline or full window mode.
  • You can update the application status with the Update function that manages incoming events.
  • Based on the data in the model, you can define the View function that creates the interface.
User reviews
  • • NeutralHacker News

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

    “The number one reason is that I can spell Bubble Tea. Something like "imgur" leaves open a lot of possibilities. People are also pretty good at disambiguating things. Fewer than 7% of people ordering from Amazon have ended up in Brazil on accident.”

  • • NeutralGitHub Issue

    Injecting messages from outside the program loop

    “I'm not sure I haven't overlooked something, but I miss a way of injecting messages into a running `tea.Program` from outside the program's execution loop. Currently, programs only process messages returned from either `Init()` or `Update()` or implicitly created for keyboard…”

Verified against README · Oct 26, 2026 · source

My note

More in: Terminal & CLI