name: create-pr allowed-tools: Task, Bash(gh:), Bash(git:) description: 通过质量验证创建全面的GitHub拉取请求 argument-hint: [可选描述或问题参考] user-invocable: true
创建GitHub拉取请求
执行自动化的PR创建工作流,包括全面的质量验证和安全扫描。
上下文
- 当前git状态:!
git status - 当前分支:!
git branch --show-current - 未推送的提交:!
git log @{u}..HEAD --oneline 2>/dev/null || git log --oneline -5 - GitHub认证:!
gh auth status - 仓库变更:!
git diff --stat HEAD~1..HEAD 2>/dev/null || echo "No recent changes"
要求摘要
确保仓库准备就绪,状态干净且认证完成。在PR创建前完成所有质量检查(lint、测试、构建、安全)。使用自动关闭关键词链接相关问题,并应用准确的标签。完整检查清单请参见references/requirements.md。
阶段1:验证与分析
目标:验证仓库状态,分析变更,并识别阻碍。
操作:
- 从上下文中验证GitHub认证
- 检查分支状态和未推送的提交
- 分析提交历史是否符合常规提交规范
- 识别变更文件并确定PR范围
- 检测潜在阻碍(合并冲突、缺少测试等)
阶段2:质量与安全检查
目标:执行全面的质量验证和安全扫描。
操作:
- 运行项目特定的质量检查(命令见
references/quality-validation.md) - 执行安全扫描以检查敏感文件和硬编码密钥
- 根据标准验证提交消息格式
- 如果检查失败:遵循
references/failure-resolution.md中的失败解决流程 - 重新运行所有检查直到通过
阶段3:PR组装与创建
目标:创建具有适当结构、元数据和链接的拉取请求。
操作:
- 使用GitHub CLI识别并链接相关问题
- 生成PR标题(≤70字符,使用祈使句,无表情符号)
- 按照
references/pr-structure.md中的模板组装PR正文 - 基于文件变更应用自动标签
- 使用
gh pr create创建PR,包含所有元数据 - 向用户报告最终的PR URL和状态
参考
- 要求:
references/requirements.md- 创建前检查清单和提交标准 - 质量验证:
references/quality-validation.md- Node.js/Python验证命令 - PR结构:
references/pr-structure.md- 标题指南、正文模板、标签 - 失败解决:
references/failure-resolution.md- 代理协作以修复失败 - 示例:
references/examples.md- 提交消息示例