# Cursor bearbeitet die Datei. Maguyva sieht das Repo.

Canonical source: https://maguyva.ai/de/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 ist der Editor. In einem Monorepo braucht der Agent trotzdem einen Überblick darüber, welche Datei relevant ist. Maguyva indexiert deine Codebase und liefert sie über MCP zurück (semantisch, AST, Graph und Text), damit „wo passiert Auth“ den echten Auth-Flow liefert, nicht sieben Test-Stubs.

> Cursor bearbeitet, worauf du zeigst. Maguyva sagt dem Agent, worauf er zeigen soll.

## Was jede Schicht macht

Vier Bausteine. Jeder hat eine Aufgabe.

### Cursor

Wo du tatsächlich codest.

### @-Erwähnungen + Pins

Manueller Kontext funktioniert, bis das Repo groß wird.

### Maguyva

Automatische Codebase-Fakten über MCP.

### Workspaces, keine Seats

Agents zahlen keine Seats. [Preise ansehen](https://maguyva.ai/de/pricing)

## Cursor ist der Editor. Nutz ihn.

Die IDE ist nicht das Problem. Tab-Vervollständigung, Edit-with-AI, Multi-Datei-Edits und `.cursor/rules` von Cursor sind exzellent, und du nutzt sie bereits für:

- Inline-Vorschläge und Edit-with-AI in der offenen Datei.
- Multi-Datei-Edits, wenn die Änderung lokal ist.
- `.cursor/rules` für Repo-Konventionen und Style-Guardrails.
- `@`-Erwähnungen, um eine bestimmte Datei in den Kontext zu holen.

Mach weiter so. Nichts davon verschwindet.

Aber in einem echten Monorepo (TypeScript mit Workspace-Deps, Python-Services, gemischte Packages) bricht der Agent-Kontext in dem Moment zusammen, in dem die relevante Datei noch nicht auf deinem Radar ist.

## Manuelle Fixes, die du schon probiert hast, und wo sie versagen

Vier manuelle Fixes, gepaart mit ihrem Fehlermodus. Links = was du heute tust. Rechts = wo es bricht.

### // die dateien anpinnen

Du erwähnst mit `@` die drei Dateien, die du für relevant hältst. Cursor editiert sauber innerhalb davon.

### // pinnen ist eine vermutung

Pinnen funktioniert, wenn du schon weißt, welche Dateien betroffen sind. Der ganze Sinn von Kontext-Tools ist, die Dateien sichtbar zu machen, von denen du nicht wusstest, dass du sie anpinnen solltest.

### // die snippets einfügen

Du fügst 200 Zeilen aus einem anderen Package in den Chat ein, um dem Agent genug Kontext zu geben.

### // eingefügter code veraltet

Das Snippet, das du um 9 Uhr eingefügt hast, spiegelt nicht das Rebase wider, das dein Teamkollege um 11 Uhr gelandet hat. Der Agent editiert gegen eine Phantom-Version des Packages.

### // ein kontext-doc schreiben

Du schreibst eine `.cursor/rules`-Datei oder ein Architektur-Markdown. Heute stimmt es noch.

### // docs veralten schneller als code

Alles, was du von Hand schreibst, veraltet. Der Code ist die Quelle der Wahrheit. Ein Doc, das die Queue-Schicht erklärt, stimmt eine Woche lang, dann für immer nicht mehr.

### // die rules-dateien behalten

Du fügst `.cursor/rules` für Namenskonventionen, Lint und Build-Befehle hinzu. Großartig für Verhalten.

### // rules ≠ index

`.cursor/rules` ist der richtige Ort für „führe immer pnpm tsc -b vor Commits aus“. Es ist kein abfragbarer Index jedes Symbols, jeder Datei und jeder Aufrufstelle in deinem Monorepo.

## Maguyva ist die Schicht darunter

Kein Cursor-Ersatz. Die Repo-Kontext-Schicht, die an den MCP-Support von Cursor andockt.

- **Semantisch + AST + Graph + Text**: Suche nach Bedeutung, Struktur, Abhängigkeit oder Wortlaut. Jeder Treffer liefert Dateipfad und Zeilennummer.
- **Standardmäßig paketübergreifend**: Aufrufstellen und importierende Module über jedes Package im Monorepo hinweg, nicht nur das gerade geöffnete.
- **Branch-bewusst**: Maguyva sieht die Version des Codes, die Cursor gerade editiert.
- **Ergänzend, nicht konkurrierend**: `.cursor/rules` erledigt weiter seine Aufgabe. `@`-Erwähnungen erledigen weiter ihre. Maguyva füllt die Lücke, die sie nicht abdecken.

> Cursor bearbeitet die Datei, auf die du zeigst.
> Maguyva sagt dem Agent, *worauf er zeigen soll.*

## Drei Monorepo-Workflows

Paket- und sprachübergreifend. Verankert im echten Call-Graphen, nicht im Grep von Cursor.

### 01. Den Auth-Flow paketübergreifend finden, ohne irgendetwas anzupinnen

```text
cursor> wo passiert Authentifizierung in diesem Monorepo?

graph::query("authentication flow")
  packages/web/src/auth/session.ts:42       middleware
  packages/api/src/auth/jwt.ts:88           token verify
  packages/shared/src/auth/types.ts:12      AuthContext
  packages/admin/src/auth/admin-only.ts:31  rbac gate

→ 4 Einstiegspunkte über 4 Packages, sortiert nach Aufrufstellen-Dichte.
[exit 0]
```

Du hast keine Datei angepinnt. Du hast kein Snippet eingefügt. Der Agent hat die vier relevanten Dateien, in der richtigen Reihenfolge, und kann eine fundierte Änderung vornehmen.

### 02. Die echte Implementierung finden, nicht den Test-Stub

```text
cursor> wie behandelt normalizePhoneNumber E.164?

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

Namen lügen. Mocks überschatten echten Code. Maguyva reiht die echte Implementierung über dem Test-Mock ein, über jedes Package hinweg.

### 03. Auswirkungsradius prüfen, bevor du refactorst

```text
cursor> was ruft QueueDispatcher.publish im gesamten Monorepo auf?

graph::callers(QueueDispatcher.publish)
  3 in packages/billing/*
  1 in packages/audit/*
  1 in packages/notifications/*
  1 in services/python-worker/*  ← sprachübergreifend über gRPC-Stub
[exit 0]
```

Paketübergreifend, und bei einem polyglotten Repo auch sprachübergreifend, tauchen Aufrufstellen inline auf. Der Diff ist in den tatsächlich importierenden Modulen verankert, nicht in Cursor-Grep.

## Setup mit Cursor

Drei Schritte. Free-Stufe: 3 Repositories, Bis zu 50K indexierte Repo-Zeilen, keine Kreditkarte.

### 01. Ein Repo auf maguyva.ai indexieren

Wähl das Monorepo, bei dem du den meisten Kontext-Schmerz gespürt hast.

### 02. Maguyva als MCP-Server in Cursor-Einstellungen hinzufügen

`~/.cursor/mcp.json`

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

### 03. Eine Frage stellen, deren Antwort du schon kennst

Fang nicht mit deiner ganzen Firma an. Fang mit einem Repo und einer überprüfbaren Frage an, etwa „was ruft `formatInvoice` paketübergreifend auf?“

## Indexiere ein Repo, das du schon kennst.

Teste eine Frage, deren Antwort du überprüfen kannst.
