// соглашение
copilot-instructions.md
Как Copilot должен вести себя в этом репозитории.
Для пользователей GitHub Copilot CLI
Пользовательские инструкции сообщают Copilot, как себя вести. Они не сообщают, что находится в вашем репозитории. Maguyva индексирует кодовую базу и возвращает её через MCP, чтобы GitHub Copilot CLI редактировал так, будто уже прочитал код.
Тариф Free: 3 репозитория, До 50 тыс. проиндексированных строк, без банковской карты.
Используйте инструкции для поведения. Используйте Maguyva для актуальных фактов о кодовой базе.Четыре идеи. У каждой своя задача.
// соглашение
Как Copilot должен вести себя в этом репозитории.
// транспорт
Как Copilot обращается к внешним инструментам и контексту.
// кодовая база
MCP-сервер, который возвращает факты о репозитории, подтверждённые кодом.
// кто платит
За каждого агента не взимается отдельная плата. Смотреть тарифы
# .github/copilot-instructions.md
- Отдавайте предпочтение существующим границам модулей.
- Запускайте тестовую команду репозитория перед тем, как предложить merge.
- Не выдумывайте пути к файлам. Спрашивайте, прежде чем создавать новый пакет.Постоянные инструкции должны находиться в .github/copilot-instructions.md. Это подходящее место для:
Этот файл никогда не был доступным для запросов индексом репозитория. Он говорит Copilot, как работать. Он не говорит, что там есть.
Четыре режима сбоя, которые Copilot не может исправить с помощью одного файла markdown.
Telling Copilot how to behave does not tell it which class owns parseConfig, or which package actually implements the public API. Первое изменение в незнакомом дереве — это лишь догадка о структуре файлов.
Блок инструкций, описывающий поток аутентификации прошлого квартала, становится явно неверным в тот день, когда кто-то разделяет хранилище сессий. Copilot will prefer the file you committed over the code that shipped.
“Что импортирует это?” is a graph question. Инструкции не могут перечислить каждого вызывающего, да вы бы этого и не хотели.
Втискивание большего объёма репозитория в инструкции обменивает токены рассуждения на устаревший снимок. После нескольких КБ вы платите за худшую карту.
Copilot уже мыслит в терминах инструкций и инструментов.
copilot-instructions.md
соглашение
как ведёт себя Copilot
MCP
канал
как он получает доступ
Maguyva
факты о кодовой базе
что он видит
Пользовательские инструкции сообщают Copilot, как себя вести.
Maguyva даёт Copilot доступную для запросов карту кода.
Спросите карту, прежде чем принять diff.
// workflow 01
copilot> как normalizePhoneNumber обрабатывает формат E.164? semantic::query("normalize phone E.164") src/util/phone.ts:88 normalizePhoneNumber() ← реальная реализация test/util/phone.spec.ts:14 jest.mock(...) ← заглушка → Copilot открывает реализацию, а не мок. [exit 0]
Имена могут вводить в заблуждение. Моки скрывают настоящий код. Maguyva ставит реальную реализацию выше тестового мока.
// workflow 02
copilot> что вызывает QueueDispatcher.publish? graph::callers(QueueDispatcher.publish) 3 в src/billing/* 1 в src/audit/* 1 в src/notifications/* → diff основан на реальных импортёрах. [exit 0]
Межпакетные точки вызова отображаются прямо в ответе. diff основан на реальных импортёрах, а не на grep Copilot.
// workflow 03
copilot> rename PaymentClient → BillingClient graph::callers(PaymentClient) 12 упоминаний в 7 пакетах graph::importers(src/payments/client.ts) 9 импортёров graph::extends(PaymentClient) 2 подкласса (RetryClient, MockClient) → Copilot предлагает миграцию со списком файлов прямо в ответе. [exit 0]
Copilot спрашивает Maguyva о зависимых прежде, чем начать редактирование. Список миграции возвращается на основе реального графа, а не памяти Copilot.
Три шага. Тариф Free: 3 репозитория, До 50 тыс. проиндексированных строк, без банковской карты.
// step 01
Выберите тот, который вы уже знаете, чтобы вы могли оценить ответы. Зарегистрируйтесь бесплатно, подключите GitHub, дождитесь индексации.
// step 02
copilot mcp add --transport http --header "Authorization: Bearer mgv_xxxx" maguyva https://maguyva.tools/mcp~/.copilot/mcp-config.json
{
"mcpServers": {
"maguyva": {
"type": "http",
"url": "https://maguyva.tools/mcp",
"headers": {
"Authorization": "Bearer mgv_xxxx"
}
}
}
}// step 03
Не начинайте со всей компании. Задайте один вопрос, ответ на который вы уже знаете, а затем откройте указанный файл.