<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/ratatuiruby-terminal-uis-in-ruby-ihnfpbmrg" -->

---
title: RatatuiRuby — Terminal UIs in Ruby | daily.dev
description: RatatuiRuby is a RubyGem that brings terminal user interfaces to Ruby by wrapping Rust&#x27;s Ratatui library. It supports both inline viewports for adding rich...
canonical: https://daily.dev/posts/ratatuiruby-terminal-uis-in-ruby-ihnfpbmrg
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: RatatuiRuby — Terminal UIs in Ruby | daily.dev
og:description: RatatuiRuby is a RubyGem that brings terminal user interfaces to Ruby by wrapping Rust&#x27;s Ratatui library. It supports both inline viewports for adding rich...
og:url: https://daily.dev/posts/ratatuiruby-terminal-uis-in-ruby-ihnfpbmrg
og:image: https://api.daily.dev/og/posts/IHnFPBMrg.png
og:image:alt: RatatuiRuby — Terminal UIs in Ruby
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# RatatuiRuby — Terminal UIs in Ruby

**[Hacker News](https://daily.dev/sources/hn)** · 7 min read · 0 upvotes · 0 comments

## Summary

RatatuiRuby is a RubyGem that brings terminal user interfaces to Ruby by wrapping Rust's Ratatui library. It supports both inline viewports for adding rich elements like spinners and menus to CLI scripts without taking over the screen, and full-screen TUI applications with keyboard and mouse input. The library includes built-in testing capabilities with headless terminal support, event injection, and snapshot comparisons. For complex applications, it integrates with Rooibos (MVU framework) or the upcoming Kit (component-based architecture). The native Rust extension provides performance while keeping Ruby's expressiveness for UI logic.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.ratatui-ruby.dev/>

---

Tags: [#testing](https://daily.dev/tags/testing), [#rust](https://daily.dev/tags/rust), [#ruby](https://daily.dev/tags/ruby), [#cli](https://daily.dev/tags/cli)

[View this post on daily.dev](https://daily.dev/posts/ratatuiruby-terminal-uis-in-ruby-ihnfpbmrg)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"RatatuiRuby — Terminal UIs in Ruby","url":"https://daily.dev/posts/ratatuiruby-terminal-uis-in-ruby-ihnfpbmrg","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/ratatuiruby-terminal-uis-in-ruby-ihnfpbmrg"},"datePublished":"2026-01-22T03:36:08.011Z","dateModified":"2026-01-22T03:36:30.257Z","description":"RatatuiRuby is a RubyGem that brings terminal user interfaces to Ruby by wrapping Rust's Ratatui library. It supports both inline viewports for adding rich...","image":"https://www.ratatui-ruby.dev/hero.gif","thumbnailUrl":"https://www.ratatui-ruby.dev/hero.gif","isAccessibleForFree":true,"articleSection":"Hacker News","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Hacker News","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn","url":"https://daily.dev/sources/hn"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/ratatuiruby-terminal-uis-in-ruby-ihnfpbmrg","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"testing,rust,ruby,cli","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Hacker News","item":"https://daily.dev/sources/hn"},{"@type":"ListItem","position":3,"name":"RatatuiRuby — Terminal UIs in Ruby"}]}
```

