// plik konfiguracji
config.yaml
Rozszerzenia trafiają pod extensions w ~/.config/goose/config.yaml. goose configure → Add Extension zapisze za ciebie taki sam rodzaj wpisu.
Dla użytkowników Goose
Goose wykonuje pracę przez rozszerzenia, a każde rozszerzenie to serwer MCP. Maguyva to to, które indeksuje twoją bazę kodu, więc Goose pyta, gdzie co leży, zamiast listować katalogi.
Plan Free: 3 repozytoria, Do 50 tys. zindeksowanych linii repo, bez karty kredytowej.
.goosehints do tego, jak pracować. Maguyva do tego, co kod mówi teraz. Cztery fakty specyficzne dla Goose.
// plik konfiguracji
Rozszerzenia trafiają pod extensions w ~/.config/goose/config.yaml. goose configure → Add Extension zapisze za ciebie taki sam rodzaj wpisu.
// transport
Maguyva to rozszerzenie streamable_http, więc Goose sam łączy się z endpointem: bez lokalnego procesu, bez Node.js. URL trafia do uri, nie do url.
// klucz
Goose wysyła mapę headers z każdym żądaniem, więc klucz trafia do nagłówka Authorization. Goose może go też uzupełnić ze zmiennej środowiskowej wymienionej w env_keys.
// filtr narzędzi
Rozszerzenie może udostępnić tylko część narzędzi: wypisz te, których chcesz, w available_tools albo zostaw puste, żeby mieć wszystkie.
# .goosehints
- Używaj pnpm, nie npm.
- Uruchom testy integracyjne, zanim uznasz zmianę za gotową.Goose domyślnie wczytuje AGENTS.md i .goosehints: globalne wskazówki z ~/.config/goose/.goosehints, wskazówki projektu z repo, a w podfolderach także zagnieżdżone pliki. Wskazówki wymagają rozszerzenia Developer. To dobre miejsce na:
Wskazówki opisują projekt. Nie odpowiadają na “co od tego zależy?”
Trzy luki, które Goose łata komendami powłoki, plik po pliku.
W nieznanym repo Goose orientuje się listingami katalogów i odczytami plików. Każdy z nich zużywa kontekst, zanim zadanie w ogóle się zacznie.
Wyszukiwanie tekstowe nie odróżni prawdziwego wywołania od komentarza, atrapy czy metody o tej samej nazwie.
Plik wskazówek napisany w zeszłym kwartale opisuje układ z zeszłego kwartału. Goose i tak się go trzyma.
Jeden wpis w extensions daje Goose:
Wskazówki mówią Goose, jak pracować.
Maguyva daje Goose mapę kodu.
Najpierw mapa, potem niech Goose działa.
// workflow 01
goose> dlaczego niektóre eksporty kończą się z zerem wierszy? semantic_search("export job empty result") src/export/runner.ts:118 flushBatch() src/export/filters.ts:40 applyTenantFilter() → Goose czyta dwa pliki, a nie cały pakiet export. [exit 0]
Uszeregowane wyniki zawężają poszukiwania, zanim Goose otworzy powłokę.
// workflow 02
goose> rozdziel klasę Notifier na e-mail i SMS dependency_search("Notifier", dependents) 11 odwołań w 5 pakietach → Plan obejmuje wszystkie jedenaście przed pierwszą edycją. [exit 0]
Goose dostaje pełną listę zależności jednym wywołaniem zamiast łańcucha grepów.
Trzy kroki. Plan Free: 3 repozytoria, Do 50 tys. zindeksowanych linii repo, bez karty kredytowej.
// step 01
Wybierz takie, które już znasz, żeby móc ocenić odpowiedzi.
// step 02
~/.config/goose/config.yaml
extensions:
maguyva:
name: maguyva
type: streamable_http
uri: https://maguyva.tools/mcp
enabled: true
headers:
Authorization: Bearer mgv_xxxx
timeout: 300
// step 03
Zamień mgv_xxxx na swój klucz API, uruchom goose session i zadaj pytanie, na które znasz już odpowiedź. YAML jest wrażliwy na wcięcia: spacje, nie tabulatory.