Разработчик Майкл Бреннан добавил два файла в корень решения Visual Studio — copilot-instructions.md и copilot-prompts.md. Результат: GitHub Copilot перестал галлюцинировать API и начал следовать архитектурным правилам проекта.
В энтерпрайз-кодбейзах Copilot без контекста создаёт хаос. Размещает интерфейсы в неправильных файлах, смешивает архитектурные паттерны, удаляет код без разрешения. В долгоживущих системах это приводит к архитектурному дрейфу.
Два файла — архитектурный щит
Первый файл — copilot-instructions.md — содержит архитектурные правила:
- «Задавай вопросы перед написанием кода»
- «Не удаляй существующий код без явного указания»
- «Не придумывай форму API или эндпоинты»
- «Размещай TypeScript-интерфейсы по одному в файле в папке /models»
- «Всю HTTP-логику помещай в сервисные файлы»
Второй файл — copilot-prompts.md — хранит типовые рабочие процессы: создание нового модуля, безопасный рефакторинг, генерация диалогов по существующим паттернам.
Этот файл не попадает в git — каждый разработчик настраивает под себя.
Visual Studio читает оба файла как постоянный контекст. Команда «Go» в чате означает «посмотри на контекстные файлы и выполни действия оттуда».
Конкретные улучшения
После внедрения системы Бреннан получил:
- Меньше галлюцинированных API
- Чище структуру фронтенда
- Безопаснее модификации легаси-кода
- Меньше переписывания промптов
Архитектурные правила теперь применяются автоматически — ИИ действует как джуниор с чёткими гайдлайнами.
И что мне с этого? Продуктивность ИИ растёт не от умных промптов, а от постоянного контекста и явных ограничений. Copilot нужно относиться как к младшему коллеге — дать структуру, и он станет эффективнее.
Метод работает не только в Visual Studio — аналогичные файлы инструкций можно создать для любой IDE с поддержкой ИИ-ассистентов.