Gum is a toolkit for building interactive, visually styled command-line interfaces and prompts directly within shell scripts. It functions as a library of modular components that allow developers to enhance terminal workflows by adding structured layouts, formatted text, and user-input widgets to standard command-line operations.
The project distinguishes itself by providing a suite of specialized utilities for common shell tasks, such as fuzzy-matched selection menus, interactive file system navigation, and confirmation dialogs. It translates high-level styling and layout instructions into terminal-native escape sequences, enabling the creation of complex, readable interfaces without requiring deep knowledge of terminal rendering logic.
Beyond basic input and styling, the tool supports advanced terminal interactions including scrollable viewports for long documents, animated progress indicators for background tasks, and structured table displays. It integrates into existing shell environments by reading from standard input and writing results to standard output, facilitating its use within automated pipelines and scripts.