用途:PR Committer 用于让智能体以确定性方式完成 Git 提交,并强制走分支与 PR 流程,避免使用 git add . 这类模糊暂存。核心是捆绑脚本 scripts/pr-commiter。
主要能力:仅暂存显式提供的路径;拒绝在 merge/rebase/cherry-pick 进行中操作;当前处于受保护分支或 detached 状态时自动新建分支;若已有暂存改动则拒绝,除非加 --reset-staged;若指定路径没有可暂存内容则失败;默认通过 gh 创建 PR,可用 --no-pr 跳过;无 upstream 时需 --push 才推送;策略由 .committerrc 控制。
使用方式:先做预检,运行 git status --porcelain=v1 -b 与 git branch --show-current,若处于 merge/rebase/cherry-pick 则停止。选文件时只用显式路径,绝不用 .;不确定时从 git status 列出候选并询问。提交命令:./scripts/pr-commiter commit -m "type(scope): summary" -- path/to/file1 path/to/file2。干跑:./scripts/pr-commiter plan -m "type(scope): summary" -- path/to/file1。跳过 PR 加 --no-pr;需要推送加 --push(需明确同意)。
标志:--reset-staged 暂存前列路径前清除已有暂存;--no-pr 跳过 PR;--push 创建 PR 前推送分支;--force-lock 删除陈旧的 .git/index.lock 并重试;--json 机器可读输出;--dry-run 仅校验与规划。
可选验证:git show --stat --oneline HEAD、git status --porcelain=v1 -b、gh pr view --json url --jq '.url'。
限制:出错时需原样引用错误文本并询问下一步;受保护分支、进行中的合并类操作、已有暂存改动等都会阻止提交。具体安装方式与更多配置细节暂未提供。