> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# プラグインエコシステムをセットアップする

> 組織または Enterprise 全体で共有する Devin プラグイン群を構築、ホスト、管理する

<Note>
  プラグインは **クローズドベータ** です。アクセスをリクエストするには、[support@cognition.ai](mailto:support@cognition.ai) までお問い合わせください。動作や設定は今後のリリースで変更される場合があります。
</Note>

このガイドでは、独自の**プラグインエコシステム**を構築する方法を説明します。これは、組織が所有するプラグインのリポジトリを、管理対象のマニフェストを通じてすべてのDevinセッションとCLIユーザーに配布し、必須・任意・禁止の各プラグインをガバナンスの制御手段として使う構成です。

このガイドには、2つのテンプレートリポジトリが付属しています。

* [**plugin-template**](https://github.com/CognitionAI/plugin-template) — 単一のプラグイン (または少数のプラグイン) を作成するためのスターターテンプレートです。
* [**team-marketplace-template**](https://github.com/CognitionAI/team-marketplace-template) — 完全なエコシステムの構成パターンです。プラグインのモノレポに加え、マニフェストでベースラインとポリシーを定義する**メタプラグイン**も含まれています。

<div id="1-author-your-plugins">
  ## 1. プラグインを作成する
</div>

プラグインとは、`.devin-plugin/plugin.json` マニフェストを含むディレクトリのことです。それ以外はすべて任意です。

```
my-plugin/
├── .devin-plugin/
│   └── plugin.json     # name, version, dependency + policy lists
├── AGENTS.md           # always-on rule
├── rules/              # triggered rules
├── agents/<name>.md   # カスタムサブエージェント（現在はCLI/Desktopのみ）; agents/<name>/AGENT.md も使用可能
├── hooks.json          # lifecycle hooks
├── mcp_config.json     # MCP servers
└── skills/<name>/SKILL.md   # skills, exposed as /<plugin>:<skill>
```

まずは [plugin-template](https://github.com/CognitionAI/plugin-template) をフォークし、完全なフォーマットについては [CLI プラグイン リファレンス](/ja/cli/extensibility/plugins/overview) を参照してください。`AGENTS.md` は短く保ってください。そのプラグインを使う全員のすべてのセッションで前提情報を消費してしまうためです。

<div id="2-validate-and-test-locally">
  ## 2. ローカルで検証とテストを行う
</div>

どちらのテンプレートにも、バリデーター (`node scripts/validate-template.mjs`) と、すべてのPRでこれを実行するCIワークフローが含まれています。実際に試すには、[Devin CLI](/ja/cli/index)を使ってローカルフォルダーからインストールします:

```bash theme={null}
devin plugins install ./plugins/my-plugin   # リンク済み: 編集内容は次のセッションから反映されます
devin plugins list
```

<div id="3-host-them-in-one-repo">
  ## 3. 1つのリポジトリで管理する
</div>

組織のすべてのプラグインを1つのリポジトリ内のサブフォルダ (`plugins/<name>/`) に配置し、それぞれを固有の`git-subdir`ソースで参照します。リポジトリは非公開のままでも問題ありません。クラウドセッションはGit統合を通じてこれを取得し、CLIユーザーは各自のgit認証情報で取得します (そのため、リポジトリへのアクセス権も必要です) 。

この構成には、[team-marketplace-template](https://github.com/CognitionAI/team-marketplace-template) をフォークし、そのメタプラグインの`git-subdir` URLが自分のforkを指すように更新してください。テンプレートでは、メタプラグインは**リポジトリのルート**にあるため、リポジトリ自体がインストール可能な単位になります。つまり、`your-org/your-marketplace`を指定すると、ベースライン全体がインストールされます。

<div id="4-define-your-baseline-with-a-meta-plugin">
  ## 4. メタプラグインでベースラインを定義する
</div>

**メタプラグイン**パターンを使うと、エコシステム全体を1つのインストール可能な単位として扱えます。これは、それ自体にはほとんど、またはまったく内容を持たないプラグインで、マニフェストがその役割を果たします。リポジトリ 自体がメタプラグインになるように、リポジトリ のルートに配置します：

```jsonc theme={null}
// .devin-plugin/plugin.json（リポジトリルート）
{
  "name": "team-starter-pack",
  "requiredPlugins": [
    // 全員に自動インストール（再帰的に適用）
    { "source": "git-subdir", "url": "https://github.com/acme/plugins.git", "path": "plugins/engineering-baseline" },
    { "source": "git-subdir", "url": "https://github.com/acme/plugins.git", "path": "plugins/security-guardrails" }
  ],
  "optionalPlugins": [
    // 承認済み、自動インストールなし；このマニフェストの禁止リストの適用除外でもある
    { "source": "git-subdir", "url": "https://github.com/acme/plugins.git", "path": "plugins/frontend-standards" }
  ],
  "forbiddenPlugins": [
    "untrusted-vendor/*"
  ]
}
```

<div id="5-distribute-from-settings-marketplace">
  ## 5. Settings → Marketplace から配布する
</div>

管理者は、[Marketplace 設定ページ](https://app.devin.ai/settings/marketplace) の管理対象マニフェストにエントリを 1 つ追加します。詳しくは、[プラグイン marketplace ガイド](/ja/product-guides/plugins) を参照してください:

```json theme={null}
{
  "requiredPlugins": ["acme/plugins"]
}
```

marketplace リポジトリ を必須にすると、そのルートのメタプラグインがインストールされ、ベースライン全体が再帰的に取り込まれます。

これで、スコープ内の全員にベースラインが自動的に適用されます。スコープは慎重に選んでください。

* **enterprise/account** マニフェスト は、クラウドセッション**と**、その account にログインしている CLI user に適用されます。
* **組織** マニフェスト は、**クラウドセッションにのみ**適用されます。CLI には 組織 の前提情報がありません。

<div id="6-govern">
  ## 6. ガバナンス
</div>

3 つのリストが、すべてのレベル (managed マニフェストs、リポジトリ config、プラグイン マニフェストs) で共通のポリシー言語です。競合する場合は、より上位のレベルが優先されます。つまり、enterprise/account は 組織 より、組織 は リポジトリ より、リポジトリ は user より優先され、上位レベルで禁止されたものを下位レベルで再び許可することも、上位レベルで必須とされたものを禁止することもできません。

account を承認済みのもののみに制限するには:

```json theme={null}
{
  "forbiddenPlugins": ["*"],
  "requiredPlugins": [
    "acme/plugins",
    { "source": "git-subdir", "url": "https://github.com/acme/plugins.git", "path": "plugins/engineering-baseline" },
    { "source": "git-subdir", "url": "https://github.com/acme/plugins.git", "path": "plugins/security-guardrails" }
  ],
  "optionalPlugins": [
    { "source": "git-subdir", "url": "https://github.com/acme/plugins.git", "path": "plugins/frontend-standards" }
  ]
}
```

マニフェスト 自身の required/optional エントリは、その マニフェスト 自身の `"*"` による禁止の対象外ですが、それ以外は対象外ではなく、下位レベルでこの例外範囲を広げることもできません。この例外が適用されるのは *直接列挙された* エントリだけであり、required プラグイン の推移的な依存関係は対象外になりません。したがって、ロックダウン下では、メタプラグイン が取り込むもの (ここでは `engineering-baseline` と `security-guardrails`) をすべて明示的に列挙してください。完全な仕様については [governance rules](/ja/product-guides/plugins#governance-rules) を参照してください。

<div id="7-evolve">
  ## 7. 発展
</div>

* プラグインリポジトリのデフォルトブランチにマージすること自体がリリースです。新しいセッションには自動的に反映されます。詳しくは、[更新のロールアウト方法](/ja/product-guides/plugins#how-updates-roll-out) を参照してください。
* チームは marketplace リポジトリに PR でプラグインを追加し、テンプレートの CI が各 PR でレイアウトを検証します。
* 既存の Claude プラグインはそのままインストールできます (Devin は `.claude-plugin/plugin.json` にフォールバックします) 。そのため、`optionalPlugins` ではコミュニティプラグインをリポジトリに取り込まずに推奨できます。

<div id="current-limitations">
  ## 現在の制限事項
</div>

* プラグインはクラウドセッション、[Devin CLI](/ja/cli/index)、および Devin Desktop (Devin Local を利用する場合) で読み込まれます。クラシックな Cascade エージェントには適用されません。
* **サブエージェント** (`agents/<name>.md` または `agents/<name>/AGENT.md`) はローカルの Devin エージェント (CLI と Devin Desktop) でのみ読み込まれ、クラウドセッションでは読み込まれません。
* **フック**: クラウドセッションでは、`SessionStart` と `SessionEnd` を除くすべての[event](/ja/cli/extensibility/hooks/lifecycle-hooks)で `command` フックが実行されます。`prompt` タイプのフックは CLI/ローカル環境でのみ利用できます。
* **プラグイン経由で提供される MCP** はセッション内で読み込まれますが、MCP の設定 UI にはまだ表示されません。
* **組織レベル** のマニフェストは CLI ユーザーには反映されません。CLI への適用には enterprise/account マニフェストを利用してください。

<div id="learn-more">
  ## 詳細はこちら
</div>

* [プラグイン marketplace](/ja/product-guides/plugins) — Webアプリ側: マニフェスト、スコープ、アップロード
* [CLI プラグイン リファレンス](/ja/cli/extensibility/plugins/overview) — ファイル形式、作成方法、ユーザーごとのインストール
* [Skills](/ja/product-guides/skills) — プラグインにバンドルされる `SKILL.md` の手順
