# AGENTS.md, OpenCode’a kurallarınızı söyler. Maguyva ona kodu gösterir.

Canonical source: https://maguyva.ai/tr/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 nasıl çalışacağını AGENTS.md’den okur, geri kalan her şey için MCP sunucularını çağırır. Maguyva, OpenCode’a reponuzun sorgulanabilir bir haritasını dosya yolları ve satır numaralarıyla veren uzak bir MCP sunucusudur.

> mcp altında tek bir uzak girdi. Yerelde hiçbir şey çalışmaz.

## OpenCode hakkında bilmeniz gerekenler

OpenCode’a özgü dört gerçek.

### opencode.json

Sunucuyu projenizin `opencode.json` dosyasında `mcp` altına ekleyin; tüm projeler için `~/.config/opencode/opencode.json` dosyasına ekleyin.

### type: remote

OpenCode, Maguyva’nın uç noktasına HTTP üzerinden bağlanır. Yerelde hiçbir şey çalışmaz ve Node.js gerekmez.

### Bir ortam değişkeni başvurusu

OpenCode yapılandırmasındaki ortam değişkenlerini yerine koyar; böylece başlık `Bearer {env:MAGUYVA_API_KEY}` olur ve anahtar commit ettiğiniz dosyaya girmez.

### Ajan bazında sınırlayın

Her MCP sunucusu bağlama araç tanımları ekler. OpenCode, bir sunucunun araçlarını `"maguyva*": false` gibi bir glob ile genel olarak kapatıp yalnızca ihtiyaç duyan ajanlar için yeniden açabilir.

## AGENTS.md bir çalışma sözleşmesidir. Kullanın.

```text
> /init
# repoyu tarar ve AGENTS.md yazar
```

OpenCode, proje kökündeki `AGENTS.md` dosyasını ve kişisel kurallar için `~/.config/opencode/AGENTS.md` dosyasını okur. `AGENTS.md` yoksa `CLAUDE.md` dosyasına geri döner. Şunlar için kullanın:

- Derleme, test ve lint komutları.
- Ajanın uyması gereken kurallar ve sınırlar.
- Önemli belgelere işaretler.

`/init` anındaki tarama bir özettir, dizin değildir. Dün eklenen bir fonksiyonu kimin çağırdığını OpenCode’a söylemez.

## AGENTS.md’nin yetmediği yer

OpenCode’un grep ve sabırla doldurduğu üç boşluk.

### // özet dizin değildir

AGENTS.md önemli paketleri adlandırabilir. Her sembolü ve çağrı noktasını listeleyemez, denememelidir de.

### // grep çağıranı değil, dizgeyi bulur

Bir metin eşleşmesi gerçek bir çağrıyı bir yorumdan, bir mock’tan ya da başka bir sınıftaki aynı adlı metottan ayıramaz.

### // dosya geride kalır

AGENTS.md yazıldığı gün doğrudur. Kod ilerlemeye devam eder; dosya ise biri hatırladığında değişir.

## OpenCode’da uzak MCP sunucusu olarak Maguyva

mcp altındaki tek bir girdi OpenCode’a şunları verir:

- **Dizinlenmiş reponuz üzerinde 11 araç**: anlamsal, yapısal (AST), graf ve metin araması; ayrıca sembol arama, bağımlılar ve dosya alma.
- **Dosya yolları ve satır numaralarıyla yanıtlar**: 285+ dilde.
- **Her model için aynı yanıtlar**: OpenCode birçok model sağlayıcısıyla çalışır. Hangi model sorarsa sorsun Maguyva aynı haritayı döndürür.

> AGENTS.md, OpenCode’a *nasıl çalışacağını* söyler.
> Maguyva, OpenCode’a *üzerinde çalışacağı bir şey* verir.

## İki iş akışı

Haritaya aynı terminalden sorun.

### 01. Paketler arasında paylaşılan bir türü yeniden adlandırın

```text
opencode> OrderStatus’u FulfillmentStatus olarak yeniden adlandır

dependency_search("OrderStatus", dependents)
  8 pakette 23 başvuru
structural_search(switch_statement, "OrderStatus")
  4 kapsamlı switch

→ OpenCode switch’ler dahil listenin tamamını düzenler.
[exit 0]
```

Kapsamlı switch’ler tam da metin aramasının kaçırdığı ve derleyicinin geç yakaladığı yerlerdir.

### 02. Kodu belgeden ayırın

```text
opencode> FEATURE_BULK_EXPORT nerede okunuyor?

text_pattern_search("FEATURE_BULK_EXPORT")
  src/config/flags.ts:17
  src/export/bulk.ts:5
  docs/flags.md:40   ← yalnızca belge

→ İki kod yolu, bir eskimiş belge.
[exit 0]
```

Tam eşleşmeler yollarıyla birlikte döner; böylece OpenCode ikisinden birini düzenlemeden önce kodu belgeden ayırabilir.

## OpenCode’da kurulum

Üç adım. Free katmanı: 3 repo, 50K'ya kadar indekslenmiş repo satırı, kart gerektirmez.

### 01. maguyva.ai’de bir repo dizinleyin

Yanıtları değerlendirebilmek için zaten bildiğiniz birini seçin.

### 02. Maguyva’yı opencode.json içinde mcp altına ekleyin

`opencode.json`

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

### 03. Anahtarınızı dışa aktarın ve bağlantıyı kontrol edin

OpenCode’u başlatan kabukta `MAGUYVA_API_KEY` değerini ayarlayın. `opencode mcp list` yapılandırılmış her sunucuyu gösterir; ardından yanıtını zaten bildiğiniz bir soru sorun.

OpenCode’un [MCP belgeleri](https://opencode.ai/docs/mcp-servers/) zaman aşımlarını, OAuth’u ve ajan bazında araç erişimini anlatır.

## Zaten bildiğiniz bir reponuzu dizinleyin.

OpenCode’u MCP üzerinden bağlayın, ardından doğrulayabileceğiniz bir soru sorun.
