コンテンツにスキップ

マーケットプレイスプラグインシステム

マーケットプレイスシステムを使用すると、Gitでホストされたカタログからプラグインを検出、インストール、管理できます。Claude Codeプラグインレジストリ形式と互換性があります。

/marketplace add anthropics/f5-sales-demo-marketplace
/marketplace install wordpress.com@f5-sales-demo-marketplace

または、引数なしで /marketplace と入力するだけで、インタラクティブなプラグインブラウザが開きます。

マーケットプレイスとは、.xcsh-plugin/marketplace.json にカタログファイルを含むGitリポジトリ(またはローカルディレクトリ)です。カタログには、利用可能なプラグインとそのソース、説明、メタデータが一覧されています。

プラグインとは、スキル、コマンド、フック、MCPサーバー、またはLSPサーバーを含むディレクトリです。プラグインは name@marketplace で識別されます(例: code-review@f5-sales-demo-marketplace)。

スコープ: プラグインは2つのスコープでインストールできます:

  • user(デフォルト)— すべてのプロジェクトで利用可能、~/.xcsh/plugins/installed_plugins.json に保存
  • project — 現在のプロジェクトでのみ利用可能、.xcsh/installed_plugins.json に保存

プロジェクトスコープのインストールは、同じプラグインのユーザースコープのインストールをシャドウ(上書き)します。

コマンド効果
/marketplaceインタラクティブなプラグインブラウザを開く(インストール)
コマンド効果
/marketplace add <source>マーケットプレイスソースを追加
/marketplace remove <name>マーケットプレイスを削除
/marketplace update [name]カタログを再取得。名前を省略するとすべて更新
/marketplace list設定済みのマーケットプレイスを一覧表示
コマンド効果
/marketplace discover [marketplace]利用可能なプラグインを閲覧
/marketplace install [--force] [--scope user|project] name@marketplaceプラグインをインストール
/marketplace uninstall [--scope user|project] name@marketplaceプラグインをアンインストール
/marketplace installedインストール済みのマーケットプレイスプラグインを一覧表示
/marketplace upgrade [--scope user|project] [name@marketplace]1つまたはすべてのプラグインをアップグレード

同じ操作はコマンドラインからも利用できます:

xcsh plugin marketplace add <source>
xcsh plugin marketplace remove <name>
xcsh plugin marketplace update [name]
xcsh plugin marketplace list
xcsh plugin discover [marketplace]
xcsh plugin install --scope project name@marketplace

/marketplace add <source> を実行すると、システムがソースを分類します:

ソース形式タイプ
owner/repoGitHub省略形anthropics/f5-sales-demo-marketplace
https://...*.jsonカタログ直接URLhttps://example.com/marketplace.json
https://...*.git or git@...Gitリポジトリhttps://github.com/org/repo.git
./path or ~/path or /pathローカルディレクトリ./my-marketplace

システムはリポジトリをクローン(またはローカルディレクトリを読み取り)し、.xcsh-plugin/marketplace.json を見つけて検証し、カタログをローカルにキャッシュします。

マーケットプレイスカタログは、リポジトリルートの .xcsh-plugin/marketplace.json に配置されます:

{
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "my-marketplace",
"owner": {
"name": "Your Name",
"email": "you@example.com"
},
"description": "A collection of plugins",
"plugins": [
{
"name": "my-plugin",
"description": "What this plugin does",
"source": "./plugins/my-plugin",
"category": "development",
"homepage": "https://github.com/you/my-plugin"
}
]
}
フィールド説明
nameマーケットプレイス名。小文字の英数字、ハイフン、ドットが使用可能。英数字で開始・終了する必要があります。最大64文字。
owner.nameマーケットプレイスオーナー名
pluginsプラグインエントリの配列

プラグインエントリフィールド

Section titled “プラグインエントリフィールド”
フィールド必須説明
nameはいプラグイン名(マーケットプレイス名と同じルール)
sourceはいプラグインの取得元(下記参照)
descriptionいいえ短い説明
versionいいえバージョン文字列
authorいいえ{ name, email? }
homepageいいえURL
categoryいいえカテゴリ文字列(例: developmentproductivitysecurity
tagsいいえ文字列タグの配列
strictいいえブール値
commandsいいえ提供するスラッシュコマンド
agentsいいえ提供するエージェント
hooksいいえフック定義
mcpServersいいえMCPサーバー定義
lspServersいいえLSPサーバー定義

source フィールドはいくつかの形式をサポートしています:

相対パス(マーケットプレイスリポジトリ内):

"source": "./plugins/my-plugin"

GitリポジトリURL:

"source": {
"source": "url",
"url": "https://github.com/org/repo.git",
"sha": "abc123..."
}

GitHub省略形:

"source": {
"source": "github",
"repo": "org/repo",
"ref": "main",
"sha": "abc123..."
}

Gitサブディレクトリ(モノレポ):

"source": {
"source": "git-subdir",
"url": "https://github.com/org/monorepo.git",
"path": "plugins/my-plugin",
"ref": "main",
"sha": "abc123..."
}

npmパッケージ:

"source": {
"source": "npm",
"package": "@scope/my-plugin",
"version": "1.0.0"
}
~/.xcsh/
config/
marketplaces.json # 追加されたマーケットプレイスのレジストリ
plugins/
installed_plugins.json # ユーザースコープのインストール済みプラグイン
cache/
marketplaces/ # キャッシュされたマーケットプレイスカタログ
plugins/ # キャッシュされたプラグインディレクトリ
<project>/.xcsh/
installed_plugins.json # プロジェクトスコープのインストール済みプラグイン

マーケットプレイス名とプラグイン名は以下の条件を満たす必要があります:

  • 小文字の英字または数字で開始・終了すること
  • 小文字の英字、数字、ハイフン、ドットのみを含むこと
  • 最大64文字であること

プラグインID(name@marketplace)は合計で最大128文字です。

有効な例: my-plugincode-reviewwordpress.comai-firstify 無効な例: -badbad-.badBadunder_score