# İlk oturumunuz

Bir depoda başlayın, /init ilk CLAUDE.md'yi yazsın, kontrol edebileceğiniz küçük bir iş isteyin ve Claude'un gerçekte ne yaptığını nereden okuyacağınızı öğrenin.

## İşin olduğu yerde başlayın

Depoda bir terminal açıp `claude` çalıştırın. Başlattığınız dizin önemli. Claude oradan yukarı doğru yürüyüp bulduğu her CLAUDE.md'yi yüklüyor, aşağıdaki alt dizinlerdekiler ise Claude orada bir şeye dokunduğunda sonradan yükleniyor.

En basit alışkanlık, değiştirmeyi gerçekten düşündüğünüz projenin kökünde başlatmak. Sonradan başka bir dizine ihtiyacınız olursa `/add-dir <path>` onu ekliyor, `/cd <path>` ise konuşmayı koruyarak oturumu taşıyor.

## İlk taslağı /init yazsın

`/init`, proje için başlangıç niteliğinde bir CLAUDE.md üretiyor. Bu dosya her oturumun başında okunan düz bir markdown ve bağlam sayılıyor, zorlanan bir yapılandırma değil.

Üretilen dosyaya taslak gözüyle bakın. Rehber, içindeki her satır için tek bir test veriyor: Claude bunu kodu okuyarak bulabilir mi ve gerçekten bakar mı? İkisi de evetse satır sadece bağlamdan yer yiyor. Claude'un tahmin edemeyeceklerini tutun: nasıl build ve test ettiğiniz ya da yanlış görünen ama bilerek öyle yazılmış bir kural gibi.

> **CLAUDE.md değişiklikleri bekler**
Oturum sürerken CLAUDE.md'yi değiştirmek çalışan oturumu değiştirmiyor. Yeni metin `/clear`, `/compact` ya da yeniden başlatmadan sonra yükleniyor.


**Question:** CLAUDE.md'deki bir satır, Claude'un kodu okuyarak kendi başına bulacağı bir şeyi anlatıyor. Ne yapmalısınız?

- Tutun, ayrıntı hep iyidir
- Çıkarın, yalnızca bağlamdan yer yiyor
- Dosyanın sonuna taşıyın
- Deny kuralına çevirin

**Answer:** Çıkarın, yalnızca bağlamdan yer yiyor. Rehberin testi şu: Claude bunu okuyarak bulabilir mi ve gidip bakar mı? Öyleyse dosyaya ait değil.


## İlk olarak ne isteyeceksiniz

İlk isteğiniz küçük, somut ve kontrol edilebilir olsun. İyi bir başlangıç, sonucu görünen bir iş: düzeltilecek başarısız bir test, adı değişecek bir fonksiyon, bir modülün nasıl çalıştığına dair bir soru. Dosyayı söyleyin, ne gördüğünüzü anlatın, düzelmiş halin nasıl olacağını yazın.

Üç girdi numarası hemen işe yarıyor. `@path` bir dosyayı anıp Claude'un okumasını sağlıyor. Satır başındaki `!` bir kabuk komutu çalıştırıp çıktısını oturuma ekliyor. `Ctrl+V` bir ekran görüntüsünü, numarasıyla anabileceğiniz bir `[Image #N]` etiketi olarak yapıştırıyor.

```terminal
$ claude
> @src/format.ts tarih testi "2 Nov" yerine "1 Nov" veriyor. Düzelt ve geçtiğini göstermek için test dosyasını çalıştır.
* src/format.ts dosyasını ve testi okur
* src/format.ts düzenlemesi için izin ister
# Bir düzenlemeyi onaylıyorsunuz, sonra testin koşmasını izliyorsunuz.
```

## Ne yaptığını okumak

Okuduğunuz tek şey cevap olmasın. Kayıt, eylemlerin kendisi. Her izin istemi Claude'un tam olarak neyi çalıştırmak ya da değiştirmek istediğini gösteriyor, bu yüzden evet demeden önce okuyun.

Sonrasında `/diff` çalışma ağacındaki değişiklikleri gösteriyor. `Ctrl+O` her mesaj için zaman damgası ve modeli gösteren transkript görünümünü açıp kapatıyor. `Ctrl+T` uzun bir iş için Claude'un görev listesini gösteriyor. `Esc` o ana kadarki işi koruyarak durduruyor, yani durdurmak ucuz.

> **Özete değil, ayak izine bakın**
Claude'un son mesajı, ne yaptığına inandığını söylüyor. `/diff` ise neyin değiştiğini gösteriyor. İkisi çelişirse diff haklı.


Kurulumda ya da ayarlarda bir tuhaflık görürseniz `/doctor` kurulumu, ayarları, eklentileri ve bağlam kullanımını kontrol edip çözüm öneriyor.

**Question:** Claude hatayı düzelttiğini söylüyor. En iyi sonraki adım hangisi?

- Özete güvenip commit atmak
- /diff çalıştırıp istediğiniz kontrolü yapmak
- Baştan başlamak için /clear yazmak
- Aynı soruyu tekrar sormak

**Answer:** /diff çalıştırıp istediğiniz kontrolü yapmak. Özet, Claude'un inancı. Diff ve geçen bir kontrol ise kanıt.


> **İlk döngünüz**
Tanıdığınız bir depoda tek bir küçük değişiklik ve onun kontrolünü isteyin. Düzenleme istemini onaylayın, sonra hiçbir şeyi kabul etmeden önce `/diff` açıp satır satır okuyun.
