CLI, Özel Talimatlar ve Prompt Dosyaları

Agent döngüsünü Copilot CLI ile terminale taşıyın. Talimatları, prompt dosyalarını, özel agent'ları ve becerileri doğru kapsamda tanımlayarak aynı kuralları tekrar tekrar yazmaktan kurtulun.


Bu derste neler öğreneceksiniz?

  • Copilot CLI döngüsünü denetleyin ve otomasyondan önce determinizmi kanıtlayın
  • Bir davranışın sahibi olacak en dar özelleştirme katmanını seçin
  • Bir kuralı repository, kuruluş veya CLI kapsamına doğru yerleştirin
  • Prompt dosyalarını, özel agent'ları ve agent becerilerini işlerine göre ayırın
Bu sayfada

Agent mode tanıdık gelmeye başladığında terminal doğal bir sonraki adımdır. Copilot CLI'ı copilot komutuyla başlattığınızda aynı çalışma döngüsü gelir. Agent önerir, siz onaylarsınız, sonuç yine doğrulama ister.

Terminal iki kestirme yolu özellikle cazip hâle getirir. Tutarlı davrandığını görmeden bir prompt'u script'e bağlayabilir veya zamanlayabilirsiniz. Aynı proje kurallarını her oturumda yeniden yazmaya da başlayabilirsiniz. Önce döngüyü gözetim altında kanıtlayın. Ardından kararlı kuralları ve prosedürleri gerçekten ait oldukları özelleştirme katmanına taşıyın.

CLI, agent mode'dan nasıl farklıdır?

Copilot CLI, eski gh copilot uzantısı değil, ayrı ve bağımsız bir üründür. Aynı denetimli döngüyü komut satırına getirir: hedefi belirtin, bağlamı verin, düzenlemelerden önce plan isteyin, önerilen her işlemi inceleyin, diff'i gözden geçirin ve sonucu kanıtlayan en dar kapsamlı kontrolü çalıştırın. Dosya değişiklikleri açık onayınızı gerektirir ve bir komutu onaylamak, sonucunu doğrulamakla yine aynı şey değildir.

CLI'ı farklı biçimlerde çağırabilirsiniz. Etkileşimli oturum, gerçek zamanlı yönettiğiniz terminal konuşmasıdır ve görev muhakeme gerektirdiğinde uygundur. Programatik kullanım başka bir süreçten sabit prompt gönderir ve yanıtı yakalar. CLI bunun için etkileşimsiz mod ve ek kullanım çıktısını bastıran seçenekler sunar, böylece script temiz metin alır. Zamanlanmış kullanım prompt'u belirli aralıklarla tekrarlar. GitHub Actions workflow'u ise otomasyonu GitHub ortamında çalıştırır. Etkileşimli kullanımdan uzaklaştıkça aynı hatanın gözetimsiz tekrarlanma riski artar.

CLI otomasyonundan önce determinizmi kanıtlayın. Görevi zamanlamadan veya Actions'a taşımadan önce aynı prompt'u değişmemiş repository üzerinde iki kez çalıştırın ve çıktıları byte byte karşılaştırın. Çıktılar farklıysa veya biri kaynakta bulunmayan değer uyduruyorsa görev gözetimsiz çalışmaya hazır değildir. İki çalıştırma aynı sonucu verene kadar kaynak sınırını, çıktı biçimini ve eksik değer kuralını sıkılaştırın. Otomasyon kanıtlanmış determinizmden sonra gelmelidir. Denetim izi gerektiğinde CLI oturum kaydı, yani "chronicle", agent'ın denediği işlemleri gösterir. Transkript yine de değişiklik incelemesinin yerini tutmaz. Kaydı gerçek sürüm kontrolü durumu ve diff ile karşılaştırın.

Zamanlamadan önce deterministik olduğunu kanıtlayın

