veeso/tui-realm

πŸ‘‘ A ratatui framework to build stateful applications with a React/Elm inspired approach

Rust

1,003

529 commits

updated Jul 29, 2026

See the code

README

tui-realm

logo

~ A ratatui framework inspired by Elm and React ~

Get started Β· Standard Library Β· Documentation

License-MIT Repo stars Downloads counter Latest version Ko-fi

CI Coveralls Docs



About tui-realm πŸ‘‘

tui-realm is a framework for ratatui to simplify the implementation of terminal user interfaces adding the possibility to work with re-usable components with properties and states, as you'd do in React. But that's not all: the components communicate with the ui engine via a system based on Messages and Events, providing you with the possibility to implement update routines as happens in Elm. In addition, the components are organized inside the View, which manages mounting/umounting, focus and event forwarding for you.

And that also explains the reason of the name: Realm stands for React and Elm.

tui-realm also comes with a standard library of components, which can be added to your dependencies, that you may find very useful.

Demo

See tui-realm in action in either the core examples or in the stdlib examples.

Features 🎁

  • ⌨️ Event-driven
  • βš›οΈ Based on React and Elm
  • 🍲 Boilerplate code
  • πŸš€ Quick-setup
  • 🎯 Single focus and states management
  • πŸ™‚ Easy to learn
  • πŸ€– Adaptable to any use case

Get Started

This is a monorepo of the following crates:

  • tuirealm: The core crate containing all basic functionality
  • tui-realm-stdlib: The standard library, which provides convenience wrappers for standard ratatui widgets
  • tuirealm_derive: A helper derive library to derive Component for components which just pass those functions to a underlying component
  • tui-realm-treeview: A Tree Component implementation
  • tui-realm-textarea: A Text Area Component implementation

Development

This repo uses just as the task runner. All build, lint, format, and test checks should go through the just recipes β€” they encode the exact flags used by CI.

just                          # list all recipes
just build_all                # build the workspace with all features
just test_all                 # run all tests with all features
just check_code               # rustfmt --check + clippy (CI-equivalent)
just publish_all              # publish all crates in dependency order

See Justfile and just/ for the full set of recipes.

Changelogs

See CHANGELOG.md.

console
crossterm
gui
ratatui
rust
stateful
stateful-tui
terminal
terminal-app
terminal-graphics
tui
tui-framework
tui-realm

veeso/tui-realm

πŸ‘‘ A ratatui framework to build stateful applications with a React/Elm inspired approach

Rust

1,003

529 commits

updated Jul 29, 2026

See the code

README

tui-realm

logo

~ A ratatui framework inspired by Elm and React ~

Get started Β· Standard Library Β· Documentation

License-MIT Repo stars Downloads counter Latest version Ko-fi

CI Coveralls Docs



About tui-realm πŸ‘‘

tui-realm is a framework for ratatui to simplify the implementation of terminal user interfaces adding the possibility to work with re-usable components with properties and states, as you'd do in React. But that's not all: the components communicate with the ui engine via a system based on Messages and Events, providing you with the possibility to implement update routines as happens in Elm. In addition, the components are organized inside the View, which manages mounting/umounting, focus and event forwarding for you.

And that also explains the reason of the name: Realm stands for React and Elm.

tui-realm also comes with a standard library of components, which can be added to your dependencies, that you may find very useful.

Demo

See tui-realm in action in either the core examples or in the stdlib examples.

Features 🎁

  • ⌨️ Event-driven
  • βš›οΈ Based on React and Elm
  • 🍲 Boilerplate code
  • πŸš€ Quick-setup
  • 🎯 Single focus and states management
  • πŸ™‚ Easy to learn
  • πŸ€– Adaptable to any use case

Get Started

This is a monorepo of the following crates:

  • tuirealm: The core crate containing all basic functionality
  • tui-realm-stdlib: The standard library, which provides convenience wrappers for standard ratatui widgets
  • tuirealm_derive: A helper derive library to derive Component for components which just pass those functions to a underlying component
  • tui-realm-treeview: A Tree Component implementation
  • tui-realm-textarea: A Text Area Component implementation

Development

This repo uses just as the task runner. All build, lint, format, and test checks should go through the just recipes β€” they encode the exact flags used by CI.

just                          # list all recipes
just build_all                # build the workspace with all features
just test_all                 # run all tests with all features
just check_code               # rustfmt --check + clippy (CI-equivalent)
just publish_all              # publish all crates in dependency order

See Justfile and just/ for the full set of recipes.

Changelogs

See CHANGELOG.md.

console
crossterm
gui
ratatui
rust
stateful
stateful-tui
terminal
terminal-app
terminal-graphics
tui
tui-framework
tui-realm

Project health

Overall

3.8/10

Maintained

1/10

Code review

4/10
OpenSSF Scorecard

Significant stargazers

(top 24 of 34)

Victor Borja

694 followers Β· starred May 2026

Adrian Garcia Badaracco

689 followers Β· starred Dec 2022

Ivan πŸ¦€

699 followers Β· starred Sep 2022

Jakub KozΕ‚owski

517 followers Β· starred Aug 2024