# Добавление пользовательских инструкций для GitHub Copilot CLI

Дайте Copilot дополнительный контекст о том, как понять ваш проект и как строить, протестировать и проверять его изменения.

GitHub Copilot может дать ответы, адаптированные к вашим личным предпочтениям, работе вашей команды, используемым инструментам или особенностям вашего проекта, если вы предоставите достаточно контекста для этого. Вместо того, чтобы постоянно добавлять эту контекстную информацию в свои запросы, вы можете создать пользовательские инструкции, которые автоматически добавят эту информацию за вас. Дополнительная информация не отображается, но доступна Copilot для генерации ответов более высокого качества.

## Типы пользовательских инструкций

GitHub Copilot CLI поддерживает инструкции из следующих расположений.

Если в таблице ниже не указано, Copilot CLI обнаруживает файлы инструкций репозитория и агента в **стандартных расположениях**: корневой каталог репозитория, текущий рабочий каталог, промежуточные каталоги между ними и все каталоги, вложенные в путь к файлу, над которым он работает. Модульные файлы инструкций ( `*.instructions.md`соответствующие) зависят от пути— файл со `applyTo` значением применяется только к соответствующим файлам.

| Местоположение                                               | Область и поведение                                                                                                                                                                    |
| ------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `$HOME/.copilot/copilot-instructions.md`                     | Инструкции на уровне пользователя, которые применяются к репозиториям.                                                                                                                 |
| `$HOME/.copilot/instructions/**/*.instructions.md`           | Инструкции на уровне модульных пользователей.                                                                                                                                          |
| `.github/copilot-instructions.md`                            | Инструкции по всему репозиторию, обнаруженные в стандартных расположениях.                                                                                                             |
| `.github/instructions/**/*.instructions.md`                  | Инструкции модульного репозитория, обнаруженные в стандартных расположениях, но не промежуточные каталоги.                                                                             |
| `AGENTS.md`                                                  | Инструкции агента, обнаруженные в стандартных расположениях. Для получения дополнительной информации смотрите [репозиторий agentsmd/agents.md](https://github.com/agentsmd/agents.md). |
| `CLAUDE.md`                                                  | Инструкции агента, обнаруженные в стандартных расположениях.                                                                                                                           |
| Copilot CLI также используется `.claude/CLAUDE.md`.          |                                                                                                                                                                                        |
| `GEMINI.md`                                                  | Инструкции агента, обнаруженные в стандартных расположениях.                                                                                                                           |
| Каталоги, перечисленные в `COPILOT_CUSTOM_INSTRUCTIONS_DIRS` | Дополнительные `AGENTS.md` и `*.instructions.md` файлы. Разделите несколько каталогов запятыми.                                                                                        |

Если вы задаете `COPILOT_HOME` переменную среды, Copilot CLI использует этот каталог вместо `$HOME/.copilot` обоих расположений инструкций на уровне пользователя.

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

## Взаимодействие нескольких файлов инструкций

Если существуют несколько применимых файлов инструкций на уровне пользователя и репозитория, Copilot CLI объединяет их инструкции. Он удаляет повторяющиеся копии идентичных пользовательских `copilot-instructions.md`, репозиторий и инструкций агента, но не определяет общий порядок приоритета между этими файлами. Избегайте конфликтующих инструкций.

Инструкции, относящиеся к пути, включаются только в том случае, если их `applyTo` значение соответствует файлу, с которым Copilot CLI работает работа. Файл инструкций, который вы отключаете использование `/instructions` , не включается.

## Создание пользовательских инструкций на уровне репозитория

1. В корне вашего репозитория создайте файл с именем `.github/copilot-instructions.md`.

   Создайте папку `.github`, если её ещё нет.

2. Добавьте инструкции по естественному языку в файл в формате Markdown.

   Пробелы между инструкциями игнорируются, поэтому инструкции могут быть написаны как один абзац, каждый из которых находится на новой строке или разделен пустыми строками для удобочитаемости.

   Для помощи в написании эффективных индивидуальных инструкций см. [О кастомизации ответов GitHub Copilot](/ru/enterprise-cloud@latest/copilot/concepts/prompting/response-customization#writing-effective-custom-instructions).

### Ссылка на другие файлы

В `.github/copilot-instructions.md`, `AGENTS.md`или `CLAUDE.md`используйте `@` относительный путь для включения другого файла.
Copilot CLI считывает указанный файл немедленно и поддерживает ссылки в ссылочных файлах.

Ссылки на файлы должны оставаться в репозитории или в пользовательском каталоге инструкций для локальных инструкций. Абсолютные пути и пути, начинающиеся с `~/` , не загружаются. Ссылки на файлы не развернуты или `GEMINI.md``*.instructions.md` не развернуты.

## Создание пользовательских инструкций для конкретного пути

1. Создайте каталог, `.github/instructions` если он еще не существует.

2. По желанию создайте подкаталоги `.github/instructions` для организации ваших файлов инструкций.

3. Создайте один или несколько `NAME.instructions.md` файлов, где `NAME` указывается назначение инструкций. Имя файла должно заканчиваться `.instructions.md`.

4. В начале файла создайте блок frontmatter, содержащий ключевое `applyTo` слово. Используйте синтаксис glob, чтобы указать, к каким файлам или каталогам применяются инструкции.

   Например:

   ```markdown
   ---
   applyTo: "app/models/**/*.rb"
   ---
   ```

   Можно указать несколько шаблонов, разделив их запятыми. Например, чтобы применить инструкции ко всем файлам TypeScript в репозитории, можно использовать следующий блок frontmatter:

   ```markdown
   ---
   applyTo: "**/*.ts,**/*.tsx"
   ---
   ```

   Примеры Glob:

   * `*` - все будут совпадать со всеми файлами текущей директории.
   * `**` или `**/*` — все совпадут со всеми файлами во всех каталогах.
   * `*.py` - будет совпадать со всеми `.py` файлами текущей папки.
   * `**/*.py` - будет рекурсивно совпадать со всеми `.py` файлами во всех каталогах.
   * `src/*.py`- будет `.py` совпадать со всеми `src` файлами в каталоге. Например `src/foo.py` , и `src/bar.py`*нет*`src/foo/bar.py`.
   * `src/**/*.py` - будет рекурсивно совпадать со всеми `.py` файлами в `src` каталоге. Например, `src/foo.py`, `src/foo/bar.py`и `src/foo/bar/baz.py`.
   * `**/subdir/**/*.py` - будет рекурсивно совпадать со всеми `.py` файлами в любой `subdir` папке на любой глубине. Например, `subdir/foo.py`, `subdir/nested/bar.py`, `parent/subdir/baz.py`, и `deep/parent/subdir/nested/qux.py`, но *не*`foo.py` на пути, не содержащем каталога `subdir` .

5. Опционально, чтобы предотвратить использование файла либо Copilot cloud agent одним из вариантов Copilot code review, добавьте `excludeAgent` ключевое слово в блок фронтматтера. Используйте либо или `"code-review"``"cloud-agent"`.

   Например, следующий файл будет читаться только .Copilot cloud agent

   ```markdown
   ---
   applyTo: "**"
   excludeAgent: "code-review"
   ---
   ```

   Если ключевое `excludeAgent` слово не включено в передний блок Matterblock, оба Copilot code review и Copilot cloud agent будут использовать ваши инструкции.

6. Добавьте пользовательские инструкции на естественном языке с помощью формата Markdown. Пробелы между инструкциями игнорируются, поэтому инструкции могут быть написаны как один абзац, каждый из которых находится на новой строке или разделен пустыми строками для удобочитаемости.

## Пользуемые инструкции

Изменения, внесенные в пользовательские файлы инструкций, не сразу доступны для использования в активных сеансах CLI. Чтобы применить изменения, выйти из текущего сеанса и возобновить его (например, запустить `copilot --continue`) или запустить новый сеанс (например, использовать `/new` в интерактивном сеансе).

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

* [Поддержка различных типов пользовательских инструкций](/ru/enterprise-cloud@latest/copilot/reference/custom-instructions-support)
* [Пользовательские инструкции](/ru/enterprise-cloud@latest/copilot/tutorials/customization-library/custom-instructions) — тщательно подобранная коллекция примеров
* [Использование пользовательских инструкций для разблокировки возможностей обзора кода Copilot](/ru/enterprise-cloud@latest/copilot/tutorials/customize-code-review)