# AGENTS.md Codex’e nasıl çalışacağını söyler. Repoda ne bulunduğunu değil.

Canonical source: https://maguyva.ai/tr/for-codex

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

AGENTS.md çalışma anlaşmasını belirler. MCP, Codex’in araçlara uzanmasını sağlar. Maguyva, Codex’e reponuzun sorgulanabilir bir haritasını veren MCP sunucusudur; böylece ilk düzenleme dosya yapısına dair bir tahmin olmaz.

> AGENTS.md anlaşmadır. MCP kanaldır. Maguyva haritadır.

## Katmanlı yığın

Dört fikir. Her biri tek bir iş yapar.

### AGENTS.md

Codex’in bu repoda nasıl davranması gerektiği.

### MCP

Codex’in harici araçlara ve bağlama nasıl uzandığı.

### Maguyva

Temellendirilmiş repo bilgilerini döndüren MCP sunucusu.

### Koltuk değil, çalışma alanı

Ajanlar koltuk için ödemez. [Fiyatlandırmayı görün](https://maguyva.ai/tr/pricing)

## AGENTS.md bir çalışma anlaşmasıdır. Onu kullanın.

Kalıcı talimatlar [`AGENTS.md`](https://developers.openai.com/codex/guides/agents-md) içinde yer alır. Şunlar için doğru yerdir:

- Codex’in çalıştırması gereken derleme, test ve lint komutları.
- Bir dizine sınırlandırılmış “her zaman X yap / asla Y yapma” kuralları.
- Adlandırma kuralları ve refactor tercihleri.
- Kanonik karar günlüklerine ve mimari notlarına işaretçiler.

Kısa tutun. Kapsamını belirleyin. Commit’leyin.

Ama `AGENTS.md` hiçbir zaman reponuzdaki her sembolün, dosyanın ve çağrı noktasının sorgulanabilir bir dizini olarak tasarlanmadı.

## Yalnız başına AGENTS.md’nin ölçekte statikleştiği yer

Dört başarısızlık modu, kart başına bir tane.

### // anlaşmalar bir dizin değildir

Codex’e *nasıl çalışacağını* söylemek, ona *repoda ne bulunduğunu* söylemez. Bilinmeyen bir paketteki ilk düzenleme, dosya yolları ve fonksiyon isimleri hakkında bir tahmindir. AGENTS.md her sembolü listeleyemez, zaten bunu istemezsiniz.

### // doküman koddan savrulur

Kuyruk topolojinizi açıklayan bir AGENTS.md bloğu, biri yeni bir tüketici ekleyene kadar doğrudur. Kod artık gerçeğin kaynağıdır ve doküman kendinden emin bir şekilde eskimiştir. Codex yanlış olanı okur.

### // yeniden adlandırma bir graf problemidir

“Bu sınıfa ne referans veriyor?” bir markdown dosyasından yanıtlanamaz. Codex ya monorepo genelinde grep atıp dua eder ya da çağrı noktalarını sohbete yapıştırmanızı ister.

### // bağlam pencereleri bedava değildir

Codex “yeterince bilene” kadar AGENTS.md’yi doldurmak, akıl yürütme için ödemesi gereken token’ları yer. Birkaç KB’ı geçtiğinizde statik bağlam hacmi için yanıt kalitesinden ödün verirsiniz.

## Üç katman birlikte nasıl çalışır

Codex kullanıcıları zaten bu şekilde düşünüyor. Sayfa bunu bariz kılmalı.

- **AGENTS.md**: anlaşmalar (Codex nasıl davranır)
- **MCP**: kanal (nasıl uzanır)
- **Maguyva**: kod tabanı bilgileri (ne görür)

- **AGENTS.md**: Codex’in bu repoda nasıl davrandığı.
- **MCP**: Codex’in araçlara ve bağlama nasıl uzandığı. [(spesifikasyon)](https://modelcontextprotocol.io/docs/getting-started/intro)
- **Maguyva**: Codex, kod tabanına bir soru sorduğunda ne gördüğü. Dosya yolları ve satır numaralarıyla döndürülen anlamsal, AST, graf ve metin araması.

> AGENTS.md Codex’e *nasıl çalışacağını* söyler.
> Maguyva Codex’e *üzerine çalışacak bir şey* verir.

## Üç iş akışı

Codex’e özgü. Codex’in grep’ine değil, gerçek çağrı grafına temellendirilmiş.

### 01. Paylaşılan bir sınıfı yeniden adlandırın, önce her bağımlıyı bulun

```text
codex> Şöyle yeniden adlandır: PaymentClient → BillingClient

graph::callers(PaymentClient)            7 pakette 12 referans
graph::importers(src/payments/client.ts)  9 içe aktaran
graph::extends(PaymentClient)             2 alt sınıf (RetryClient, MockClient)

→ Codex, dosya listesini de içeren 21 düzenlemelik bir geçiş önerir.
[exit 0]
```

Codex, düzenlemeye başlamadan *önce* Maguyva’dan bağımlıları ister. Geçiş listesi, Codex’in hatırladığına değil, gerçek grafa temellendirilmiş olarak döner.

### 02. Test taslağını değil, gerçek uygulamayı bulun

```text
codex> normalizePhoneNumber, E.164 biçimini nasıl işliyor?

semantic::query("normalize phone E.164")
  src/util/phone.ts:88   normalizePhoneNumber()   ← real impl
  test/util/phone.spec.ts:14  jest.mock(...)      ← stub
[exit 0]
```

İsimler yalan söyler. Mock’lar gerçek kodu gölgeler. Maguyva, gerçek uygulamayı test mock’unun üzerinde sıralar.

### 03. Bir refactor’dan önce etki yarıçapını kontrol edin

```text
codex> QueueDispatcher.publish metodunu ne çağırıyor?

graph::callers(QueueDispatcher.publish)
  3 in src/billing/*    1 in src/audit/*    1 in src/notifications/*
[exit 0]
```

Paketler arası çağrı noktaları satır içinde ortaya çıkar. Diff, Codex’in grep’ine değil, gerçek import edenlere temellendirilir.

## Codex CLI’de kurulum

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

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

Yanıtları doğrulayabilmeniz için iyi bildiğiniz birini seçin.

### 02. Codex yapılandırmanızda Maguyva’yı bir MCP sunucusu olarak ekleyin

`~/.codex/config.toml`

```text
export MAGUYVA_API_KEY=mgv_xxxx
codex mcp add maguyva --url https://maguyva.tools/mcp --bearer-token-env-var MAGUYVA_API_KEY
```

```toml
[mcp_servers.maguyva]
url = "https://maguyva.tools/mcp"
bearer_token_env_var = "MAGUYVA_API_KEY"
```

### 03. Yanıtını zaten bildiğiniz bir soru sorun

Tüm şirketinizle başlamayın. Bir repo ve doğrulanabilir bir soruyla başlayın.

## Zaten bildiğiniz bir reponuzu dizinleyin.

Codex’i MCP üzerinden bağlayın. Yanıtını doğrulayabileceğiniz bir soru sorun.
