charm-bubbletea

Build Go terminal UIs with Bubble Tea v2's Elm architecture.

12|2|Updated Mar 17, 2026
One-click install
npx skills add https://github.com/alxxpersonal/forge --skill charm-bubbletea
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: charm-bubbletea
Source: https://github.com/alxxpersonal/forge/tree/main/skills/charm-bubbletea
Command: npx skills add https://github.com/alxxpersonal/forge --skill charm-bubbletea

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Bubble Tea v2 provides a robust, Elm-architecture approach to building terminal UIs in Go, guiding developers to structure models, updates, and views rather than ad-hoc I/O code.

Core Features & Use Cases

  • Unidirectional data flow with a clear Init/Update/View lifecycle.
  • Built-in support for keyboard and mouse interactions in terminal apps.
  • Component composition to integrate spinners, inputs, and layouts.
  • Use cases include TUI dashboards, in-terminal editors, and CLIs with dynamic content.

Quick Start

Install a minimal Bubble Tea program, implement Init/Update/View, and run the program to render a responsive terminal UI.

Frequently Asked Questions about charm-bubbletea

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a Go terminal UI with Elm Architecture?

Build Go terminal UIs using Bubble Tea v2's Elm Architecture by implementing the Init, Update, and View lifecycle to structure models and enforce unidirectional data flow. This approach guides developers to separate state, message handling, and rendering rather than writing ad-hoc I/O code for TUI dashboards and interactive CLI tools.

What is the Bubble Tea v2 lifecycle for Go terminal apps?

The Bubble Tea v2 lifecycle for Go terminal apps enforces a unidirectional data flow through three core API methods: Init() tea.Cmd, Update(Msg) (Model, Cmd), and View() tea.View. This Elm Architecture pattern ensures deterministic updates and modular component composition for CLI dashboards and in-terminal editors.

Can I use mouse handling and AltScreen in a Go TUI component?

Yes, Go TUI components built with Bubble Tea v2 support mouse handling and AltScreen mode. The Elm Architecture accommodates built-in messages for keyboard and mouse interactions, allowing you to create interactive terminal applications that capture mouse events and render full-screen terminal UIs.

When should I use the Elm Architecture for a Go terminal UI?

Use the Elm Architecture for a Go terminal UI when building CLI dashboards, in-terminal editors, or CLIs with dynamic content that require deterministic updates and modular components. It is ideal for applications needing a clear Init/Update/View lifecycle and unidirectional data flow over ad-hoc terminal I/O code.

Does Bubble Tea v2 support component composition for Go CLIs?

Yes, Bubble Tea v2 supports component composition to integrate spinners, inputs, and layouts within Go CLIs. The Elm Architecture allows you to build modular terminal UI components that manage their own state and update logic, which can then be composed together into complex interactive tools.

What is the best way to structure models and updates in a Go terminal app?

The best way to structure models and updates in a Go terminal app is using Bubble Tea v2's Elm Architecture. It enforces a unidirectional data flow through the Update(Msg) (Model, Cmd) API, ensuring deterministic state changes and clear separation between model state, message handling, and view rendering.