Skip to content
cccskills
FreePublished on GitHub

bubbletea

Use this reference to build and maintain terminal user interfaces in Go with Bubble Tea. It explains the Model/Update/View cycle, commands and messages, input, rendering, program lifecycle, tests, component composition, and patterns for larger applications.

OriginalShow the original description

Use when working with Bubble Tea (charmbracelet/bubbletea) — the Elm Architecture TUI framework for Go. Covers the Model/Update/View cycle, commands, messages, the View struct, renderer, input handling, program lifecycle, testing, component composition, integration with the Charm ecosystem (lipgloss, bubbles, huh, glamour), and production design patterns. Triggers on: "bubbletea", "bubble tea", "tea.Model", "tea.Cmd", "tea.Msg", "tea.Program", "tea.View", "tea.KeyPressMsg", "tea.WindowSizeMsg", "tea.MouseMsg", "tea.Batch", "tea.Sequence", "tea.Quit", "Elm Architecture", "charmbracelet", "Bubble Tea v2", "tea.NewProgram", "tea.Send", "tea.Tick", "tea.Every", "cursedRenderer", "ultraviolet", "ScreenBuffer", "ProgramContext", "compositor".

carapace-sh/carapace-bin2,000 stars(GitHub 2,000 + cccskills 0)

Run score Not tested

See how to install

Good for

  • Building a Bubble Tea terminal interface
  • Handling keyboard, mouse, and window resize events
  • Running asynchronous work through commands and messages
  • Composing components and managing focus
  • Testing a program or planning a v1-to-v2 migration

Files included (11)

  • SKILL.md9.2 KB
  • references/commands.md7.7 KB
  • references/composition.md13.4 KB
  • references/input-signals.md10.4 KB
  • references/messages.md10.4 KB
  • references/model-view.md8.8 KB
  • references/patterns.md32.3 KB
  • references/program.md10.5 KB
  • references/renderer.md11.5 KB
  • references/testing.md7.1 KB
  • references/v1-v2-migration.md10.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Bubble Tea In-Depth Reference

Comprehensive reference for the Bubble Tea TUI framework (charmbracelet/bubbletea v2), covering the Elm Architecture in Go, the declarative View system, command/message patterns, renderer internals, input handling, and Charm ecosystem integration.

Sub-Resources

Load the reference that matches your task. When in doubt, load multiple references.

KeywordsReference
Model, Init, Update, View, Elm Architecture, tea.Model interface, tea.View struct, NewView, View.Content, AltScreen, Cursor, ProgressBar, WindowTitle, MouseMode, KeyboardEnhancements, ReportFocus, declarative view, view composition, view diffing, viewEqualsreferences/model-view.md
Cmd, tea.Cmd, Batch, Sequence, Tick, Every, Quit, Suspend, Interrupt, RequestWindowSize, Println, Printf, ExecProcess, Exec, ExecCallback, BatchMsg, sequenceMsg, compactCmds, command dispatch, goroutine, async I/Oreferences/commands.md
Msg, tea.Msg, KeyMsg, KeyPressMsg, KeyReleaseMsg, Key struct, KeyMod, Key constants, MouseMsg, MouseClickMsg, MouseReleaseMsg, MouseWheelMsg, MouseMotionMsg, Mouse struct, MouseButton, WindowSizeMsg, FocusMsg, BlurMsg, QuitMsg, InterruptMsg, SuspendMsg, ResumeMsg, ColorProfileMsg, EnvMsg, PasteMsg, CapabilityMsg, ModeReportMsg, KeyboardEnhancementsMsg, ClipboardMsg, custom message, type switch, message filtering, WithFilterreferences/messages.md
Program, tea.NewProgram, Program.Run, Program.Send, Program.Quit, Program.Kill, Program.Wait, ProgramOption, WithContext, WithOutput, WithInput, WithFilter, WithFPS, WithColorProfile, WithWindowSize, WithoutSignals, WithoutRenderer, WithoutSignalHandler, WithoutCatchPanics, WithEnvironment, event loop, startup sequence, shutdown, graceful exit, ErrProgramKilled, ErrInterrupted, ReleaseTerminal, RestoreTerminal, exec subprocess, LogToFile, TEA_TRACEreferences/program.md
renderer, cursedRenderer, nilRenderer, TerminalRenderer, ScreenBuffer, ultraviolet, ANSI escape, synchronized output, mode 2026, grapheme width, mode 2027, color profile, diffing, flush, ticker, FPS, hard tabs, backspace, cursor optimization, cell buffer, StyledStringreferences/renderer.md
input, raw mode, term.MakeRaw, cancelreader, TerminalReader, translateInputEvent, keyboard protocol, Kitty keyboard, modifyOtherKeys, key sequence, bracketed paste, PasteMsg, PasteStartMsg, PasteEndMsg, SIGWINCH, resize, signal, SIGINT, SIGTERM, SIGTSTP, suspend, resume, focus reporting, terminal state, initTerminal, restoreTerminalState, platform-specific, Unix, Windows, BSDreferences/input-signals.md
testing, WithInput, WithOutput, WithoutSignals, WithoutRenderer, WithContext, bytes.Buffer, test model, p.Send, p.Quit, p.Kill, ErrProgramKilled, ErrInterrupted, errors.Is, test pattern, unit test, integration test, context cancellationreferences/testing.md
composition, component, sub-model, bubbles, textinput, textarea, viewport, spinner, list, table, help, paginator, progress, key.Binding, key.Matches, KeyMap, Focus, Blur, focus management, lipgloss, layout, JoinVertical, JoinHorizontal, glamour, huh, form, custom component, value type, reassignment patternreferences/composition.md
v1, v2, migration, upgrade, View() string, View() tea.View, KeyMsg struct, KeyPressMsg, msg.Type, msg.Code, msg.Runes, msg.Text, msg.Alt, msg.Mod, EnterAltScreen, AltScreen, EnableMouseCellMotion, MouseMode, SetWindowTitle, WindowTitle, HideCursor, ShowCursor, Cursor, p.Start, p.Run, Sequentially, Sequence, charm.land, module path, import pathreferences/v1-v2-migration.md
architecture, design pattern, best practice, Common struct, state machine, Draw/View split, ScreenBuffer, pubsub, program.Send, external events, bridge goroutine, fan-in, render cache, versioned cache, freeze, throttling, WithFilter, animation, dialog overlay, grace period, interface-based items, builder pattern, golden file, version bump contract, render hit counting, key map, dynamic help, theme, style struct, icon constants, status bar, TTL, double-click, ProgramContext, adaptive color, compositor layers, rebind, user-configurable keys, view-conditional help, section interface, base model embedding, input controller, mode switching, task callback, explicit sync, feature methodsreferences/patterns.md

