AI Agents

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-реализаций, инструмент их корректно распознаёт при проверке тестовых путей.