name: raise-pr description: Step-by-step workflow for committing staged changes and opening a pull request in the lightspeed-service repo. disable-model-invocation: true
Create a PR
Step 1: Branch
git fetch upstream
git branch --show-current
git log --oneline upstream/main..HEAD
git diff upstream/main --stat
gh pr list --head "$(git branch --show-current)" --state open
Present the summary and ask before proceeding:
"You are currently on branch
<branch>. It has<N>commit(s) ahead ofupstream/maintouching:<files>. [If an open PR exists]: This branch already has an open PR:<url>. Pushing here would add commits to that existing PR. Should I create a new branch fromupstream/main(recommended), or use the current branch?"
Do not continue until the user answers.
If creating a new branch — git carries uncommitted changes automatically:
git fetch upstream
git checkout -b <type>/<short-description> upstream/main
# cherry-pick intended commits from the old branch if needed
git cherry-pick <sha1> <sha2> ...
Never branch from origin/main — the fork may have stale commits that will appear in the PR.
Step 2: Pre-commit checks
Run in order and fix all failures before proceeding:
make test-unitmake test-integrationmake verify- Confirm 90%+ coverage is maintained for changed code
Step 3: Commit and push
If a Jira issue ID has not been provided, ask the user for it before proceeding.
Commit message: short imperative sentence, no period, no conventional prefix, no Jira ID.
git add -A # or only the relevant files
git commit -m "<message>"
git push -u origin HEAD
Step 4: Open the PR
Title format: <JIRA-ID>: <same short imperative sentence as commit>
Read .github/PULL_REQUEST_TEMPLATE.md and populate all sections:
- Description — what the change does and why, derived from the diff
- Type of change — tick the relevant checkbox(es)
- Related Tickets & Documents —
Closes #<github-issue>if it resolves one; always link the Jira ticket- Ticket links are in the format: https://issues.redhat.com/browse/<JIRA-ID>
- Checklist — tick what applies; leave unticked items that genuinely don't apply
- Testing — describe how the change was verified
gh pr create --title "<JIRA-ID>: <description>" --body "$(cat <<'EOF'
<populated template>
EOF
)"
Return the PR URL to the user when done.