This file is the maintainer playbook for shipping a GitHub Release.
Every release should publish:
init-project.shframework.tar.gzchecksums.txtRELEASE_NOTES.md
Already automated:
- release input validation
- asset build
- checksum generation
- copying versioned release notes into the release bundle
Still manual:
- creating the Git tag if needed
- creating the GitHub Release
- attaching built assets
- publishing the release
scripts/validate-release.shThis checks:
- required files exist
- bash scripts parse
CHANGELOG.mdcontains the current versionrelease-notes/v<version>.mdexists and matches the current version
scripts/build-release.shOr explicitly:
scripts/build-release.sh 5.0.0Output:
dist-release/<version>/
init-project.sh
framework.tar.gz
checksums.txt
RELEASE_NOTES.md
- Ensure
mainis clean. - Run
scripts/validate-release.sh. - Run
scripts/build-release.sh. - Review
dist-release/<version>/RELEASE_NOTES.md. - Create tag
v<version>if it does not already exist. - Create GitHub Release from
v<version>. - Use release-notes/GITHUB_RELEASE_v5.0.0.md as the release body template and adjust the version if needed.
- Upload:
dist-release/<version>/init-project.shdist-release/<version>/framework.tar.gzdist-release/<version>/checksums.txtdist-release/<version>/RELEASE_NOTES.md
- Verify a standalone install from the published release assets.
The public single-file installer.
The payload archive for standalone installs. It must contain one top-level folder named claude-code-starter/ and include:
.claude/scripts/CLAUDE.mdmanifest.md.gitignoreREADME.mdCHANGELOG.md
SHA-256 checksums for release verification.
The versioned note that ships with the assets.