关于 ruby-commit-message
面向 Ruby 和 Rails 开发者的提交信息编写技能,遵循 Conventional Commits 格式,并指导撰写便于调试理解的变更说明。
主要功能
- 01使用 Conventional Commits 类型
- 02编写祈使语气的主题行
- 03主题行控制在 70 字符内
- 04在正文说明动机和影响
- 05按需添加页脚和 AI 署名
适用场景
- 01为后续调试说明错误修复
- 02记录 Rails 功能变更
- 03说明破坏性变更或工单引用
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ lucianghinda/ superpowers-ruby --skill ruby-commit-message安装后在 Claude Code 中输入/ruby-commit-message确认已加载。
详细介绍
Ruby 提交消息
概述
按照 Conventional Commits 规范编写结构化的提交消息。正文应帮助初级 Ruby on Rails 开发者在调试时理解变更。
格式
<type>(<scope>): <subject>
<body>
<footer>
快速参考 — 提交类型
| 类型 | 用途 |
|---|---|
feat | 新功能 |
fix | 修复 Bug |
refactor | 重构(不改变行为) |
perf | 性能改进 |
docs | 仅文档变更 |
test | 添加或修正测试 |
build | 构建系统或依赖项 |
ci | CI 配置 |
chore | 维护任务 |
style | 代码格式调整(不改变逻辑) |
revert | 撤销之前的提交 |
meta | 仓库元数据 |
license | 许可证变更 |
主题行规则
- 使用祈使语气:“Add”“Fix”“Update”“Remove”
- 使用现在时:“Add feature”,而不是 “Added feature”
- 首字母大写,末尾不加句号
- 最多 70 个字符
- 范围(可选):描述代码库部分的名词,例如
(api)、(auth)
正文指南
用几句话说明,按每行 72 个字符换行,并在主题行后留一个空行。面向初级 Ruby 开发者,使用他们在调试时能理解的简单语言。 补充有助于初级 Ruby 开发者理解变更影响及变更原因的信息。
- 原因 — 动机、问题或用户影响。有相关上下文时,请结合上下文说明。
- 变更内容 — 简要说明即可;差异内容已经展示了具体实现方式
- 实现方式 — 仅在实现细节未体现在代码或代码命名中时说明
有上下文支持时,指出权衡取舍。不要臆造细节。
页脚与 AI 署名
Fixes TICKET-123 # or: Fixes #123, Refs TICKET-123
BREAKING CHANGE: ... # for breaking changes; use ! in type too: feat(api)!:
Co-Authored-By: <AI Name> <email> # when AI generated the change
不要在主题或正文中添加 “Generated by AI” 或 “Written with Claude”。仅使用 Co-Authored-By。
示例
安全/授权修复
fix(api): Scope report access to current user
Report.find allowed any authenticated user to view any report by ID.
Querying through current_user.reports makes Rails raise RecordNotFound
(404) if the report doesn't belong to the requester.
新功能
feat(alerts): Add Slack thread replies for alert updates
When an alert is updated or resolved, post a reply to the original
Slack thread. This keeps related notifications grouped together.
Refs GH-1234
破坏性变更
feat(api)!: Remove deprecated v1 endpoints
Remove all v1 API endpoints deprecated in version 23.1.
Clients should migrate to v2 endpoints.
BREAKING CHANGE: v1 endpoints no longer available
常见错误
| 错误 | 修正 |
|---|---|
| 正文脱离上下文解释实现方式 | 只有在有助于调试时才说明实现方式 |
| 主题描述实现过程(“将 X 更改为 Y”) | 使用祈使语气:“Fix X”“Add Y” |
| 正文重复差异内容 | 解释变更原因 |
| 主题超过 70 个字符 | 缩短范围或改写 |
| 正文中出现 “Generated by AI” | 页脚仅使用 Co-Authored-By |
评论
支持 Markdown