mcpField
C
create-pull-request

create-pull-request

github.com/hrdtbs开发043 次安装17 周前更新
代码仓库

关于 create-pull-request

使用 `gh` CLI 创建 Pull Request 的工作流技能,指导检查仓库状态、分支和标题规范及 PR 正文,并要求执行创建命令前先确认。

主要功能

  1. 01创建前检查仓库状态
  2. 02审查差异与分支状态
  3. 03分支命名和标题规范
  4. 04按仓库 PR 模板填写
  5. 05创建前确认命令

适用场景

  1. 01为功能分支创建 PR
  2. 02提交前检查变更
  3. 03拟定 Conventional Commits 标题
  4. 04填写 PR 模板

安装

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

$npx skills add https://github.com/hrdtbs/agent-skills --skill create-pull-request

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

详细介绍

创建拉取请求

此技能可确保使用 gh CLI 正确创建拉取请求,并遵循分支命名、提交格式和 PR 模板。

创建 PR 前(预检清单)

运行 gh pr create 前,请先检查仓库状态。向用户说明这些检查为何有助于保持 Git 历史整洁、让评审流程更顺畅:

  1. **检查未提交的更改:**是否有未提交的更改?(运行 git status。)如果有,询问用户是要提交还是暂存这些更改。
  2. **检查自己的差异:**更改是否符合 PR 的意图?(运行 git diff main...HEAD 或类似命令。)创建 PR 前不要跳过差异审查,以便发现意外包含的内容,例如机密信息或调试语句。
  3. **检查分支:**当前是否位于正确的分支?确保从功能分支发起 PR,而不是直接从 main 或 master 发起,以免意外合并未完成的工作。
  4. **推送分支:**创建 PR 前,确保已将分支推送到远程仓库(git push -u origin <branch-name>),否则 gh CLI 会失败。

预期输出

用户要求创建 PR 时,清楚说明你将采取哪些步骤来检查仓库和分支状态。检查完成后,提供将要执行的确切 gh pr create 命令,并等待用户确认后再继续。

分支和标题规范

  • **分支命名:**使用 type/issue-number-slug 或 type/slug。
    • 有效类型: feat、fix、docs、refactor、chore。
    • 示例: feat/123-add-login、fix/memory-leak。
  • **PR 标题:**遵循 Conventional Commits 格式,以确保变更日志准确无误。
    • 格式: <type>[optional scope][optional !]: <description>
    • 示例 1: feat(auth): add OAuth2 login
    • 示例 2: fix(api): resolve race condition in user fetch

PR 正文和模板

**重要:**如果仓库中存在 PR 模板 .github/pull_request_template.md,请阅读并使用该模板。按照模板结构编写 PR 正文,有助于评审者理解你的更改。

如果没有模板,请清晰、简洁地概述:

  1. PR 的作用。
  2. 更改原因(解决的问题)。
  3. 测试步骤或评审者需要注意的事项。

常见问题

  • 避免使用含糊的 PR 标题(例如“更新文件”“修复错误”)。评审者和自动化变更日志生成工具需要从标题中立即了解上下文。请遵循 Conventional Commits(例如 fix(auth): resolve token expiration issue),让意图一目了然。这样维护者就能快速了解更改范围。
  • 不要跳过或删除 PR 模板。.github/pull_request_template.md 中的模板用于收集必要的合规信息、测试覆盖情况或评审清单。请完整填写,以减轻维护者的认知负担并加快评审进度。
  • 不要在审查差异前创建 PR(例如使用 git diff main...HEAD)。必须仔细检查差异,避免意外包含调试语句(console.log、print)、机密信息(.env 文件)或完全无关的文件。这有助于确保代码整洁、安全。
  • 不要想当然地认为目标分支是 main 或 master。创建 PR 前请确认基础分支。针对错误分支创建 PR(例如以发布分支而非集成分支为目标)可能导致令人困惑的合并冲突或意外部署。请确保目标分支正确。

示例

示例 1:为功能创建拉取请求 输入:我想为分支“feat/login”创建一个 PR,该分支添加了登录页面。 输出:首先,检查是否有未提交的更改,并在需要时推送分支。然后运行:

gh pr create --title "feat(auth): add login page" --body "## What the PR does\nAdds a new login page component to handle user authentication.\n\n## Why\nResolves issue #123 where users couldn't log in."

示例 2:没有模板时为错误修复创建 PR 输入:为内存泄漏修复创建一个 PR。 输出:

gh pr create --title "fix(core): resolve memory leak in event listener" --body "Fixes a memory leak caused by not removing event listeners in the core module. Ensure to test by monitoring memory usage while spamming events."

命令参考

使用 gh CLI 创建 PR:

gh pr create --title "feat(scope): your descriptive title" --body "Your descriptive body following the template"

评论

支持 Markdown