Ito - Build Terminal UIs in Lua

Show HN: Ito – Build Terminal UIs in Lua

Ito - Build Terminal UIs in Lua

Ito is a Lua library for creating interactive terminal user interfaces with minimal code. It provides reactive state management and a declarative component system, enabling developers to build everything from simple menus to complex forms. The example shows a to-do list app with keyboard navigation and text editing, all in a few lines of Lua. Ito handles rendering and input, so you can focus on logic. Ideal for CLI tools, dashboards, and games, Ito brings modern UI development to the terminal.

Ito makes building terminal UIs as easy as writing a few lines of Lua, letting you focus on your app's logic instead of the intricacies of terminal rendering.
  1. Yannik_Sc

    While I generally like Lua this code just looks .. not so Lua - like, it definitely is Lua, but it could look much better by utilizing language features like "Parenthesis-free calls":

    ui.Button "Button Text" {

    on_click = function()

    print("Hello world")

    end,

    disabled = true

    }

    or

    ui.VStack {

    padding = 31, -- Named key => option

    wrap = true,

    ui.Button "..." {}, -- Indexed by number => children

    }

    feels more Lua and slightly cleaner imo

  2. hollowturtle

    Great job! The declarative API looks sick! I'll try it. Sometimes I love to think that if our universe is really infinite, then somewhere there's a universe where the browsers supports native luajit scripting instead of javascript(and in another universe all of this plus array indexes starting from 0 ;)

  3. buffer_overlord

    Hqtui

More from this day

2026-10-15