Перейти до вмісту

Для користувачів GitHub Copilot CLI

Copilot починає кожну сесію наосліп.

Користувацькі інструкції повідомляють Copilot, як поводитися. Вони не повідомляють, що є у вашому репозиторії. Maguyva індексує кодову базу і повертає її через MCP, щоб GitHub Copilot CLI редагував так, ніби вже прочитав код.

Тариф Free: 3 репозиторії, До 50 тис. проіндексованих рядків репозиторію, без кредитної картки.

Використовуйте інструкції для поведінки. Використовуйте Maguyva для актуальних фактів про кодову базу.

Багаторівневий стек

Чотири ідеї. У кожної своя робота.

// угода

copilot-instructions.md

Як Copilot має поводитися в цьому репозиторії.

// транспорт

MCP

Як Copilot дотягується до зовнішніх інструментів і контексту.

// кодова база

Maguyva

MCP-сервер, що повертає обґрунтовані факти про репозиторій.

// хто платить

Робочі простори, а не користувачі

Агенти не платять за місця. Переглянути ціни

Користувацькі інструкції — це робоча угода. Використовуйте їх.

# .github/copilot-instructions.md
- Віддавайте перевагу наявним межам модулів.
- Запускайте тестову команду репозиторію перед тим, як запропонувати merge.
- Не вигадуйте шляхи до файлів. Питайте, перш ніж створювати новий пакет.

Постійні інструкції мають бути в .github/copilot-instructions.md. Це відповідне місце для:

  • Команд build, test і lint, які має виконувати Copilot.
  • Правил “завжди роби X / ніколи не роби Y”, обмежених цим репозиторієм.
  • Угод про іменування та вподобань щодо рев’ю.
  • Посилань на журнал рішень — а не звалища кожного символу.

Цей файл ніколи не був доступним для запитів індексом репозиторію. Він каже 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.

// залежності не описані в markdown

“Що імпортує це?” is a graph question. Інструкції не можуть перелічити кожного викликача, та ви б і не хотіли цього.

// контекстні вікна мають бюджет

Втискування більшої частини репозиторію в інструкції обмінює токени міркування на застарілий знімок. Після кількох КБ ви платите за гіршу карту.

Maguyva як додатковий шар

Copilot вже мислить у термінах інструкцій та інструментів.

copilot-instructions.md

угода

як поводиться Copilot

MCP

канал

як він отримує доступ

Maguyva

факти про кодову базу

що він бачить

  • Придатна для запитів карта репозиторію надається через MCP як віддалений streamable-HTTP-сервер.
  • 11 інструментів, орієнтованих на клієнта у семантичному, структурному (AST), графовому та текстовому пошуку, а також символи, залежні та отримання файлів.
  • Ранжовані результати зі шляхами до файлів і номерами рядків у понад 284 мовах і текстових технологіях.
  • Одна конфігурація Той самий робочий простір відповідає в Copilot, Claude Code, Cursor, Codex та будь-якому іншому MCP-сумісному клієнті.

Користувацькі інструкції повідомляють 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.

Налаштування в GitHub Copilot CLI

Три кроки. Тариф Free: 3 репозиторії, До 50 тис. проіндексованих рядків репозиторію, без кредитної картки.

  1. // step 01

    Проіндексуйте репозиторій на maguyva.ai

    Оберіть той, який ви вже знаєте, щоб оцінити відповіді. Зареєструйтеся безкоштовно, підключіть GitHub, зачекайте на індексацію.

  2. // step 02

    Додайте Maguyva як віддалений MCP-сервер у Copilot

    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"
          }
        }
      }
    }
  3. // step 03

    Поставте одне запитання, відповідь на яке ви вже знаєте

    Не починайте з усієї компанії. Поставте одне запитання, відповідь на яке ви вже знаєте, а потім відкрийте зазначений файл.