# Zed jest szybki. Agent i tak musi znaleźć kod.

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

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

Agent Zed pracuje na plikach, które otwierasz, i instrukcjach, które mu dajesz. Maguyva indeksuje całe repo i zwraca je przez MCP, więc agent pyta, gdzie leży symbol, zamiast zgadywać.

> Jeden wpis w context_servers: URL i nagłówek Authorization.

## Co warto wiedzieć o Zed

Cztery fakty specyficzne dla Zed. Żaden nie jest trudny.

### settings.json

Zdalne serwery trafiają pod `context_servers`. Otwórz plik poleceniem `zed: open settings file` albo dodaj serwer w Settings → AI → MCP Servers.

### Zdalnie, przez URL

Zed łączy się przez HTTP bezpośrednio ze zdalnym endpointem Maguyva. Bez lokalnego procesu, bez Node.js.

### Nagłówek wprost

Ten przewodnik wpisuje klucz bezpośrednio do nagłówka `Authorization`, bo rozwijanie zmiennych środowiskowych w nagłówkach Zed nie zostało tu zweryfikowane. Trzymaj go w ustawieniach użytkownika, a nie w pliku, który commitujesz.

### Uprawnienia narzędzi

Domyślnie Zed pyta przed każdym wywołaniem narzędzia. Zezwalaj na narzędzia Maguyva pojedynczo w `agent.tool_permissions.tools`, z kluczami w rodzaju `mcp:maguyva:find_symbol`.

## Instrukcje projektu to umowa robocza. Korzystaj z nich.

```text
# .rules
- Uruchom komendę testów repo, zanim uznasz zmianę za gotową.
- Edytuj tylko pakiet, o którego zmianę cię poproszono.
```

Zed wczytuje jeden plik instrukcji projektu: pierwsze trafienie ze stałej listy, która zaczyna się od `.rules` i obejmuje `AGENTS.md` oraz `CLAUDE.md`. Osobiste instrukcje trafiają do `~/.config/zed/AGENTS.md`. Używaj ich do:

- Komend build, testów i lint.
- Konwencji, które agent ciągle myli.
- Katalogów, których agent ma nie ruszać.

Plik instrukcji mówi agentowi, jak pracować. Nie powie mu, które z czterech tysięcy plików wywołują funkcję, którą właśnie zmienia.

## Gdzie otwarty bufor przestaje wystarczać

Trzy rzeczy, których agent Zed nie wyczyta z plików, które ma przed sobą.

### // otwarty plik to nie repo

Agent widzi to, co otworzyłeś, i to, co znalazł grepem. Helper o tej samej nazwie w innym pakiecie wygląda identycznie, dopóki na produkcję nie trafi ten zły.

### // wywołujących nie widać na ekranie

“Co się zepsuje, jeśli zmienię tę sygnaturę?” to pytanie o graf. Bez indeksu agent czyta pliki jeden po drugim, aż skończą mu się tury albo kontekst.

### // kontekst ma budżet

Każdy plik, który agent otwiera, żeby się zorientować, zużywa tokeny, których zabraknie na samą zmianę. Jedna uszeregowana odpowiedź z file:line kosztuje mniej niż dziesięć odczytów po omacku.

## Maguyva jako serwer kontekstu w Zed

Jeden wpis w context_servers daje agentowi Zed:

- **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, żeby agent od razu otwierał właściwy plik.
- **Zawsze aktualna lista narzędzi**: Zed przeładowuje narzędzia serwera, gdy ten ogłosi zmianę, bez restartu.

> Zed daje agentowi *szybki edytor*.
> Maguyva daje agentowi *mapę kodu*.

## Dwa przepływy pracy

Najpierw zapytaj mapę, potem edytuj.

### 01. Znajdź implementację, zanim agent otworzy kartę

```text
zed agent> gdzie jest polityka ponowień dla wychodzących webhooków?

find_symbol("retryPolicy")
  src/webhooks/dispatch.ts:41   retryPolicy()   ← implementacja
  src/webhooks/__mocks__/dispatch.ts:9   ← atrapa

→ Agent otwiera dispatch.ts:41, a nie atrapę.
[exit 0]
```

Jedno uszeregowane zapytanie zastępuje rundę grepowania. Odpowiedź wraca jako ścieżka i linia, które agent może od razu otworzyć.

### 02. Sprawdź elementy zależne przed zmianą sygnatury

```text
zed agent> dodaj do fetchInvoice argument timeout

dependency_search("fetchInvoice", dependents)
  7 wywołujących w 4 pakietach

→ Agent aktualizuje wszystkie siedem miejsc wywołania za jednym razem.
[exit 0]
```

Zasięg wpływu znasz przed pierwszą edycją, a nie po tym, jak padnie build.

## Konfiguracja w Zed

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 context_servers w ustawieniach Zed

`~/.config/zed/settings.json`

```json
{
  "context_servers": {
    "maguyva": {
      "url": "https://maguyva.tools/mcp",
      "headers": {
        "Authorization": "Bearer mgv_xxxx"
      }
    }
  }
}
```

### 03. Podmień placeholder i zadaj jedno pytanie

Zamień `mgv_xxxx` na swój klucz API i zapisz. Zadaj agentowi pytanie, na które znasz już odpowiedź, a potem otwórz cytowany plik.

[Dokumentacja MCP](https://zed.dev/docs/ai/mcp) w Zed opisuje serwery kontekstu, profile agenta i uprawnienia narzędzi.

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

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