mcpField
C
create-pr

create-pr

github.com/oschina开发5138 次安装28 周前更新
代码仓库

关于 create-pr

create-pr 是一项技能,可分析分支变更、撰写符合 Conventional Commits 风格的标题和结构化说明,并在 Gitee 创建 Pull Request。它面向已配置 Gitee MCP 服务的贡献者,并要求提供仓库和分支信息。

主要功能

  1. 01比较源分支与目标分支
  2. 02分析变更文件和不兼容改动
  3. 03撰写结构化 PR 说明
  4. 04在 Gitee 创建 Pull Request
  5. 05可选关联 Issue

适用场景

  1. 01从功能分支准备 PR
  2. 02总结发布分支之间的变更
  3. 03将 Gitee Issue 关联到新 PR

MCP 相关

该技能使用已配置的 Gitee MCP 服务,包括分支比较和创建 Pull Request 的工具。运行时需要这些相关工具可用。

安装

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

$npx skills add https://github.com/oschina/gitee-agent-skills --skill create-pr

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

详细介绍

注意:如果本地已安装 mcporter,应使用 mcporter 调用 MCP 工具,而不是直接调用 MCP 工具。mcporter CLI 提供了更便捷的接口和更完善的错误处理。

通过 Gitee MCP 创建 PR

根据当前更改生成结构清晰的 Pull Request 描述,并将其提交到 Gitee。

先决条件

  • 已配置 Gitee MCP 服务(工具:create_pull、get_file_content、list_repo_issues、compare_branches_tags)
  • 用户必须提供:仓库所有者、仓库名称、源分支、目标分支(通常是 main/master)
  • 可选:关联的 Issue 编号

步骤

步骤 1:收集信息

向用户确认或根据上下文推断:

  • 源分支(head 分支)
  • 目标分支(base 分支,默认:master 或 main)
  • 此 PR 的核心目的(如果未说明,则根据提交信息或文件更改推断)
  • 是否关联 Issue(可选)
步骤 2:分析更改

使用 compare_branches_tags 获取源分支与目标分支之间的差异:

  • base:目标分支(例如 main 或 master)
  • head:源分支

分析返回的差异,以确定:

  • 哪些核心文件发生了更改
  • 添加或修改了哪些功能
  • 是否存在任何破坏性更改
步骤 3:生成 PR 标题

遵循 Conventional Commits 格式:

<type>(<scope>): <subject>

可用类型:

  • feat:新功能
  • fix:修复错误
  • refactor:代码重构
  • docs:文档更新
  • test:测试相关更改
  • chore:构建 / 依赖项 / 工具链更改

示例:feat(auth): add OAuth2 login support

步骤 4:生成 PR 描述

使用以下模板撰写结构清晰的描述:

## Summary

[Clear description of the purpose of this PR and the problem it solves]

## Changes

- [Change 1]
- [Change 2]
- [Change 3]

## Testing

- [ ] Unit tests pass
- [ ] Functional tests pass
- [x] [Completed test item]

## Related Issue

closes #[issue number] (if applicable)

## Notes

[Breaking changes, dependency upgrades, deployment considerations, etc. (if any)]
步骤 5:创建 PR

使用 create_pull 并通过以下参数创建 PR:

  • title:步骤 3 生成的标题
  • body:步骤 4 生成的描述
  • head:源分支
  • base:目标分支

创建成功后,向用户输出 PR 链接。

注意事项

  • 如果用户指定了关联的 Issue,请在描述中追加 closes #N,这样 PR 合并时会自动关闭该 Issue
  • PR 标题应简洁(少于 50 个字符),详细信息放在描述中
  • 如果用户提供的信息不足,请在创建前询问,以免创建出描述为空的 PR

评论

支持 Markdown