A copy-and-own terminal UI registry for Bubble Tea v2.

BentoTUI 1.0 finalizes a composition-first component catalog and shifts fully into shipping runnable bento screen patterns. Run bento add <component>, copy source into your app, and build production TUIs without framework lock-in.

go install github.com/cloudboy-jh/bentotui/cmd/bento@latest

How it works

BentoTUI ships two source artifacts: components for reusable UI building blocks and bentos for complete screen patterns. You copy code directly into your project, keep ownership, and adapt behavior without framework lock-in.

# Copy components into your project
bento add panel bar surface

# See available components and bentos
bento list

# Check your environment and setup
bento doctor

# Scaffold or compose from copy-and-own source
bento init myapp

Final Component Catalog (1.0)

The 1.0 catalog is locked for composition workflows: layout primitives, interaction helpers, and compatibility components for teams already shipping today.

Core layout/container

4
  • surfaceCell-buffer rendering with Ultraviolet
  • panelTitled and focusable content container
  • barStatus/nav bar with left and right slots
  • dialogModal manager (Confirm, Custom, ThemePicker)

Display helpers

3
  • badgeInline colored label
  • kbdKeyboard shortcut display
  • wordmarkLarge centered app identity

Form/feedback

3
  • selectInline single-choice picker
  • checkboxToggle boolean values
  • progressProgress bar with label support

Advanced composition

3
  • toastStacked auto-dismiss notifications
  • tabsHorizontal tab switcher
  • separatorHorizontal or vertical rule

Compatibility shipped

4
  • inputSingle-line input with accent border
  • listScrollable log-style list
  • tableHeader and data rows
  • textStatic styled label

Live Theme Preview

Preview all built-in themes and Bento Rose in an app-shell simulation before selecting a preset for your project.

Live Theme Preview catppuccin-mocha
bento app-shell preview catppuccin-mocha

Dashboard panel

Compare tone, contrast, and border treatment across themes before finalizing your interface preset.

$ bento add panel bar surface
$ bento init myapp
$ bento add badge tabs toast

Architecture

BentoTUI separates copied source from stable module imports. Components are copied into your codebase with bento add, while theme, styles, and layout remain standard package imports.

Primitive wrappers are intentionally limited in 1.0. Use charm.land/bubbles/v2/spinner directly unless Bento adds clear composition value.

01
Your app code Compose screens with copied components.
02
registry/components/ Copy source into your app and own the implementation.
03
bentotui module deps Stable imports: theme, styles, layout.
04
Charm stack Built on Bubble Tea v2, Lip Gloss v2, and Ultraviolet.

Read the architecture guide or explore on GitHub.