Skip to content

awesome-tuis

awesome-tuis (Justin Garrison / rothgar) is a community master-index of terminal user interface projects — applications, dashboards, games, and, most usefully for KN-86, a dedicated Libraries section organized by implementation language. It is the most complete single discovery surface for the TUI-library landscape, and it is the spine from which tui-library-shortlist.md draws its candidate set.

The Libraries section (by language) captures the field KN-86 cares about:

  • Python: Textual, Rich, urwid, prompt_toolkit, py_cui, pytermgui
  • Go: Bubble Tea, tview, tcell, gocui, termui (./termui.md), termdash
  • C: ncurses, tuibox (./tuibox.md), AnbUI, notcurses, termbox/termbox2
  • C++: FTXUI, FINAL CUT, tvision (Turbo Vision revival), imtui (immediate-mode + Dear ImGui), Tui Widgets
  • Rust: Ratatui (the successor to tui-rs), cursive
  • .NET: Terminal.Gui, Spectre.Console
  • JS/TS: blessed, Ink (./ink.md), terminal-kit
  • plus Crystal, Janet, Nim, Zig, and others

It also indexes a large set of applications by category (file managers, system monitors, music players, git clients, games), which is a feeder list for future inspiration-tier research the way terminals-are-sexy.md is.

This is a pointer entry, captured for discovery value, not for a build recommendation. KN-86’s substrate decision is already made — ADR-0027 (ratified 2026-06-07) adopts termbox2 as the C-internal cell-grid display + input layer, with a constrained KN-86 cell API exposed to KEC Lisp cartridges (see “CLAUDE.md Canonical Hardware Specification” and tui-library-shortlist.md). So awesome-tuis is not a “pick our framework” surface for KN-86. Its value is twofold:

  1. A mining surface for future research batches. When the question is “has anyone solved X in a TUI” (a structural editor pane layout, a sparkline algorithm, a dense-data refresh pattern, a focus-management implementation), the language-organized library list plus the categorized application list is the fastest way to find prior art to read.
  2. A cross-check on the shortlist. Every library evaluated in tui-library-shortlist.md appears here; awesome-tuis is the source-of-record that the shortlist’s candidate set is complete and not idiosyncratic.

Per the research-folder convention (see terminals-are-sexy.md, the sibling link-farm entry), the curation can age — entries point at projects that drift in maintenance status — so the index is a map, not a recommendation. Read it to find candidates; evaluate the candidates against KN-86’s actual constraints (C11, no C++, Fe VM, single-file vendoring, Pi Zero 2 W) in the shortlist.

No image downloaded — this is a text index / discovery surface, not a visual source.

  • Cross-link tui-library-shortlist.md — the architect’s evaluation that consumes this index’s library set and renders verdicts against KN-86’s stack.
  • Cross-link terminals-are-sexy.md — the other curated-list/link-farm entry in this folder; that one is broader (terminals, shells, multiplexers, dotfiles), this one is library/app-focused and language-organized.
  • Cross-link termui.md, tuibox.md, ink.md — three libraries indexed here that already have dedicated research entries.
  • Rust note: awesome-tuis surfaces Ratatui as the dominant Rust TUI library — which matches the observation across this whole research batch that Ratatui shows up under the most application projects (csvlens, logradar, and others). The shortlist treats that dominance explicitly.