// edytor
Cursor
Gdzie naprawdę piszesz kod.
Dla użytkowników Cursor
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ć.Cztery elementy. Każdy ma swoje zadanie.
// edytor
Gdzie naprawdę piszesz kod.
// ręczny kontekst
Ręczny kontekst wygrywa, dopóki repo nie jest duże.
// baza kodu
Automatyczne fakty o kodzie przez MCP.
// kto płaci
Agenci nie płacą za stanowiska. Zobacz cennik
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:
.cursor/rules dla konwencji repo i reguł stylu.@, 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.
Cztery ręczne obejścia zestawione z ich trybem awarii. Lewo = co robisz dzisiaj. Prawo = gdzie to zawodzi.
// the fix
Wzmiankujesz @ trzy pliki, które twoim zdaniem mają znaczenie. Cursor edytuje w nich bez zarzutu.
// where it breaks
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
Wklejasz 200 linii z innego pakietu do czatu, żeby dać agentowi wystarczający kontekst.
// where it breaks
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
Piszesz plik .cursor/rules lub markdown z architekturą. Dziś jest aktualny.
// where it breaks
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
Dodajesz .cursor/rules dla nazewnictwa, lintowania, komend budowania. Świetne dla zachowania.
// where it breaks
.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.
To nie zamiennik Cursor. Warstwa kontekstu repo, która opiera się na obsłudze MCP w Cursor.
.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ć.
Między pakietami, między językami. Ugruntowane na rzeczywistym grafie wywołań, a nie na grep Cursor.
// workflow 01
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
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
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.
Trzy kroki. Plan Free: 3 repozytoria, Do 50 tys. zindeksowanych linii repo, bez karty.
// step 01
Wybierz monorepo, w którym najbardziej doskwierał ci brak kontekstu.
// step 02
// ~/.cursor/mcp.json
{
"mcpServers": {
"maguyva": {
"url": "https://maguyva.tools/mcp",
"headers": {
"Authorization": "Bearer <your-key>"
}
}
}
}// step 03
Nie zaczynaj od całej firmy. Zacznij od jednego repo i jednego sprawdzalnego pytania, np. „co wywołuje formatInvoice w różnych pakietach?”