# Zed on nopea. Agentin pitää silti löytää koodi.

Canonical source: https://maguyva.ai/fi/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).

Zed-agentti työskentelee avaamiesi tiedostojen ja antamiesi ohjeiden varassa. Maguyva indeksoi koko repon ja tarjoaa sen takaisin MCP:n yli, joten agentti kysyy, missä symboli on, eikä arvaa.

> Yksi context_servers-merkintä: URL ja Authorization-otsake.

## Mitä Zed-editorista pitää tietää

Neljä Zed-editorille ominaista asiaa. Mikään niistä ei ole vaikea.

### settings.json

Etäpalvelimet määritetään kohtaan `context_servers`. Avaa tiedosto komennolla `zed: open settings file` tai lisää palvelin kohdasta Settings → AI → MCP Servers.

### Etänä, URL-osoitteella

Zed-editori yhdistää Maguyva-palvelun etäpäätepisteeseen suoraan HTTP:n yli. Ei paikallista prosessia, ei Node.js:ää.

### Otsake sellaisenaan

Tämä ohje kirjoittaa avaimen suoraan `Authorization`-otsakkeeseen, koska ympäristömuuttujien laajennusta Zed-otsakkeissa ei ole tässä varmistettu. Pidä avain käyttäjäasetuksissa, älä tiedostossa, jonka commitoit.

### Työkalujen oikeudet

Zed-editori kysyy oletuksena ennen jokaista työkalukutsua. Salli Maguyva-työkalut yksi kerrallaan kohdassa `agent.tool_permissions.tools` avaimilla kuten `mcp:maguyva:find_symbol`.

## Projektiohjeet ovat työskentelysopimus. Käytä niitä.

```text
# .rules
- Aja repon testikomento ennen kuin julistat muutoksen valmiiksi.
- Muokkaa vain sitä pakettia, jota pyydettiin muuttamaan.
```

Zed-editori lataa yhden projektiohjetiedoston: ensimmäisen osuman kiinteästä listasta, joka alkaa tiedostolla `.rules` ja sisältää tiedostot `AGENTS.md` ja `CLAUDE.md`. Henkilökohtaiset ohjeet kuuluvat tiedostoon `~/.config/zed/AGENTS.md`. Käytä niitä näihin:

- Build-, testi- ja lint-komennot.
- Käytännöt, joissa agentti erehtyy kerta toisensa jälkeen.
- Hakemistot, joihin agentti ei saa koskea.

Ohjetiedosto kertoo agentille, miten työskennellä. Se ei voi kertoa, mitkä neljästätuhannesta tiedostosta kutsuvat funktiota, jota agentti on muuttamassa.

## Missä avoin puskuri ei enää riitä

Kolme asiaa, joita Zed-agentti ei opi edessään olevista tiedostoista.

### // avoin tiedosto ei ole repo

Agentti näkee sen, minkä avasit, ja sen, minkä se löytää grepillä. Samanniminen apufunktio toisessa paketissa näyttää samalta, kunnes väärä päätyy tuotantoon.

### // kutsujat eivät näy ruudulla

“Mikä hajoaa, jos muutan tätä signatuuria?” on graafikysymys. Ilman indeksiä agentti lukee tiedostoja yksi kerrallaan, kunnes vuorot tai konteksti loppuvat.

### // kontekstilla on budjetti

Jokainen tiedosto, jonka agentti avaa suunnistaakseen, kuluttaa tokeneita, joita se ei voi käyttää itse muutokseen. Yksi priorisoitu vastaus file:line-tiedoin maksaa vähemmän kuin kymmenen hapuilevaa lukua.

## Maguyva Zed-editorin kontekstipalvelimena

Yksi context_servers-merkintä antaa Zed-agentille:

- **11 työkalua indeksoituun repoosi**: semanttinen, rakenteellinen (AST-), graafi- ja tekstihaku sekä symbolihaku, riippuvaiset ja tiedostojen haku.
- **Vastaukset tiedostopoluilla ja rivinumeroilla**: yli 285 kielellä, joten agentti avaa oikean tiedoston heti.
- **Ajan tasalla pysyvä työkalulista**: Zed-editori lataa palvelimen työkalut uudelleen, kun palvelin ilmoittaa muutoksesta, ilman uudelleenkäynnistystä.

> Zed-editori antaa agentille *nopean editorin*.
> Maguyva antaa agentille *kartan koodista*.

## Kaksi työnkulkua

Kysy ensin kartalta, muokkaa sitten.

### 01. Löydä toteutus ennen kuin agentti avaa välilehden

```text
zed agent> missä on lähtevien webhookien uudelleenyrityskäytäntö?

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

→ Agentti avaa tiedoston dispatch.ts:41, ei mockia.
[exit 0]
```

Yksi priorisoitu haku korvaa grep-kierroksen. Vastaus palaa polkuna ja rivinä, jotka agentti voi avata suoraan.

### 02. Tarkista riippuvaiset ennen signatuurin muutosta

```text
zed agent> lisää fetchInvoiceen timeout-argumentti

dependency_search("fetchInvoice", dependents)
  7 kutsujaa 4 paketissa

→ Agentti päivittää kaikki seitsemän kutsukohtaa yhdellä kertaa.
[exit 0]
```

Vaikutusalue selviää ennen ensimmäistä muokkausta, ei vasta kun build kaatuu.

## Asennus Zed-editorissa

Kolme vaihetta. Free-taso: 3 repositoriota, Enintään 50 000 indeksoitua repo-riviä, ei luottokorttia.

### 01. Indeksoi repo osoitteessa maguyva.ai

Valitse jo tuntemasi repo, jotta voit arvioida vastauksia.

### 02. Lisää Maguyva Zed-asetusten context_servers-kohtaan

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

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

### 03. Korvaa paikkamerkki ja kysy yksi kysymys

Korvaa `mgv_xxxx` omalla API-avaimellasi ja tallenna. Kysy agentilta yksi kysymys, jonka vastauksen jo tiedät, ja avaa sitten viitattu tiedosto.

Zed-editorin [MCP-dokumentaatio](https://zed.dev/docs/ai/mcp) kattaa kontekstipalvelimet, agenttiprofiilit ja työkalujen oikeudet.

## Indeksoi yksi repo, jonka jo tunnet.

Yhdistä Zed-editori MCP:n yli ja kysy yksi kysymys, jonka voit tarkistaa.
