Skip to content

settings.jsonにプラグインをインラインで宣言する — source: 'settings'

原文(日本語に翻訳)

source: 'settings' プラグインマーケットプレイスソースを追加 — settings.jsonにプラグインエントリをインラインで宣言可能

原文(英語)

Added source: 'settings' plugin marketplace source — declare plugin entries inline in settings.json

概要

Claude Code v2.1.80で、settings.jsonファイルに直接プラグインのエントリポイントを宣言できる新しいマーケットプレイスソース source: 'settings' が追加されました。これまでは別途マーケットプレイスソースを設定する必要がありましたが、この変更によりsettings.jsonだけでプラグインの完全な設定が可能になります。特に組織のポリシーや管理設定での活用に適しています。

基本的な使い方

settings.jsonの pluginMarketplaceSources にtype settings のソースを追加します。

json
{
  "pluginMarketplaceSources": [
    {
      "type": "settings",
      "plugins": [
        {
          "name": "my-plugin",
          "version": "1.0.0",
          "description": "カスタムプラグインの説明"
        }
      ]
    }
  ]
}

実践例

ローカルプラグインをsettingsソースで宣言

json
{
  "pluginMarketplaceSources": [
    {
      "type": "settings",
      "plugins": [
        {
          "name": "team-tools",
          "description": "チーム共通のツールセット",
          "path": "/opt/claude-plugins/team-tools"
        }
      ]
    }
  ]
}

複数のマーケットプレイスソースと組み合わせる

json
{
  "pluginMarketplaceSources": [
    {
      "type": "github",
      "repo": "myorg/claude-plugins"
    },
    {
      "type": "settings",
      "plugins": [
        {
          "name": "internal-plugin",
          "description": "社内専用プラグイン",
          "url": "https://internal.example.com/plugins/internal-plugin"
        }
      ]
    }
  ],
  "enabledPlugins": {
    "internal-plugin@settings": true,
    "public-plugin@myorg": true
  }
}

組織のmanaged settingsでプラグインを配布

remote-settings.json を使って組織全体にプラグインを配布できます。

json
{
  "pluginMarketplaceSources": [
    {
      "type": "settings",
      "plugins": [
        {
          "name": "security-scanner",
          "description": "セキュリティスキャンプラグイン(必須)"
        },
        {
          "name": "code-style",
          "description": "コードスタイル統一プラグイン"
        }
      ]
    }
  ],
  "enabledPlugins": {
    "security-scanner@settings": true
  }
}

注意点

  • enabledPlugins でプラグインを有効化する際は plugin-name@settings 形式でソースを指定します
  • source: 'settings' は既存の githubgitdirectory タイプと組み合わせて使用できます
  • managed settings(remote-settings.json)での利用が特に効果的です
  • プラグイン名は一意であることが推奨されます
  • settings.jsonの設定レベル(ユーザー、プロジェクト、ローカル)に応じた優先順位が適用されます

関連情報