Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
By lorismaz
Build beautiful, interactive CLI tools in Ruby using the charm-ruby ecosystem (Bubble Tea, Lipgloss, Bubbles, Huh, and more)
npx claudepluginhub lorismaz/charm-ruby-claude-pluginShare bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Expert CLI/TUI design consultant for command structure, visual design, accessibility, and UX patterns
RatatuiRuby TUI development for terminal user interfaces
Build powerful, stateful CLI interfaces for any GUI application using the cli-anything harness methodology.
Advanced Ink skills for building interactive terminal UIs with React components, hooks, and layout patterns.
Harness-native ECC plugin for engineering teams - 63 agents, 251 skills, 79 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses
v9.42.3 — Patch release for cursor-agent smoke checks in untrusted workspaces. Run /octo:setup.
Ruby LSP for Claude Code — code intelligence, diagnostics, and navigation for Ruby files
Build smooth, reactive Rails UIs using Turbo Morphing, View Transitions, and Stimulus optimistic UI patterns
Generic webhook channel plugin for Claude Code. Accept HMAC-authenticated webhooks from any external service with interactive pairing and reply capability.
Build beautiful, interactive command-line applications in Ruby using the charm-ruby ecosystem.
Charm Ruby is a collection of Ruby gems ported from Charm.sh's Go libraries by Marco Roth. It provides everything you need to build stunning terminal user interfaces:
| Gem | Purpose |
|---|---|
| bubbletea | Model-View-Update architecture for interactive apps |
| lipgloss | CSS-like terminal styling |
| bubbles | Pre-built components (spinners, inputs, lists, tables) |
| huh | Interactive forms with validation |
| glamour | Markdown rendering in terminal |
| harmonica | Physics-based spring animations |
| gum | Shell script interactions |
| bubblezone | Mouse event tracking and clickable zones |
| ntcharts | Terminal charts (sparklines, bar/line charts, heatmaps) |
Comprehensive knowledge for building CLI tools:
Triggered when you ask about building CLI tools in Ruby, terminal UIs, or any charm-ruby library.
| Command | Description |
|---|---|
/charm:init [name] | Scaffold a new charm-ruby CLI project |
/charm:add-component [type] | Add a Bubbles component to your project |
/charm:package | Prepare your CLI for RubyGems distribution |
Expert Ruby CLI architect that helps you:
Create a new project:
/charm:init my-awesome-cli
Add components as needed:
/charm:add-component list
/charm:add-component spinner
When ready to publish:
/charm:package
require "bubbletea"
require "lipgloss"
class CounterModel
include Bubbletea::Model
def initialize
@count = 0
@style = Lipgloss::Style.new.bold(true).foreground("#FF69B4")
end
def init
nil
end
def update(msg)
case msg
when Bubbletea::KeyMsg
case msg.string
when "q" then return [self, Bubbletea.quit]
when "up", "k" then @count += 1
when "down", "j" then @count -= 1
end
end
[self, nil]
end
def view
"Count: #{@style.render(@count.to_s)}\n\n↑/k inc • ↓/j dec • q quit"
end
end
Bubbletea.run(CounterModel.new)
In Claude Code, run these slash commands:
Add the marketplace:
/plugin marketplace add lorismaz/charm-ruby-claude-plugin
Install the plugin:
/plugin install charm-ruby@charm-ruby
The skill, commands, and agent will be automatically available after installation.
MIT