# Cursor retter filen. Maguyva ser repoet.

Canonical source: https://maguyva.ai/da/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 er editoren. I et monorepo har agenten stadig brug for et kort over, hvilken fil der betyder noget. Maguyva indekserer din kodebase og leverer den tilbage over MCP (semantisk, AST, graf og tekst), så “hvor sker auth” giver det rigtige auth-flow tilbage — ikke syv teststubbe.

> Cursor retter det, du peger på. Maguyva fortæller agenten, hvilken fil den skal pege på.

## Hvad hvert lag gør

Fire dele. Hver har en opgave.

### Cursor

Hvor du rent faktisk koder.

### @-nævnelser + fastgørelser

Manuel kontekst vinder, indtil repoet bliver stort.

### Maguyva

Automatiske kodebasefakta over MCP.

### Arbejdsområder, ikke brugere

Agenter medfører ingen ekstra gebyrer pr. bruger. [Se priser](https://maguyva.ai/da/pricing)

## Cursor er editoren. Brug den.

IDE'en er ikke problemet. Tab-completion, edit-with-AI, rettelser på tværs af flere filer og `.cursor/rules` i Cursor er glimrende, og du bruger dem allerede til:

- Inline-forslag og edit-with-AI i den åbne fil.
- Rettelser på tværs af flere filer, når ændringen er lokal.
- `.cursor/rules` til repo-konventioner og stilregler.
- `@`-nævnelser til at trække en bestemt fil ind i konteksten.

Bliv ved med det. Intet af det forsvinder.

Men i et rigtigt monorepo (TypeScript med workspace-afhængigheder, Python-services, blandede pakker) går agentkonteksten i stykker i det øjeblik, den relevante fil ikke allerede er på din radar.

## Manuelle løsninger, du allerede har prøvet, og hvor de går i stykker

Fire manuelle løsninger parret med deres svigttilstand. Venstre = det, du gør i dag. Højre = hvor det går i stykker.

### // fastgør filerne

Du `@`-nævner de tre filer, du tror betyder noget. Cursor retter rent inde i dem.

### // fastgørelse er et gæt

Fastgørelse virker, når du allerede ved, hvilke filer der er involveret. Hele pointen med kontekstværktøjer er at fremdrage de filer, du ikke vidste, du skulle fastgøre.

### // indsæt uddragene

Du indsætter 200 linjer fra en anden pakke i chatten for at give agenten nok kontekst.

### // indsat kode bliver forældet

Uddraget, du indsatte klokken 9, afspejler ikke den rebase, din kollega landede klokken 11. Agenten retter mod en fantomversion af pakken.

### // skriv et kontekstdokument

Du skriver en `.cursor/rules`-fil eller en arkitektur-markdown. Den er korrekt i dag.

### // dokumentation bliver hurtigere forældet end kode

Alt, du skriver i hånden, kommer gradvist ud af trit med virkeligheden. Koden er den eneste sandhed. Et dokument, der forklarer kølaget, er korrekt i en uge — og forkert for evigt derefter.

### // behold regelfilerne

Du tilføjer `.cursor/rules` til navngivning, lint og build-kommandoer. Fremragende til adfærd.

### // regler ≠ indeks

`.cursor/rules` er det rette sted til “kør altid pnpm tsc -b før commits.” Det er ikke et søgbart indeks over hvert symbol, hver fil og hvert kaldested i dit monorepo.

## Maguyva er laget nedenunder

Ikke en erstatning for Cursor. Repo-kontekstlaget, der hægter sig på Cursors MCP-understøttelse.

- **Semantisk + AST + graf + tekst**: søg efter betydning, struktur, afhængighed eller ordret tekst. Hvert træf giver en filsti og et linjenummer.
- **På tværs af pakker som standard**: kaldesteder og importører på tværs af alle pakker i monorepoet — ikke kun den, der er åben lige nu.
- **Branch-bevidst**: Maguyva ser den version af koden, Cursor retter i.
- **Supplerende, ikke konkurrerende**: `.cursor/rules` bliver ved med at gøre sit arbejde. `@`-nævnelser bliver ved med at gøre deres. Maguyva udfylder det hul, de ikke udfylder.

> Cursor retter den fil, du peger på.
> Maguyva fortæller agenten, *hvilken fil den skal pege på.*

## Tre monorepo-workflows

På tværs af pakker og sprog. Forankret i den faktiske kaldgraf — ikke grep i Cursor.

### 01. Find auth-flowet på tværs af pakker, uden at fastgøre noget

```text
cursor> hvor sker autentificering i dette monorepo?

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

→ 4 indgangspunkter på tværs af 4 pakker, rangeret efter kaldested-tæthed.
[exit 0]
```

Du fastgjorde ikke en fil. Du indsatte ikke et uddrag. Agenten har de fire filer, der betyder noget, i den rette rangering, og kan lave en forankret rettelse.

### 02. Find den rigtige implementering, ikke teststubben

```text
cursor> hvordan håndterer normalizePhoneNumber E.164?

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

Navne lyver. Mocks overskygger rigtig kode. Maguyva rangerer den rigtige implementering over test-mock'en, på tværs af alle pakker.

### 03. Tjek blast radius, før du refaktorerer

```text
cursor> hvad kalder QueueDispatcher.publish på tværs af monorepoet?

graph::callers(QueueDispatcher.publish)
  3 i packages/billing/*
  1 i packages/audit/*
  1 i packages/notifications/*
  1 i services/python-worker/*  ← på tværs af sprog via gRPC-stub
[exit 0]
```

På tværs af pakker, og på tværs af sprog når du har et polyglot repo, dukker kaldesteder op direkte. Diffen er forankret i de rigtige importører, ikke Cursors grep.

## Opsætning med Cursor

Tre trin. Free-niveau: 3 repos, Op til 50K indekserede repo-linjer, intet kreditkort.

### 01. Indekser et repo på maguyva.ai

Vælg det monorepo, hvor manglende kontekst har givet flest problemer.

### 02. Tilføj Maguyva som en MCP-server i Cursors indstillinger

`~/.cursor/mcp.json`

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

### 03. Stil ét spørgsmål, du allerede kender svaret på

Start ikke med hele din virksomhed. Start med ét repo og ét verificerbart spørgsmål, som “hvad kalder `formatInvoice` på tværs af pakker?”

## Indekser ét repo, du allerede kender.

Test ét spørgsmål, du kan verificere svaret på.
