Przejdź do treści

Dla użytkowników Cursor

Cursor edytuje plik.
Maguyva widzi repo.

Cursor to edytor. W monorepo agent nadal potrzebuje mapy tego, który plik ma znaczenie. Maguyva indeksuje Twój kod i udostępnia go z powrotem przez MCP (semantyczne, AST, grafowe i tekstowe), więc pytanie „gdzie odbywa się uwierzytelnianie” zwraca rzeczywisty przepływ uwierzytelniania, a nie siedem atrap testowych.

Plan Free: 3 repozytoria, Do 50 tys. zindeksowanych linii repo, bez karty kredytowej.

Cursor edytuje to, na co wskażesz. Maguyva mówi agentowi, na jaki plik wskazać.

Co robi każda warstwa

Cztery elementy. Każdy ma swoje zadanie.

// edytor

Cursor

Gdzie naprawdę piszesz kod.

// ręczny kontekst

@ wzmianki + przypięcia

Ręczny kontekst wygrywa, dopóki repo nie jest duże.

// baza kodu

Maguyva

Automatycznie pozyskiwane fakty o kodzie przez MCP.

// kto płaci

Workspace'y, nie użytkownicy

Bez osobnych opłat za każdego agenta. Zobacz cennik

Cursor to edytor. Korzystaj z niego.

IDE nie jest problemem. Autouzupełnianie w Cursor, edycja z AI, edycje wielu plików i .cursor/rules są świetne i już z nich korzystasz do:

  • Podpowiedzi inline i edycji z AI w otwartym pliku.
  • Edycji wielu plików, gdy zmiana jest lokalna.
  • .cursor/rules dla konwencji repo i reguł stylu.
  • Wzmianek @, by wciągnąć konkretny plik do kontekstu.

Rób tak dalej. Nic z tego nie znika.

Ale w prawdziwym monorepo (TypeScript z zależnościami workspace, usługi w języku Python, mieszane pakiety) kontekst agenta pęka w momencie, gdy istotny plik nie jest jeszcze na Twoim radarze.

Ręczne obejścia, które już wypróbowałeś, i gdzie zawodzą

Cztery ręczne obejścia zestawione z ich trybem awarii. Lewo = co robisz dzisiaj. Prawo = gdzie to zawodzi.

// the fix

// przypnij pliki

Wzmiankujesz @ trzy pliki, które Twoim zdaniem mają znaczenie. Cursor edytuje w nich bez zarzutu.

// where it breaks

// przypinanie to zgadywanie

Przypinanie działa, gdy już wiesz, które pliki są zaangażowane. Cały sens narzędzi kontekstowych polega na wydobyciu plików, o których przypięciu nie wiedziałeś.

// the fix

// wklej fragmenty

Wklejasz 200 linii z innego pakietu do czatu, żeby dać agentowi wystarczający kontekst.

// where it breaks

// wklejony kod się dezaktualizuje

Fragment wklejony o 9 rano nie odzwierciedla rebase'a, który Twój kolega z zespołu wprowadził o 11. Agent edytuje na podstawie fantomowej wersji pakietu.

// the fix

// napisz dokument kontekstowy

Piszesz plik .cursor/rules lub markdown z architekturą. Dziś jest aktualny.

// where it breaks

// dokumentacja dezaktualizuje się szybciej niż kod

Wszystko, co napiszesz ręcznie, z czasem odbiega od stanu faktycznego. Kod jest źródłem prawdy. Dokument opisujący warstwę kolejki jest poprawny przez tydzień, a potem błędny na zawsze.

// the fix

// trzymaj się plików reguł

Dodajesz .cursor/rules dla nazewnictwa, lintowania, komend budowania. Świetne dla zachowania.

// where it breaks

// reguły ≠ indeks

.cursor/rules to dobre miejsce na “zawsze uruchamiaj pnpm tsc -b przed commitem.” To nie jest przeszukiwalny indeks każdego symbolu, pliku i miejsca wywołania w Twoim monorepo.

Maguyva to warstwa pod spodem

To nie zamiennik Cursor. Warstwa kontekstu repo, która opiera się na obsłudze MCP w Cursor.

  • Semantyczne + AST + graf + tekst wyszukiwanie po znaczeniu, strukturze, zależności lub dosłownym tekście. Każdy wynik zwraca ścieżkę pliku i numer linii.
  • Między pakietami domyślnie miejsca wywołań i elementy importujące ten kod w każdym pakiecie monorepo, nie tylko w tym aktualnie otwartym.
  • Z uwzględnieniem gałęzi Maguyva widzi wersję kodu, którą edytuje Cursor.
  • Uzupełniające, nie konkurencyjne .cursor/rules nadal robi swoje. Wzmianki @ nadal robią swoje. Maguyva wypełnia lukę, której one nie wypełniają.

Cursor edytuje plik, na który wskażesz.

Maguyva mówi agentowi, na jaki plik wskazać.

Trzy przepływy pracy w monorepo

Między pakietami, między językami. Ugruntowane na rzeczywistym grafie wywołań, a nie na grep Cursor.

// workflow 01

Znajdź przepływ uwierzytelniania między pakietami, bez przypinania czegokolwiek

cursor> gdzie w tym monorepo odbywa się uwierzytelnianie?

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

→ 4 punkty wejścia w 4 pakietach, uszeregowane wg gęstości wywołań.
[exit 0]

Nie przypiąłeś pliku. Nie wkleiłeś fragmentu. Agent ma cztery istotne pliki, we właściwej kolejności, i może wykonać ugruntowaną edycję.

// workflow 02

Znajdź prawdziwą implementację, nie atrapę testową

cursor> jak normalizePhoneNumber obsługuje E.164?

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

Nazwy kłamią. Atrapy przesłaniają prawdziwy kod. Maguyva stawia prawdziwą implementację wyżej niż atrapę testową, we wszystkich pakietach.

// workflow 03

Sprawdź zasięg wpływu, zanim zrefaktoryzujesz

cursor> co wywołuje QueueDispatcher.publish w całym monorepo?

graph::callers(QueueDispatcher.publish)
  3 w packages/billing/*
  1 w packages/audit/*
  1 w packages/notifications/*
  1 w services/python-worker/*  ← między językami przez stub gRPC
[exit 0]

Między pakietami, a przy poliglotycznym repo — także między językami, miejsca wywołań pojawiają się od razu. Diff opiera się na rzeczywistych elementach importujących ten kod, a nie na wynikach grepa w Cursor.

Konfiguracja z Cursor

Trzy kroki. Plan Free: 3 repozytoria, Do 50 tys. zindeksowanych linii repo, bez karty kredytowej.

  1. // step 01

    Zaindeksuj repo na maguyva.ai

    Wybierz monorepo, w którym najbardziej doskwierał Ci brak kontekstu.

  2. // step 02

    Dodaj Maguyva jako serwer MCP w ustawieniach Cursor

    ~/.cursor/mcp.json

    {
      "mcpServers": {
        "maguyva": {
          "url": "https://maguyva.tools/mcp",
          "headers": {
            "Authorization": "Bearer ${env:MAGUYVA_API_KEY}"
          }
        }
      }
    }
  3. // step 03

    Zadaj jedno pytanie, na które już znasz odpowiedź

    Nie zaczynaj od całej firmy. Zacznij od jednego repo i jednego sprawdzalnego pytania, np. „co wywołuje formatInvoice w różnych pakietach?”