Bir görevi zamanlamaya ya da GitHub Actions workflow'una taşımadan önce, değişmemiş bir repository üzerinde aynı prompt'u iki kez çalıştırın ve sonuçları karşılaştırın. İki çıktı farklıysa ya da biri eksik bir değeri uyduruyorsa görev gözetimsiz çalışmaya hazır değildir. Kimse izlemezken tekrarlanan hata, canlı yakaladığınızdan çok daha pahalıdır.

CLI oturumunu salt okunur başlatın· github-copilot
Zayıf örnek

Bu repository'ye bakıp ne kullandığını ve nasıl test edildiğini anlat.

İyi örnek

Geçerli repository'yi hiçbir şeyi değiştirmeden incele. Üst düzey dosyaları, belirlenen dili veya framework'ü, muhtemel test komutunu ve repository talimat dosyalarını bildir. Her sonuç için bir dosya yolu göster. Bir şeyi belirleyemiyorsan "Belirlenemedi" yaz.

Bu prompt neden daha iyi? Her iddianın arkasında bir yol bulunan, repository'ye dayalı bir anlık görüntü ve sürüm kontrolü durumuyla doğruladığınız sıfır dosya değişikliği.

Özelleştirme yığını nedir, hangi katmanı seçersiniz?

Özelleştirme, kararlı bir kuralı veya prosedürü her oturumda yeniden yazma ihtiyacını ortadan kaldırır. Editör ve CLI bunun için birkaç yer sunar. Davranışı başka bir kopyaya ihtiyaç duymadan taşıyabilecek en küçük katmanı seçin:

Katman Ne için kullanılır?
Talimatlar Kalıcı proje veya kullanıcı kuralları ("üretilen dosyaları asla düzenleme")
Prompt dosyası Açık girdileri olan tekrarlanabilir bir istek
Özel agent Kararlı bir karar ilkesi ve koruyucu sınırları olan uzman rol
Agent becerisi Bir görevin tekrar kullanabileceği tam, çok adımlı prosedür
Hook Bir olayla tetiklenen otomasyon
MCP sunucusu Agent'a açılan harici araçlar veya veriler
Plugin Yukarıdakilerin paketlenmiş bir bütünü

Geniş kuralları talimatlara, tekrarlanan isteği prompt dosyasına koyun. Ayrı bir rol için özel agent, baştan sona prosedür için beceri kullanın. MCP sunucusunu ancak iş harici araç veya veri gerektiriyorsa ekleyin. Aynı davranış dört katmanda duruyorsa artık birbiriyle çelişebilecek dört kopyanız vardır.

GitHub Customization Library incelenebilecek örnekler sunuyor. 2026 ortası sayımında on dokuz örnek vardı: dokuz özel talimat, altı prompt dosyası ve dört özel agent. Buradaki kalıpları kendi repository'nize uyarlayın. Kopyalanan bir örnek gerçek dosyalarınızı, risklerinizi ve kullandığınız dili bilemez.

Davranışın sahibi olacak en dar yapıyı seçin

Özel bir agent ya da beceri oluşturmadan önce, düz bir talimatın veya prompt dosyasının ihtiyacı zaten karşılayıp karşılamadığını sorun. Bir davranışın tamamına sahip en dar katman, test etmesi en kolay olandır ve başka yerdeki bir kuralı kopyalayıp sessizce eskiye düşme ihtimali en azdır.

Açık girdileri olan bir prompt dosyası· github-copilot
Zayıf örnek

Yeni geliştiriciye kodu açıklayan yeniden kullanılabilir bir prompt yaz.

İyi örnek

Bu repository'ye yeni katılan bir geliştirici için belirli bir kod hedefini açıkla. Benden gereken girdiler: tam dosya yolu ile bir sembol veya satır aralığı. Yanıtlamadan önce adlandırılan hedefi incele, gözlenen davranışı varsayımlardan ayır ve kullanılamayan olguları tahmin etmek yerine kaydet. Şu bölümleri döndür: Amaç, Yürütme akışı, Bağımlılıklar ve veri, Sınır durumları ve riskler, Doğrulama soruları.

