Release a new version (patch, minor, or major). Use when: user asks to release, bump version, publish, cut a release, do a patch/minor/major release, tag a version.
Bump the version, update the changelog, commit, tag, and push — triggering the existing GitHub Actions release workflow (.github/workflows/release.yml) which builds macOS + Windows packages and publishes a GitHub Release.
npm run test)npm run lint && npm run typecheck)main branchRun these checks and stop if any fail:
# Ensure clean working tree
git status --porcelain
# Ensure on main branch
git branch --show-current
# Run full CI checks
npm run typecheck
npm run lint
npm run test
If the working tree is dirty, commit the pending changes first using the commit-push skill procedure (Steps 1–3 only, no push yet), then continue with the release.
Ask the user (if not already specified) which bump type:
Use npm version which updates package.json and creates a git tag:
npm version <patch|minor|major> --no-git-tag-version
Read the new version from package.json to use in later steps.
Insert a new version section at the top of Docs/CHANGELOG.md, below the intro line and above the previous version entry. Use this format:
## <new-version> — <YYYY-MM-DD>
### <Category>
- <Description of change>
Categories to use (omit empty ones):
To populate the changes, review commits since the last tag:
git log $(git describe --tags --abbrev=0 2>/dev/null || git rev-list --max-parents=0 HEAD)..HEAD --oneline
If there are no tags yet, review all commits.
git add package.json package-lock.json Docs/CHANGELOG.md
git commit -m "release: v<new-version>"
git tag v<new-version>
Push immediately — do NOT ask for confirmation. The user requested a release, so push is implicit.
git push origin main
git push origin v<new-version>
The tag push triggers .github/workflows/release.yml which:
Direct the user to check the Actions tab:
https://github.com/waldo1001/waldo.TeamsChatNotifier/actions
If something goes wrong after pushing:
# Delete remote tag
git push origin --delete v<version>
# Delete local tag
git tag -d v<version>
# Revert commit
git revert HEAD
git push origin main