GitHub Release Notes
Generate a clean commit list between two git tags for GitHub release notes.
Instructions
- If a tag argument is provided (e.g.
/gh-release-notes v7.2.0), use it. Otherwise, ask the user for the git tag. - Find the previous tag by running
git tag --sort=-v:refnameand picking the tag immediately after the provided one in the sorted list. - Run
git log --pretty=oneline <previous_tag>...<provided_tag>to get the commit list. - Remove any commits containing
[release]from the output. - Output the remaining commits as a clean list, keeping the
git log --pretty=onelineformat: each line starts with the full commit sha followed by the commit message. - Ask the user for confirmation before creating the release. Show them the exact release name (same as the tag) and the exact body (the clean commit list from step 5). Do NOT proceed without explicit confirmation.
- After confirmation, create the GitHub release using
gh release create <tag> --title "<tag>" --notes "<commit list>". The release title must be the tag name and the body must be the exact clean list from step 5. Do NOT include a Co-Authored-By line or any tool attribution.