Skip to main content
Claude Code プラグインを公開するとは、プラグインをマーケットプレイスにリストアップすることです。マーケットプレイスは、プラグインをリストアップし、各プラグインをどこから取得するかを示す JSON カタログです。これにより、他のユーザーはプラグインを名前でインストールでき、あなたの更新を受け取ることができます。独自のマーケットプレイスを実行することも、プラグインを Anthropic のコミュニティマーケットプレイスに提出することもできます。プラグインを公開せずに共有するには、プラグインのディレクトリまたは .zip ファイルを送信して、ユーザーが自分でロードできるようにします。 このページは、共有する準備ができている完成したプラグインの作成者向けです。
以下のケースは他のページで説明されています。
配布方法を選択するから始めて、配布オプションを比較してください。既に配布方法を決めている場合は、リリース用にプラグインを準備するに進み、その後、ユーザーに何を伝えるか、ユーザーがどのように更新を受け取るかについて、あなたの配布方法のセクションに従ってください。

配布方法を選択する

プラグインをインストールする必要があるユーザーに基づいて、配布オプションを選択してください。 自動更新は、ユーザー側のマーケットプレイスごとの設定で、バックグラウンドで新しいバージョンを取得します。

リリース用にプラグインを準備する

名前、バージョン、検証、およびマーケットプレイスからのインストールが、リリースがインストールするユーザーに対して機能するかどうかを決定します。最初のリリースの前に、そして後の各リリースの前に確認してください。
1

永続的な名前を選択する

ユーザーは name@marketplace でプラグインをインストール、有効化、および設定するため、名前を変更したプラグインは既存のすべてのインストールに対して異なるプラグインになります。deploy-helper などのケバブケース名を選択してください。claude plugin validate は他の形式に対して警告を出すため、これを永続的なものとして扱ってください。plugin.json で displayName を設定して、ユーザーが見るラベルを指定します。
2

バージョン管理方法を決定する

plugin.json で version を設定し、後でコミットをプッシュするときにそれを変更しない場合、claude plugin update は <name> is already at the latest version (1.0.0). と出力し、ユーザーは古いコピーを保持します。すべてのリリースで version をインクリメントするか、git でホストされているマーケットプレイスで version を省略して、Claude Code がコミット SHA を代わりに使用するようにしてください。バージョンと更新を参照してください。
3

検証する

シェルで claude plugin validate --strict ./your-plugin を実行してください。クリーンな実行は ✔ Validation passed と出力します。
  • CI 内: --strict を保持してください。これは、不明なマニフェストフィールドや欠落している version などの警告に対して、終了コード 1 で実行を失敗させます。前のステップで version を省略することを選択した場合は、--strict を削除してください。
  • パス: 検証は ./ で始まらないコンポーネントパスを報告します。hook コマンドと MCP サーバー設定内では、ファイルを ${CLAUDE_PLUGIN_ROOT}/... として参照してください。パスルールを参照してください。
4

ローカルマーケットプレイスからインストールする

シェルで、claude plugin marketplace add ./path-to-marketplace でプラグインをリストアップするローカルマーケットプレイスを追加し、そこからプラグインをインストールして、セッションを開始してロードされることを確認します。
5

ユーザーが見るメタデータを入力する

plugin.json で description、author、homepage、および repository を設定し、プラグインルートに README.md を追加してください。homepage は URL として解析可能である必要があります。マニフェストリファレンスはすべてのフィールドをリストアップしています。
6

eval スイートを実行する

eval スイートがある場合は、シェルで claude plugin eval を実行してください。プラグインのテストケースを実行し、結果をスコアリングします。これにより、プラグインを変更するときの回帰を検出します。eval でプラグインをテストするを参照してください。

マーケットプレイスなしでプラグインを共有する

プラグインが git リポジトリにある場合、ユーザーはそれをクローンしてチェックアウトをロードするか、シェルから --plugin-url をリリースに添付した .zip に向けて claude で Claude Code を開始できます。次のバージョンを取得するには、プルまたは再度ダウンロードします。リポジトリにない場合は、ディレクトリまたはその .zip を送信してください。ユーザーは次の 2 つの方法のいずれかでロードできます。 同じリポジトリに .claude-plugin/marketplace.json を追加することで、ユーザーは名前でインストールでき、コマンドで更新できます。独自のマーケットプレイスを通じて公開するを参照してください。

独自のツールでプラグインを配布する

CLI または SDK を保守している場合は、プラグインをマーケットプレイスで公開し、インストーラーまたはインストール後のメッセージで、ユーザーが必要とする 2 つのコマンドを実行または出力するようにしてください。claude plugin marketplace add <source>、その後 claude plugin install <name>@<marketplace>。ユーザーがツールを使用するときのセッション内発見については、CLI からプラグインを推奨するを参照してください。

独自のマーケットプレイスを通じて公開する

独自のマーケットプレイスは、git リポジトリに追加された .claude-plugin/marketplace.json ファイルで、プラグインをリストアップします。ファイルがリポジトリに含まれると、プラグインは公開され、送信フォームはありません。ファイルをプラグイン自体のリポジトリまたは別のリポジトリに保持できます。

マーケットプレイスファイルをリポジトリに追加する

プラグイン自体のリポジトリから公開するには、マーケットプレイスファイルを .claude-plugin/ の plugin.json の横に保存し、source が "./" であるエントリを 1 つ持たせます。これはリポジトリルートです。エントリに plugin.json と同じ name を付けてください。エントリ名とマニフェスト名を同じに保つを参照してください。
.claude-plugin/marketplace.json
シェルで、リポジトリで claude plugin validate . を実行して、プッシュする前にファイルを確認してください。 マーケットプレイスを作成するは、1 つのリポジトリに複数のプラグインがある場合のレイアウトをカバーしています。

