
release
by multica-ai
releaseは、other分野における実用的なスキルです。複雑な課題への対応力を強化し、業務効率と成果の質を改善します。
SKILL.md
name: release description: Automate the Multica application release workflow including version bump, code checks, build, and GitHub release.
Release Skill
Automates the complete release workflow for Multica application.
How to use
/releaseStart the release workflow interactively.
Release Workflow
Execute the following steps in order. Stop immediately if any step fails.
Step 1: Git Branch Check
- Verify current branch is
main - Pull latest changes from remote
- Ensure working directory is clean (no uncommitted changes)
# Check current branch is main
current_branch=$(git branch --show-current)
if [ "$current_branch" != "main" ]; then
echo "Error: Must be on main branch. Current branch: $current_branch"
exit 1
fi
# Pull latest changes
git pull origin main
# Check for uncommitted changes
if [ -n "$(git status --porcelain)" ]; then
echo "Error: Working directory has uncommitted changes"
exit 1
fi
If not on main branch, abort and ask user to switch to main first.
Step 2: Environment Check
- Check if
.envfile exists in the project root - Verify the following Apple credentials are set in
.env:APPLE_IDAPPLE_APP_SPECIFIC_PASSWORDAPPLE_TEAM_ID
- Check GitHub CLI authentication:
gh auth status - If any check fails, inform the user what's missing and abort
# Check .env exists
test -f .env
# Check required variables (source and verify)
source .env
test -n "$APPLE_ID" && test -n "$APPLE_APP_SPECIFIC_PASSWORD" && test -n "$APPLE_TEAM_ID"
# Check gh CLI
gh auth status
Step 3: Code Quality Checks
Run all quality checks before making any changes. Abort if any fail:
pnpm typecheck # TypeScript compilation check
pnpm lint # ESLint check
pnpm format:check # Prettier format check
pnpm test:run # Unit tests
Step 4: Version Confirmation
- Read current version from
package.json - Ask the user for the new version number (e.g.,
0.1.4) - Update the
versionfield inpackage.json
Use AskUserQuestion tool with options like:
- Patch bump (current → next patch)
- Minor bump (current → next minor)
- Major bump (current → next major)
- Custom version
Step 5: Build Application
- Clean previous build artifacts
- Source the environment variables
- Run the Mac build which creates both architectures
# Clean previous build
rm -rf dist/
# Build
source .env && pnpm build:mac
This will:
- Build arm64 (Apple Silicon) version
- Build x64 (Intel) version
- Automatically notarize with Apple (notarize: true in config)
- Output files to
dist/directory:Multica-{version}-arm64.dmgand.blockmapMultica-{version}-x64.dmgand.blockmapMultica-{version}-arm64-mac.zipand.blockmapMultica-{version}-x64-mac.zipand.blockmaplatest-mac.yml(auto-updater manifest)
Step 6: Commit Version Change
Commit the version bump and push to remote:
git add package.json
git commit -m "chore: bump version to {version}"
git push origin main
Step 7: Generate Release Notes
-
Get the latest release tag:
gh release list --limit 1 --json tagName -q '.[0].tagName' -
Get commits since last release (or all commits if first release):
# If there's a previous release tag: git log {last_tag}..HEAD --oneline # If this is the first release (no previous tag): git log --oneline -
Analyze the commits and generate release notes with sections:
- New Features - New functionality added
- Bug Fixes - Issues resolved
- Improvements - Enhancements to existing features
- Other Changes - Documentation, refactoring, etc.
Format example:
## What's New
### New Features
- Feature description from commit
### Bug Fixes
- Fix description from commit
### Improvements
- Improvement description from commit
Step 8: Create GitHub Release
-
Create the release with generated notes and all build artifacts:
gh release create v{version} \ --title "v{version}" \ --notes "{release_notes}" \ dist/Multica-{version}-arm64.dmg \ dist/Multica-{version}-arm64.dmg.blockmap \ dist/Multica-{version}-x64.dmg \ dist/Multica-{version}-x64.dmg.blockmap \ dist/Multica-{version}-arm64-mac.zip \ dist/Multica-{version}-arm64-mac.zip.blockmap \ dist/Multica-{version}-x64-mac.zip \ dist/Multica-{version}-x64-mac.zip.blockmap \ dist/latest-mac.ymlThe uploaded files include:
- DMG files: Primary installers for each architecture
- ZIP files: Alternative distribution format (required by auto-updater)
- Blockmap files: Enable incremental/delta updates
- latest-mac.yml: Manifest file for electron-updater to check for new versions
-
Confirm the release was created successfully
-
Provide the release URL to the user
Important Notes
- Never skip any step
- Always wait for build completion before proceeding
- The build process may take several minutes due to notarization
- If build fails, check Apple credential validity
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です