Termdash is a cross-platform customizable terminal-based dashboard library written in Go.
The tool addresses the need to build interactive dashboards within terminal environments. It provides a framework for creating layouts with widgets, handling user input through keyboard and mouse events, and rendering content with support for colors, borders, margins, and padding. The architecture emphasizes code readability, maintainability, and testability as core design goals, representing a rewrite of earlier terminal UI concepts with improved engineering practices.
Termdash suits developers building monitoring tools, system administration interfaces, or any application requiring a terminal-based visual dashboard. The library includes widgets for buttons, text input, gauges, pie charts, and donuts, along with layout systems using binary trees or grids. It handles terminal window resizing dynamically and supports both periodic and event-driven screen redraws. The project acknowledges that breaking changes may occur until version 1.0.0, with all such changes documented in the changelog.
Development activity shows consistent engagement with the codebase. The project maintains clear separation between public and private APIs, with private packages marked by a /private/ directory in their import paths. Documentation is comprehensive, including design goals, requirements, and high-level design documentation alongside a wiki covering the public API surface. The presence of multiple demonstration files for individual widgets indicates active maintenance of examples and user-facing resources.