# AGENTS.md przekazuje OpenCode twoje reguły. Maguyva pokazuje mu kod.

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

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

OpenCode czyta w AGENTS.md, jak pracować, a po całą resztę sięga do serwerów MCP. Maguyva to zdalny serwer MCP, który daje OpenCode odpytywalną mapę repo ze ścieżkami plików i numerami linii.

> Jeden zdalny wpis pod mcp. Lokalnie nic nie działa.

## Co warto wiedzieć o OpenCode

Cztery fakty specyficzne dla OpenCode.

### opencode.json

Dodaj serwer pod `mcp` w `opencode.json` projektu albo w `~/.config/opencode/opencode.json` dla wszystkich projektów.

### type: remote

OpenCode łączy się z endpointem Maguyva przez HTTP. Lokalnie nic nie działa, a Node.js nie jest potrzebny.

### Odwołanie do zmiennej środowiskowej

OpenCode podstawia zmienne środowiskowe w swojej konfiguracji, więc nagłówek brzmi `Bearer {env:MAGUYVA_API_KEY}`, a klucz nie trafia do pliku, który commitujesz.

### Ogranicz per agent

Każdy serwer MCP dokłada do kontekstu definicje narzędzi. OpenCode pozwala globalnie wyłączyć narzędzia serwera globem w rodzaju `"maguyva*": false` i włączyć je z powrotem tylko dla agentów, które ich potrzebują.

## AGENTS.md to umowa robocza. Korzystaj z niego.

```text
> /init
# skanuje repo i zapisuje AGENTS.md
```

OpenCode czyta `AGENTS.md` w katalogu głównym projektu oraz `~/.config/opencode/AGENTS.md` z osobistymi regułami. Bez `AGENTS.md` sięga po `CLAUDE.md`. Trzymaj w nim:

- Komendy build, testów i lint.
- Konwencje i granice, których agent ma przestrzegać.
- Odnośniki do dokumentacji, która ma znaczenie.

Skan z chwili `/init` to podsumowanie, nie indeks. Nie powie OpenCode, kto wywołuje funkcję dodaną wczoraj.

## Gdzie AGENTS.md przestaje wystarczać

Trzy luki, które OpenCode łata grepem i cierpliwością.

### // podsumowanie to nie indeks

AGENTS.md może wymienić ważne pakiety. Nie wypisze każdego symbolu i miejsca wywołania i nie powinien próbować.

### // grep znajduje ciągi, nie wywołujących

Trafienie tekstowe nie odróżni prawdziwego wywołania od komentarza, atrapy czy metody o tej samej nazwie w innej klasie.

### // plik się rozjeżdża

AGENTS.md jest prawdziwy w dniu, w którym powstał. Kod idzie dalej, a plik zmienia się, gdy ktoś sobie o nim przypomni.

## Maguyva jako zdalny serwer MCP w OpenCode

Jeden wpis pod mcp daje OpenCode:

- **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.
- **Te same odpowiedzi dla każdego modelu**: OpenCode współpracuje z wieloma dostawcami modeli. Maguyva zwraca tę samą mapę, niezależnie od tego, który model pyta.

> AGENTS.md mówi OpenCode, *jak pracować*.
> Maguyva daje OpenCode *materiał do pracy*.

## Dwa przepływy pracy

Pytaj mapę z tego samego terminala.

### 01. Zmień nazwę współdzielonego typu w wielu pakietach

```text
opencode> zmień nazwę OrderStatus na FulfillmentStatus

dependency_search("OrderStatus", dependents)
  23 odwołania w 8 pakietach
structural_search(switch_statement, "OrderStatus")
  4 wyczerpujące switche

→ OpenCode edytuje całą listę, łącznie ze switchami.
[exit 0]
```

Wyczerpujące switche to właśnie te miejsca, które wyszukiwanie tekstowe pomija, a kompilator łapie późno.

### 02. Odróżnij kod od dokumentacji

```text
opencode> gdzie jest odczytywane FEATURE_BULK_EXPORT?

text_pattern_search("FEATURE_BULK_EXPORT")
  src/config/flags.ts:17
  src/export/bulk.ts:5
  docs/flags.md:40   ← tylko dokumentacja

→ Dwie ścieżki w kodzie, jeden nieaktualny dokument.
[exit 0]
```

Dokładne trafienia wracają ze ścieżkami, więc OpenCode odróżnia kod od dokumentacji, zanim cokolwiek z nich zmieni.

## Konfiguracja w OpenCode

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 pod mcp w opencode.json

`opencode.json`

```json
{
  "mcp": {
    "maguyva": {
      "type": "remote",
      "url": "https://maguyva.tools/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:MAGUYVA_API_KEY}"
      }
    }
  }
}
```

### 03. Wyeksportuj klucz i sprawdź połączenie

Ustaw `MAGUYVA_API_KEY` w powłoce, z której uruchamiasz OpenCode. `opencode mcp list` pokazuje każdy skonfigurowany serwer; potem zadaj pytanie, na które znasz już odpowiedź.

[Dokumentacja MCP](https://opencode.ai/docs/mcp-servers/) w OpenCode opisuje limity czasu, OAuth i dostęp do narzędzi per agent.

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

Podłącz OpenCode przez MCP i zadaj pytanie, które możesz sprawdzić.
