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 dzieje się autoryzacja” zwraca rzeczywisty przepływ auth, a nie siedem atrap testowych.

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

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

Automatyczne fakty o kodzie przez MCP.

// kto płaci

Workspace'y, nie stanowiska

Agenci nie płacą za stanowiska. 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 wobec 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 importerzy w każdym pakiecie monorepo, nie tylko w tym aktualnie otwartym.
  • Świadome brancha 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 autoryzacji między pakietami, bez przypinania czegokolwiek

cursor> gdzie w tym monorepo dzieje się autoryzacja?

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ź promień rażenia, 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 jest ugruntowany na rzeczywistych importerach, a nie na grep Cursor.

Konfiguracja z Cursor

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

  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 <your-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?”