# Zed è veloce. Il codice, però, l’agente deve ancora trovarlo.

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

L’agente di Zed lavora con i file che apri e le istruzioni che gli dai. Maguyva indicizza l’intero repo e lo restituisce via MCP, così l’agente chiede dove si trova un simbolo invece di tirare a indovinare.

> Una voce in context_servers: un URL e un header Authorization.

## Cosa sapere su Zed

Quattro fatti specifici di Zed. Nessuno è difficile.

### settings.json

I server remoti stanno sotto `context_servers`. Apri il file con `zed: open settings file` oppure aggiungi un server da Settings → AI → MCP Servers.

### Remoto, via URL

Zed si collega via HTTP direttamente all’endpoint remoto di Maguyva. Nessun processo locale, niente Node.js.

### Un header letterale

Questa guida inserisce la chiave direttamente nell’header `Authorization`, perché l’espansione delle variabili d’ambiente negli header di Zed qui non è verificata. Tienila nelle impostazioni utente, non in un file che committi.

### Permessi degli strumenti

Per impostazione predefinita Zed chiede conferma prima di ogni chiamata a uno strumento. Consenti gli strumenti di Maguyva uno alla volta sotto `agent.tool_permissions.tools`, con chiavi come `mcp:maguyva:find_symbol`.

## Le istruzioni di progetto sono un accordo di lavoro. Usale.

```text
# .rules
- Esegui il comando di test del repo prima di dichiarare conclusa una modifica.
- Modifica solo il pacchetto che ti è stato chiesto di cambiare.
```

Zed carica un solo file di istruzioni di progetto: la prima corrispondenza in un elenco fisso che inizia con `.rules` e include `AGENTS.md` e `CLAUDE.md`. Le istruzioni personali vanno in `~/.config/zed/AGENTS.md`. Usale per:

- Comandi di build, test e lint.
- Convenzioni che l’agente continua a sbagliare.
- Directory che l’agente non deve toccare.

Un file di istruzioni dice all’agente come lavorare. Non può dirgli quali di quattromila file chiamano la funzione che sta per modificare.

## Dove il buffer aperto non basta

Tre cose che l’agente di Zed non può imparare dai file che ha davanti.

### // il file aperto non è il repo

L’agente vede ciò che hai aperto e ciò che trova con grep. Un helper con lo stesso nome in un altro pacchetto sembra identico finché non va in produzione quello sbagliato.

### // i chiamanti non sono sullo schermo

“Cosa si rompe se cambio questa firma?” è una domanda da grafo. Senza indice, l’agente legge i file uno alla volta finché non esaurisce i turni o il contesto.

### // il contesto ha un budget

Ogni file che l’agente apre per orientarsi consuma token che non potrà spendere sulla modifica. Una risposta classificata con file:line costa meno di dieci letture esplorative.

## Maguyva come server di contesto di Zed

Una voce in context_servers dà all’agente di Zed:

- **11 strumenti sul tuo repo indicizzato**: ricerca semantica, strutturale (AST), a grafo e testuale, più ricerca dei simboli, dipendenti e recupero file.
- **Risposte con percorsi file e numeri di riga**: su oltre 285 linguaggi, così l’agente apre subito il file giusto.
- **Un elenco di strumenti sempre aggiornato**: Zed ricarica gli strumenti di un server quando il server annuncia una modifica, senza riavvio.

> Zed dà all’agente *un editor veloce*.
> Maguyva dà all’agente *una mappa del codice*.

## Due flussi di lavoro

Prima chiedi alla mappa, poi modifica.

### 01. Trovare l’implementazione prima che l’agente apra una scheda

```text
zed agent> dov’è la policy di retry per i webhook in uscita?

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

→ L’agente apre dispatch.ts:41, non il mock.
[exit 0]
```

Una ricerca classificata sostituisce un giro di grep. La risposta torna come percorso e riga che l’agente può aprire direttamente.

### 02. Controllare i dipendenti prima di cambiare una firma

```text
zed agent> aggiungi un argomento timeout a fetchInvoice

dependency_search("fetchInvoice", dependents)
  7 chiamanti in 4 pacchetti

→ L’agente aggiorna tutti e sette i punti di chiamata in un passaggio.
[exit 0]
```

Il raggio d'impatto arriva prima della prima modifica, non dopo che la build fallisce.

## Configurazione in Zed

Tre passaggi. Piano Free: 3 repository, Fino a 50K righe di repository indicizzate, senza carta di credito.

### 01. Indicizza un repo su maguyva.ai

Scegline uno che già conosci, così puoi valutare le risposte.

### 02. Aggiungi Maguyva a context_servers nelle impostazioni di Zed

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

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

### 03. Sostituisci il segnaposto e fai una domanda

Sostituisci `mgv_xxxx` con la tua chiave API e salva. Fai all’agente una domanda di cui conosci già la risposta, poi apri il file citato.

La [documentazione MCP](https://zed.dev/docs/ai/mcp) di Zed copre server di contesto, profili dell’agente e permessi degli strumenti.

## Indicizza un repo che già conosci.

Collega Zed via MCP, poi fai una domanda che puoi verificare.
