mcpField
C
claude-code-plugin-release

claude-code-plugin-release

github.com/thedotmack開発104.0k4.2k 回インストール今日更新
リポジトリ

claude-code-plugin-release について

claude-code-plugin 向けのリリース手順スキルです。バージョン更新、ビルド検証、コミット、タグ付け、公開の引き継ぎと後続作業を案内します。

主な機能

  1. 01変更に応じたリリース区分
  2. 02バージョンマニフェストの更新
  3. 03成果物のビルドと同期
  4. 04コミット、タグ付け、プッシュ
  5. 05npm 公開の引き継ぎ
  6. 06リリース作成と変更履歴の更新

活用シーン

  1. 01プラグインのバージョンリリース準備
  2. 02各マニフェストのバージョン整合性確認
  3. 03メンテナー操作が必要な公開手順の完了

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/thedotmack/claude-mem --skill claude-code-plugin-release

インストール後、Claude Code で/claude-code-plugin-releaseを入力して読み込まれたか確認します。

同梱ファイルscripts/generate_changelog.js

詳細

バージョン更新とリリースのワークフロー

重要: 開始前に、詳細なリリースノートを計画して作成してください。

最重要: ビルド成果物を含め、すべてをコミットしてください。このワークフローの最後に、コミットまたはプッシュされていないものが何も残っていない状態にしてください。最後に git status を実行して確認してください。

準備

  1. 分析:変更が PATCH(バグ修正)、MINOR(機能追加)、MAJOR(破壊的変更)のどれに該当するか判断します。

  2. 環境:git remote -v からリポジトリのオーナー名と名前を特定します。

  3. パス — バージョン文字列を含むすべてのファイル:

    • package.json — npm/npx で公開されるバージョン(npx [email protected] はここから解決されます)
    • plugin/package.json — バンドルされたプラグインのランタイム依存関係
    • .claude-plugin/marketplace.json — plugins[0].version 内のバージョン
    • .claude-plugin/plugin.json — トップレベルの Claude プラグインマニフェスト
    • plugin/.claude-plugin/plugin.json — バンドルされた Claude プラグインマニフェスト
    • .codex-plugin/plugin.json — Codex プラグインマニフェスト
    • plugin/.codex-plugin/plugin.json — バンドルされた Codex プラグインマニフェスト
    • openclaw/openclaw.plugin.json — OpenClaw プラグインマニフェスト

    編集前に網羅性を確認します:git grep -l "\"version\": \"<OLD>\"" で上記の8ファイルすべてが表示される必要があります。このドキュメントの最終更新後に新しいマニフェストが追加されている場合は、この一覧を更新してください。

ワークフロー

  1. 更新:上記のすべてのパスでバージョン文字列をインクリメントします。CHANGELOG.md は再生成されるため、変更しないでください。
  2. 確認:git grep -n "\"version\": \"<NEW>\"" を実行し、8ファイルすべてが一致することを確認します。git grep -n "\"version\": \"<OLD>\"" はヒットがゼロになるはずです。
  3. ビルドと同期:npm run build-and-sync を実行して、成果物を再生成し、ローカルのマーケットプレイスコピーを同期し、ワーカーを再起動して、キューをクリアします。リリース検証に npm run build のみを使用しないでください。ローカルのマーケットプレイスとワーカーが同期されない状態になる可能性があります。
  4. コミット:git add -A && git commit -m "chore: bump version to X.Y.Z"。
  5. タグ付け:git tag -a vX.Y.Z -m "Version X.Y.Z"。
  6. プッシュ:git push origin main && git push origin vX.Y.Z。
  7. npm に公開 — 人間のメンテナーに引き継いでください。 人間のメンテナーから npm のセキュリティに関する懸念が示されているため、現在はメンテナー本人のみが提供できる認証情報と2FAが公開に必要です。エージェント自身が npm publish(または同様に公開を行う np / npm run release:*)を実行してはいけません。ここで npm への公開を人間に引き継いでください: 作業を止めて、バージョンがコミット、タグ付け、プッシュ済みであること、および npx [email protected] で解決できるようにするには npm への公開が必要であることを伝えてください。次のコマンドを伝えてください:
    npm publish   # 人間が実行 — prepublishOnly スクリプトがパッケージを再ビルドします
    
    人間が公開を完了したことを確認してから、公開されたことを検証してください:
    npm view [email protected] version   # X.Y.Z が表示されるはずです
    
    公開時のビルドによってローカルの成果物が変更された場合は、その後に npm run build-and-sync を再度実行してください。
  8. GitHub リリース:gh release create vX.Y.Z --title "vX.Y.Z" --notes "RELEASE_NOTES"。
  9. 変更履歴:プロジェクトの変更履歴スクリプトで再生成します:
    npm run changelog:generate
    
    (node scripts/generate-changelog.js を実行します。このスクリプトは GitHub API からリリースを取得し、CHANGELOG.md を書き換えます。)
  10. 変更履歴の同期:更新した CHANGELOG.md をコミットしてプッシュします。
  11. 通知:Discord の Webhook 情報を含む .env がある ~/Scripts/claude-mem/ から、Discord 通知を実行します:
    cd ~/Scripts/claude-mem/ && npm run discord:notify vX.Y.Z
    
    リリースの作業ツリーにローカルの .env がない場合でも、必ず実行してください。
  12. 完了:git status を実行します。作業ツリーはクリーンでなければなりません。

チェックリスト

  • 8 つすべての設定ファイルでバージョンが一致している
  • 古いバージョンで git grep を実行し、ヒットが 0 件である
  • npm run build-and-sync が成功している
  • Git タグを作成してプッシュしている
  • NPM の公開を人間に引き継いでいる(エージェントは npm publish を実行しません。人間がセキュリティ上の懸念を示したためです)。公開後、npm view [email protected] version で確認します(これにより npx [email protected] で解決されます)
  • リリースノートを添えて GitHub リリースを作成している
  • CHANGELOG.md を更新してプッシュしている
  • ~/Scripts/claude-mem/ から Discord 通知を実行している
  • git status で作業ツリーがクリーンであることを確認している

コメント