Awesome-omni-skill release
Create a release following Git Flow strategy. Use when preparing a release, bumping version, creating release branch, or when user says "release", "bump version", "prepare release", "ship version".
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/tools/release-majiayu000" ~/.claude/skills/diegosouzapw-awesome-omni-skill-release-640eb2 && rm -rf "$T"
manifest:
skills/tools/release-majiayu000/SKILL.mdsource content
Release Process
This skill guides the release process following Git Flow with automated CI/CD.
Release Flow Overview
develop ──▶ release/v{X.Y.Z} ──PR──▶ main ▲ │ │ ▼ │ (auto-release.yml) │ │ │ ▼ │ tag: v{X.Y.Z} │ │ │ ▼ │ (publish.yml) │ │ │ ▼ │ JSR publish │ │ └───────────── backmerge ◀──────────┘
Workflow
1. Ensure develop is ready
git checkout develop git pull origin develop git status
Verify all features for this release are merged.
2. Run full CI locally
deno task ci
All tests must pass before proceeding.
3. Determine version number
Follow semantic versioning:
- MAJOR (X.0.0): Breaking changes
- MINOR (0.X.0): New features, backward compatible
- PATCH (0.0.X): Bug fixes only
Check current version:
jq -r '.version' deno.json
4. Create release branch
git checkout -b release/v{NEW_VERSION}
5. Bump version
Use the project's bump script:
bash scripts/bump_version.sh
Or manually update
deno.json:
# Edit deno.json version field
6. Update CHANGELOG.md
Add release notes under new version heading.
7. Commit version bump
git add deno.json CHANGELOG.md git commit -m "chore: bump version to {NEW_VERSION}"
8. Push and create PR to main
git push -u origin release/v{NEW_VERSION}
Create PR:
release/v{NEW_VERSION} → main
Important: PR must be from
release/* branch directly to main for auto-release to trigger.
9. Merge triggers automation
When PR to main is merged:
creates tagauto-release.ymlv{NEW_VERSION}
publishes to JSRpublish.yml
10. Sync develop with main
After release is published, backmerge main to develop:
git checkout develop git pull origin develop git merge origin/main git push origin develop
This ensures develop has the version bump and CHANGELOG updates.
Checklist
- All features merged to develop
-
passesdeno task ci - Version number determined (semver)
- Release branch created from develop
- Version bumped in
deno.json - CHANGELOG.md updated
- PR to main created (from release/* branch)
- PR merged → auto-release creates tag
- Verify JSR publication
- Backmerge main to develop
Example: Release v1.8.0
# Prepare git checkout develop git pull origin develop deno task ci # Create release git checkout -b release/v1.8.0 bash scripts/bump_version.sh # Edit CHANGELOG.md git add deno.json CHANGELOG.md git commit -m "chore: bump version to 1.8.0" git push -u origin release/v1.8.0 # Create PR via GitHub # release/v1.8.0 → main (triggers auto-release on merge) # After merge and JSR publish, sync develop git checkout develop git pull origin develop git merge origin/main git push origin develop
Important Notes
- Never push directly to
main - Version in
must match tagdeno.json - Auto-release only triggers on
branch merge to mainrelease/* - JSR publish requires tag to be on main branch