mcpField
R
release-engine

release-engine

github.com/igmarin开发2838 次安装4 周前更新
代码仓库

关于 release-engine

面向以 gem 发布 Rails 引擎或准备新版本的开发者的发布准备技能。它涵盖版本选择、测试、变更日志和升级说明、构建检查,以及发布前的审批。

主要功能

  1. 01选择补丁、次要或主要版本升级
  2. 02运行 RSpec 测试套件
  3. 03更新版本号和变更日志
  4. 04检查 gemspec 和构建内容
  5. 05发布前要求审批

适用场景

  1. 01准备 Rails 引擎 gem 发布
  2. 02评估版本变更的兼容性影响
  3. 03发布前验证 gem 构建

安装

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

$npx skills add https://github.com/igmarin/rails-agent-skills --skill release-engine

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

包含的文件

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

EXAMPLES.md
assets/
examples.md
release_checklist.md
release_notes_template.md

详细介绍

发布引擎

当任务是将 Rails 引擎作为 gem 发布或准备新版本时,使用此技能。

快速参考

版本升级适用场景操作
Patch修复缺陷和内部变更,不影响公开行为更新版本常量,在 Fixed 下记录
Minor向后兼容的功能和新的扩展点更新版本常量,在 Added/Changed 下记录
Major对 API、设置、路由、迁移、配置或受支持的框架版本进行不兼容变更更新版本常量,在 Changed/Deprecated 下记录;编写明确的升级说明

硬性门槛

DO NOT release without updating CHANGELOG and version file.

核心流程

  1. 确认范围和兼容性影响——这是 patch、minor 还是 major?
  2. 运行完整测试套件:bundle exec rspec。继续之前修复所有失败。
  3. 设置版本升级——只更新一次版本常量:在 lib/my_engine/version.rb 中使用 module MyEngine; VERSION = "1.2.0"; end。
  4. 更新变更日志和升级说明。
  5. 确认 gemspec 元数据和依赖项与已测试的 Rails/Ruby 版本一致。
  6. 试运行 gem 构建:gem build *.gemspec && gem push --dry-run *.gem。确认内容。
  7. 确认安装文档和 README 与此次发布一致;如有需要则更新。
  8. 请用户批准发布确切的 gem 名称和版本。准备发布不代表获得发布授权。
  9. 仅在获得批准后发布:gem push *.gem。

扩展资源

根据需要加载发布资料,并说明输出参考了哪些资料:

  • 编写发布验证清单或质量门槛时,读取 assets/release_checklist.md。
  • 起草 GitHub 发布说明、长篇公告或公开发布文案时,读取 assets/release_notes_template.md。
  • 仅当用户需要具体发布示例时,读取 assets/examples.md。

变更日志指南

  • 记录用户可见的变更,而非提交;按 Added/Changed/Fixed/Deprecated 分组。
  • 对于弃用项,说明移除计划和替代方案;至少在一个 minor 周期内保留弃用代码。
  • 如果升级引擎时需要更改宿主应用,即使版本升级为 minor,也要明确记录这些操作。

示例

## [1.2.0] - 2024-03-15
### Added
- `widget_count` config option to limit dashboard widgets (default: 10).
### Changed
- Minimum Rails version is now 7.0.

输出风格

  1. 版本升级——说明是 patch/minor/major,并明确解释原因。
  2. 版本常量——更新后的 lib/[engine_name]/version.rb。
  3. CHANGELOG 条目——置于 Added/Changed/Fixed/Deprecated 标题下。
  4. 升级说明——宿主应用的操作步骤(配置、迁移、依赖项)。
  5. Gemspec + 测试状态——确认元数据、文件和依赖范围;注明 bundle exec rspec 的通过/失败结果。
  6. 试运行输出——准确使用命令 gem build *.gemspec && gem push --dry-run *.gem,并验证内容(tar tf pkg/*.gem 或 gem contents)。
  7. 资料使用情况——说明加载了 assets/release_checklist.md、assets/release_notes_template.md、assets/examples.md 中的哪些资料,或明确说明无需加载。
  8. GitHub 发布说明——简洁的草稿,包含摘要、亮点、升级说明和验证状态。
  9. 发布阻碍——列出未解决的问题,或明确写明“无阻碍”。

集成

技能串联时机
document-engine为此次发布更新 README、设置说明或 API 文档时
upgrade-engine验证 Rails/Ruby 版本支持或弃用影响时
test-engine发布前确保测试通过,并与文档描述的行为一致时

评论

支持 Markdown