| name | release |
| description | Execute the difit release workflow when the user says "リリース" or asks to cut a release. Update CHANGELOG Unreleased from commits since latest tag, ask for explicit OK confirmation in Japanese, then release by moving the confirmed Unreleased section verbatim as the exact source of truth. |
| metadata | {"internal":true} |
Release Workflow
Follow this workflow for the current repository.
Prepare changelog draft
- Run
./scripts/get-changes-since-tag.sh.
- Categorize changes into these sections as needed:
Added, Changed, Deprecated, Removed, Fixed, Security, Thanks.
- Use script output rules:
- Use GitHub username from script output.
- Exclude
yoshiko-pg and renovate[bot] from Thanks.
- Include PR numbers when available.
- Use commit subject and body for categorization.
- Consolidate routine dependency-only updates, including grouped dependency updates, package manager bumps, and ordinary individual dependency bumps, into a single
Changed bullet formatted as - Update dependencies (#123 #124 #125); keep a separate bullet only when the dependency change is clearly user-facing beyond routine maintenance.
- Write the categorized content into
CHANGELOG.md under ## [Unreleased].
- Ask for user confirmation in Japanese.
Release after explicit OK
- The only allowed
CHANGELOG.md edits after OK are:
- insert the new version heading with today's date directly below
## [Unreleased]
- place the captured
Unreleased body under that new heading unchanged
- leave
## [Unreleased] empty
- update the bottom compare links for
Unreleased and the new version
- Run
npm version --no-git-tag-version patch.
- Move current
Unreleased content into a new version section with today's date.
- Update bottom links:
- Update
Unreleased compare link to new version tag.
- Add compare link for the new version.
- Commit
CHANGELOG.md and package.json with an English message: chore: release vX.Y.Z.
- Create tag
vX.Y.Z.
- Push
main and tags: git push origin main --tags.
- If push is rejected by non-fast-forward:
- Run
git pull --rebase origin main.
- Retry
git push origin main --tags.
- Build release notes from the new version section text in
CHANGELOG.md.
- Create GitHub release on origin:
gh release create vX.Y.Z --title "vX.Y.Z" --notes-file <notes-file>
Output to user
- Respond in Japanese.
- Report updated files, created tag, and GitHub release URL.
- Mention if any recovery step was required (for example, rebase due to non-fast-forward).