Bu prompt neden daha iyi? Her zaman tam bir hedef isteyen ve olguyu tahminden ayıran tekrarlanabilir bir açıklama isteğidir. Bunu bir .prompt.md dosyası olarak kaydedip yeniden kullanabilirsiniz.

Özel talimatın kapsamını doğru seçin

Özel talimatlar prompt'tan farklı olarak kalıcı arka plan rehberliği sunar. Talimat "HTTP handler'ları veritabanını sorgulamasın, service çağırsın" diyebilir. Prompt ise "Tek bir SKU'nun stok durumunu döndüren endpoint ekle" gibi belirli bir sonuç ister. Talimatlar yanıtı şekillendirir, doğruluğu zorunlu kılmaz. Testler, inceleme ve erişim kontrolleri değişikliğin kabul edilebilirliğini kanıtlamaya devam eder.

Talimatlar üç kapsamda bulunur. Repository kapsamının belgelenmiş hedefi .github/copilot-instructions.md dosyasıdır. Kodla birlikte taşındığı için inceleyenler dosyayı değişiklikle birlikte görebilir. Kuruluş kapsamı repository'ler arasında paylaşılan, teknolojiden bağımsız temel kuralları tutar. Copilot CLI kapsamı terminal çalışmasının kurallarını içerir. Bir kural farklı teknoloji yığınlarına sahip iki repository'de de doğru kalıyorsa kuruluş tabanına aittir. Projenin dizinlerini, framework'ünü veya komutlarını adlandırıyorsa repository talimatıdır. Tek seferlik sonuç ise prompt'ta kalmalıdır.

Gözlemlenebilir kurallar yazın. Kural, gerçekten inceleyebileceğiniz bir dizin, sınır, dosya, komut, çıktı alanı veya koşul belirtmelidir. "HTTP handler'larını ince tut. Veritabanı erişimini mevcut repository katmanından geçir." ifadesi bu nedenle "Mimariyi temiz tut" ifadesinden daha kullanışlıdır. Ayrıca her seferinde tek yüzeyi test edin ve hangisini sınadığınızı kaydedin. Editör, GitHub.com ve CLI aynı dosyayı aynı öncelikle yüklemeyebilir. Bir yüzeydeki sonuç diğerini kanıtlamaz. İki kapsam çelişiyorsa kuralları aynı şeyi söyleyecek biçimde düzenleyin.

Belirsiz bir kuralı gözlemlenebilir hâle getirin· github-copilot
Zayıf örnek

Şu talimatı daha açık yaz: mimariyi temiz tut.

İyi örnek

Kaydetmek üzere olduğum taslak özel talimat şu: "[belirsiz kuralınızı yapıştırın, örneğin mimariyi temiz tut]". Bunu bir plan, diff ya da komut sonucunda inceleyebileceğim bir dizin, sınır, dosya, komut veya çıktı alanı adlandıran gözlemlenebilir bir kurala dönüştür. Sonra bir inceleyicinin değişikliğin buna uyup uymadığını nasıl kontrol edeceğini göster.

Bu prompt neden daha iyi? "HTTP handler'larını veri katmanından uzak tut. Mevcut repository modülünden geçir." gibi kontrol edebileceğiniz bir kural ve uyumu kanıtlayan somut kontrol.

Prompt dosyası, özel agent ve beceriyi ayırın

Bu üç yapı birbiriyle kesiştiği için kolayca karışabilir. Her birini yanıtladığı soruyla ayırın. Prompt dosyası (.prompt.md), "Hangi tekrarlanabilir isteği yapmak istiyorum?" sorusuna karşılık gelir. Açık girdileri olan bir şablondur ve örtük editör seçimi yerine tam dosyayı, sembolü veya aralığı belirtir. Özel agent (.agent.md), "Bu işe hangi uzman liderlik etmeli?" sorusunu yanıtlar. Tek seferlik prompt'tan farklı olarak konuşma boyunca kalan bir inceleme ilkesi ve koruyucu sınırlar taşır. Agent becerisi (SKILL.md) ise "Hangi tam prosedür kullanılabilir olmalı?" sorusuna yanıt verir. Adımları, durma koşulları ve kontrol edilebilir çıktısı olan bağımsız bir rehberdir.

