Go-TUI – a framework for building declarative terminal UIs in Go
Templ for TUIs — familiar web syntax compiles to pure Go, no reflection or runtime parsing.

Templ-inspired declarative syntax for TUIs beats bubbletea's imperative model.
Go developers building terminal applications and CLIs
Bubble Tea · Templ (web framework) · Lipgloss
Here are some other features in the framework:
- It supports reactive state with State[T]. You change a value and the framework redraws for you. You can also forego reactivity and simply use pure components if you would like.
- You can render out a single frame to the terminal scrollback if you don't care about UIs and just want to place a box, table, or other styled component into your stdout. It's super handy and avoids the headache of dealing with the ansi escape sequences directly.
- It supports an inline mode that lets you embed an interactive widget in your shell session instead of taking over the full screen. With it you can build things like custom streaming chat interfaces directly in the terminal.
- I built full editor support for the new filetype. I published a VS Code and Open-VSX extension with completion, hover, and go-to-definition. Just search for "go-tui" in the marketplace to find them. The repo also includes a tree-sitter grammar for Neovim/Helix, and an LSP that proxies Go features through gopls so the files are easy to work with.
There are roughly 20 examples in the repo covering everything from basic components to a dashboard with live metrics and sparklines. I also built an example wrapper for claude code if you wanted to build your own AI chat interface.
Docs & guides: https://go-tui.dev
Repo: https://github.com/grindlemire/go-tui
I'd love feedback on the project!
Templ for TUIs — familiar web syntax compiles to pure Go, no reflection or runtime parsing.
Yet another screenshot-to-code tool competing with v0.dev and Builder.io.
Yet another UI-to-code wrapper when v0.dev and Builder.io already exist.
Yet another screenshot-to-code tool when v0 and Builder.io already dominate this space.
Declarative Web Components, but lit, Stencil, and native APIs already dominate.
Markdown TUI that actually lets you edit, not just view.