Spring til indhold

Til Cursor-brugere

Cursor retter filen.
Maguyva ser repoet.

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.

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

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.

// editor

Cursor

Hvor du rent faktisk koder.

// manuel kontekst

@-nævnelser + fastgørelser

Manuel kontekst vinder, indtil repoet bliver stort.

// kodebase

Maguyva

Automatiske kodebasefakta over MCP.

// hvem betaler

Arbejdsområder, ikke brugerpladser

Agenter betaler ikke for brugerpladser. Se priser

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.

// the fix

// fastgør filerne

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

// where it breaks

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

// the fix

// indsæt uddragene

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

// where it breaks

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

// the fix

// skriv et kontekstdokument

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

// where it breaks

// dokumentation driver hurtigere end kode

Alt, du skriver i hånden, driver væk fra virkeligheden. Koden er den eneste sandhed. Et dokument, der forklarer kølaget, er korrekt i en uge — og forkert for evigt derefter.

// the fix

// behold regelfilerne

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

// where it breaks

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

// workflow 01

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

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.

// workflow 02

Find den rigtige implementering, ikke teststubben

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.

// workflow 03

Tjek blast radius, før du refaktorerer

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

  1. // step 01

    Indekser et repo på maguyva.ai

    Vælg det monorepo, hvor du har mærket mest kontekstsmerte.

  2. // step 02

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

    // ~/.cursor/mcp.json
    {
      "mcpServers": {
        "maguyva": {
          "url": "https://maguyva.tools/mcp",
          "headers": {
            "Authorization": "Bearer <your-key>"
          }
        }
      }
    }
  3. // step 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?”