Huh is a Go library for building interactive forms and prompts in the terminal.
The library addresses the need to gather structured user input in command-line applications without requiring developers to handle low-level terminal manipulation. It organizes forms into groups (conceptually pages) containing fields such as single-line input, multi-line text, single selection, multiple selection, and confirmation prompts. Each field can be run standalone for quick prompts or composed into larger forms. The tool handles rendering, keyboard navigation, and form submission automatically.
Developers building CLI tools that need user interaction should consider this library if they want polished terminal forms with minimal code. It works both as a standalone library and integrates into Bubble Tea applications for more complex interactive programs. The tool includes an accessibility mode that disables terminal UI rendering in favor of standard text prompts, making it suitable for users relying on screen readers. Multiple built-in themes are available, and developers can supply custom themes to match their application's visual style.
The project maintains active development with regular updates and bug fixes. The codebase receives consistent attention to both functionality and user experience. Documentation is comprehensive, including tutorials and field reference materials. The maintainers prioritize accessibility as a first-class feature rather than an afterthought, evidenced by dedicated accessible rendering modes and guidance on enabling them through configuration.