Custom commands
Custom commands
Bu derste neler öğreneceksin
- .claude/commands/ altında kendi slash komutlarını oluşturmak
- Frontmatter ile argüman ve scope kontrolü yapmak
- Takımla paylaşılabilir komut setleri tasarlamak
Aynı prompt’u 5’inci kez yazıyorsan bir custom command yazmanın zamanı geldi. Slash komutlar, tekrarlanan kalıpları tek kelimeye düşürür.
1. Komut nereye yazılır?
İki yer:
| Konum | Kapsam |
|---|---|
~/.claude/commands/ | Kullanıcı seviyesi — tüm projelerinde çalışır |
.claude/commands/ (repo içinde) | Proje seviyesi — repo’yu klonlayan herkes alır |
Dosya adı kebab-case.md. Örneğin: .claude/commands/code-review.md → çağrı /code-review.
2. İçerik formatı
---
description: Mevcut branch'i ana branch'le karşılaştırıp kod review et
argument-hint: "[base-branch]"
allowed-tools: ["Bash", "Read", "Grep"]
---
Bu task için:
1. Git status ve diff'i incele (base: $1 yoksa main)
2. Yeni dosyaları kontrol et
3. Test coverage'ın değişip değişmediğine bak
4. Çıkardığın bulguları madde madde özetle.
description:/helplistesinde görünürargument-hint: kullanıcıya argüman beklendiğini gösterirallowed-tools: sadece bu tool’ları kullanmasına izin verir$1, $2, $ARGUMENTS: argümanlar
3. Argümanlar
---
description: Bir endpoint'e pagination ekle
argument-hint: "<endpoint-path>"
---
@$1 dosyasını oku. GET handler'ına page ve pageSize query
parametreleri ekle. Default page=1, pageSize=20.
Çağrı:
/add-pagination src/api/users.ts
$1 → src/api/users.ts olur.
4. $ARGUMENTS ile tüm satırı al
Argümanı yapısal değil serbest metin almak istiyorsan:
---
description: Türkçe LinkedIn post taslağı
argument-hint: "<konu cümlesi>"
---
Aşağıdaki konu hakkında Türkçe, 1500 karakter altı bir LinkedIn post yaz:
$ARGUMENTS
Başlangıçta çarpıcı bir hook, sonra 3 ana fikir, sonunda CTA.
5. Tool sınırlama
allowed-tools ile komutun sadece belirli tool’lara erişmesini sağlarsın:
---
description: Repo'yu read-only inceleme
allowed-tools: ["Read", "Grep", "Glob"]
---
Bu komut hiçbir şeyi yazamaz. Güvenli inceleme akışları için harika.
6. Takım için repo’ya commit et
.claude/commands/*.md dosyalarını commit et. Repo’yu klonlayan herkesin /code-review, /deploy-check, /add-tests gibi tüm takım komutlarına anında erişimi olur — onboarding dakikalara iner.
Özet
- Aynı prompt’u 3’üncü kez yazıyorsan → custom command
.claude/commands/<isim>.md+ frontmatter$1,$ARGUMENTSile argümanallowed-toolsile sınırla- Takımla commit ederek paylaş
Sırada ne var?
Bir sonraki derste MCP server’larla Claude Code’u dış sistemlere (Linear, GitHub, Slack, custom database) bağlamayı işliyoruz.