Add interactive prompts to a Go CLI tool for collecting user input without writing any display logic.
Build multi-step terminal forms where each group of fields appears as a separate page the user tabs through.
Embed a form as a component inside a Bubble Tea terminal UI application.
| charmbracelet/huh | xiaobaitech/golangfamily | fluxcd/flux | |
|---|---|---|---|
| Stars | 6,876 | 6,881 | 6,865 |
| Language | Go | Go | Go |
| Setup difficulty | easy | easy | hard |
| Complexity | 2/5 | 1/5 | 4/5 |
| Audience | developer | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Huh is a Go library for building interactive forms and prompts that run inside a terminal window. Instead of a web page or a graphical dialog box, the interface appears as text that the user navigates with a keyboard. The library provides a small set of field types: a single-line text input, a multi-line text area, a dropdown list for picking one option, a multi-select list for picking several options, and a yes/no confirmation prompt. Forms are organized into groups, which act like pages. Fields within a group appear together, and the user moves between groups as they complete each one. Building a form means creating field objects in Go code, chaining options onto them (title, default value, character limit, validation rule), and then calling the form's Run method to display it and wait for the user to finish. Answers are stored directly into variables you supply. Validation can be attached to any field: the library highlights errors and shows messages without the developer having to write display logic. Huh also has an accessibility mode that replaces the visual terminal interface with plain sequential prompts, which works better with screen reader software. Themes control colors and styling, five built-in themes are included and custom themes are supported. The library is written to integrate with Bubble Tea, which is another terminal UI toolkit from the same team, so complex applications can embed forms as components. It can also be used on its own for simpler scripts. The README includes a complete walk-through tutorial and a full field reference with code examples.
A Go library for building keyboard-navigated interactive forms in the terminal, add text inputs, dropdowns, multi-select lists, and yes/no prompts to any CLI tool in a few lines of code.
Mainly Go. The stack also includes Go, Bubble Tea.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.