Quick Guide

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

brew

FreeSummary

Use this reference to manage software with Homebrew on macOS or Linux, understand formulas and casks, maintain Brewfiles and services, troubleshoot installations, or work on formula and cask development tasks.

  • Installing, updating, or removing Homebrew packages
  • Managing services and software lists with a Brewfile
  • Writing or updating a formula or cask
carapace-sh/carapace-bin2KUpdated Oct 26, 2026

bun

FreeSummary

Use this reference for JavaScript and TypeScript development with Bun. It explains CLI commands, dependency and lockfile management, testing, bundling code, runtime APIs for files and servers, the Bun shell, configuration, and environment variables.

  • Installing and managing project dependencies
  • Running tests or building a bundle with Bun
  • Starting a server or reading and writing files
carapace-sh/carapace-bin2KUpdated Oct 26, 2026

but

FreeSummary

Use this reference to manage Git work with the GitButler CLI (`but`), including virtual and stacked branches, assigning changes, editing commits, resolving conflicts, and creating pull requests. It also covers the workspace, operation history, interactive TUI, configuration, and AI agent setup.

  • Working on parallel or stacked branches
  • Assigning file changes to a virtual branch
  • Amending, squashing, or rewording commits
carapace-sh/carapace-bin2KUpdated Oct 26, 2026

carapace

FreeSummary

Build and maintain carapace shell completions for command-line tools. The reference covers YAML specs, custom completion actions, shell setup, DSL-aware parsing, MCP use, and documentation for suggested values.

  • Adding shell completion to a CLI
  • Writing a YAML spec or custom completion action
  • Generating completion documentation for values
carapace-sh/carapace-bin2KUpdated Oct 26, 2026

cargo

FreeSummary

Use this reference to work with Cargo, Rust’s package manager and build tool. It explains project manifests, dependencies, features, workspaces, build profiles, configuration, registries, publishing, and commands for building, testing, and inspecting projects.

  • Setting up dependencies in Cargo.toml
  • Understanding features and workspace settings
  • Choosing Cargo commands to build or test a project
carapace-sh/carapace-bin2KUpdated Oct 26, 2026

cobra

FreeSummary

Use this reference when building command-line applications with `spf13/cobra`. It shows how to organize commands, define flags, validate arguments, add lifecycle hooks, customize help output, provide shell completions, and connect flags with Viper configuration.

  • Adding commands and subcommands to a CLI
  • Defining flags and validating positional arguments
  • Customizing help text or command lifecycle hooks
carapace-sh/carapace-bin2KUpdated Oct 26, 2026

See all skills by carapace-sh

Report a problem with this skill