· via Hacker News – Front Page (hnrss.org)
Ito brings declarative terminal UIs to Lua with a live playground and LLM-ready docs
A new Lua library for building terminal user interfaces debuted on Hacker News with a browser playground that previews edits live, and it ships an ito.md guide written to be handed straight to an LLM.

A Lua library that treats the terminal as a UI toolkit
Ito, a new library for building terminal user interfaces in Lua, made its public debut in a Show HN post on Hacker News on 15 October, and the item appeared on the site's front page feed. Rather than linking to a bare repository, the announcement points to an interactive workshop hosted on the developer's site at uji.sh, where visitors can write Lua directly in the browser and watch a terminal interface take shape as they type.
Composition with stacks, text and state
According to the project page, an Ito program follows a familiar Lua shape: it begins with require("ito") and returns a function that builds a view. For values that change over time — the things an interface needs to react to — the library provides ito.state(value).
Layout is handled compositionally. Views are assembled from VStack and HStack containers, Text elements, and a set of controls documented in a companion file called ito.md. Arrangement and styling are applied through modifiers chained onto views, such as :spacing(1), :padding(2), :grow(), :bold() and :dim(). The overall design echoes declarative UI frameworks found in other languages, where a hierarchy of stacks and modifiers replaces imperative drawing code.
A playground that keeps working when your code doesn't
The workshop's main draw is its live preview. The project page explains that the preview updates as you edit, and that if an edit introduces an error, the last working version stays on screen instead of collapsing into a failure state. That behaviour is aimed squarely at iteration speed: developers can experiment freely without losing sight of what they had just built.
The site also includes a guided exercise called Input flow, which covers keyboard navigation, editing and cancellation — the mechanics that make a terminal interface feel interactive rather than passive. A fullscreen mode is available through an expand icon in the playground.
Documentation written for two audiences
One detail in the announcement stands out from the usual launch post. The project describes ito.md as a guide you can hand to your LLM, meaning the reference is formatted to be given to an AI assistant so that a model can build Ito views from the library's real API instead of guessing at it. It is a small but telling example of documentation being written for humans skimming a reference and for agents that need the full contract in a single pasteable file.
Why it matters
Lua already serves as the extension language inside a wide range of software, from editors to games, yet polished terminal UI tooling has historically clustered in other language ecosystems. A declarative, state-driven library with stack-based layout brings the ergonomic style of modern UI frameworks to that gap.
Just as significant is how the project is distributed. A browser playground with a forgiving live preview removes the install-it-first barrier that stops most people from trying a new library at all, and the LLM-oriented guide anticipates a workflow where the first thing many developers do with an unfamiliar tool is pass its manual to an assistant.
The announcement, sourced from a single Hacker News post and the project page, leaves practical questions open — including how Ito renders to the terminal, what dependencies it carries, and under what licence it ships. Those details will decide whether Ito grows into a durable option for Lua developers or remains a very well-packaged introduction.
- #lua
- #terminal-ui
- #developer-tools
- #tui