Przejdź do treści

Dla użytkowników GitHub Copilot CLI

Copilot zaczyna każdą sesję na ślepo.

Niestandardowe instrukcje mówią Copilotowi, jak się zachowywać. Nie mówią, co znajduje się w twoim repozytorium. Maguyva indeksuje bazę kodu i udostępnia ją z powrotem przez MCP, aby GitHub Copilot CLI edytował tak, jakby już przeczytał kod.

Plan Free: 3 repozytoria, Do 50 tys. zindeksowanych linii repo, bez karty kredytowej.

Używaj instrukcji do zachowania. Używaj Maguyva do aktualnych faktów o bazie kodu.

Warstwowy stos

Cztery idee. Każda pełni jedną funkcję.

// umowa

copilot-instructions.md

Jak Copilot powinien się zachowywać w tym repo.

// transport

MCP

Jak Copilot sięga po zewnętrzne narzędzia i kontekst.

// baza kodu

Maguyva

Serwer MCP, który zwraca fakty potwierdzone w kodzie repo.

// kto płaci

Workspace'y, nie użytkownicy

Bez osobnych opłat za każdego agenta. Zobacz cennik

Niestandardowe instrukcje to umowa robocza. Używaj ich.

# .github/copilot-instructions.md
- Preferuj istniejące granice modułów.
- Uruchom komendę testową repozytorium przed zaproponowaniem merge’a.
- Nie wymyślaj ścieżek plików. Zapytaj, zanim utworzysz nowy pakiet.

Trwałe instrukcje należą do .github/copilot-instructions.md. To właściwe miejsce na:

  • Komendy build, test i lint, które Copilot powinien uruchamiać.
  • Zasady “zawsze rób X / nigdy nie rób Y” ograniczone do tego repozytorium.
  • Konwencje nazewnictwa i preferencje dotyczące review.
  • Odniesienia do dziennika decyzji — nie zrzut każdego symbolu.

Ten plik nigdy nie był przeszukiwalnym indeksem repozytorium. Mówi Copilotowi, jak pracować. Nie mówi, co tam jest.

Gdzie niestandardowe instrukcje przestają się skalować

Cztery tryby awarii, których Copilot nie naprawi z pliku markdown.

// instrukcje to nie indeks

Telling Copilot how to behave does not tell it which class owns parseConfig, or which package actually implements the public API. Pierwsza edycja w nieznanym drzewie to zgadywanie struktury plików.

// dokumentacja się dezaktualizuje, kod nie

Blok instrukcji opisujący przepływ uwierzytelniania z zeszłego kwartału jest wyraźnie błędny w dniu, gdy ktoś dzieli magazyn sesji. Copilot will prefer the file you committed over the code that shipped.

// zależności nie są w markdownie

“Co to importuje?” is a graph question. Instrukcje nie mogą wymienić każdego wywołującego, i i tak byś tego nie chciał.

// okna kontekstu mają budżet

Upychanie większej części repozytorium w instrukcjach zamienia tokeny rozumowania na nieaktualny zrzut. Po kilku KB płacisz za gorszą mapę.

Maguyva jako dodatkowa warstwa

Copilot już myśli w kategoriach instrukcji i narzędzi.

copilot-instructions.md

umowa

jak zachowuje się Copilot

MCP

kanał

jak dociera

Maguyva

fakty o bazie kodu

co widzi

  • Przeszukiwalna mapa repozytorium udostępniana przez MCP jako zdalny serwer streamable-HTTP.
  • 11 narzędzi zorientowanych na klienta w wyszukiwaniu semantycznym, strukturalnym (AST), grafowym i tekstowym, a także symbole, zależności i pobieranie plików.
  • Uszeregowane wyniki ze ścieżkami plików i numerami linii w ponad 284 językach i technologiach tekstowych.
  • Jedna konfiguracja Ten sam workspace odpowiada w narzędziach Copilot, Claude Code, Cursor, Codex i każdym innym kliencie zgodnym z MCP.

Niestandardowe instrukcje mówią, jak Copilot ma się zachowywać.

Maguyva daje narzędziu Copilot przeszukiwalną mapę kodu.

Trzy przepływy pracy

Zapytaj mapę, zanim zaakceptujesz diff.

// workflow 01

Znajdź prawdziwą implementację, nie test-stub

copilot> jak normalizePhoneNumber obsługuje E.164?

semantic::query("normalize phone E.164")
  src/util/phone.ts:88   normalizePhoneNumber()   ← prawdziwa impl.
  test/util/phone.spec.ts:14  jest.mock(...)      ← stub

→ Copilot otwiera implementację, nie mocka.
[exit 0]

Nazwy kłamią. Mocki maskują prawdziwy kod. Maguyva stawia prawdziwą implementację wyżej niż mock testowy.

// workflow 02

Sprawdź promień oddziaływania przed refaktoryzacją

copilot> co wywołuje QueueDispatcher.publish?

graph::callers(QueueDispatcher.publish)
  3 w src/billing/*    1 w src/audit/*    1 w src/notifications/*

→ Diff jest oparty na rzeczywistych importerach.
[exit 0]

Miejsca wywołań między pakietami pojawiają się bezpośrednio. Diff jest oparty na rzeczywistych importerach, nie na grepie, którego używa Copilot.

// workflow 03

Zmień nazwę współdzielonej klasy, najpierw znajdź każdą zależność

copilot> rename PaymentClient → BillingClient

graph::callers(PaymentClient)            12 odwołań w 7 pakietach
graph::importers(src/payments/client.ts)  9 importerów
graph::extends(PaymentClient)             2 podklasy (RetryClient, MockClient)

→ Copilot proponuje migrację z listą plików w odpowiedzi.
[exit 0]

Copilot pyta narzędzie Maguyva o zależności zanim zacznie edytować. Lista migracji wraca oparta na rzeczywistym grafie, nie na pamięci narzędzia Copilot.

Konfiguracja w GitHub Copilot CLI

Trzy kroki. Plan Free: 3 repozytoria, Do 50 tys. zindeksowanych linii repo, bez karty kredytowej.

  1. // step 01

    Zindeksuj repozytorium na maguyva.ai

    Wybierz takie, które już znasz, abyś mógł ocenić odpowiedzi. Zarejestruj się za darmo, połącz GitHub, poczekaj na indeksację.

  2. // step 02

    Dodaj Maguyva jako zdalny serwer MCP w aplikacji 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

    Zadaj pytanie, na które już znasz odpowiedź

    Nie zaczynaj od całej firmy. Zadaj pytanie, na które już znasz odpowiedź, a potem otwórz cytowany plik.