インストール可能なユーザーを制御する

リポジトリをクローンできるすべてのユーザーがそこからインストールできるため、リポジトリがプライベートの場合、マーケットプレイスもプライベートです。git リポジトリ以外のホストについては、マーケットプレイスをホストするを参照してください。git を使用しない人を含む会社全体に到達するには、会社全体にロールアウトするを参照してください。

ユーザーにインストール方法を伝える

ユーザーにマーケットプレイスを追加してからプラグインをインストールするよう指示してください。シェルから、ソースと名前をあなたのものに置き換えてください。
  • マーケットプレイスを 1 回追加する: claude plugin marketplace add your-org/your-marketplace。引数は GitHub の owner/repo 短縮形、URL、またはパスです
  • プラグインをインストールする: claude plugin install deploy-helper@your-marketplace
  • またはセッション内から両方を実行する: /plugin install deploy-helper --marketplace your-org/your-marketplace。Claude Code v2.1.275 以降が必要です。マーケットプレイスを追加して 1 つのコマンドでインストールするを参照してください

ユーザーに更新を配布する

ユーザーはリクエストするか、マーケットプレイスで自動更新がオンの場合にリリースを受け取ります。
  • リクエスト時: ユーザーのシェルで claude plugin update deploy-helper@your-marketplace を実行すると、マーケットプレイスが更新され、プラグインのバージョンが変更されたときに新しいコピーがインストールされます
  • 自動更新: デフォルトではマーケットプレイスでオフです。自動更新をオンにするを参照してください。オンになると、セッション開始後の遅延で claude plugin update と同じことを実行します
プラグインをインストールするはユーザー側のコマンドをカバーし、自動更新が実行される時期はタイミングをカバーしています。

コミュニティマーケットプレイスに提出する

Anthropic のコミュニティマーケットプレイス claude-community は、プラグインディレクトリ送信フォーム経由で提出されたプラグインをリストアップする公開マーケットプレイスです。 ユーザーは Claude Code セッション内で /plugin marketplace add anthropics/claude-plugins-community でコミュニティマーケットプレイスを追加し、@claude-community としてそこからインストールします。 コミュニティマーケットプレイスが公式マーケットプレイスとどのように異なるかについては、Anthropic のマーケットプレイスを参照してください。 プラグインをコミュニティマーケットプレイスに提出するには、アプリ内フォームのいずれかを使用してください。 claude.ai フォームには Team または Enterprise 組織と、デフォルトでオーナーが保持するディレクトリ権限が必要です。Team または Enterprise 組織に属していない個別の作成者は、代わりに Console フォームを使用できます。 シェルで、提出する前に claude plugin validate ./your-plugin をローカルで実行してください。./your-plugin をプラグインディレクトリへのパスに置き換えてください。検証が成功すると、Claude Code は ✔ Validation passed または警告がある場合は ✔ Validation passed with warnings と出力します。警告は検証を失敗させません。--strict を追加して、警告をエラーとして扱ってください。 リストアップされたプラグインは anthropics/claude-plugins-community カタログに表示され、ほぼすべての場合、特定のコミット SHA にピン留めされます。 提出とプラグインが marketplace.json に表示されるまでの間に遅延がある可能性があります。プラグインがインストール可能かどうかを確認するには、コミュニティカタログでその名前を検索してください。 公式マーケットプレイス claude-plugins-official は、これらのフォーム経由での提出を受け付けていません。Anthropic パートナー連絡先と協力している場合は、公式マーケットプレイスのリストアップについて尋ねてください。

更新、名前変更、および削除を配布する

新しいバージョンをリリースする

独自のマーケットプレイスを通じて公開し、plugin.json が version を設定している場合は、それをインクリメントしてプッシュしてください。claude plugin update を実行するか、自動更新がオンのユーザーは、ユーザーに更新を配布するの下で説明されているように、新しいバージョンを受け取ります。

リリースにタグを付ける

他のプラグインがあなたのプラグインのバージョン範囲を宣言する場合、git でリリースにタグを付けてください。これらの範囲はタグに対して解決されるためです。それ以外の場合、タグは必要ありません。 タグを付けるには、プラグインディレクトリからシェルで claude plugin tag を実行してください。{name}--v{version} タグを作成します。--push を追加して、タグを origin に送信してください。plugin tag リファレンスはそのフラグをリストアップしています。

プラグインの名前を変更または削除する

公開されたプラグインの name を変更しないでください。名前変更後、既にインストールしたユーザーはプラグインを失います。インストールは古い名前の下に記録されるためです。マーケットプレイスファイルの renames エントリは、代わりに既存のインストールを移行します。別のラベルが必要な場合は displayName を変更してください。 名前変更が避けられない場合は、マーケットプレイスファイルの renames マップを使用して、既存のインストールが Plugin "<name>" not found in marketplace で失敗する代わりに移行するようにしてください。マーケットプレイスからプラグインを削除するか、完全な renames の詳細については、ホスティングページの プラグインの名前を変更または削除するを参照してください。マーケットプレイスリファレンスにはフィールドがあります。

依存関係を宣言する

プラグインが同じマーケットプレイスから別のプラグインが有効化されている必要がある場合は、plugin.json の dependencies 配列にリストアップしてください。各エントリは、ベアネームまたは semver version 範囲を持つオブジェクトです。ユーザーがプラグインをインストールすると、Claude Code は依存関係もインストールして有効化します。 プラグイン依存関係は、範囲構文、クロスマーケットプレイス依存関係、およびユーザーが不要になった依存関係をプルーニングする方法をカバーしています。

次のステップ