# Opskriftsbog

Canonical source: https://maguyva.ai/da/docs/cookbook

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

Praktiske opskrifter til hverdagens Maguyva MCP-arbejde. Hver opskrift navngiver værktøjerne og sekvensen - ikke en fuldstændig parameterreference. Brug [MCP API-reference](https://maguyva.ai/docs/mcp-api) til værktøjsparametre. For førstegangsopsætning skal du bruge [Quickstart](https://maguyva.ai/docs/quickstart).

### Vælg det rigtige værktøj

De fleste spørgsmål starter med ét værktøjskald. Eskaler kun, når det første svar er for bredt eller ikke konkret nok.

- `intelligent_search` — start her med et spørgsmål om kodebasen i naturligt sprog. Standardindstillingen auto/balanced sender forespørgsler, der med høj sikkerhed genkendes som definitionssøgninger, til strukturel søgning, reference- eller konsekvensspørgsmål til grafen og forespørgsler om præcise match til tekstsøgning. Andre spørgsmål bruger semantisk betydning og indekseret tekst. Brug mode=hybrid eller auto med quality=thorough for at anmode om alle fire søgemodaliteter. En eksplicit valgt tilstand har forrang for quality.
- `find_symbol` — du kender allerede funktionen, klassen eller variabelnavnet.
- `dependency_search` — blast radius: kaldende kode, afhængige eller påvirkning før (og efter) en redigering.
- `get_task_context` — ukendt område; ét afgrænset bundt af filer, symboler og afhængigheder til en opgavebeskrivelse.
- `repository_context` — vis en liste over tilgængelige kodearkiver, eller undersøg, hvilket kodearkiv et angivet navn henviser til.
- `ask_maguyva` med `operation="guidance"` — lokal hjælp til valg af værktøj og brug af Maguyva (ingen ændring af repoet).

JSON-blokkene er input til MCP tools/call. Erstat owner/repo, gren og symbolnavne med værdier fra dit repository.

### Installer og bekræft en klient

Forbind Maguyva til din MCP-klient, og bekræft forbindelsen med en reel liste over repos.

1. Opret en API-nøgle i [app.maguyva.ai](https://app.maguyva.ai) (nøgler starter med `mgv_`).
2. Forbind og indekser mindst ét GitHub-repo, du allerede forstår.
3. Tilslut din klient ved hjælp af [Installationsvejledning](https://maguyva.ai/docs/installation) (Claude Code plugin eller native remote config for Cursor, VS Code, Devin Desktop, Zed og andre).
4. Spørg din agent "Hvilke repos har jeg forbundet?" — det afprøver autentificering og `repository_context` fra ende til anden.
5. Stil et rigtigt spørgsmål om repoet, hvis svar du kan bedømme. Du bør se filstier og linjenumre fra det indekserede træ.

```json
{
  "name": "repository_context",
  "arguments": {
    "action": "list"
  }
}
```

Problemer med nøgler, broer eller manglende repos? [Fejlfinding](https://maguyva.ai/docs/troubleshooting).

### Spørg før du redigerer

Kortlæg symboler og blast radius, før du ændrer delt kode. Maguyva-værktøjer ændrer ikke dine repos — de giver grundlaget for de ændringer, din klient udfører lokalt.

1. Hvis du kender symbolnavnet, så kald `find_symbol` for at lande på definitioner og anvendelser.
2. Hvis du kun har en opgavebeskrivelse ("tilføj SSO", "fix faktureringswebhook"), start med `get_task_context` eller `intelligent_search`.
3. Inden du redigerer et delt symbol, skal du kalde `dependency_search` med analyse af afhængige dele eller påvirkning (eller angive ændrede stier for PR-lignende påvirkning), så du kan se blast radius.
4. Åbn de citerede filer (lokal læsning for filer på disk; `get_file` for fjern-/kryds-repo-stier) og bekræft planen mod ægte kode.
5. Kontrollér de samme symboler igen efter ændringen med `dependency_search`, verify_after_edit=true og targets eller changed_paths. Dette læser den indekserede graf, ikke lokale ændringer uden commit: kontrollér indexed_commit_sha og indeksets aktualitet, før du bruger det som belæg for den nye revision, og kør lokale tests.

```json
{
  "name": "dependency_search",
  "arguments": {
    "repository": "owner/repo",
    "target": "getCurrentUser",
    "exact_match": true,
    "analysis_type": "impact",
    "depth": "shallow",
    "include_metrics": true,
    "limit": 10
  }
}
```

Alle parametre: [MCP API-reference](https://maguyva.ai/docs/mcp-api).

### Søg, og rediger derefter

En standard agentløkke: udforsk → fastlæg symboler → rediger med beviser.

1. Start med `intelligent_search` og en forespørgsel i almindeligt sprog ("hvordan fungerer sessionsudløb", "hvor er genforsøgslogik").
2. Afgræns med sprog- eller stifiltre, hvis det første resultatvindue indeholder for meget støj. language_filter udelader grafen fra auto/hybrid; en auto-forespørgsel, der kun er sendt til grafen, falder tilbage til semantisk søgning og tekstsøgning. Eksplicit graph-tilstand med language_filter afvises. Se routing_decision.modalities_used for den valgte søgeplan; warnings er der kun, når serveren har givet en advarsel.
3. Undersøg lovende søgeresultater nærmere med `find_symbol` eller `dependency_search` i stedet for at stille det samme vage spørgsmål igen.
4. Brug kun `get_file`, når du har brug for en specifik indekseret sti, der ikke er på disken.
5. Rediger med dine sædvanlige klientværktøjer. Maguyva bruges til at finde og verificere information — ikke til at skrive ændringer.

```json
{
  "name": "intelligent_search",
  "arguments": {
    "repository": "owner/repo",
    "query": "How does session expiry work?",
    "limit": 5
  }
}
```

Hvorfor denne løkke virker: [Hvordan det virker](https://maguyva.ai/docs/how-it-works).

### Tomme eller ufuldstændige resultater

Når værktøjer ikke returnerer noget nyttigt, skal du rette repo-opslag og indeksering, før du bliver ved med at omskrive forespørgslen.

1. Bekræft, at repoet er forbundet og færdigindekseret i [app.maguyva.ai](https://app.maguyva.ai).
2. Tjek repo-strengen: `"owner/repo"` bruger standardbranchen; `"owner/repo:branch"` fastlægger en bestemt branch. Matchning skelner ikke mellem store og små bogstaver og bruger ikke fuzzy-matchning — stavefejl rettes ikke automatisk.
3. Kald `repository_context` med `action="info"`, og undersøg metadata for repo-opslaget (for eksempel `metadata.resolution_reason`).
4. Udelad kun `repository`, når din MCP-klient angiver en standard for den aktuelle forespørgsel, eller nøglen har adgang til præcis ét repo; ellers skal du angive parameteren eksplicit.
5. Prøv igen med en mere specifik forespørgsel, et kendt symbolnavn via `find_symbol` eller et sprog/sti-filter. Hvis selve forbindelsen er afbrudt, skal du bruge [Fejlfinding](https://maguyva.ai/docs/troubleshooting).

```json
{
  "name": "repository_context",
  "arguments": {
    "action": "info",
    "repository": "owner/repo:main"
  }
}
```

Opsætningsfejl: [Fejlfinding](https://maguyva.ai/docs/troubleshooting).

### Arbejd på tværs af flere repos

Vælg det rigtige indekserede repo, når en nøgle har adgang til flere.

1. Kald `repository_context` med `action="list"` én gang for at se de præcise repo-identifikatorer, din nøgle kan søge i.
2. Angiv `repository` eksplicit til søge- og symbolværktøjer, når du har brug for et andet repo end standardrepoet (for eksempel `"owner/other-repo"` eller `"owner/other-repo:develop"`).
3. Hold dig til ét spørgsmål = ét repo, medmindre du bevidst sammenligner på tværs af repos i separate kald.
4. Brug `get_file`, når filen ligger i et indekseret repo, der ikke er dit nuværende arbejdstræ.
5. Husk: værktøjer skriver aldrig tilbage til GitHub - multi-repo kontekst er kun til læsning og planlægning.

Detaljer om repo-format: [MCP API-reference](https://maguyva.ai/docs/mcp-api).

Opsætter du for første gang? Start med [Quickstart](https://maguyva.ai/docs/quickstart), og brug derefter disse opskrifter til daglige opgaver.
