# Cursor modifie le fichier. Maguyva voit le dépôt.

Canonical source: https://maguyva.ai/fr/for-cursor

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

Cursor est l'éditeur. Dans un monorepo, l'agent a quand même besoin d'une carte des fichiers qui comptent. Maguyva indexe votre dépôt et le restitue via MCP (sémantique, AST, graphe et texte), pour que « où se passe l'authentification » renvoie le vrai flux d'auth, pas sept stubs de test.

> Cursor modifie ce que vous désignez. Maguyva dit à l'agent quel fichier désigner.

## Le rôle de chaque couche

Quatre pièces. Chacune a un rôle.

### Cursor

Là où vous codez, pour de vrai.

### mentions @ + épingles

Le contexte manuel gagne, jusqu'à ce que le dépôt devienne gros.

### Maguyva

Des faits sur le dépôt, automatiquement, via MCP.

### Des espaces de travail, pas des licences par utilisateur

Les agents ne paient pas de licence par utilisateur. [Voir les tarifs](https://maguyva.ai/fr/pricing)

## Cursor est l'éditeur. Servez-vous-en.

L'IDE n'est pas le problème. La complétion avec la touche Tab de Cursor, l'édition assistée par IA, les modifications multi-fichiers et `.cursor/rules` sont excellents, et vous les utilisez déjà pour :

- Les suggestions en ligne et l'édition assistée par IA dans le fichier ouvert.
- Les modifications multi-fichiers quand le changement est local.
- `.cursor/rules` pour les conventions du dépôt et les garde-fous de style.
- Les mentions `@` pour ramener un fichier précis dans le contexte.

Continuez comme ça. Rien de tout cela ne disparaît.

Mais dans un vrai monorepo (TypeScript avec dépendances de workspace, services Python, paquets mélangés), le contexte de l'agent casse dès que le fichier pertinent n'est pas déjà sur votre radar.

## Les rustines manuelles que vous avez déjà essayées, et où elles cassent

Quatre rustines manuelles, chacune avec son mode d'échec. À gauche : ce que vous faites aujourd'hui. À droite : où ça casse.

### // épingler les fichiers

Vous mentionnez avec `@` les trois fichiers qui vous semblent importants. Cursor y apporte des modifications propres.

### // épingler, c'est deviner

Épingler fonctionne quand vous savez déjà quels fichiers sont concernés. Tout l'intérêt des outils de contexte est de faire remonter les fichiers que vous ne saviez pas devoir épingler.

### // coller des extraits

Vous collez 200 lignes d'un autre paquet dans le chat pour donner assez de contexte à l'agent.

### // le code collé périme

L'extrait collé à 9h ne reflète pas le rebase que votre collègue a poussé à 11h. L'agent apporte ses modifications à partir d'une version fantôme du paquet.

### // écrire un doc de contexte

Vous écrivez un fichier `.cursor/rules` ou un markdown d'architecture. C'est juste, aujourd'hui.

### // la doc dérive plus vite que le code

Tout ce que vous écrivez à la main dérive. Le code fait foi. Un doc expliquant la couche de file d'attente est juste pendant une semaine, puis faux pour toujours.

### // garder les fichiers de règles

Vous ajoutez `.cursor/rules` pour le nommage, le lint, les commandes de build. Parfait pour le comportement.

### // règles ≠ index

`.cursor/rules` est le bon endroit pour « toujours lancer pnpm tsc -b avant un commit ». Ce n'est pas un index interrogeable de chaque symbole, fichier et point d'appel de votre monorepo.

## Maguyva est la couche en dessous

Pas un remplaçant de Cursor. La couche de contexte-dépôt qui se branche sur le support MCP de Cursor.

- **Sémantique + AST + graphe + texte**: recherche par sens, structure, dépendance ou texte littéral. Chaque résultat renvoie un chemin de fichier et un numéro de ligne.
- **Multi-paquets par défaut**: points d'appel et importeurs sur tous les paquets du monorepo, pas seulement celui actuellement ouvert.
- **Tient compte des branches**: Maguyva voit la version du code que Cursor est en train de modifier.
- **Complémentaire, pas concurrent**: `.cursor/rules` continue son travail. Les mentions `@` continuent le leur. Maguyva comble ce qu'ils ne couvrent pas.

> Cursor modifie le fichier que vous désignez.
> Maguyva dit à l'agent *quel fichier désigner.*

## Trois workflows monorepo

Multi-paquets, multi-langages. Ancré dans le vrai graphe d'appels, pas dans le grep de Cursor.

### 01. Trouver le flux d'auth à travers les paquets, sans rien épingler

```text
cursor> où se passe l'authentification dans ce monorepo ?

graph::query("authentication flow")
  packages/web/src/auth/session.ts:42       middleware
  packages/api/src/auth/jwt.ts:88           vérification du token
  packages/shared/src/auth/types.ts:12      AuthContext
  packages/admin/src/auth/admin-only.ts:31  contrôle RBAC

→ 4 points d'entrée dans 4 paquets, classés par densité de points d'appel.
[exit 0]
```

Vous n'avez rien épinglé. Vous n'avez collé aucun extrait. L'agent a les quatre fichiers qui comptent, dans le bon ordre, et peut faire une modification ancrée dans le réel.

### 02. Trouver la vraie implémentation, pas le stub de test

```text
cursor> comment normalizePhoneNumber gère-t-il le E.164 ?

semantic::query("normalize phone E.164")
  packages/shared/util/phone.ts:88     normalizePhoneNumber()  ← impl réelle
  packages/api/test/phone.spec.ts:14   jest.mock(...)          ← stub
[exit 0]
```

Les noms mentent. Les mocks masquent le vrai code. Maguyva classe l'implémentation réelle avant le mock de test, dans tous les paquets.

### 03. Vérifier le rayon d'impact avant de refactoriser

```text
cursor> qui appelle QueueDispatcher.publish dans le monorepo ?

graph::callers(QueueDispatcher.publish)
  3 dans packages/billing/*
  1 dans packages/audit/*
  1 dans packages/notifications/*
  1 dans services/python-worker/*  ← inter-langages via stub gRPC
[exit 0]
```

Multi-paquets, et multi-langages sur un dépôt polyglotte, les points d'appel remontent directement. Le diff est ancré dans les vrais importeurs, pas dans le grep de Cursor.

## Configuration avec Cursor

Trois étapes. Plan 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 le monorepo où le manque de contexte vous a fait le plus mal.

### 02. Ajoutez Maguyva comme serveur MCP dans les paramètres de Cursor

`~/.cursor/mcp.json`

```json
{
  "mcpServers": {
    "maguyva": {
      "url": "https://maguyva.tools/mcp",
      "headers": {
        "Authorization": "Bearer ${env:MAGUYVA_API_KEY}"
      }
    }
  }
}
```

### 03. Posez une question dont vous connaissez déjà la réponse

Ne commencez pas par toute votre entreprise. Commencez par un dépôt et une question vérifiable, comme « qui appelle `formatInvoice` dans les paquets ? »

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

Testez une question dont vous pouvez vérifier la réponse.
