~/guides/copilot-path-specific-instructions-applyto

AI Agents

applyTo в GitHub Copilot: путь-специфичные инструкции параллельно единому copilot-instructions.md

Как работает менее известный механизм .instructions.md с полем applyTo и чем он отличается от Cursor Rules по синтаксису.

Помимо единого репозиторного .github/copilot-instructions.md, GitHub Copilot поддерживает более гранулярный механизм — отдельные файлы .github/instructions/*.instructions.md с полем applyTo во frontmatter. Формат концептуально тот же, что и glob у Cursor Rules, но со своим синтаксисом и заметно меньшим количеством документации и сторонних инструментов вокруг.

Структура файла

---
description: Backend API conventions
applyTo: src/api/**/*.ts, src/routes/**/*.ts
---

Use dependency injection for services, not static imports.

Как applyTo соотносится с единым файлом инструкций

Оба механизма могут сосуществовать одновременно: единый copilot-instructions.md задаёт общие для всего репозитория правила, а path-specific instructions добавляют более узкий, специфичный для конкретной части кодовой базы контекст поверх общих.

Механизм Область действия Синтаксис ограничения
copilot-instructions.md Весь репозиторий Нет ограничения по путям
*.instructions.md с applyTo Конкретные пути файлов Список паттернов через applyTo

Почему этот формат менее покрыт документацией

Path-specific instructions появились позже единого файла instructions.md и пока не успели обрасти таким же количеством гайдов, линтеров и обсуждений в сообществе, как аналогичный, но более давний механизм у Cursor.

Частая проблема — неуказанный applyTo

Если поле applyTo не указано вообще, поведение по умолчанию зависит от конкретной версии интеграции Copilot и может измениться между релизами. Разумная практика — явно прописывать applyTo для каждого path-specific файла, а не полагаться на неявное поведение.

Как проверить, на каких путях сработает правило

Открывать десяток файлов и смотреть на реакцию Copilot — медленный способ отладки. Copilot Path-Specific Instructions (applyTo) Validator разбирает frontmatter и сразу показывает на списке тестовых путей, какие из них попадут под конкретное правило.

Итоговый чеклист

applyTo и copilot-instructions.md решают разные по масштабу задачи и рассчитаны на совместное использование, а не на замену одного другим.

Формат синтаксически похож на glob у Cursor Rules, но использует собственное имя поля и не переносится между инструментами без адаптации.

Явное указание applyTo надёжнее, чем расчёт на поведение по умолчанию, которое может отличаться между версиями Copilot.