GitHub Copilot, yalnızca genel talimatlara dayanmak yerine üzerinde çalıştığı kod tabanına özgü kuralları bildiğinde daha iyi çalışır. GitHub, bu bağlamın önemli bir bölümünün depo içinde saklanabileceğini ve böylece Copilot'ın bileşenleri düzenleme biçimlerini, kullanılan komutları, adlandırma ve test standartlarını otomatik olarak tanıyabileceğini belirtiyor.
Genel ve yollara özel talimatlar
Yapılandırma, deponun tamamı için geçerli kuralların (örneğin tercih edilen mimari, adlandırma kuralları ve test ve doğrulama gereksinimleri) yerleştirileceği .github/copilot-instructions.md dosyasının oluşturulmasıyla başlar.
GitHub ayrıca .github/instructions içinde belirli yollarla ilişkilendirilmiş talimat dosyaları oluşturulmasına da olanak tanır. Bu dosyalar, talimatların geçerli olduğu dosyaları veya durumları belirlemek için applyTo alanını kullanır. Böylece tüm dosya türlerine tek bir biçim dayatılmadan genel yönergeler ile daha özel kurallar bir arada kullanılabilir.
Tekrarlanan işlemleri becerilere dönüştürme
Genel talimatlar her işlem için uygun değildir. Kalite kontrollerini çalıştırma, sürüm hazırlama veya iş akışındaki bir hatayı teşhis etme gibi işlemler tekrarlanabilir adımlar gerektirir. GitHub bu amaçla, talimatlar, betikler ve ek kaynaklar içerebilen klasörler olan aracı becerilerinin kullanılmasını öneriyor.
Projeye özgü beceriler .github/skills içine yerleştirilebilir ve her beceri için ayrı bir klasör oluşturulabilir. quality-checks gibi bir klasörde, becerinin ne zaman kullanılacağını, test komutlarını ve kod stili doğrulamasını, her komutun neyi denetlediğini ve yaygın hata durumlarının nasıl ele alınacağını belirleyen bir SKILL.md dosyası bulunabilir.
Ne zaman özel bir aracıya ihtiyaç duyarsınız?
Bazı görevler tek bir işlemi aşar ve birden fazla dosya ile araca yayılır. GitHub, birden fazla bileşenin, şablonun, stilin ve etkileşimin incelenmesini gerektirebilen erişilebilirlik incelemesini örnek veriyor. Bu durumlarda, hedefi, talimatları, araçları ve projeyle ilgili bağlamı belirlenerek .github/agents içinde özel bir aracı oluşturulabilir.
Bu seçenek, belirli bir iş türü tekrarlandığında ve özellikle birden fazla dosya ve bağlam kaynağıyla çalışmayı gerektirdiğinde uzmanlaşmış bir rolden veya belirli bir bakış açısından yararlandığında uygun hâle gelir.
MCP sunucuları aracılığıyla Copilot'ın kapsamını genişletme
Talimatlar, beceriler ve aracılar Copilot'ın proje içinde nasıl çalışacağını anlamasına yardımcı olurken, Model Context Protocol (MCP) sunucuları onu depo dışındaki araçlara, veri kaynaklarına ve hizmetlere bağlar. Bir dokümantasyon sunucusu bir framework için yönergeler sağlayabilirken Playwright gibi bir sunucu uygulamayı açıp tarayıcı üzerinden onunla etkileşime geçebilir.
Playwright kurulduktan sonra MCP sunucusunu kullanarak işlevlerin elle test edilmesi istenebilir. Böylece doğrulama yalnızca otomatik testlerin başarılı olmasıyla sınırlı kalmaz; Copilot ayrıca değişiklikten sonra arayüzün davranışını inceleyebilir ve tarayıcıda onunla etkileşime geçebilir.
Uygulamada ne değişir?
Temel fayda, tekrar tekrar aktarılan bilgilerin sohbetten alınıp depo içinde incelenebilir dosyalara taşınmasıdır. Talimatlar standartları belirler, beceriler işlemleri belgeler, aracılar karmaşık görevlere odaklanır; MCP sunucuları ise harici araçları kullanma yeteneği ekler. GitHub kademeli başlamayı öneriyor: Açıklamayı tekrar tekrar yaptığınız bir kural seçin, bunu .github/copilot-instructions.md içine yerleştirin ve ardından Copilot'ın bu kuralı nasıl uyguladığını gözlemleyin.
Makale ayrıca paylaşıma hazır talimatlar, beceriler ve aracılar içeren Awesome Copilot deposuna da işaret ediyor. Ancak bu kaynakları benimsemeden önce proje araçlarına ve standartlarına uyarlamak yine de gereklidir.