# Zed est rapide. L’agent doit quand même trouver le code.

Canonical source: https://maguyva.ai/fr/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’agent de Zed travaille à partir des fichiers que vous ouvrez et des instructions que vous lui donnez. Maguyva indexe tout le dépôt et le restitue via MCP : l’agent demande où se trouve un symbole au lieu de deviner.

> Une seule entrée context_servers : une URL et un en-tête Authorization.

## Ce qu’il faut savoir sur Zed

Quatre faits propres à Zed. Aucun n’est difficile.

### settings.json

Les serveurs distants se placent sous `context_servers`. Ouvrez le fichier avec `zed: open settings file`, ou ajoutez un serveur depuis Settings → AI → MCP Servers.

### Distant, par URL

Zed se connecte directement en HTTP au point de terminaison distant de Maguyva. Pas de processus local, pas de Node.js.

### Un en-tête en clair

Ce guide écrit la clé directement dans l’en-tête `Authorization`, car l’expansion des variables d’environnement dans les en-têtes de Zed n’est pas vérifiée ici. Gardez-la dans vos paramètres utilisateur, pas dans un fichier que vous commitez.

### Permissions des outils

Par défaut, Zed demande confirmation avant chaque appel d’outil. Autorisez les outils de Maguyva un par un sous `agent.tool_permissions.tools`, avec des clés comme `mcp:maguyva:find_symbol`.

## Les instructions de projet sont un accord de travail. Utilisez-les.

```text
# .rules
- Lance la commande de test du dépôt avant de déclarer une modification terminée.
- Ne modifie que le paquet qu’on t’a demandé de changer.
```

Zed charge un seul fichier d’instructions de projet : la première correspondance dans une liste fixe qui commence par `.rules` et inclut `AGENTS.md` et `CLAUDE.md`. Les instructions personnelles vont dans `~/.config/zed/AGENTS.md`. Utilisez-les pour :

- Les commandes de build, de test et de lint.
- Les conventions que l’agent se trompe sans cesse.
- Les répertoires auxquels l’agent ne doit pas toucher.

Un fichier d’instructions dit à l’agent comment travailler. Il ne peut pas lui dire lesquels de quatre mille fichiers appellent la fonction qu’il s’apprête à modifier.

## Là où le buffer ouvert ne suffit plus

Trois choses que l’agent de Zed ne peut pas apprendre des fichiers qu’il a sous les yeux.

### // le fichier ouvert n’est pas le dépôt

L’agent voit ce que vous avez ouvert et ce qu’il trouve avec grep. Un helper du même nom dans un autre paquet paraît identique, jusqu’à ce que le mauvais parte en production.

### // les appelants ne sont pas à l’écran

“Qu’est-ce qui casse si je change cette signature ?” est une question de graphe. Sans index, l’agent lit les fichiers un par un jusqu’à épuiser ses tours ou son contexte.

### // le contexte a un budget

Chaque fichier que l’agent ouvre pour s’orienter consomme des tokens qu’il ne pourra pas consacrer à la modification. Une réponse classée avec file:line coûte moins que dix lectures à tâtons.

## Maguyva comme serveur de contexte Zed

Une entrée context_servers donne à l’agent de Zed :

- **11 outils sur votre dépôt indexé**: recherche sémantique, structurelle (AST), par graphe et textuelle, plus recherche de symboles, dépendants et récupération de fichiers.
- **Des réponses avec chemins de fichiers et numéros de ligne**: sur plus de 285 langages, pour que l’agent ouvre le bon fichier du premier coup.
- **Une liste d’outils toujours à jour**: Zed recharge les outils d’un serveur quand celui-ci annonce un changement, sans redémarrage.

> Zed donne à l’agent *un éditeur rapide*.
> Maguyva donne à l’agent *une carte du code*.

## Deux flux de travail

Interrogez d’abord la carte, puis modifiez.

### 01. Trouver l’implémentation avant que l’agent n’ouvre un onglet

```text
zed agent> où est la politique de retry des webhooks sortants ?

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

→ L’agent ouvre dispatch.ts:41, pas le mock.
[exit 0]
```

Une recherche classée remplace une série de grep. La réponse revient sous forme de chemin et de ligne que l’agent peut ouvrir directement.

### 02. Vérifier les dépendants avant de changer une signature

```text
zed agent> ajoute un argument timeout à fetchInvoice

dependency_search("fetchInvoice", dependents)
  7 appelants dans 4 paquets

→ L’agent met à jour les sept sites d’appel en une passe.
[exit 0]
```

Le rayon d'impact arrive avant la première modification, pas après l’échec du build.

## Configuration dans Zed

Trois étapes. Palier Free : 3 dépôts, Jusqu'à 50 000 lignes de dépôt indexées, sans carte bancaire.

### 01. Indexez un dépôt sur maguyva.ai

Choisissez-en un que vous connaissez déjà, pour pouvoir évaluer les réponses.

### 02. Ajoutez Maguyva aux context_servers dans les paramètres de Zed

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

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

### 03. Remplacez le placeholder et posez une question

Remplacez `mgv_xxxx` par votre clé API et enregistrez. Posez à l’agent une question dont vous connaissez déjà la réponse, puis ouvrez le fichier cité.

La [documentation MCP](https://zed.dev/docs/ai/mcp) de Zed couvre les serveurs de contexte, les profils d’agent et les permissions des outils.

## Indexez un dépôt que vous connaissez déjà.

Connectez Zed via MCP, puis posez une question que vous pouvez vérifier.
