# Goose działa na rozszerzeniach. Dodaj takie, które zna twoje repo.

Canonical source: https://maguyva.ai/pl/for-goose

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

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.

> .goosehints do tego, jak pracować. Maguyva do tego, co kod mówi teraz.

## Co warto wiedzieć o Goose

Cztery fakty specyficzne dla Goose.

### config.yaml

Rozszerzenia trafiają pod `extensions` w `~/.config/goose/config.yaml`. `goose configure` → Add Extension zapisze za ciebie taki sam rodzaj wpisu.

### Rozszerzenie zdalne

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`.

### headers

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`.

### available_tools

Rozszerzenie może udostępnić tylko część narzędzi: wypisz te, których chcesz, w `available_tools` albo zostaw puste, żeby mieć wszystkie.

## Wskazówki Goose to umowa robocza. Korzystaj z nich.

```text
# .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:

- Wybór narzędzi i komendy.
- Konwencje, których Goose ma przestrzegać.
- To, gdzie leży dokumentacja.

Wskazówki opisują projekt. Nie odpowiadają na “co od tego zależy?”

## Gdzie wskazówki i powłoka przestają wystarczać

Trzy luki, które Goose łata komendami powłoki, plik po pliku.

### // listing to nie mapa

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.

### // grep znajduje ciągi, nie wywołujących

Wyszukiwanie tekstowe nie odróżni prawdziwego wywołania od komentarza, atrapy czy metody o tej samej nazwie.

### // wskazówki się rozjeżdżają

Plik wskazówek napisany w zeszłym kwartale opisuje układ z zeszłego kwartału. Goose i tak się go trzyma.

## Maguyva jako rozszerzenie Goose

Jeden wpis w extensions daje Goose:

- **11 narzędzi dla zaindeksowanego repo**: wyszukiwanie semantyczne, strukturalne (AST), grafowe i tekstowe, a do tego wyszukiwanie symboli, zależności i pobieranie plików.
- **Odpowiedzi ze ścieżkami plików i numerami linii**: w ponad 285 językach.
- **Narzędzia tylko do odczytu**: Narzędzia Maguyva odpytują indeks. Żadne z nich nie edytuje twoich plików.

> Wskazówki mówią Goose, *jak pracować*.
> Maguyva daje Goose *mapę kodu*.

## Dwa przepływy pracy

Najpierw mapa, potem niech Goose działa.

### 01. Prześledź błąd do źródła

```text
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ę.

### 02. Sprawdź zależności przed refaktoryzacją

```text
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.

## Konfiguracja w Goose

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

### 01. Zaindeksuj repo na maguyva.ai

Wybierz takie, które już znasz, żeby móc ocenić odpowiedzi.

### 02. Dodaj Maguyva do extensions w config.yaml

`~/.config/goose/config.yaml`

```yaml
extensions:
  maguyva:
    name: maguyva
    type: streamable_http
    uri: https://maguyva.tools/mcp
    enabled: true
    headers:
      Authorization: Bearer mgv_xxxx
    timeout: 300

```

### 03. Podmień placeholder i rozpocznij sesję

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.

[Dokumentacja rozszerzeń](https://goose-docs.ai/docs/getting-started/using-extensions/) Goose opisuje zdalne rozszerzenia, limity czasu i filtry narzędzi.

## Zaindeksuj jedno repo, które już znasz.

Podłącz Goose przez MCP i zadaj pytanie, które możesz sprawdzić.