"Endpoint dokümantasyonunu doğru tut" ihtiyacını düşünün. Kural olarak "Repository'de doğrulayamadığın alanı belgeleme" özel talimattır. İstek olarak "Bu rota dosyasını ve sembolü şu başlıklarla belgele" prompt dosyasıdır. Uzman olarak "API dokümantasyonu inceleyicisi gibi davran, değişiklik öncesi kanıtı incele ve uygulama kodunu düzenleme" özel agent'tır. Prosedür olarak rota, şema, yetkilendirme, doğrulama, test ve örnekleri bulup karşılaştırmak, ardından dokümantasyon ile kontrol listesi üretmek beceridir. Aynı ihtiyaç dört ayrı katmana ait olabilir.

Hangi katmanı seçerseniz seçin kanıtı öne alın. Özelleştirme gerçek dosyaları incelesin, gözlenen davranışı varsayımlardan ayırsın ve doğrulayamadığı noktaları etiketlesin. Makul görünen alan veya durum kodu uydurmasın. Yaygın düzende prompt dosyaları prompts klasöründe, özel agent'lar agents klasöründe, beceriler ise kendi SKILL.md dosyasını içeren klasörlerde saklanır. Keşif davranışı sürüme göre değişebilir. Kaydettiğiniz dosya çağrılamıyorsa içeriği chat'e yapıştırarak test edin. Bu testin yerleşik keşfin çalıştığını kanıtlamadığını açıkça belirtin.

Altyapıyı değil, içeriği test edin

Kaydedilmiş bir prompt dosyası, özel agent ya da beceri arayüz üzerinden çağrılamıyorsa gövdesini doğrudan chat'e yapıştırıp çalıştırın. Böylece içeriğin iyi olup olmadığını, yerleşik keşfin çalışıp çalışmadığından ayırırsınız. Bunlar iki farklı sorundur. Yalnızca talimatlarının iyi bir yanıt ürettiğini doğruladıysanız bir özelleştirmenin "yüklendiğini" söylemeyin.

Salt okunur bir uzman tanımlayın· github-copilot
Zayıf örnek

Bu repository için bir README uzmanı agent oluştur.

İyi örnek

Bu repository için README uzmanı gibi davran. Herhangi bir taslak yazmadan önce repository ağacını, giriş noktalarını, script'leri, testleri ve yapılandırmayı incele. Doğrulayamadığın olguları listele. README içeriği önerirken yalnızca repository kanıtlarında görünen komutları anlat. Ön koşulları, kurulumu, kullanımı ve testleri ayrı tut. Eksik her olguyu açıkça etiketle. Uygulama kodunu değiştirme. Önce doğrulanan olguları, eksik olguları ve önerdiğin bölümleri bildir.

Bu prompt neden daha iyi? Koruyucu sınırları konuşma boyunca kalan, kanıt öncelikli bir uzman elde edersiniz. İyi çalıştığında bu kalıbı özel agent'a (.agent.md) dönüştürebilirsiniz.

Şimdi siz deneyin

Bir kuralı yeniden kullanılabilir kılın ve yüklendiğini kanıtlayın

