Huh is a Go library for building interactive terminal forms, designed to work with the Bubbletea TUI framework. It provides a complete form-building system with text inputs, selection lists, confirmation prompts, and file pickers, all navigable using only the keyboard without requiring a mouse.
The library distinguishes itself through dynamic form adaptation, allowing fields to be shown, hidden, or modified at runtime based on user selections and conditional rules. It includes screen reader support that announces form fields and falls back to text prompts when a visual interface is unavailable, making terminal forms accessible to visually impaired users. Huh also supports multi-step form workflows, timed auto-submission with countdown timers, and secure input collection that masks typed characters.
Additional capabilities include file path browsing through an interactive directory navigation interface, scrollable lists for compact viewports, custom validation functions with error messages, and animated spinner widgets for indicating background work. The library integrates forms as composable models within terminal applications, with a centralized theme system that applies consistent colors, borders, and typography across all form elements.