ruby-cli

📁 steveclarke/dotfiles 📅 Jan 25, 2026
13
总安装量
2
周安装量
#25075
全站排名
安装命令
npx skills add https://github.com/steveclarke/dotfiles --skill ruby-cli

Agent 安装分布

claude-code 2
windsurf 1
opencode 1
cursor 1
antigravity 1

Skill 文档

Ruby CLI Development

Build Ruby CLI tools using Thor for commands and Zeitwerk for autoloading.

Quick Navigation

Core Principles

  • Use compact class declarations: class GemName::Cli::Main < GemName::Cli::Base
  • Use extend self instead of module_function for utility modules
  • Keep the Base class lean – add helpers as patterns emerge

Output Styling

For basic output, use Thor’s built-in say "message", :color.

For rich terminal UI (headers, tables, spinners, confirmations), use the Gum gem:

ui.header("Section Title")    # branded header with border
ui.success("Done!")           # green checkmark
ui.error("Failed")            # red X
ui.table(rows, columns: [...]) # formatted table
ui.spin("Working...") { ... } # spinner during work

See references/gum.md for setup and full API.

Tips & Gotchas

  • Add # rubocop:disable Rails/Output to UI modules (stdout is intentional in CLIs)
  • Gum requires brew install gum on the host machine