mcpField
R
ruby-cli

ruby-cli

github.com/steveclarke开发36123 次安装今天更新
代码仓库

关于 ruby-cli

这项 Skill 指导使用 Thor 和 Zeitwerk 构建 Ruby 命令行工具,涵盖 gem 初始化、添加命令,以及使用 Gum 制作终端界面。

主要功能

  1. 01提供 CLI gem 初始化指引
  2. 02Thor 命令和子命令模式
  3. 03Zeitwerk 自动加载约定
  4. 04Thor 输出样式指引
  5. 05使用 Gum 构建丰富的终端界面

适用场景

  1. 01初始化 Ruby CLI gem
  2. 02为工具添加命令或子命令
  3. 03构建终端表格、提示或进度指示器

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/steveclarke/dotfiles --skill ruby-cli

安装后在 Claude Code 中输入/ruby-cli确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
bootstrap.md
gum.md
patterns.md

详细介绍

Ruby CLI 开发

使用 Thor 构建 Ruby CLI 工具来处理命令,使用 Zeitwerk 实现自动加载。

快速导航

核心原则

  • 使用紧凑的类声明:class GemName::Cli::Main < GemName::Cli::Base
  • 实用工具模块使用 extend self,而不是 module_function
  • 保持 Base 类精简——随着模式逐渐形成,再添加辅助方法

输出样式

基本输出请使用 Thor 内置的 say "message", :color。

丰富的终端 UI(标题、表格、加载动画、确认提示)请使用 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

设置方法和完整 API 请参阅 references/gum.md。

提示与注意事项

  • 在 UI 模块中添加 # rubocop:disable Rails/Output(CLI 中有意向标准输出写入内容)
  • gum gem 为常见平台捆绑了 gum 二进制文件;GUM_INSTALL_DIR 可指定其他位置的系统安装路径

评论

支持 Markdown