
A tool for glamorous shell scripts with prompts, spinners, and styled output
Gum is a tool for creating glamorous shell scripts by providing highly configurable, ready-to-use utilities that help you build interactive command-line interfaces without writing any Go code. It leverages the power of Bubbles and Lip Gloss libraries to bring beautiful, interactive elements to your shell scripts and dotfiles aliases. With Gum, you can easily add prompts, menus, file pickers, confirmation dialogs, spinners, and other interactive components to your scripts.
The tool offers a comprehensive set of commands including input prompts, multi-choice selectors, file browsers, text editors, data filters, tables, and styling utilities. Each command is highly customizable through command-line flags and environment variables, allowing you to control colors, borders, spacing, and behavior to match your preferences or branding.
Gum is perfect for developers, system administrators, and anyone who writes shell scripts and wants to make them more user-friendly and visually appealing. Whether you're building deployment scripts, dotfiles management tools, or interactive CLI utilities, Gum provides the building blocks to create professional-looking interfaces that enhance the user experience beyond traditional command-line tools.
# via Homebrew
brew install gum
# via APT (Debian/Ubuntu)
sudo mkdir -p /etc/apt/keyrings && curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg && echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list && sudo apt update && sudo apt install gum
# via Go Install
go install github.com/charmbracelet/gum@latest


