手順書:上から順に進める

プラグインをリリースする手順

約7分で読めます作成:2026年10月16日対象:メンテナー

リリースは11手順です。バージョンを上げ、確認を通し、マージ、タグ付け、公開と進め、最後に手元を更新します。

押さえておくのはこれだけ
  1. release/X.Y.Z の worktree で作業する。
  2. プルリクエストの前に check-repo.mjs を通す。
  3. リリースとは、マージ・タグ・GitHub リリースの3つ。

11手順を順番に

1.9.0 のリリース

つまり:終えた手順の行にチェックを入れます。最初の未完了の手順には「次」と表示されます。各行からその手順へ移動できます。

  1. 最初に必要なもの4つのツールと、それぞれ1行の確認コマンド。
  2. リリースブランチを準備する worktree、バージョン、変更履歴、アップグレード用のハッシュ。
  3. 確認してプルリクエストを出す同梱のページをアップグレードし、2つの確認を実行して、プルリクエストを出す。
  4. 公開して手元を更新するマージ、タグ付け、GitHub リリースの作成、そして更新。
  5. うまくいかなかったとき段階ごとに、どこまで元に戻せるか。

第1章 / 全5章、約1分

始める前に、何が必要か

おさらい:リリースとは、マージ済みのプルリクエスト、タグ、GitHub リリースの3つです。

例では、次のリリースを 1.9.0、前回を 1.8.1 としています。番号は自分のものに置き換えてください。リリース作業には専用の worktree を使い、リポジトリが無視するフォルダに置きます。

  • Node 18 以降 node --version で v18 以上が表示されます。
  • Git と、変更のない maingit status --short で何も表示されません。
  • GitHub CLI(ログイン済み)gh auth status で自分のアカウント名が表示されます。
  • Claude Codeclaude --version でバージョンが表示されます。

つまり: 4つのツールを、1コマンドずつ確認します。結果が違うものは、手順1の前に直しておきます。

この章のポイント:最初に4つのツールを確認し、バージョン番号は自分のものに置き換えます。

第2章 / 全5章、約2分

リリースブランチは、どう準備するのか

おさらい: 4つのツールが使え、main に変更はありません。

  1. 専用の worktree で、リリースブランチを作る。
    git worktree add .claude/worktrees/release-1.9.0 -b release/1.9.0 main
    cd .claude/worktrees/release-1.9.0

    確認: git worktree list で、新しいフォルダが [release/1.9.0] 付きで表示されます。

    うまくいかないとき:ブランチがすでにある場合は、-b release/1.9.0 main を外し、末尾にそのブランチ名を書きます。

  2. マニフェストとテンプレートのバージョンを書き換える。
    sed -i 's/1\.8\.1/1.9.0/' .claude-plugin/plugin.json skills/glance-explainer/assets/template.html

    確認: git diff --stat で、2つのファイルのどちらも 2 +- と表示されます。

    うまくいかないとき:それ以外の数字なら、想定外の箇所に一致しています。元に戻し、2か所の番号を手で書き換えてください。

  3. 前回から入った変更を一覧にして、変更履歴の節を書く。
    git log --oneline v1.8.1..main

    確認: grep -n '^## ' CHANGELOG.md の結果で、## 1.9.0 が ## 1.8.1 より上に並びます。

    うまくいかないとき:新しい節を、最新リリースの節より上に移してください。

  4. アップグレード用に、テンプレートのハッシュを調べる。
    node skills/glance-explainer/scripts/upgrade.mjs --hash skills/glance-explainer/assets/template.html

    確認: 16桁の16進数が表示されます。KNOWN に載っていれば、何も足しません。載っていなければ、'digits': '1.9.0', を追加します。

    うまくいかないとき: worktree の最上位フォルダから実行してください。

つまり:手順4まで終えると、ブランチに新しいバージョン、変更履歴、ハッシュがそろいます。

この章のポイント:リリースブランチは worktree で始め、バージョン、変更履歴、ハッシュをそろえて終わります。

第3章 / 全5章、約2分

リリースの確認とプルリクエストは、どう進めるのか

おさらい:ブランチに新しいバージョン、変更履歴、ハッシュがそろっています。

  1. 同梱のページを新しいバージョンに合わせる。
    node skills/glance-explainer/scripts/upgrade.mjs skills/glance-explainer/assets/gallery.html skills/glance-explainer/examples skills/explainer-gather/examples docs/index.html docs/roadmap.html

    確認:どの行も version mark set、upgraded、already current のどれかになります。

    うまくいかないとき: skipped: custom styles は、手で編集した跡があるという意味です。テンプレートの style と script を貼り付けます。

  2. 2つの確認を実行する。
    node tools/check-repo.mjs
    claude plugin validate --strict .

    確認:出力の末尾が all checks passed と Validation passed で、どちらも終了コードは0です。

    うまくいかないとき: FAIL の行をひとつずつ直します。バージョンの不一致は、手順2で番号の書き換えが漏れたということです。

  3. コミットしてプッシュし、プルリクエストを出す。
    git add -A && git commit -m "chore(release): 1.9.0"
    git push -u origin release/1.9.0
    gh pr create --title "Release 1.9.0: public examples" --fill

    確認: gh pr checks --watch の最後に check が pass と表示されます。なお、site ジョブはプルリクエストではスキップされます。

    うまくいかないとき: gh pr checks --web を実行するとログが開きます。FAIL の行を直して、もう一度プッシュします。

