December 30, 2025
Press q to quit the drama
Charm Ruby – Glamorous Terminal Libraries for Ruby
Ruby gets a terminal glow-up—fans swoon, wrappers clash
TLDR: Charm’s stylish terminal tools arrive in Ruby, letting devs build slick command-line apps with ease. The community cheered, compared rival wrappers (Ratatui, notcurses), joked about “AI slopping,” and celebrated a Rails award—marking a real glow-up for Ruby’s terminal scene.
Ruby just got a makeover for the command line, and the crowd went full heart-eyes. Charm’s Go-born libraries now have Ruby gems—think Bubbletea for app flow, Lipgloss for styling, Bubbles for widgets, Glamour for Markdown sparkle, and more—aka terminal apps that look cute and feel slick. One fan, thomascountz, basically admitted he learned Go just for these tools, calling Ruby’s terminal scene “underdeveloped.” Now, the glow-up arrives, and it’s giving devs major main-character energy. Also, the creator Marco Roth just snagged a Rails Luminary award (link), so yes, there’s a little celebrity cameo.
Then the plot twist: a friendly wrapper war. Kerrick popped in to say he built a rival Ruby wrapper for a different TUI (terminal user interface) library—ratatui_ruby—so the comments turned into “who wrapped it better?” Meanwhile, riddley confessed to “AI slopping” a notcurses wrapper over the weekend and started pitching grid/flex layouts like it’s CSS cosplay. Charm’s own andreynering showed up to cheer (Ruby + Go stans unite), while purists quietly side-eye the cross-language bits since some gems link to Go under the hood. Jokes flew (“press q to quit the drama”), emojis sparkled (💄✨), and the vibe was pure “make terminals pretty again.”
Key Points
- •A suite of Ruby gems ports Charm’s Go terminal UI libraries to Ruby.
- •The gems cover core TUI framework (Bubbletea), styling (Lipgloss), components (Bubbles), markdown (Glamour), shell scripts (Gum), animations (Harmonica), charts (Ntcharts), and mouse tracking (Bubblezone).
- •Examples show building apps, handling key events, styling output, using spinners, creating forms, tables, and rendering markdown.
- •Ntcharts demonstrates streaming line chart rendering in the terminal.
- •Implementation note: some gems use native C extensions linking to Go shared libraries; others are pure Ruby.