MulmoClaude App Release
This skill creates a GitHub release for the MulmoClaude app (not individual npm packages).
IMPORTANT: App releases use v prefix tags (v0.2.0). Package releases use bare tags (@mulmobridge/cli@0.1.0). Never mix them.
Pre-release Checks
- Confirm branch: Must be on
mainwith a clean working treegit status git branch - Get current version and last release:
jq -r .version package.json gh release list --repo receptron/mulmoclaude --limit 5 - Ask the user: What version? (patch / minor / major) and confirm
Steps
Get today's date (MUST run
date, never guess):date +%Y-%m-%dCount changes since last app release:
# Find the last vX.Y.Z tag (not package tags) LAST_TAG=$(git tag -l 'v*' --sort=-v:refname | head -1) git log --oneline "$LAST_TAG"..HEAD --no-merges | wc -l git log --oneline "$LAST_TAG"..HEAD --no-merges | head -30Update
docs/CHANGELOG.md:- Add a new
## [X.Y.Z] - YYYY-MM-DDsection at the top (below the header) - Follow Keep a Changelog format
- Sections:
Highlights,Added,Changed,Fixed,Security,Breaking Changes(only if applicable) - Write concise bullet points — focus on user-visible changes
- If a previous release entry is misattributed (e.g., a package release using an app version), annotate it with "(package release)"
- Add a new
Update
package.jsonversion:# Edit package.json version field to the new versionCommit version bump (add files individually):
git add docs/CHANGELOG.md package.json git commit -m "chore: bump version to X.Y.Z + update CHANGELOG"Create git tag (WITH
vprefix for app releases):git tag vX.Y.Z git push origin main --tagsCreate GitHub release:
gh release create vX.Y.Z --repo receptron/mulmoclaude \ --title "vX.Y.Z — Short Description" \ --notes "$(cat <<'EOF' ## Highlights ### Feature 1 Description... ### Feature 2 Description... ## Breaking Changes - (if any) ## Full Changelog See [CHANGELOG.md](https://github.com/receptron/mulmoclaude/blob/main/docs/CHANGELOG.md#xyz---yyyy-mm-dd) for the complete list. EOF )"
Tag Convention
| Type | Format | Example |
|---|---|---|
| App release | vX.Y.Z |
v0.2.0 |
| npm package | @scope/name@X.Y.Z |
@mulmobridge/cli@0.1.1 |
NEVER use an app-style vX.Y.Z tag for a package-only release. If a previous release used the wrong convention, edit its title to add "(package release)" and correct the next release.
Important Rules
- MUST run
dateto get today's date — never guess - MUST update CHANGELOG before tagging
- MUST use
vprefix for app tags - MUST add files individually (never
git add -A) - MUST confirm version number with the user before proceeding
- Notes body MUST use single-quoted heredoc (
<<'EOF') — no backslash escaping of backticks