charm-stack

Build terminal user interfaces with the Charm stack using Elm Architecture.

1|Updated Dec 3, 2025
One-click install
npx skills add https://github.com/yurifrl/cly --skill charm-stack
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: charm-stack
Source: https://github.com/yurifrl/cly/tree/main/.opencode/skill/charm-stack
Command: npx skills add https://github.com/yurifrl/cly --skill charm-stack

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Developers building terminal user interfaces face fragmented tooling and inconsistent patterns. This Skill provides a cohesive guide to build TUI apps using the Charm stack (Bubbletea, Bubbles, Lipgloss, and Huh), enabling consistent architecture and reusable components.

Core Features & Use Cases

  • Elm Architecture-based model-update-view pattern for robust TUI apps
  • Compose reusable components with Bubbles (spinners, lists, inputs)
  • Style and layout with Lipgloss for polished terminal output
  • Build interactive forms with Huh to collect and validate user input
  • Apply CLY's modular patterns for scalable command-line projects

Quick Start

Create a minimal Bubbletea program following the Charm stack structure: define a Model, Init, Update, and View; initialize a tea program with tea.NewProgram and run it to render a simple interactive UI.

Frequently Asked Questions about charm-stack

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

FAQPage Schema
How do I build a terminal user interface in Go using Bubbletea?

To build a terminal user interface with Bubbletea, you define a Model, Init, Update, and View following the Elm Architecture, then initialize and run the program with tea.NewProgram to render interactive CLI components.

What is the best way to style and layout terminal apps with Lipgloss?

Lipgloss styles and layouts terminal applications by applying cohesive formatting rules to interactive CLI outputs, ensuring polished terminal rendering when composing Bubbletea views and reusable Bubbles components.

Do I need to know Go modules to use the Charm stack for CLI applications?

Yes, developing with the Charm stack requires familiarity with Go modules and the Bubbletea ecosystem, alongside understanding CLY project patterns like modular directory structures for scalable command-line projects.

Can I build interactive forms in a TUI with Huh?

Huh builds interactive terminal forms by collecting and validating user input within Bubbletea applications, seamlessly integrating with the Elm Architecture model-update-view pattern for robust TUI apps.

How does the Elm Architecture apply to Bubbletea component composition?

The Elm Architecture structures Bubbletea apps by separating model-update-view logic, enabling developers to compose reusable components like spinners, lists, and inputs modularly within interactive CLI applications.

Are there limitations when using Bubbles for terminal user interfaces?

Bubbles composes reusable TUI components like spinners, lists, and inputs, but building robust applications requires strict adherence to Elm Architecture patterns and modular directory structures to manage complexity.