一键导入
release
Create a new version release with git tag and GitHub Release. Use when user asks to release, publish, create a new version, or ship a release. (project)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create a new version release with git tag and GitHub Release. Use when user asks to release, publish, create a new version, or ship a release. (project)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | release |
| description | Create a new version release with git tag and GitHub Release. Use when user asks to release, publish, create a new version, or ship a release. (project) |
Create a new version release using prefixed tag-based workflow for monorepo plugins.
This is a monorepo with multiple plugins. First, identify which plugin to release:
| Plugin | Version File | Tag Format | Example |
|---|---|---|---|
| Stash Downloader | plugins/stash-downloader/package.json | downloader-vX.Y.Z | downloader-v0.5.2 |
| Stash Browser | plugins/stash-browser/package.json | browser-vX.Y.Z | browser-v0.1.0 |
If the user doesn't specify, ask which plugin to release. If both changed, release each separately.
Before creating a release, verify:
git branch --show-currentgit statusnpm run type-checknpm run lintnpm test -- --runnpm run buildpackage.json version fieldgit log $(git describe --tags --match "downloader-v*" --abbrev=0)..HEAD --oneline (or browser-v* for Browser)| Commit Types | Bump | Example |
|---|---|---|
Breaking changes (feat!:, BREAKING CHANGE) | MAJOR | 0.1.0 → 1.0.0 |
New features (feat:) | MINOR | 0.1.0 → 0.2.0 |
Bug fixes, patches (fix:, docs:, chore:) | PATCH | 0.1.0 → 0.1.1 |
For Stash Downloader:
# From dev branch, checkout main and merge
git checkout main
git merge dev
# Update version in plugin's package.json
cd plugins/stash-downloader
npm version patch # or minor/major
# Commit the version bump
git add .
git commit -m "$(cat <<'COMMIT'
🔖 chore: release downloader-vX.Y.Z
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
COMMIT
)"
# Create and push tag (with downloader- prefix!)
git tag downloader-vX.Y.Z
git push origin main --tags
For Stash Browser:
# From dev branch, checkout main and merge
git checkout main
git merge dev
# Update version in plugin's package.json
cd plugins/stash-browser
npm version patch # or minor/major
# Commit the version bump
git add .
git commit -m "$(cat <<'COMMIT'
🔖 chore: release browser-vX.Y.Z
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
COMMIT
)"
# Create and push tag (with browser- prefix!)
git tag browser-vX.Y.Z
git push origin main --tags
⚠️ CRITICAL: Do NOT push to dev immediately!
GitHub Pages uses a concurrency group. If you push to dev before the stable workflow finishes, the stable deploy gets CANCELLED.
# 1. Wait for workflow to complete
# Check: https://github.com/Codename-11/Stash-Downloader/actions
# 2. AFTER workflow completes, sync dev with main
git checkout dev
git merge main
git push origin dev
GitHub Actions automatically:
If you accidentally pushed to dev too early and cancelled the stable deploy:
# Re-push the tag to trigger the workflow again
git push origin --delete downloader-vX.Y.Z # or browser-vX.Y.Z
git push origin downloader-vX.Y.Z
For significant releases where you want Claude review before merging:
# Create release branch from dev
git checkout -b release/downloader-vX.Y.Z dev
# Update version in plugin's package.json, commit
cd plugins/stash-downloader
npm version patch
git add .
git commit -m "🔖 chore: release downloader-vX.Y.Z"
# Push and create PR to main
git push -u origin release/downloader-vX.Y.Z
gh pr create --base main --title "🔖 Release downloader-vX.Y.Z" --body "Release notes..."
# After PR merge, checkout main and tag
git checkout main
git pull origin main
git tag downloader-vX.Y.Z
git push origin downloader-vX.Y.Z
downloader-vX.Y.Z or browser-vX.Y.Zpackage.json must match tag version (without prefix)main without a tag triggers NOTHING