A Deno module for building reactive, dependency-free Terminal User Interfaces with ready-to-use components.
Tui is a Deno module for creating Terminal User Interfaces (TUIs) that enables developers to build interactive, text-based applications directly in the terminal. It solves the problem of building reactive and cross-platform terminal interfaces without relying on external dependencies, offering a lightweight and flexible solution.
Deno developers and CLI tool creators who need to build interactive terminal applications with components like buttons and reactive state management.
Developers choose Tui for its dependency-free design, reactivity system, and styling flexibility, allowing seamless integration with preferred terminal styling modules while maintaining cross-platform compatibility.
🦕 Deno module for creating Terminal User Interfaces
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Tui has no external dependencies, making it lightweight and easy to deploy, as highlighted in its feature list and philosophy.
Uses signals and computed values for automatic UI updates, demonstrated in the example with Signal and Computed for dynamic button labels.
Agnostic to styling frameworks, allowing use of any terminal styling module like Crayon, providing freedom without vendor lock-in.
Fully supports keyboard and mouse input on Linux, macOS, Windows, and WSL, as detailed in the OS support table with specific workarounds for Windows.
Restricted to Deno, limiting compatibility with Node.js ecosystems and missing out on npm's extensive package library.
Offers basic ready-to-use components like buttons, but lacks the depth of widgets found in more mature TUI frameworks, which may require custom builds.
Requires integration with separate styling modules, adding setup complexity for developers who prefer pre-styled, opinionated frameworks.