# Ссылка на плагин GitHub Copilot CLI

Найдите команды и детали конфигурации для плагинов CLI.

> \[!NOTE]
> Помощь по использованию плагинов можно найти `copilot plugin [SUBCOMMAND] --help` в терминале.

Для обзора того, что такое плагины и как они работают между Copilot клиентами, см. [О GitHub Copilot плагинах](/ru/copilot/concepts/agents/about-plugins).

## Команды CLI

Вы можете использовать следующие команды в терминале для управления плагинами для Copilot CLI.
`copilot plugin` и `copilot plugins` являются взаимозаменяемыми — используйте все, что лучше считывается для подкоманда.

| Command                                                          | Описание                                                                                                                                                                                        |
| ---------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `copilot plugin install SPECIFICATION`                           | Установите плагин. См. [спецификацию плагина для `install` команды](#plugin-specification-for-install-command) ниже.                                                                            |
| `copilot plugin uninstall NAME`                                  | Удалить плагин                                                                                                                                                                                  |
| `copilot plugin list`                                            | Список установленных плагинов                                                                                                                                                                   |
| `copilot plugin update NAME`                                     | Обновите именованный плагин. Используйте `--all` обновление всех установленных плагинов сразу.                                                                                                  |
| `copilot plugin enable NAME`                                     | Включите ранее отключённый плагин                                                                                                                                                               |
| `copilot plugin disable NAME`                                    | Отключите плагин, не удаляя его                                                                                                                                                                 |
| `copilot plugin marketplace add SPECIFICATION`                   | Регистрация Marketplace. Собственное имя Marketplace из манифеста `marketplace.json` становится его ключом регистрации. Нет возможности задать пользовательское локальное имя.                  |
| `copilot plugin marketplace list`                                | Список зарегистрированных торговых площадок                                                                                                                                                     |
| `copilot plugin marketplace browse NAME`                         | Просмотр плагинов маркетплейса                                                                                                                                                                  |
| `copilot plugin marketplace update [NAME]` (псевдоним `refresh`) | Повторное получение каталога подключаемых модулей Marketplace. Не следует `NAME` обновлять каталоги каждой зарегистрированной платформы.                                                        |
| `copilot plugin marketplace remove NAME`                         | Отмена регистрации marketplace. Отклонено, если подключаемые модули из Marketplace по-прежнему установлены; передайте `--force` эти подключаемые модули, чтобы удалить эти подключаемые модули. |

Неинтерактивно, `copilot plugins enable NAME --plugin``copilot plugins disable NAME --plugin`и `copilot plugins remove NAME --plugin` предоставляют те же операции включения, отключения и удаления.
`--plugin` является типом по умолчанию и может быть опущен для этих трех команд. См. [раздел AUTOTITLE](/ru/copilot/reference/copilot-cli-reference/cli-command-reference#using-copilot-plugins-list) для неинтерактивных `--mcp` и `--skill` типов, которые расширяют эти команды до серверов и навыков MCP.

> \[!NOTE]
> Подключаемый модуль или Marketplace, закрепленный организацией или управляемой политикой MDM (`enabledPlugins`,), `extraKnownMarketplaces`не может быть повторно включен, отключен или переназначирован локально — управляемое значение выигрывает для этой записи. Панель `/plugin` мониторинга помечает эти строки значком `Managed` и отказывается от конфликтующего переключателя. См [. раздел AUTOTITLE](/ru/copilot/reference/copilot-cli-reference/cli-config-dir-reference#mdm-managed-settings).

### Спецификация плагина для `install` команды

| Формат                        | Пример                       | Описание                                  |
| ----------------------------- | ---------------------------- | ----------------------------------------- |
| Маркетплейс                   | `plugin@marketplace`         | Плагин с зарегистрированного маркетплейса |
| GitHub                        | `OWNER/REPO`                 | Корень GitHub репозитория                 |
| GitHub  вложенный каталог     | `OWNER/REPO:PATH/TO/PLUGIN`  | Подкаталог в репозитории                  |
| URL-адрес Git                 | `https://github.com/o/r.git` | Любой URL в Git                           |
| Местный маршрут               |                              |                                           |
| `./my-plugin` или `/abs/path` | Местный справочник           |                                           |

### `copilot plugins install` варианты

Помимо установки подключаемого модуля из спецификации, `copilot plugins install` можно установить отдельный навык из файла, URL-адреса или каталога `--skill`. Установка навыка не является установкой подключаемого модуля и не проходит через Marketplace— дополнительные сведения о навыках см. в статье [Справочник команды GitHub Copilot CLI](/ru/copilot/reference/copilot-cli-reference/cli-command-reference#skills-reference) .

| Опция                                                                                                                                                                           | Описание                                                                                                  |                                           |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
| `--plugin`                                                                                                                                                                      | Установите подключаемый модуль (по умолчанию).                                                            |                                           |
| `--skill`                                                                                                                                                                       | Установите навык из локального пути или URL-адреса.                                                       |                                           |
| `--scope SCOPE`                                                                                                                                                                 | Для установки файла или URL-адреса `--skill` : `user` (по умолчанию) или `project`.                       |                                           |
| `project` область установки в каталог текущего репозитория `.github/skills` вместо учетной записи пользователя и применяется только к установке навыков файлов или URL-адресов. |                                                                                                           |                                           |
| `--config-dir=DIRECTORY`                                                                                                                                                        | Путь к каталогу конфигурации. Этот параметр является устаревшим. Вместо этого используйте `COPILOT_HOME`. | <!-- markdownlint-disable-line GHD046 --> |

Установка каталога регистрирует его как пользовательский источник навыка, а не копирует его; Установка файла или URL-адреса копирует содержимое навыка в личный или проектный каталог навыков.

Серверы MCP устанавливаются из настроенного политикой реестра, для которого требуется проверка подлинности и интерактивная запись секрета.
`/plugin`
`/mcp` Используйте панель мониторинга (онлайн-режим), чтобы добавить серверы MCP вместо `copilot plugins install`.

### `copilot plugins update` варианты

| Опция   | Описание                                               |
| ------- | ------------------------------------------------------ |
| `--all` | Обновление каждого установленного подключаемого модуля |

> \[!NOTE]
> Подключаемые модули с исходным путем в локальном (источнике каталога) marketplace загружаются в реальном каталоге. Изменение одного из них вступает в силу `/restart` или в новом сеансе без `copilot plugin update` необходимости.

Сторонние подключаемые модули , установленные из встроенных `copilot-plugins` и `awesome-copilot` marketplace, автоматически обновляются в начале каждого сеанса в доверенном рабочем каталоге. Отключите это поведение с параметром `autoUpdate` (задано `false`значением) или переменной `COPILOT_AUTO_UPDATE=false` среды. Автоматическое обновление также пропускается по умолчанию в CI. См [. раздел AUTOTITLE](/ru/copilot/reference/copilot-cli-reference/cli-config-dir-reference#configuration-file-settings).

Вы добавили marketplace самостоятельно, чтобы выбрать одно и то же автоматическое обновление сеанса, задав `autoUpdate: true` запись в параметрах `extraKnownMarketplaces` пользователя. Эта возможность применяется только к интерактивным сеансам, `-p` а сеансы SDK и сервера не обновляются автоматически. Он учитывается из собственных параметров пользователя или управляемых параметров (MDM/server), но параметр уровня `autoUpdate` репозитория принимается и игнорируется— он не может включить или перенаправить автоматическое обновление для Marketplace. При столкновении с тем же именем встроенная первая сторона Marketplace выигрывает, а затем управляемую запись (которая заменяет всю ту же именованную запись пользователя, поэтому управляемая запись без `"autoUpdate": true` удаления согласия пользователя), а затем собственная запись пользователя. См. [параметры репозитория](/ru/copilot/reference/copilot-cli-reference/cli-config-dir-reference#repository-settings-githubcopilotsettingsjson).

В интерактивном режиме `/plugin` помечает установленный подключаемый модуль или Marketplace, когда более новая версия доступна выше, и предлагает действие **обновления** с панели мониторинга, чтобы извлечь ее.

### `copilot plugins marketplace` вложенные комманды

Встроенные marketplace по умолчанию поставляются со средой выполнения и не могут быть удалены.

| Subcommand                            | Описание                                                                                   |
| ------------------------------------- | ------------------------------------------------------------------------------------------ |
| `list [--json]`                       | Вывод списка всех зарегистрированных marketplace, включая встроенные значения по умолчанию |
| `add SOURCE`                          | Добавление Marketplace (`owner/repo`, `owner/repo#ref`URL-адреса или локального пути)      |
| `remove NAME [--force]`               | Удаление Marketplace; `--force` также удаляет подключаемые модули, полученные из него      |
| `browse NAME [--json]`                | Вывод списка подключаемых модулей, предлагаемых каталогом Marketplace                      |
| `update [NAME]` (псевдоним `refresh`) | Обновите каталог подключаемых модулей для одного marketplace или все, если `NAME` опущен   |

В интерактивном режиме запустите `/plugin marketplace update [NAME]` (псевдоним `/plugin marketplace refresh`) или нажмите на `r` вкладке Marketplace панели мониторинга подключаемых модулей, чтобы обновить каждый зарегистрированный каталог Marketplace.

## `plugin.json`

Все плагины состоят из каталога плагинов, содержащая, как минимум, файл манифеста, `plugin.json` расположенный в корне папки плагинов. См [. раздел AUTOTITLE](/ru/copilot/how-tos/copilot-cli/customize-copilot/plugins-creating).

### Обязательное поле

| Поле   | Тип    | Описание                                                                                                                                                                                                                                  |
| ------ | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name` | струна | Имя плагина для kebab-case (только буквы, цифры, дефисы). Максимум 64 персонажа. Подключаемые модули, которые выбирают [поддержку open Plugin Spec](#open-plugin-spec-support) , также могут использовать точки (например, `acme.tools`). |

### Опциональные поля метаданных

| Поле                                                                  | Тип       | Описание                                                                                                                                                                                                                         |
| --------------------------------------------------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `$schema`                                                             | струна    | Задайте для канонических подключаемых модулей агента (Open Plugin Spec) версии 1.0.0.0 URL-адрес схемы, чтобы выбрать семантику спецификации. См. [раздел "Поддержка открытых подключаемых модулей](#open-plugin-spec-support)". |
| `description`                                                         | струна    | Краткое описание. Максимум 1024 персонажа.                                                                                                                                                                                       |
| `version`                                                             | струна    | Семантическая версия (например, `1.0.0`).                                                                                                                                                                                        |
| `author`                                                              | объект    |                                                                                                                                                                                                                                  |
| `name` (обязательно), `email` (по желанию), `url` (по необходимости). |           |                                                                                                                                                                                                                                  |
| `homepage`                                                            | струна    | URL главной страницы плагина.                                                                                                                                                                                                    |
| `repository`                                                          | струна    | URL репозитория исходного кода.                                                                                                                                                                                                  |
| `license`                                                             | струна    | Идентификатор лицензии (например, `MIT`).                                                                                                                                                                                        |
| `keywords`                                                            | строка\[] | Ключевые слова поиска.                                                                                                                                                                                                           |
| `category`                                                            | струна    | Категория плагинов.                                                                                                                                                                                                              |
| `tags`                                                                | строка\[] | Дополнительные теги.                                                                                                                                                                                                             |

### Поля пути компонентов

Они указывают CLI, где найти компоненты плагина. Все они необязательны. CLI использует стандартные конвенции, если они опущены.

| Поле                          | Тип                 | По умолчанию                                                                                                                                                                                              | Описание                                                                                  |
| ----------------------------- | ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| `agents`                      | String \| string\[] | `agents/`                                                                                                                                                                                                 | Пути к директориям агентов (`.agent.md` файлы).                                           |
| `skills`                      | String \| string\[] | `skills/`                                                                                                                                                                                                 | Пути к каталогам навыков (`SKILL.md` файлам).                                             |
| `commands`                    | String \| string\[] | —                                                                                                                                                                                                         | Пути к директориям команд.                                                                |
| `hooks`                       | Строковый \| объект | —                                                                                                                                                                                                         | Путь к файлу конфигурации перехватчиков или объект встроенного перехватчика.              |
| `extensions`                  |                     |                                                                                                                                                                                                           |                                                                                           |
| \| строка строки\[] \| объект | —                   | Пути к каталогам расширений. Используйте `{ paths: [...], exclusive: true }` для подавления встроенных расширений. В [режиме open Plugin Spec](#open-plugin-spec-support) это поле имеет другое значение. |                                                                                           |
| `mcpServers`                  | Строковый \| объект | —                                                                                                                                                                                                         | Путь к файлу конфигурации MCP (например, `.mcp.json`или встроенным определениям сервера). |
| `lspServers`                  | Строковый \| объект | —                                                                                                                                                                                                         | Путь к файлу конфигурации LSP или встроенным определениям сервера.                        |

### Пример файла `plugin.json`

```json copy
{
  "name": "my-dev-tools",
  "description": "React development utilities",
  "version": "1.2.0",
  "author": {
    "name": "Jane Doe",
    "email": "jane@example.com"
  },
  "license": "MIT",
  "keywords": ["react", "frontend"],
  "agents": "agents/",
  "skills": ["skills/", "extra-skills/"],
  "hooks": "hooks.json",
  "mcpServers": ".mcp.json"
}
```

## Поддержка спецификации подключаемого модуля

Объявление канонического `$schema` варианта при выборе подключаемого модуля в формате `plugin.json` версии 1.0.0, а также при загрузке стандартного подключаемого [](https://agent-plugins.org) модуля:

### Конфигурация сервера LSP

Чтобы включить серверы LSP (Language Server Protocol) в плагин, создайте `lsp-config/servers.json` файл в каталоге плагинов или укажите путь или встроенный объект с помощью `lspServers` поля в `plugin.json`.

Пример `lsp-config/servers.json` (или встроенный через `lspServers` ):`plugin.json`

```json
{
    "lspServers": {
        "my-lsp": {
            "command": "my-language-server",
            "fileExtensions": { ".myext": "mylang" }
        }
    }
}
```

Для кроссплатформенной поддержки используйте `bash` и `powershell` вместо `command`:

```json
{
    "lspServers": {
        "my-lsp": {
            "bash": "${PLUGIN_ROOT}/scripts/start-lsp.sh",
            "powershell": "${PLUGIN_ROOT}/scripts/start-lsp.ps1",
            "fileExtensions": { ".myext": "mylang" }
        }
    }
}
```

| Поле                    | Тип       | Обязательный | Описание                                                                                                |
| ----------------------- | --------- | ------------ | ------------------------------------------------------------------------------------------------------- |
| `command`               | струна    | \*           | Исполняемый файл для запуска языкового сервера.                                                         |
| `bash`                  | струна    | \*           | Bash script для запуска сервера (Linux/macOS); Выполнено с `bash -c SCRIPT`помощью .                    |
| `powershell`            | струна    | \*           | скрипт PowerShell для запуска сервера (Windows); выполняется через `pwsh -c SCRIPT`.                    |
| `cwd`                   | струна    | Нет          | Рабочий справочник. Абсолютный или относительно конфигурационного файла. Поддерживает `${PLUGIN_ROOT}`. |
| `args`                  | строка\[] | Нет          | Аргументы для передачи `command` (игнорируются для `bash` и `powershell`).                              |
| `env`                   | объект    | Нет          | Переменные среды для установки при спавне сервера.                                                      |
| `fileExtensions`        | объект    | Да           | Отображение расширений файлов на языковые идентификаторы (например, `{ ".ts": "typescript" }`).         |
| `rootUri`               | струна    | Нет          | Project корень относительно корня git (по умолчанию: `.`).                                              |
| `initializationOptions` | any       | Нет          | Опции отправляются на сервер в запросе LSP `initialize` .                                               |

(\*) По крайней мере один из `command`, `bash`, или `powershell` обязательно. Когда указаны оба `bash` и `powershell`, платформенно соответствующий выбор выбирается автоматически (PowerShell на Windows, Bash в других местах).

Используйте `${PLUGIN_ROOT}` для ссылки на пути в каталоге плагинов.

## `marketplace.json`

Вы можете создать маркетплейс плагинов — который пользователи смогут использовать для поиска и установки ваших плагинов — создав `marketplace.json` файл и сохранив его в `.github/plugin/` каталоге репозитория. Вы также можете хранить файл `marketplace.json` в локальной файловой системе. Например, сохранение файла как `/PATH/TO/my-marketplace/.github/plugin/marketplace.json` позволяет добавить его в CLI с помощью следующей команды:

```shell
copilot plugin marketplace add /PATH/TO/my-marketplace
```

> \[!NOTE]
> Copilot CLI также ищет `marketplace.json` файл в `.claude-plugin/` каталоге.

Дополнительные сведения см. в разделе [Создание маркетплейса плагинов для GitHub Copilot CLI](/ru/copilot/how-tos/copilot-cli/customize-copilot/plugins-marketplace).

### Пример файла `marketplace.json`

```json copy
{
  "name": "my-marketplace",
  "owner": {
    "name": "Your Organization",
    "email": "plugins@example.com"
  },
  "metadata": {
    "description": "Curated plugins for our team",
    "version": "1.0.0"
  },
  "plugins": [
    {
      "name": "frontend-design",
      "description": "Create a professional-looking GUI ...",
      "version": "2.1.0",
      "source": "./plugins/frontend-design"
    },
    {
      "name": "security-checks",
      "description": "Check for potential security vulnerabilities ...",
      "version": "1.3.0",
      "source": "./plugins/security-checks"
    }
  ]
}
```

> \[!NOTE]
> Значение `source` поля для каждого плагина — это путь к каталогу плагина относительно корня репозитория. Не обязательно использовать `./` его в начале пути. Например `"./plugins/plugin-name"` , и `"plugins/plugin-name"` разрешить в одну и ту же папку.

### `marketplace.json` Поля

#### Поля верхнего уровня

| Поле                                                      | Тип    | Обязательный | Описание                                                                                                                                                                   |
| --------------------------------------------------------- | ------ | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`                                                    | струна | Да           | Название рынка кебаб-кейс. Максимум 64 персонажа. Точки также принимаются (например, `acme.tools`для подключаемых модулей [Open Plugin Spec](#open-plugin-spec-support) ). |
| `owner`                                                   | объект | Да           |                                                                                                                                                                            |
| `{ name, email? }` — информация о владельце маркетплейса. |        |              |                                                                                                                                                                            |
| `plugins`                                                 | массив | Да           | Список записей плагинов (см. таблицу ниже).                                                                                                                                |
| `metadata`                                                | объект | Нет          | `{ description?, version?, pluginRoot? }`                                                                                                                                  |

#### Поля ввода плагинов (объекты внутри `plugins` массива)

| Поле          | Тип                 | Обязательный | Описание                                                                                                                                                                                                                           |
| ------------- | ------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`        | струна              | Да           | Имя плагина для кебаб-кейса. Максимум 64 персонажа. Точки также принимаются для подключаемых модулей [Open Plugin Spec](#open-plugin-spec-support) .                                                                               |
| `source`      | Строковый \| объект | Да           | Где получить плагин (относительный путь GitHub, , или URL).                                                                                                                                                                        |
| `description` | струна              | Нет          | Описание плагина. Максимум 1024 персонажа.                                                                                                                                                                                         |
| `version`     | струна              | Нет          | Версия плагина.                                                                                                                                                                                                                    |
| `author`      | объект              | Нет          | `{ name, email?, url? }`                                                                                                                                                                                                           |
| `homepage`    | струна              | Нет          | URL главной страницы плагина.                                                                                                                                                                                                      |
| `repository`  | струна              | Нет          | URL репозитория исходного кода.                                                                                                                                                                                                    |
| `license`     | струна              | Нет          | Идентификатор лицензии.                                                                                                                                                                                                            |
| `keywords`    | строка\[]           | Нет          | Ключевые слова поиска.                                                                                                                                                                                                             |
| `category`    | струна              | Нет          | Категория плагинов.                                                                                                                                                                                                                |
| `tags`        | строка\[]           | Нет          | Дополнительные теги.                                                                                                                                                                                                               |
| `commands`    | String \| string\[] | Нет          | Пути к директориям команд.                                                                                                                                                                                                         |
| `agents`      | String \| string\[] | Нет          | Пути к каталогам агентов.                                                                                                                                                                                                          |
| `skills`      | String \| string\[] | Нет          | Пути к каталогам навыков.                                                                                                                                                                                                          |
| `hooks`       | Строковый \| объект | Нет          | Путь к конфигурации перехватчиков или объекту встроенных перехватчиков.                                                                                                                                                            |
| `mcpServers`  | Строковый \| объект | Нет          | MCP-серверы активируются при установке плагина. Принимает встроенную карту сервера или путь к файлу конфигурации JSON. Используется, когда источник плагина не поставляет собственную конфигурацию MCP.                            |
| `lspServers`  | Строковый \| объект | Нет          | Путь к конфигурации LSP или встроенным определениям сервера.                                                                                                                                                                       |
| `strict`      | булевый             | Нет          | Когда `true` (по умолчанию) плагины должны соответствовать полным правилам схемы и валидации. Когда `false`используется расслабленная валидация, что даёт больше гибкости — особенно для прямых установок или устаревших плагинов. |

#### Типы источников подключаемого модуля

`source` Поле в записи подключаемого GitHub модуля принимает относительную строку пути или объект, описывающий репозиторий или источник URL-адреса Git:

```json
{
    "source": {
        "source": "github",
        "repo": "owner/repo",
        "ref": "v1.0.0",
        "path": "plugins/my-plugin"
    }
}
```

`github`
`url` Оба типа источников принимают необязательное `sha` поле для закрепления установок в точной фиксации в дополнение к (или вместо`ref`) :

```json
{
    "source": {
        "source": "github",
        "repo": "owner/repo",
        "sha": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3",
        "path": "plugins/my-plugin"
    }
}
```

`sha` должно быть полной 40-символьной фиксацией SHA. Закрепление к `sha` воспроизводимым установкам, которые являются иммунными для принудительной отправки или перемещения тегов или ветвей.

## Расположения файлов

| Элемент                                                                                                                                                                                                                                                                                                     | Путь                                                                                                                                                           |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Установленные плагины                                                                                                                                                                                                                                                                                       |                                                                                                                                                                |
| `~/.copilot/installed-plugins/MARKETPLACE/PLUGIN-NAME` (установлен через маркетплейс) и `~/.copilot/installed-plugins/_direct/SOURCE-ID/` (установлен напрямую)                                                                                                                                             |                                                                                                                                                                |
| Кэш маркетплейса                                                                                                                                                                                                                                                                                            | Каталог кэша платформы: `~/.cache/copilot/marketplaces/` (Linux), `~/Library/Caches/copilot/marketplaces/` (macOS). Переобоймо с `COPILOT_CACHE_HOME`помощью . |
| Манифест плагинов                                                                                                                                                                                                                                                                                           |                                                                                                                                                                |
| `.plugin/plugin.json`, `plugin.json`, `.github/plugin/plugin.json`, или `.claude-plugin/plugin.json` (отмечено в таком порядке)                                                                                                                                                                             |                                                                                                                                                                |
| Манифест рынка                                                                                                                                                                                                                                                                                              |                                                                                                                                                                |
| `marketplace.json`, `.plugin/marketplace.json`, `.github/plugin/marketplace.json`, или `.claude-plugin/marketplace.json` (отмечено в таком порядке)                                                                                                                                                         |                                                                                                                                                                |
| Агенты                                                                                                                                                                                                                                                                                                      |                                                                                                                                                                |
| `agents/` (по умолчанию, можно отменить в манифесте)                                                                                                                                                                                                                                                        |                                                                                                                                                                |
| Навыки                                                                                                                                                                                                                                                                                                      |                                                                                                                                                                |
| `skills/` (по умолчанию, можно отменить в манифесте)                                                                                                                                                                                                                                                        |                                                                                                                                                                |
| Конфигурация крючков                                                                                                                                                                                                                                                                                        |                                                                                                                                                                |
| `hooks.json` или `hooks/hooks.json`                                                                                                                                                                                                                                                                         |                                                                                                                                                                |
| Конфигурация MCP                                                                                                                                                                                                                                                                                            |                                                                                                                                                                |
| `.mcp.json`, `.github/mcp.json`                                                                                                                                                                                                                                                                             |                                                                                                                                                                |
| Конфигурация LSP                                                                                                                                                                                                                                                                                            |                                                                                                                                                                |
| `lsp.json` или `.github/lsp.json`                                                                                                                                                                                                                                                                           |                                                                                                                                                                |
| Данные плагинов                                                                                                                                                                                                                                                                                             |                                                                                                                                                                |
| `${COPILOT_PLUGIN_DATA}` (также доступно как `${CLAUDE_PLUGIN_DATA}`). Указывает на постоянную, записываемую директорию, уникальную для каждого установленного плагина. Используйте это для специфических для плагинов данных во время выполнения вместо путей внутри каталога кэша установленных плагинов. |                                                                                                                                                                |

## Порядок загрузки и приоритет

Если вы устанавливаете несколько плагинов, возможно, что некоторые кастомные агенты, навыки, MCP-серверы или инструменты, предоставляемые через MCP-серверы, имеют дублирующиеся имена. В такой ситуации CLI определяет, какой компонент использовать, исходя из порядка приоритета.

* **Агенты и навыки** используют приоритет «первый-найденный-выигрышный».

  Если у вас есть кастомный агент или навык проектного уровня с тем же именем или идентификатором, что и в плагине, который вы устанавливаете, агент или навык в плагине молча игнорируются. Плагин не может отменять конфигурации на уровне проекта или личные настройки. Пользовательские агенты дедуплифицируются с помощью их идентификатора, который выводится из имени файла (например, если файл имеет имя `reviewer.agent.md`, идентификатор агента — `reviewer`). Навыки дедуплифицируются по полю имени внутри `SKILL.md` файла.

* **Серверы MCP** используют приоритет последних побед.

  Если вы установите плагин, который определяет MCP-сервер с тем же именем сервера, что и уже установленный вами MCP-сервер, определение плагина имеет приоритет. Вы можете использовать `--additional-mcp-config` опцию командной строки, чтобы переопределить конфигурацию MCP-сервера с таким же названием, установленную через плагин. Если два или более подключаемых модулей объявляют сервер MCP с одинаковым именем, интерфейс командной строки использует версию из подключаемого модуля, загруженного последней, и отображает предупреждение об именовании каждого предыдущего подключаемого модуля, определяемого им.

* **Встроенные инструменты и агенты** всегда присутствуют и не могут быть переопределены пользовательскими компонентами.

Следующая схема иллюстрирует правила порядка загрузки и приоритета.

```text
┌──────────────────────────────────────────────────────────────────┐
│  BUILT-IN - HARDCODED, ALWAYS PRESENT                            │
│  • tools: bash, view, apply_patch, glob, rg, task, ...           │
│  • agents: explore, task, code-review, general-purpose, research │
└────────────────────────┬─────────────────────────────────────────┘
                         │
  ┌──────────────────────▼──────────────────────────────────────────────┐
  │  CUSTOM AGENTS - FIRST LOADED IS USED (dedup by ID)                 │
  │  1. ~/.copilot/agents/           (user, .github convention)         │
  │  2. <project>/.github/agents/    (project)                          │
  │  3. <parents>/.github/agents/    (inherited, monorepo)              │
  │  4. <project>/.claude/agents/    (project)                          │
  │  5. <parents>/.claude/agents/    (inherited, monorepo)              │
  │  6. PLUGIN: agents/ dirs         (plugin, by install order)         │
  │  7. Remote org/enterprise agents (remote, via API)                  │
  └──────────────────────┬──────────────────────────────────────────────┘
                         │
  ┌──────────────────────▼──────────────────────────────────────────────┐
  │  AGENT SKILLS - FIRST LOADED IS USED (dedup by name)                │
  │  1. <project>/.github/skills/        (project)                      │
  │  2. <project>/.agents/skills/        (project)                      │
  │  3. <project>/.claude/skills/        (project)                      │
  │  4. <parents>/.github/skills/ etc.   (inherited)                    │
  │  5. ~/.copilot/skills/               (personal-copilot)             │
  │  6. ~/.agents/skills/                (personal-agents)              │
  │  7. PLUGIN: skills/ dirs             (plugin)                       │
  │  8. COPILOT_SKILLS_DIRS env + config (custom)                       │
  │  --- then commands (.claude/commands/), skills override commands ---│
  └──────────────────────┬──────────────────────────────────────────────┘
                         │
  ┌──────────────────────▼──────────────────────────────────────────────┐
  │  MCP SERVERS - LAST LOADED IS USED (dedup by server name)           │
  │  1. ~/.copilot/mcp-config.json       (lowest priority)              │
  │  2. PLUGIN: MCP configs              (plugins)                      │
  │  3. --additional-mcp-config flag     (highest priority)             │
  └─────────────────────────────────────────────────────────────────────┘
```

## Дополнительные материалы

* [О стандартах плагинов, управляемых корпоративным предприятием](/ru/copilot/concepts/agents/about-enterprise-plugin-standards)
* [GitHub Copilot CLI](/ru/copilot/how-tos/copilot-cli)
* [Справочник команды GitHub Copilot CLI](/ru/copilot/reference/copilot-cli-reference/cli-command-reference)
* [GitHub Copilot CLI программный справочник](/ru/copilot/reference/copilot-cli-reference/cli-programmatic-reference)