PR Committer
Use bundled script scripts/pr-commiter for a deterministic commit that enforces branches and PR creation.
Flow
- Preflight
git status --porcelain=v1 -bgit branch --show-current- If merge/rebase/cherry-pick in progress, stop.
- If on protected branch, the script will create a new branch automatically.
- Pick files
- Use explicit paths only. Never use
.. - If unsure, list candidates from
git statusand ask for selection.
- Run commit script
./scripts/pr-commiter commit -m "type(scope): summary" -- path/to/file1 path/to/file2- If you need a dry run:
./scripts/pr-commiter plan -m "type(scope): summary" -- path/to/file1 - If PR should be skipped: add
--no-pr - If PR creation needs push: add
--push(explicit consent)
Flags
--reset-stagedclear existing staged changes before staging listed paths--no-prskip PR creation--pushpush branch before creating PR--force-lockremove stale.git/index.lockand retry--jsonmachine-readable output--dry-runvalidate + plan only
Behavior
- Stages only provided paths.
- Refuses merge/rebase/cherry-pick in progress.
- Creates a new branch if current is protected or detached.
- Refuses if staged changes exist unless
--reset-staged. - Fails if nothing staged for provided paths.
- Creates PR via
ghunless--no-pr. Requires--pushif no upstream. - Uses
.committerrcfor policy.
Errors
- Quote exact error text back to user.
- Ask for next action if blocked.
Optional verification
git show --stat --oneline HEADgit status --porcelain=v1 -bgh pr view --json url --jq '.url'