// umowa
copilot-instructions.md
Jak Copilot powinien się zachowywać w tym repo.
Dla użytkowników GitHub Copilot CLI
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.Cztery idee. Każda pełni jedną funkcję.
// umowa
Jak Copilot powinien się zachowywać w tym repo.
// transport
Jak Copilot sięga po zewnętrzne narzędzia i kontekst.
// baza kodu
Serwer MCP, który zwraca fakty potwierdzone w kodzie repo.
// kto płaci
Bez osobnych opłat za każdego agenta. Zobacz cennik
# .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:
Ten plik nigdy nie był przeszukiwalnym indeksem repozytorium. Mówi Copilotowi, jak pracować. Nie mówi, co tam jest.
Cztery tryby awarii, których Copilot nie naprawi z pliku markdown.
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.
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.
“Co to importuje?” is a graph question. Instrukcje nie mogą wymienić każdego wywołującego, i i tak byś tego nie chciał.
Upychanie większej części repozytorium w instrukcjach zamienia tokeny rozumowania na nieaktualny zrzut. Po kilku KB płacisz za gorszą mapę.
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
Niestandardowe instrukcje mówią, jak Copilot ma się zachowywać.
Maguyva daje narzędziu Copilot przeszukiwalną mapę kodu.
Zapytaj mapę, zanim zaakceptujesz diff.
// workflow 01
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
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
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.
Trzy kroki. Plan Free: 3 repozytoria, Do 50 tys. zindeksowanych linii repo, bez karty kredytowej.
// step 01
Wybierz takie, które już znasz, abyś mógł ocenić odpowiedzi. Zarejestruj się za darmo, połącz GitHub, poczekaj na indeksację.
// 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
Nie zaczynaj od całej firmy. Zadaj pytanie, na które już znasz odpowiedź, a potem otwórz cytowany plik.