make-pr
Make PR
Options
Derive base, ticket, issue, and title style from the request. Unspecified:
target main, no ticket, no issue, default title.
"target develop" / "base release-1" → that branch.
"ticket PROJ-123" / "prefix [PROJ-123]" → prepend [PROJ-123] exactly as supplied. Never infer a ticket or issue from branch names, commits, or conversation.
"issue 123" / "fixes #123" / "closes #123" → Closes #N footer, one line per issue; pasted issue URL → N from its /issues/<N> digits only, /pull/ never authorizes. Bare #123 alone is BLOCKED.
"conventional title" → conventional title rules. A named target, ticket, or issue without a usable value is BLOCKED.
1. Preflight
Resolve current branch, target ref, working-tree status, upstream state, and an
open PR for the branch; ignore closed PRs and block if several are open. Resolve
the push remote from configured upstream, otherwise origin, and fetch it
before comparing. Block on detached HEAD, current branch equal to target,
missing target, fetch failure, behind or diverged upstream, any uncommitted or
untracked file, or an open PR whose base differs from target.