Prompts-MCP 686 skills · ai / design / design-pattern / framework / fundamentals / habit / lang / tech-selection /mcp/sse
habit habit/pr/create-and-close.md medium

create-and-close

gh pr create --fill — SessionEnd hook 自动翻 In Review。Use when 改 CI / workflow / 评审涉及 `create-and-close` 的 PR。

gh pr createprclose自动翻
paths
  • .github/**
  • **

PR · 创建与关闭

创建 PR

gh pr create --fill

--fill 用第一个 commit 作为 PR title + 后续 commits 作为 body。

SessionEnd hook 自动行为

会话结束时(session_end.sh):

  1. 检查当前分支是否对应一个 Issue(manifest 反查)
  2. 检查是否有未推送的 commit
  3. 如有且 PR 不存在 → 自动 gh pr create --fill
  4. PR 创建后推 Status: In Progress → In Review

PR Body 标准格式

## What

简述本 PR 改动(≤ 3 行)

## Why

为什么改 / 解决什么问题(≤ 5 行)

## How

关键技术决策(如有特殊取舍)

## Related

Closes #54
- PRD: [project-index/modules/<module>/<MODULE_ID>-*.md](...)
- 设计:[design/<module>-sketch.html#<MODULE_ID>](...)

关闭 Issue

PR merge 后:

  1. GitHub 自动识别 Closes #N → 关闭 Issue
  2. Project workflow rule "Item closed → Set Status: Done" 触发
  3. 团队 dashboard CI hourly schedule 兜底(若上面没触发,跑 pr-sync-done

Merge 策略

策略 何时
Squash merge 默认(保持 main 分支线性)
Merge commit 大改动需保留中间历史
Rebase merge 不用(容易丢 commit 信息)

反例

# ❌ 手工 git push 不开 PR
git push origin feature

# ❌ PR description 留空 / 无 issue 关联
gh pr create --title "feat" --body ""

# ❌ 多模块塞一个 PR
# 一个 PR 改了 <MODULE_A> + <MODULE_B> + <MODULE_C>

自检

  • [ ] 用 gh pr create --fill 不手动?
  • [ ] PR body 有 What / Why / Closes #N?
  • [ ] 一 PR 一子模块?
  • [ ] Squash merge?

相关