finds.dev← search

// the find

mitchellh/go-glint

★ 308 · Go · MIT · updated Jul 2021

Component-based UI-framework for command-line tools. Easily create highly dynamic CLI interfaces using shared, easily testable components.

go-glint brings a React/Ink-style component model to Go CLI tools — you define UI as a tree of components, run a central render loop, and the terminal output stays in sync. It uses a bundled Yoga/Flexbox engine for layout, so you get real padding, margins, and nesting instead of manual string assembly. Aimed at CLIs that need live-updating output like progress bars, spinners, and counters.

The Flexbox layout engine is a real differentiator — most Go CLI libraries give you a spinner or a progress bar, not a composable layout system. The component model makes output testable: renderer_string.go lets you assert on rendered output without a real terminal. The included components (spinner, sparkline, stopwatch, progress) cover the common live-output cases without extra dependencies. Being the layout backend for Hashicorp Waypoint means it survived real-world stress testing at some scale.

Dead since July 2021 — the README's own roadmap lists Windows PowerShell/Cmd support and non-interactive rendering as unresolved, and neither was ever delivered. 308 stars and 8 forks after 5 years signals the community didn't adopt it widely, probably because bubbletea/lipgloss solved the same problem with better momentum. The API is explicitly marked unstable and the Waypoint integration that was supposed to drive stabilization is itself a deprecated project now. No user input support means you can't build interactive prompts with it.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →