关于 create-pr
create-pr 是一个平台无关的自动化 Pull Request 工作流 Skill,可分析代码变更并生成 Issue 与 PR 描述,随后按配置提交、推送和创建条目。它支持 GitCode、GitLab 与 GitHub,并为提交添加 DCO 签署。
主要功能
- 01分析 diff 中的函数、类和文件变更
- 02生成结构化 Issue 与 PR 描述
- 03提交时自动添加 DCO 签署
- 04自动推送并创建 Issue 和 PR
- 05API 不可用时回退到网页创建
适用场景
- 01根据代码变更生成 PR 说明
- 02为提交添加 DCO 签署
- 03自动创建并关联 Issue 与 PR
- 04仅分析变更而不提交
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ openharmonyinsight/ openharmony-skills --skill create-pr安装后在 Claude Code 中输入/create-pr确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/commit-message-guide.mdcommon-issues.mdplatform-apis.mdpr-description-template.mdscripts/full_auto_pr.pyrepo_api.py详细介绍
创建 PR 技能 v7.0.0
与平台无关的自动化 PR 工作流:
- 分析代码变更并检测逻辑变更(函数/类 + 文件统计)
- 自动生成 Issue 和 PR 的标题与描述
- 自动提交带 DCO 签署(
Signed-off-by) - 自动推送
- 自动创建 Issue(可选,通过 API)
- 自动创建关联 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