| name | create-release |
| description | Creates a new Revela release by updating CHANGELOG.md, committing changes, and creating a git tag. Use when the user asks to create a release, prepare a release, bump the version, or tag a new version. |
| argument-hint | [version e.g. 0.5.0 or 0.5.0-beta.1] |
Create Release — Revela Project
Prepare and create a new release for Revela. Follow all steps in order.
Do NOT commit or push automatically — present changes and let the user decide.
Prerequisites
Before starting, verify:
- All tests pass (
dotnet test)
- No uncommitted changes (
git status)
[Unreleased] section in CHANGELOG.md has content
Step 1: Determine Version
Ask the user for the version number if not provided. Follow Semantic Versioning:
- Pre-release:
0.0.1-beta.15, 0.0.1-rc.1
- Stable:
1.0.0, 1.0.1, 1.1.0
Check the latest version in CHANGELOG.md. The new version must be higher than the previous one.
Step 2: Update CHANGELOG.md
The changelog follows Keep a Changelog format.
-
Replace ## [Unreleased] content with the new version and today's date:
## [Unreleased]
## [X.Y.Z-suffix] - YYYY-MM-DD
-
Add comparison link at the bottom of the file:
[Unreleased]: https://github.com/spectara/revela/compare/vX.Y.Z-suffix...HEAD
[X.Y.Z-suffix]: https://github.com/spectara/revela/compare/vPREVIOUS...vX.Y.Z-suffix
Update the existing [Unreleased] link to point to the new tag.
-
Verify the [Unreleased] section is now empty (ready for next development cycle).
Step 3: Present Changes
Show the user what was changed and suggest next steps:
git add CHANGELOG.md
git commit -m "Release vX.Y.Z-suffix"
git tag vX.Y.Z-suffix
git push origin main --tags
Do NOT execute these commands automatically. Let the user review and decide.
Note: Directory.Build.props does NOT need updating — the release workflow passes the version from the git tag via -p:Version= and -p:PackageVersion= build parameters.
Workflow Reference
The release pipeline (.github/workflows/release.yml) handles everything after the tag push:
- Validate — Version format and ordering
- Packages — Build and pack NuGet packages (CLI tool + plugins + themes + SDK)
- Build — Native executables for 5 platforms (win-x64, linux-x64, linux-arm64, osx-x64, osx-arm64)
- Sign — Keyless cosign signatures + SHA256SUMS
- Release — Create GitHub Release with all artifacts
- Publish NuGet — Push to NuGet.org (requires
nuget-org environment approval)
Additional workflows triggered after release:
deploy-website.yml — Deploy revela.website
Checklist
Before presenting to the user, verify: