plugin.json のフィールド、ディレクトリ構成、および Marketplace Schema のフィールドレベルのリファレンス。使用ガイドについてはプラグインページを参照してください。
プラグインはインストール可能な拡張パッケージであり、Qoder CLI にコマンド、エージェント、スキル、フック、出力スタイル、ワークフロー、および MCP サーバーを追加します。本ページは、プラグインマニフェスト、ディレクトリ構造、およびマーケットプレイスのスキーマに関する完全なリファレンスです。利用ガイドについてはプラグインを参照してください。
マニフェストファイルは
以下のフィールドは、規約に基づくディレクトリを上書きするか、コンポーネントをインラインで宣言するために使用します(相対パスの文字列、配列、またはオブジェクトマッピング):
マニフェストでコンポーネントが明示的に宣言されていない場合、プラグインは以下の規約に基づくディレクトリから自動的に検出されます:
プラグインマーケットプレイスは、
インタラクティブセッションでは
コマンドラインでは
* 印の付いたコマンドはプラグインマーケットプレイスのフィーチャーフラグによって制御されており、有効化されていない場合は使用できません。
起動パラメーター:
これら 2 項目は
プラグインマニフェスト(plugin.json)
マニフェストファイルは .qoder-plugin/plugin.json に配置し、プラグインのルートディレクトリには配置しません。このファイルは省略可能です。宣言されていない場合、CLI は規約に基づくディレクトリからコンポーネントを読み込み、プラグインのディレクトリ名をプラグイン名として使用します。安定した name や version などのメタ情報を得るために、宣言することをお勧めします。
必須フィールド
plugin.json のうち必須なのは name のみで、その他のフィールドはすべて省略可能です。
| フィールド | 型 | 説明 |
|---|---|---|
name | string | プラグインの一意な識別子(ケバブケース、スペースなし)。 |
オプションのメタ情報フィールド
| フィールド | 型 | 説明 |
|---|---|---|
version | string | セマンティックバージョン(例:1.0.0)。 |
displayName | string | UI に表示される読みやすい名称。 |
description | string | 短い説明。 |
author | object | 著者情報(name/email/url)。 |
homepage | string | ドキュメントまたはホームページの URL。 |
repository | string | ソースコードリポジトリの URL。 |
license | string | SPDX ライセンス識別子(例:MIT、Apache-2.0)。 |
keywords | string[] | 検索および分類用のタグ。 |
dependencies | array | 依存する他のプラグイン(マーケットプレイスを指定可能)。 |
コンポーネント宣言フィールド
以下のフィールドは、規約に基づくディレクトリを上書きするか、コンポーネントをインラインで宣言するために使用します(相対パスの文字列、配列、またはオブジェクトマッピング):
| フィールド | 説明 |
|---|---|
commands | コマンド定義。 |
agents | エージェント定義ファイルのパス。 |
skills | スキルディレクトリのパス。 |
outputStyles | 出力スタイル定義。 |
workflowsPath / workflowsPaths | ワークフローファイルのパス。 |
hooks | フック構成(相対パスの JSON ファイルまたはインライン構成)。 |
mcpServers | MCP サーバー構成(相対パスの JSON ファイルまたはインライン構成)。 |
userConfig | ユーザーが構成可能なオプションの定義。 |
settings | プラグイン有効時にマージされる構成。現在は agent キーのみがサポートされ、その他のキーは無視されます。 |
規約に基づくディレクトリ構造
マニフェストでコンポーネントが明示的に宣言されていない場合、プラグインは以下の規約に基づくディレクトリから自動的に検出されます:
.mcp.jsonのフォールバックとして、mcp.json(先頭のドットなし)にも対応しています。両方が存在する場合は.mcp.jsonが優先され、マージは行われません。
マーケットプレイスマニフェスト(marketplace.json)
プラグインマーケットプレイスは、marketplace.json を通じてインストール可能なプラグインのセットを記述します。
必須フィールド
| フィールド | 型 | 説明 |
|---|---|---|
name | string | マーケットプレイス名。 |
owner | object | マーケットプレイスメンテナー情報(name/email/url)。 |
plugins | array | プラグインエントリの配列。 |
オプションフィールド
| フィールド | 型 | 説明 |
|---|---|---|
forceRemoveDeletedPlugins | boolean | マーケットプレイスから削除されたプラグインを自動的にアンインストールします。 |
metadata.pluginRoot | string | プラグインソースへの相対ベースパス。 |
metadata.version | string | マーケットプレイスのバージョン。 |
metadata.description | string | マーケットプレイスの説明。 |
allowCrossMarketplaceDependenciesOn | string[] | マーケットプレイス間の依存を許可するマーケットプレイス名。 |
プラグインエントリフィールド
| フィールド | 型 | 説明 |
|---|---|---|
name | string | プラグイン名(plugin.json 内の name と一致する必要があります)。 |
source | string/object | プラグインのソース(相対パス、npm、git、github、url など)。 |
category | string | 分類タグ。 |
tags | string[] | 検索タグ。 |
strict | boolean | プラグインフォルダー内にマニフェストが存在することを要求するかどうか(デフォルトは true)。 |
管理コマンド
インタラクティブセッションでは /plugins(エイリアス /plugin)を使用します。サブコマンドなしで実行すると、プラグインエクスプローラーが開きます:
| サブコマンド | 引数 | 説明 |
|---|---|---|
install(エイリアス i) | <plugin> | プラグインをインストールします。 |
uninstall(エイリアス remove/rm) | <plugin> | プラグインをアンインストールします。 |
enable | <plugin> | プラグインを有効にします。 |
disable | <plugin> | プラグインを無効にします。 |
update* | <plugin> | プラグインを更新します。 |
validate | <path> | プラグインディレクトリまたは plugin.json を検証します。 |
marketplace(エイリアス market)* | — | add <source>、list、remove <name>、update [name] を含むプラグインマーケットプレイスを管理します。 |
reload | — | すべてのプラグインを再読み込みします。 |
qoder plugins(エイリアス plugin)を使用します:
| サブコマンド | 説明 |
|---|---|
list | インストール済みのプラグインを一覧表示します。 |
install(エイリアス i) | マーケットプレイスまたはローカルディレクトリからプラグインをインストールします。 |
uninstall(エイリアス remove/rm) | プラグインをアンインストールします。 |
enable / disable | プラグインを有効/無効にします。 |
update* | ソースマーケットプレイスからプラグインを最新バージョンに更新します。 |
validate | ローカルディレクトリ内のプラグインを検証します。 |
marketplace(エイリアス mp)* | プラグインマーケットプレイスを管理します。 |
--plugin-dir <path> 追加のプラグイン検索ディレクトリ。
セキュリティ
これら 2 項目は settings.json の security グループ下に記述します(変更後は再起動が必要です):
security.blockGitExtensions: trueは Git からのプラグインのインストール/読み込みをブロックできます。security.allowedExtensionsはプラグインソースの正規表現による許可リストを提供し、空でない場合は一致するソースのみを許可します(blockGitExtensionsを上書きします)。
次のステップ
- プラグイン利用ガイド:プラグイン。
- フックリファレンス:フックリファレンス。
- MCP リファレンス:MCP リファレンス。