// kontekst
GEMINI.md
Jak Gemini powinien się zachowywać w tym repo.
Dla użytkowników Gemini CLI
GEMINI.md ustala kontekst roboczy. MCP pozwala Gemini sięgać po narzędzia. Maguyva to serwer MCP, który daje Gemini przeszukiwalną mapę Twojego repo, więc pierwsza edycja nie jest zgadywaniem struktury plików.
Plan Free: 3 repozytoria, Do 50 tys. zindeksowanych linii repo, bez karty kredytowej.
GEMINI.md to kontekst. MCP to kanał. Maguyva to mapa. Cztery idee. Każda pełni jedną funkcję.
// kontekst
Jak Gemini powinien się zachowywać w tym repo.
// transport
Jak Gemini 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
Trwałe instrukcje należą do GEMINI.md. To dobre miejsce na:
Trzymaj to zwięźle. Ogranicz zakres. Commituj.
Ale GEMINI.md nigdy nie miał być przeszukiwalnym indeksem każdego symbolu, pliku i miejsca wywołania w Twoim repo.
Cztery tryby awarii, po jednym na kartę.
Powiedzenie Gemini jak pracować nie mówi mu, co istnieje. Pierwsza edycja w nieznanym pakiecie to zgadywanie ścieżek plików i nazw funkcji. GEMINI.md nie może wymienić każdego symbolu i wcale byś tego nie chciał.
Blok GEMINI.md opisujący topologię Twojej kolejki jest poprawny, dopóki ktoś nie wprowadzi nowego konsumenta. Kod jest teraz źródłem prawdy, a dokument jest pewny siebie i nieaktualny. Gemini czyta ten zły.
Na pytanie „Co odwołuje się do tej klasy?” nie da się odpowiedzieć na podstawie pliku markdown. Gemini albo grep-uje i się modli po całym monorepo, albo prosi Cię o wklejenie miejsc wywołań do czatu.
Duże okno to nie to samo co przeszukiwalny indeks. Ładowanie GEMINI.md, aż Gemini „wie wystarczająco dużo”, i tak zamienia budżet na wnioskowanie na objętość statycznego kontekstu.
Użytkownicy Gemini już myślą w tych kategoriach. Strona powinna to uwidocznić.
GEMINI.md
kontekst
jak zachowuje się Gemini
MCP
kanał
jak sięga
Maguyva
fakty o kodzie
co widzi
GEMINI.md mówi Gemini jak pracować.
Maguyva daje Gemini coś, od czego może zacząć.
Specyficzne dla Gemini. Ugruntowane na rzeczywistym grafie wywołań, a nie na grep Gemini.
// workflow 01
gemini> zmień nazwę PaymentClient → BillingClient graph::callers(PaymentClient) 12 odwołań w 7 pakietach graph::importers(src/payments/client.ts) 9 plików importujących ten kod graph::extends(PaymentClient) 2 podklasy (RetryClient, MockClient) → Gemini proponuje migrację z 21 edycjami wraz z listą plików od razu. [exit 0]
Gemini pyta Maguyva o elementy zależne od tej klasy zanim zacznie edytować. Lista migracji wraca ugruntowana w rzeczywistym grafie, a nie w pamięci Gemini.
// workflow 02
gemini> 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(...) ← atrapa [exit 0]
Nazwy kłamią. Atrapy przesłaniają prawdziwy kod. Maguyva stawia prawdziwą implementację wyżej niż atrapę testową.
// workflow 03
gemini> co wywołuje QueueDispatcher.publish? graph::callers(QueueDispatcher.publish) 3 w src/billing/* 1 w src/audit/* 1 w src/notifications/* [exit 0]
Miejsca wywołań między pakietami pojawiają się od razu. Diff opiera się na rzeczywistych elementach importujących ten kod, a nie na wynikach grepa w Gemini.
Trzy kroki. Plan Free: 3 repozytoria, Do 50 tys. zindeksowanych linii repo, bez karty kredytowej.
// step 01
Wybierz repo, które dobrze znasz, żeby móc zweryfikować odpowiedzi.
// step 02
~/.gemini/settings.json
{
"mcpServers": {
"maguyva": {
"httpUrl": "https://maguyva.tools/mcp",
"headers": {
"Authorization": "Bearer ${MAGUYVA_API_KEY}"
}
}
}
} // step 03
Nie zaczynaj od całej firmy. Zacznij od jednego repo i jednego sprawdzalnego pytania.