ruby-cli
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
- Starting a new CLI gem from scratch? See references/bootstrap.md
- Adding commands or subcommands? See references/patterns.md
- Thor syntax reference? See references/patterns.md
- Rich terminal UI with Gum? See references/gum.md
Core Principles
- Use compact class declarations:
class GemName::Cli::Main < GemName::Cli::Base - Use
extend selfinstead ofmodule_functionfor 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/Outputto UI modules (stdout is intentional in CLIs) - Gum requires
brew install gumon the host machine