# Devin Desktop redigerar filen. Maguyva ser repot.

Canonical source: https://maguyva.ai/sv/for-windsurf

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

Devin Desktop (Windsurf-IDE:n) är redigeraren och Devin Local är agenten. I ett monorepo behöver agenten ändå en karta över vilken fil som spelar roll. Maguyva indexerar din kodbas och levererar den tillbaka via MCP (semantiskt, AST-baserat, graf och text), så att ”var sker autentisering” ger det faktiska autentiseringsflödet, inte sju teststubbar.

> Devin Desktop redigerar det du pekar på. Maguyva talar om för Devin Local vilken fil den ska peka på.

## Vad varje lager gör

Fyra delar. Var och en har sin uppgift.

### Devin Desktop

Där du och Devin Local faktiskt arbetar.

### @-nämningar + .devin/rules/

Manuell kontext vinner, tills repot blir stort.

### Maguyva

Automatiska kodbasfakta via MCP.

### Arbetsytor, inte användarlicenser

Agenter medför inga separata licensavgifter. [Se priser](https://maguyva.ai/sv/pricing)

## Devin Desktop är redigeraren. Använd den.

IDE:n är inte problemet. Devin Local, tabbkomplettering, multifilsredigeringar och `.devin/rules/` är utmärkta, och du använder redan dem för:

- Infogade förslag och Devin Local-redigeringar i den öppna filen.
- Multifilsredigeringar när ändringen är lokal.
- `.devin/rules/` för repokonventioner och stilregler.
- `@`-nämningar för att dra in en specifik fil i kontexten.

Fortsätt med det. Inget av det försvinner.

Men i ett verkligt monorepo (TypeScript med workspace-beroenden, Python-tjänster, blandade paket) går agentens kontext sönder så fort den relevanta filen inte redan finns på radarn hos Devin Local.

## Manuella lösningar du redan provat — och var de brister

Fyra manuella lösningar parade med sina svagheter. Vänster = vad du gör idag. Höger = var det brister.

### // nämn filerna

Du `@`-nämner de tre filer du tror spelar roll. Devin Local redigerar snyggt inom dem.

### // att nämna är en gissning

Det fungerar när du redan vet vilka filer som är inblandade. Hela poängen med kontextverktyg är att lyfta fram de filer du inte visste att du skulle nämna.

### // klistra in kodsnuttar

Du klistrar in 200 rader från ett annat paket i Devin Local för att ge den tillräcklig kontext.

### // inklistrad kod blir inaktuell

Snutten du klistrade in klockan 9 speglar inte den rebase din kollega landade klockan 11. Devin Local redigerar mot en spökversion av paketet.

### // skriv ett kontextdokument

Du skriver en `.devin/rules/`-fil eller en arkitektur-markdown. Den stämmer idag.

### // dokumentation föråldras snabbare än kod

Allt du skriver för hand glider iväg. Koden är sanningen. Ett dokument som förklarar kölagret stämmer i en vecka, sedan är det fel för alltid.

### // behåll regelfilerna

Du lägger till `.devin/rules/` för namngivning, lint och byggkommandon. Utmärkt för beteende.

### // regler ≠ index

`.devin/rules/` är rätt plats för “kör alltid pnpm tsc -b före commits.” Det är inget sökbart index över varje symbol, fil och anropsplats i ditt monorepo.

## Maguyva är lagret därunder

Inte en ersättning för Devin Desktop. Kontextlagret för repot som ansluter via MCP-stödet i Devin Local.

- **Semantiskt + AST + graf + text**: sök efter betydelse, struktur, beroende eller ordagrant. Varje träff ger en filsökväg och ett radnummer.
- **Paketöverskridande som standard**: anropsplatser och importerare i varje paket i monorepot, inte bara det Devin Local har öppet.
- **Grenmedvetet**: Maguyva ser den version av koden som Devin Local redigerar.
- **Kompletterande, inte konkurrerande**: `.devin/rules/` fortsätter göra sitt jobb. `@`-nämningar fortsätter göra sitt. Maguyva fyller det utrymme de inte fyller.

> Devin Local redigerar filen du pekar på.
> Maguyva talar om för agenten *vilken fil den ska peka på.*

## Tre monorepo-arbetsflöden

Paketöverskridande, språköverskridande. Förankrat i den faktiska anropsgrafen, inte grep i Devin Local.

### 01. Hitta autentiseringsflödet över paket, utan att nämna något

```text
devin> var sker autentiseringen i det här monorepot?

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

→ 4 ingångspunkter i 4 paket, rankade efter anropstäthet.
[exit 0]
```

Du nämnde ingen fil. Du klistrade inte in någon kodsnutt. Devin Local har de fyra filer som spelar roll, i rätt rangordning, och kan göra en förankrad ändring.

### 02. Hitta den verkliga implementationen, inte teststubben

```text
devin> hur hanterar normalizePhoneNumber E.164?

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

Namn ljuger. Mockar skuggar verklig kod. Maguyva rankar den verkliga implementationen över testmocken, i varje paket.

### 03. Kontrollera påverkansradien innan du refaktorerar

```text
devin> vad anropar QueueDispatcher.publish i monorepot?

graph::callers(QueueDispatcher.publish)
  3 i packages/billing/*
  1 i packages/audit/*
  1 i packages/notifications/*
  1 i services/python-worker/*  ← språköverskridande via gRPC-stub
[exit 0]
```

Paketöverskridande, och språköverskridande om du har ett polyglot repo — anropsplatser dyker upp direkt i flödet. Diffen är förankrad i verkliga importerare, inte grep i Devin Local.

## Installation med Devin Desktop

Tre steg. Free-nivå: 3 repositorier, Upp till 50K indexerade repo-rader, inget kreditkort krävs.

### 01. Indexera ett repo på maguyva.ai

Välj det monorepo där bristande kontext har orsakat störst problem.

### 02. Lägg till Maguyva som en MCP-server i Devin Desktop

`~/.config/devin/mcp_config.json`

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

### 03. Ställ en fråga vars svar du redan känner till

Börja inte med hela ditt företag. Börja med ett repo och en verifierbar fråga, som ”vad anropar `formatInvoice` över paket?”

## Indexera ett repo du redan känner till.

Testa en fråga vars svar du kan verifiera.
