Community编程与开发github.com

Devolutions/IronRDP 提交与PR规范

遵循既定的提交与拉取请求约定。在创建提交、打开、编辑、审查或准备压缩合并 PR(包括请求提交、推送或打开 PR)时使用。

IronRDP 提交与PR规范 是什么?

该技能定义了一组严格的约定,用于规范 Git 提交信息和拉取请求(PR)的格式,旨在确保项目历史的一致性和可读性。它强制要求遵循 Conventional Commits 规范,并指导用户如何正确设置 PR 标题和初始正文,使其直接对应于压缩合并后的最终提交信息。技能涵盖了提交信息的类型选择(如 fix、feat、ci 等)、作用域推导、主题行长度限制、正文换行、脚注(如 Issue 引用)以及合作者署名等细节。此外,它还提供了 PR 管理的具体实践,包括如何更新标题和正文以反映演进中的实现、如何用后续评论展示变更的代码行数分布以辅助审查。该技能适用于使用 Git 进行协作开发的任何项目,尤其适合采用压缩合并(squash-and-merge)策略的仓库。它要求用户在创建或管理提交和 PR 时,严格检查标题和正文是否匹配,确保最终合并的提交信息准确、简洁且富有信息量。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Devolutions/IronRDP/tree/HEAD/.agents/skills/commit-and-pr-conventions

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

提交与PR约定

将 PR 标题和初始正文视为压缩合并将采用的精确提交信息。

提交信息

  • 首先阅读仓库说明。使用仓库本地的 commit-scope 技能推导作用域。若不可用,则使用明确的仓库规则,或省略作用域,切勿自行编造。
  • 遵循常规提交规范:<类型>[可选作用域][!]: <描述>。
  • 目标长度 50 个字符,并描述变更后的行为。不要为了达到该目标而省略仓库要求的作用域;当作用域使得无法达到 50 字符时,保持剩余描述尽可能简洁实用。
  • 用空行分隔主题、正文和脚注。
  • 对于独立提交,正文每行在 72 个字符处换行。解释为何需要此变更、如何解决问题以及实质性的副作用。
  • 将现有的工单键或链接放在脚注中,而非主题中:Issue: PROJECT-123。当存在相关问题时,遵循仓库特定的脚注格式。当不存在问题时,省略脚注,而非编造 Issue: N/A。
  • 添加适用的常规提交脚注以及合作者的 Co-authored-by: 姓名 <邮箱> 后记。
  • 根据受影响的面选择类型,而非根据变更是否修复缺陷。
  • 对于 CI、工作流和自动化变更(包括对该自动化的修复),使用 ci。
  • 对于产品或运行时错误以及对外公开 API 边界的非特性变更,使用 fix。
  • 对于特性,使用 feat;对于构建或依赖,使用 build;对于非产品工具或配置,使用 chore;仅限文档,使用 docs;对于非语义编辑,使用 style;对于内部重构,使用 refactor;对于测试,使用 test;对于性能,使用 perf。
  • 使用 ! 或 BREAKING CHANGE 脚注标记破坏性变更,而不改变原本准确的类型。
  • 保持每个未压缩的开发提交连贯且符合规范。
fix(storage): preserve collated indexes

Normalize server-expanded collations before comparing index definitions.

Issue: PROJECT-123

拉取请求

  • 将标题精确设置为预期的压缩提交主题。
  • 将初始正文精确设置为预期的压缩提交正文和脚注。排除仅 PR 的前言、清单和实现日志。
  • 不要手动换行 PR 正文;GitHub 会处理显示换行。
  • 保持永久历史记录简洁:记录动机、实质性行为和副作用。
  • 将实验、替代方案、广泛验证和实现时间线放在后续评论中。
  • 发布一条后续评论,列出变更的行数,至少分为生产代码、测试和其他文件,以便审阅者在阅读变更前了解变更的权重分布;如何统计和呈现由你决定,并在差异发生实质性变化时刷新它。
  • 随着实现的发展,更新标题和初始正文。
  • 在打开、更新或合并之前,将 标题 + 空行 + 正文 作为一条提交信息来阅读,并纠正任何不匹配。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

相关技能