# Создание плагина для GitHub Copilot CLI

Создайте плагин для обмена настройками в удобном для установки пакете.

## Введение

Плагины — это пакеты, расширяющие функциональность Copilot CLI. См [. раздел AUTOTITLE](/ru/copilot/concepts/agents/about-plugins).

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

## Структура плагинов

Плагин состоит из каталога с определённой структурой. Минимум он должен содержать `plugin.json` манифест-файл в корне каталога. Он также может содержать любую комбинацию агентов, навыков, хуков и конфигураций серверов MCP.

### Пример структуры плагина

```text
my-plugin/
├── plugin.json           # Required manifest
├── agents/               # Custom agents (optional)
│   └── helper.agent.md
├── skills/               # Skills (optional)
│   └── deploy/
│       └── SKILL.md
├── hooks.json            # Hook configuration (optional)
└── .mcp.json             # MCP server config (optional)
```

## Создание плагина

1. Создайте папку для вашего плагина.

2. Добавьте `plugin.json` файл манифеста в корень каталога.

**Пример `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"
}
```

Для подробностей полного набора полей, которые вы можете включить в этот файл, смотрите [Ссылка на плагин GitHub Copilot CLI](/ru/copilot/reference/copilot-cli-reference/cli-plugin-reference#pluginjson).

1. Добавьте некоторые компоненты в плагин, создавая соответствующие файлы и каталоги для агентов, навыков, хуков и конфигураций MCP-серверов.

   Рассмотрим пример.

   1. Добавьте агента, создав `NAME.agent.md` файл в подкаталоге `agents` .

      ```markdown copy
      ---
      name: my-agent
      description: Helps with specific tasks
      tools: ["bash", "edit", "view"]
      ---

      You are a specialized assistant that...
      ```

   2. Добавьте навык, создав `skills/NAME` подкаталог вашей папки плагинов, где `NAME` находится название вашего навыка. Затем в этой подкаталоге создайте `SKILL.md` файл, который определяет навык.

      Например, чтобы создать навык «развернуть», создайте `skills/deploy/SKILL.md`:

      ```markdown copy
      ---
      name: deploy
      description: Deploy the current project to...
      ---

      Instructions for the skill...
      ```

2. Установите плагин локально, чтобы тестировать его по ходу разработки.

   Например, где `./my-plugin` находится путь к вашему каталогу плагинов, введите:

   ```shell copy
   copilot plugin install ./my-plugin
   ```

3. Проверьте, что плагин успешно загрузился, просмотрев список установленных плагинов:

   ```shell copy
   copilot plugin list
   ```

   Или вы можете начать новую интерактивную сессию и войти:

   ```copilot copy
   /plugin list
   ```

4. Убедитесь, что агенты, навыки, крючки и конфигурации MCP-серверов, которые вы определили, загружены правильно.

   Например, в интерактивной сессии, чтобы проверить, загружены ли пользовательские агенты, определённые в плагине, введите:

   ```copilot copy
   /agent
   ```

   Чтобы проверить, что навыки, определённые в плагине, загружены, введите:

   ```copilot copy
   /skills list
   ```

5. Используйте функционал, предоставленный компонентами вашего плагина, чтобы убедиться, что каждый компонент работает как следует.

6. По мере необходимости развивайте плагины.

   > \[!IMPORTANT]
   > Когда вы устанавливаете плагин, его компоненты кэшуются, и CLI читает данные из кэша для следующих сессий. Чтобы восстановить изменения, внесённые в локальный плагин, установите его снова:
   >
   > ```shell copy
   > copilot plugin install ./my-plugin
   > ```

7. После завершения тестирования вы можете удалить локальную версию плагина, введя в:

   ```shell copy
   copilot plugin uninstall NAME
   ```

   > \[!NOTE]
   > Чтобы удалить плагин, используйте имя плагина, указанное в `name` поле файла манифеста `plugin.json` плагина, а не путь к папке плагина.

## Распространение вашего плагина

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

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

* [Поиск и установка плагинов для GitHub Copilot CLI](/ru/copilot/how-tos/copilot-cli/customize-copilot/plugins-finding-installing)
* [Ссылка на плагин GitHub Copilot CLI](/ru/copilot/reference/copilot-cli-reference/cli-plugin-reference)