Copilot Path-Specific Instructions (applyTo) Validator
Проверить applyTo во frontmatter .github/instructions/*.instructions.md и на каких путях правило сработает.
Как это работает
Помимо единого репозиторного .github/copilot-instructions.md, GitHub Copilot поддерживает более гранулярный механизм — отдельные файлы .github/instructions/*.instructions.md с полем applyTo во frontmatter, ограничивающим область действия правила конкретными путями. Это концептуально тот же принцип, что и glob у Cursor Rules, но с собственным, слегка отличающимся синтаксисом paths-паттерна. Copilot Path-Specific Instructions (applyTo) Validator online проверяет корректность этого поля и показывает, на каких путях правило реально сработает.
Формат новее и заметно менее покрыт документацией и сторонними инструментами, чем аналогичный механизм у Cursor, отчасти потому что путь-специфичные инструкции Copilot появились позже единого файла instructions.md и пока не успели обрасти таким же количеством гайдов и линтеров в сообществе.
Инструмент разбирает frontmatter каждого .instructions.md файла, проверяет синтаксис поля applyTo (список путей или паттернов), и для введённого списка тестовых файлов показывает, какие из instructions-файлов реально применятся к каждому — по аналогии с уже существующим на сайте валидатором для .mdc, но под собственный синтаксис Copilot.
Частые вопросы
Чем applyTo в Copilot отличается от globs в Cursor Rules по синтаксису?
Оба механизма решают одну задачу — ограничение области действия правила по путям файлов, но используют разный синтаксис паттернов и разное имя поля во frontmatter, конфигурацию для одного инструмента нельзя напрямую скопировать в другой без адаптации формата.
Заменяет ли path-specific instructions единый файл copilot-instructions.md?
Нет, оба механизма могут сосуществовать: единый файл задаёт общие для всего репозитория правила, а path-specific instructions добавляют более узкий, специфичный для конкретной части кодовой базы контекст поверх общих.
Что если applyTo не указан вообще в instructions-файле?
Поведение по умолчанию без явного applyTo зависит от конкретной версии интеграции Copilot, стоит явно прописать это поле, а не полагаться на неявное поведение, которое может измениться между релизами инструмента.
Поддерживает ли applyTo паттерны с двойной звёздочкой для рекурсивного совпадения?
Да, синтаксис путей поддерживает такие же рекурсивные паттерны для глубокой вложенности директорий, что и большинство современных glob-реализаций, инструмент их корректно распознаёт при проверке тестовых путей.