Bubbletea Documentation
Bubbletea is a Go framework for building terminal user interfaces based on The Elm Architecture.
Key Resources
When you need to understand Bubbletea patterns or find examples:
Examples README - Overview of all available examples: https://github.com/charmbracelet/bubbletea/blob/main/examples/README.md
Examples Directory - Full source code for all examples: https://github.com/charmbracelet/bubbletea/tree/main/examples
How to Use
First, fetch the examples README to get an overview of available examples:
WebFetch https://github.com/charmbracelet/bubbletea/blob/main/examples/README.md
Once you identify a relevant example, fetch its source code from the examples directory.
Common Examples to Reference
-
list
-
List component with filtering
-
table
-
Table component
-
textinput
-
Text input handling
-
textarea
-
Multi-line text input
-
viewport
-
Scrollable content
-
paginator
-
Pagination
-
spinner
-
Loading spinners
-
progress
-
Progress bars
-
tabs
-
Tab navigation
-
help
-
Help text/keybindings display
Core Concepts
-
Model: Application state
-
Update: Handles messages and returns updated model + commands
-
View: Renders the model to a string
-
Cmd: Side effects that produce messages
-
Msg: Events that trigger updates
Related Charm Libraries
-
Bubbles: Pre-built components (github.com/charmbracelet/bubbles)
-
Lipgloss: Styling and layout (github.com/charmbracelet/lipgloss)
-
Glamour: Markdown rendering (github.com/charmbracelet/glamour)