Tek kullanımlık bir branch'te bir proje kuralını repository talimatına çevirin ve Copilot'un onu gerçekten uyguladığını yaklaşık on dakikada kontrol edin.

  1. 01

    Repository'nizde kolayca ihlal edilebilecek bir kural seçin. Örneğin "API hataları mevcut AppError sınıfını kullanır."

  2. 02

    Proje bağlamını, gözlemlenebilir kuralı, test konumunu ve odaklanmış test komutunuzu içeren .github/copilot-instructions.md dosyasını oluşturun.

  3. 03

    Copilot'tan küçük, ilgili bir değişiklik yapmasını isteyin. Önce görevle ilgili kuralları ve değiştirmeyi beklediği dosyaları listeletsin.

    İpucu: Kuralı adlandıramıyorsa talimat bu yüzeyde yüklenmemiştir. Bunu not edin, yüklendiğini varsaymayın.

  4. 04

    Yüklendiğini doğrulayamıyorsanız talimat metnini prompt'unuzun üstüne yapıştırıp yeniden çalıştırın ve bunu yüklenme kanıtı değil, kuralın kalitesine dair manuel test olarak etiketleyin.

  5. 05

    Diff varsa inceleyin ve odaklanmış komutu kendiniz çalıştırın.

Commit edilmiş bir talimat dosyası ile kuralın planı, diff'i ve yaptığınız doğrulamayı değiştirip değiştirmediğini gösteren bir önce/sonra çifti.

Aklınızda kalsın

  • Copilot CLI, gh copilot'tan farklı, bağımsız bir terminal agent'ıdır ve dosya düzenlemeleri açık onay ister.
  • Bir prompt'u zamanlamadan veya otomatikleştirmeden önce deterministik olduğunu kanıtlayın. Aynı iki çalıştırma aynı çıktıyı vermelidir.
  • Tekrarlanan ve birbirinden kopan kuralları önlemek için davranışın tamamına sahip en dar özelleştirme katmanını seçin.
  • Repository'ler arası tabanları kuruluş kapsamına, proje kurallarını .github/copilot-instructions.md dosyasına, tek seferlik istekleri prompt'a koyun.
  • Prompt dosyaları yeniden kullanılabilir istekler, özel agent'lar kalıcı uzmanlar, beceriler ise tam prosedürlerdir.

Kendinizi test edin

  1. 1. Aynı CLI prompt'unu değişmemiş bir repository üzerinde iki kez çalıştırıyorsunuz ve iki sürüm raporu farklı. Biri eksik bir tarihi bile uyduruyor. Zamanlamadan veya Actions'a taşımadan önce ne yapmalısınız?

  2. 2. "Kimlik bilgilerini veya müşteri verilerini asla prompt'lara koyma" kuralını nasıl sınıflandırmalısınız?

  3. 3. Bir ekibin HTTP rotasını bulup şemasını, yetkilendirmesini, doğrulamasını, testlerini ve örneklerini inceleyen, desteklenmeyen her şeyi doğrulanmamış olarak işaretleyen tekrarlanabilir bir prosedüre ihtiyacı var. Hangi yapı en uygundur?

  4. 4. Bağımsız Copilot CLI hakkında hangisi doğrudur?

  5. 5. Hangi özel talimat kontrol edilecek kadar gözlemlenebilirdir?

Sık sorulan sorular

Bu dersteki terimler

Copilot CLI
`copilot` komutuyla başlatılan, eski gh copilot uzantısından farklı, bağımsız ve terminal tabanlı Copilot agent'ı.
özel talimat
Repository kuralı veya güvenlik tabanı gibi, tekrarlanan Copilot yanıtlarını şekillendiren kalıcı arka plan rehberliği.
prompt dosyası
Açık girdileri ve gerekli çıktı sözleşmesi bulunan, yeniden kullanılabilir bir istek şablonu (.prompt.md dosyası).
özel agent
Bir konuşma boyunca kalan rolü, inceleme ilkesi ve koruyucu sınırları olan, .agent.md dosyasında tanımlanan adlandırılmış uzman.
agent becerisi
Bir görev tek bir istek değil, bir rehber gerektirdiğinde uygun olan, SKILL.md dosyasıyla tanımlanan yeniden kullanılabilir, çok adımlı prosedür.

Daha fazla kaynak