スキル一覧に戻る
multica-ai

release

by multica-ai

releaseは、other分野における実用的なスキルです。複雑な課題への対応力を強化し、業務効率と成果の質を改善します。

215🍴 18📅 2026年1月23日
GitHubで見るManusで実行

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

  • /release Start the release workflow interactively.

Release Workflow

Execute the following steps in order. Stop immediately if any step fails.

Step 1: Git Branch Check

  1. Verify current branch is main
  2. Pull latest changes from remote
  3. 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

  1. Check if .env file exists in the project root
  2. Verify the following Apple credentials are set in .env:
    • APPLE_ID
    • APPLE_APP_SPECIFIC_PASSWORD
    • APPLE_TEAM_ID
  3. Check GitHub CLI authentication: gh auth status
  4. 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

  1. Read current version from package.json
  2. Ask the user for the new version number (e.g., 0.1.4)
  3. Update the version field in package.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

  1. Clean previous build artifacts
  2. Source the environment variables
  3. 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.dmg and .blockmap
    • Multica-{version}-x64.dmg and .blockmap
    • Multica-{version}-arm64-mac.zip and .blockmap
    • Multica-{version}-x64-mac.zip and .blockmap
    • latest-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

  1. Get the latest release tag:

    gh release list --limit 1 --json tagName -q '.[0].tagName'
    
  2. 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
    
  3. 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

  1. 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.yml
    

    The 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
  2. Confirm the release was created successfully

  3. 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

スコア

総合スコア

80/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

+5
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です