つまり:まず自分のマシンで確認を実行し、そのあと CI がリポジトリの確認をもう一度実行します。

この章のポイント:同梱ページを更新し、2つの確認を通してから、プルリクエストを出します。

第4章 / 全5章、約2分

リリースの公開と手元の更新は、どう進めるのか

おさらい:プルリクエストを出し、check ジョブが通っています。

  1. プルリクエストをマージし、ブランチを削除する。
    gh pr merge --merge
    git push origin --delete release/1.9.0

    確認:まず git fetch を実行します。続けて git log origin/main -1 --oneline を実行すると、自分のプルリクエストの名前が表示されます。

    うまくいかないとき: check ジョブが終わるのを待ちます。main が進んでいたら、origin/main をマージしてプッシュします。

  2. マージにタグを付け、タグをプッシュする。
    git tag -a v1.9.0 -m "1.9.0: public examples" origin/main
    git push origin v1.9.0

    確認: git ls-remote --tags origin v1.9.0 でタグが表示されます。

    うまくいかないとき: already exists と出たら、すでに誰かがタグを付けています。先に git show v1.9.0 で中身を確認してください。

  3. 変更履歴から GitHub リリースを作る。
    sed -n '/^## 1.9.0/,/^## 1.8.1/{//!p}' CHANGELOG.md > ../notes.md
    gh release create v1.9.0 --title "1.9.0: public examples" --notes-file ../notes.md

    確認: gh release view v1.9.0 でタイトルと、1.9.0 の変更履歴の本文が表示されます。

    うまくいかないとき: ../notes.md には、1.9.0 の節だけを入れてください。

  4. 手元のプラグインを更新する。
    claude plugin marketplace update glance-explainer
    claude plugin update glance-explainer@glance-explainer

    確認:再起動後、claude plugin list の結果に Version: 1.9.0 と表示されます。

    うまくいかないとき:まだ古いままなら、2つのコマンドをこの順に実行して、もう一度再起動します。

つまり:マージ、タグ、リリースは別々の操作で、確認もそれぞれ別です。

サイトが再デプロイされたか確認する方法を見る
gh run list --workflow ci --branch main --limit 1

マージのあと、公開サイトは main からビルドされます。最新の実行が completed と success になっていれば成功です。

この章のポイント:マージ、タグ付け、リリースの順に進め、最後に手元のプラグインを更新して再起動します。

第5章 / 全5章、約1分

うまくいかなかったら、どうするのか

おさらい:リリースはマージ、タグ、GitHub リリースの3つで、どれも元に戻せます。

  • マージの前プルリクエストを閉じて、worktree を削除します。main には何も届いていません。
  • マージのあと、タグの前新しいプルリクエストでマージをリバートし、もう一度確認を通します。
  • タグとリリースのあとリリースとタグを削除します。ここでは、リリースはロックされていません。
  • ユーザーが更新したあと回収はできません。パッチリリースを出して直します。

つまり:早く止めるほど、戻すコストは小さくなります。このリポジトリには、素早く直した前例があります。1.8.1 は、1.8.0 の約3時間後に出ました。

段階ごとのコマンドを見る
# before the merge (run the second line from the main checkout)
gh pr close --comment "Not shipping"
git worktree remove .claude/worktrees/release-1.9.0

# after the merge, before the tag
git revert -m 1 <merge commit>

# after the tag and the release
gh release delete v1.9.0 --cleanup-tag --yes
git tag -d v1.9.0

ユーザーは、マーケットプレイスを追加するときにタグを付けて、特定のリリースにとどまれます。たとえば ariasr47/glance-explainer#v1.8.1 です。

この章のポイント:進んだところまで戻し、ユーザーが更新したあとは修正版で直します。

まとめ

  1. 最初に4つのツールを確認し、バージョン番号は自分のものに置き換えます。
  2. リリースブランチは worktree で始め、バージョン、変更履歴、ハッシュをそろえて終わります。
  3. 同梱ページを更新し、2つの確認を通してから、プルリクエストを出します。
  4. マージ、タグ付け、リリースの順に進め、最後に手元のプラグインを更新して再起動します。
  5. 進んだところまで戻し、ユーザーが更新したあとは修正版で直します。