# Cursor edytuje plik. Maguyva widzi repo.

Canonical source: https://maguyva.ai/pl/for-cursor

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

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.

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

### Cursor

Gdzie naprawdę piszesz kod.

### @ wzmianki + przypięcia

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

### Maguyva

Automatycznie pozyskiwane fakty o kodzie przez MCP.

### Workspace'y, nie użytkownicy

Bez osobnych opłat za każdego agenta. [Zobacz cennik](https://maguyva.ai/pl/pricing)

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

### // przypnij pliki

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

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

### // wklej fragmenty

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

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

### // napisz dokument kontekstowy

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

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

### // trzymaj się plików reguł

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

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

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

```text
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ę.

### 02. Znajdź prawdziwą implementację, nie atrapę testową

```text
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.

### 03. Sprawdź zasięg wpływu, zanim zrefaktoryzujesz

```text
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.

### 01. Zaindeksuj repo na maguyva.ai

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

### 02. Dodaj Maguyva jako serwer MCP w ustawieniach Cursor

`~/.cursor/mcp.json`

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

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

## Zaindeksuj jedno repo, które już znasz.

Sprawdź jedno pytanie, którego odpowiedź możesz zweryfikować.
