mcpField
C
create-pr

create-pr

github.com/openharmonyinsight开发3687 次安装12 周前更新
代码仓库

关于 create-pr

create-pr 是一个平台无关的自动化 Pull Request 工作流 Skill,可分析代码变更并生成 Issue 与 PR 描述,随后按配置提交、推送和创建条目。它支持 GitCode、GitLab 与 GitHub,并为提交添加 DCO 签署。

主要功能

  1. 01分析 diff 中的函数、类和文件变更
  2. 02生成结构化 Issue 与 PR 描述
  3. 03提交时自动添加 DCO 签署
  4. 04自动推送并创建 Issue 和 PR
  5. 05API 不可用时回退到网页创建

适用场景

  1. 01根据代码变更生成 PR 说明
  2. 02为提交添加 DCO 签署
  3. 03自动创建并关联 Issue 与 PR
  4. 04仅分析变更而不提交

安装

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

$npx skills add https://github.com/openharmonyinsight/openharmony-skills --skill create-pr

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

包含的文件

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

references/
commit-message-guide.md
common-issues.md
platform-apis.md
pr-description-template.md
scripts/
full_auto_pr.py
repo_api.py

详细介绍

创建 PR 技能 v7.0.0

与平台无关的自动化 PR 工作流:

  1. 分析代码变更并检测逻辑变更(函数/类 + 文件统计)
  2. 自动生成 Issue 和 PR 的标题与描述
  3. 自动提交带 DCO 签署(Signed-off-by)
  4. 自动推送
  5. 自动创建 Issue(可选,通过 API)
  6. 自动创建关联 Issue 的 PR(Fixes #id)

快速开始

1) 配置令牌(一次性设置,用于 API 功能)

该脚本通过配置支持多个平台:

# For GitCode/GitLab
git config --global gitcode.token "your_token"

# For GitHub
git config --global github.token "your_token"

# Or use environment variables
export GITCODE_TOKEN="your_token"
export GITHUB_TOKEN="your_token"

令牌权限:api、read_api、write_repository

2) 运行
python scripts/create-pr/full_auto_pr.py

功能说明

  • 深入分析 git diff 中的变更
  • 检测:
    • 新增/修改/删除的函数
    • 新增/修改/删除的类
    • 变更最多的文件及其行数统计
  • 根据实际差异生成结构化的 Issue 和 PR 描述
  • 自动添加 DCO 签署(Signed-off-by: Name <email>)
  • 推送到远程仓库
  • 通过平台 API 创建 Issue 和 PR(配置后)
  • 将 PR 关联到 Issue(添加 Fixes #id)
  • API 不可用时回退到 Web 界面

使用选项

python scripts/create-pr/full_auto_pr.py --target main
python scripts/create-pr/full_auto_pr.py --no-issue
python scripts/create-pr/full_auto_pr.py --no-commit
python scripts/create-pr/full_auto_pr.py --no-push
python scripts/create-pr/full_auto_pr.py --analyze-only

输出内容

生成的 Issue 描述:

  • 摘要 + 变更类型
  • 受影响的组件
  • 新增/修改/删除的函数和类
  • 关键文件变更及增减行数
  • 文件类型统计
  • 提交历史
  • 差异统计

生成的 PR 描述:

  • 摘要(根据提交生成)
  • 变更(按函数/类和组件分组)
  • 测试计划
  • 关联 Issue(Fixes #id)

文件

create-pr/
├── SKILL.md
├── CHANGELOG.md
├── README.md
├── examples/
│   └── example-workflow.md
├── references/
│   ├── commit-message-guide.md
│   ├── pr-description-template.md
│   ├── platform-apis.md
│   └── common-issues.md
└── scripts/
    ├── repo_api.py         # Platform-agnostic API client + analyzer
    └── full_auto_pr.py     # End-to-end automation

平台支持

该脚本会根据 Git 远程仓库 URL 自动检测平台:

  • GitCode/GitLab:使用兼容 GitLab 的 API v4
  • GitHub:使用 GitHub REST API v3
  • 其他平台:回退到基于 Web 的 PR 创建方式

注意事项

  • **DCO(开发者来源证明)**会自动添加到提交消息中
    • 需要设置 git config user.name 和 git config user.email
    • 为每次提交添加 Signed-off-by: Name <email> 行
    • 确保 PR 通过 DCO 验证检查
  • 如果未配置平台 API 或 API 调用失败,脚本会打开浏览器以便手动创建 PR
  • 令牌可通过 Git 配置、环境变量或 ~/.platform-token 文件设置

评论

支持 Markdown