# Copilot widzi Twój workspace. Maguyva mapuje repo.

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

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

Agent w VS Code czyta pliki, które dołączysz, i te, które sam znajdzie. Maguyva indeksuje całe repo i udostępnia je przez MCP, więc przed edycją agent pyta, gdzie jest symbol i kto go wywołuje.

> Jeden wpis servers w .vscode/mcp.json: URL i nagłówek Authorization.

## Co warto wiedzieć o VS Code

Cztery fakty dotyczące tylko VS Code.

### .vscode/mcp.json

Serwery trafiają pod `servers`, nie pod `mcpServers`. Aby działały we wszystkich workspace’ach, uruchom `MCP: Open User Configuration` i dodaj ten sam wpis do `mcp.json` swojego profilu.

### type: http

VS Code łączy się z endpointem Maguyva przez Streamable HTTP i przechodzi na SSE tylko wtedy, gdy serwer go nie obsługuje. Lokalnie nic nie działa.

### Odwołanie do zmiennej środowiskowej

Nagłówek to `Bearer ${env:MAGUYVA_API_KEY}`; VS Code bierze wartość ze środowiska, w którym został uruchomiony, więc klucz nie trafia do pliku, który commitujesz. Wolisz, żeby pytał? Zmienna wejściowa zapyta raz i zapisze klucz.

### Workspace Trust

Serwery z `.vscode/mcp.json` startują bez osobnego pytania, gdy tylko zaufasz workspace’owi, i nigdy w trybie ograniczonym. Configure Tools w polu czatu włącza i wyłącza poszczególne narzędzia.

## Niestandardowe instrukcje to umowa robocza. Używaj ich.

```text
# .github/copilot-instructions.md
- Uruchom npm test, zanim uznasz zmianę za gotową.
- Nigdy nie edytuj wygenerowanych plików w src/gen/.
```

VS Code czyta instrukcje dla całego projektu z `.github/copilot-instructions.md` lub `AGENTS.md`, a ukierunkowane z plików `.github/instructions/*.instructions.md` ze wzorcem `applyTo`. Używaj ich do:

- Komend build, testów i lintera.
- Konwencji, które agent wciąż myli.
- Folderów, których agent ma nie ruszać.

Instrukcje mówią agentowi, jak pracować. Nie powiedzą mu, które z czterech tysięcy plików importują typ, któremu zaraz zmieni nazwę.

## Gdzie kończy się widok workspace’u

Trzy rzeczy, których agent nie wyczyta z otwartych plików.

### // dołączone to nie wszystko

Agent pracuje na tym, co dołączysz, i na tym, co zwrócą jego wyszukiwania. Wywołującego w innym pakiecie, który psuje się po zmianie, nie było na żadnej z tych list.

### // dopasowanie tekstu to nie referencja

Wyszukiwanie w workspace’ie znajduje ciąg znaków. Nie odróżni prawdziwego wywołania od komentarza, atrapy ani metody o tej samej nazwie w innej klasie.

### // każde czytanie kosztuje kontekst

Każdy plik, który agent otwiera, żeby się zorientować, zużywa kontekst potrzebny do zmiany. Jedna uszeregowana odpowiedź z file:line kosztuje mniej niż dziesięć rozpoznawczych odczytów.

## Maguyva jako serwer MCP w VS Code

Jeden wpis servers daje agentowi:

- **11 narzędzi dla zaindeksowanego repo**: wyszukiwanie semantyczne, strukturalne (AST), grafowe i tekstowe, a do tego wyszukiwanie symboli, zależności i pobieranie plików.
- **Odpowiedzi ze ścieżkami plików i numerami linii**: w ponad 285 językach, żeby agent od razu otwierał właściwy plik.
- **Narzędzia tylko do odczytu**: Narzędzia Maguyva tylko odpytują indeks. Żadne nie edytuje Twoich plików, więc każda zgoda dotyczy odczytu, nie zapisu.

> VS Code daje agentowi *Twój workspace*.
> Maguyva daje agentowi *mapę repo*.

## Dwa przepływy pracy

Najpierw zapytaj mapę, potem edytuj.

### 01. Znajdź testy, zanim zmienisz parser

```text
vscode agent> które testy przechodzą przez parseConfig?

dependency_search("parseConfig", dependents)
  tests/config/parse.test.ts:12
  tests/cli/flags.test.ts:88

→ Po edycji agent uruchamia te dwa pliki, a nie cały zestaw testów.
[exit 0]
```

Odpowiedź wskazuje dwa pliki testów, które docierają do parsera, więc agent sprawdza zmianę tam, gdzie może się zepsuć.

### 02. Oszacuj zmianę nazwy przed pierwszą edycją

```text
vscode agent> zmień nazwę OrderStatus.PENDING na OrderStatus.QUEUED

find_symbol("OrderStatus", references)
  23 referencje w 9 plikach

→ Agent planuje jedno przejście przez dziewięć plików.
[exit 0]
```

Liczba referencji przychodzi przed edycją, a nie po tym, jak zawiedzie sprawdzanie typów.

## Konfiguracja w VS Code

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

### 01. Zaindeksuj repo na maguyva.ai

Wybierz takie, które już znasz, żeby móc ocenić odpowiedzi.

### 02. Dodaj Maguyva do .vscode/mcp.json

`.vscode/mcp.json`

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

### 03. Ustaw klucz i uruchom serwer

Ustaw `MAGUYVA_API_KEY` w środowisku, z którego uruchamiasz VS Code, a potem uruchom serwer z code lens nad jego wpisem. Zadaj agentowi pytanie, na które znasz już odpowiedź.

[Dokumentacja MCP](https://code.visualstudio.com/docs/agent-customization/mcp-servers) dla VS Code opisuje zmienne wejściowe, przenośny format .mcp.json i zaufanie do serwerów.

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

Połącz VS Code przez MCP i zadaj pytanie, które możesz sprawdzić.
