DevOps

GitHub Copilot CLI ile Emoji Üretici: Canlı Yayın Notları

Geçen hafta akşam, bir müşteri görüşmesinden çıkmıştım; sonra bir kahve alıp masama oturdum. Tam o sırada GitHub’ın meşhur “Rubber Duck Thursdays” yayınına denk geldim — hani şu ördekçik yayını var ya, canlı canlı bir şeyler inşa ettikleri seans. O gün yaptıkları proje küçük görünüyordu ama bayağı sempatikti: GitHub Copilot CLI ile bir emoji list generator. Yani terminalden bir liste veriyorsun, madde başlarını AI otomatik emoji’ye çeviriyor, panoya kopyalıyor. Bitti.

Kulağa fazla basit geliyor, değil mi? Hatta “bunun için CLI aracı mı olur kardeşim?” diye gülümseyebilirsiniz. Ben de ilk anda öyle düşündüm. Ama sonra oturup kendi makinemde denediğimde şunu fark ettim: işin asıl hikayesi emojide değil, Copilot CLI’nin nasıl bir mühendislik aracına dönüştüğünde saklı. Bugün burada ikisini de konuşacağız; hem projeyi nasıl kurduklarını, hem de bizim Türkiye tarafında bu tarz araçları kurumsal ekiplere nasıl anlattığımızı. Şey, asıl mesele biraz da bu zaten.

Önce Şunu Netleştirelim: Copilot CLI Tam Olarak Ne?

GitHub Copilot CLI, terminalden doğrudan bir AI ajanına iş yaptırmanı sağlayan bir araç. IDE’den bağımsız çalışıyor. VS Code açmana gerek yok. Cursor açmana gerek yok. Sadece copilot yazıyorsun, o da senin adına planlıyor, dosya oluşturuyor, kod yazıyor, çalıştırıyor; yani işin garip tarafı şu, terminalde oturup sohbet eder gibi ilerliyorsun (ciddiyim)

Ve işler burada ilginçleşiyor.

Ben ilk duyduğumda açık konuşayım, biraz şüpheciydim. “Bir IDE eklentisi zaten var, CLI’a ne gerek?” dedim kendi kendime. Ama iki hafta kadar önce bir Azure Kubernetes projesinde SSH ile bir bastion host’un üzerindeydim — orada VS Code Remote açmak baya zahmetli, tunnel kurmak gerekiyor falan — Copilot CLI’yi o sunucuya kurdum ve kurulumdan sonra bir YAML manifesti üretmesini istedim; iki dakikada çıktı, hatta beklediğimden temizdi (ben de ilk duyduğumda şaşırmıştım). O an ikna oldum. Evet.

Yayında Cassidy ve ekibi ise şu komutu verdiler Copilot CLI’a:

“Bir AI destekli markdown emoji list generator istiyorum. CLI app olacak, yapıştırdığım veya yazdığım madde işaretlerini ilgili emojilerle değiştirecek ve panoya kopyalayacak. AI tarafında GitHub Copilot SDK kullansın.”

İtiraf edeyim, Komut İngilizce ama Türkçe de aynı derecede çalışıyor — bunu test ettim, yani tek cümle veriyorsun (ciddiyim). Sonrası zaten aracın işi; burada asıl rahatlık şu oluyor: uzun prompt’lar yazmadan niyetini anlatıyorsun (bazen kaba taslak bile yetiyor), gerisini o toparlıyor. İşte, peki neden? Çünkü terminalde hızlı akış istiyorsan, bu model baya iş görüyor.

Plan Modu: Aslında Bu Özellik Oyunun Kurallarını Değiştiriyor

Yayında en hayati parça plan mode olmuş. Nedir bu? Kısaca söyleyeyim: Copilot önce koda dalmıyor, önce sana bir plan.md dosyası çıkarıyor, içinde de “şu kütüphaneyi kullanacağım, şu dosyaları oluşturacağım, akışı da böyle kuracağım” diye yazıyor; sen bakıp onay veriyorsun, sonra kod tarafına geçiyor. İyi fikir. Hatta beklediğimden temiz.

Evet, doğru duydunuz.

Bi saniye — Peki, peki neden? Çünkü AI araçlarında en sinir bozucu şey şu: kafasına göre 400 satır kod basıyor, sonra sen ekrana bakıp “bu değil ki benim istediğim” diyorsun. Plan modu bu döngüyü kırıyor. Bir nevi önce mimariyi konuşalım, sonra eller kirlenir yaklaşımı; yani işin aslı biraz kontrol hissi veriyor, biraz da ekipteki gerginliği azaltıyor.

Kurumsal tarafta bunu net gördüm. Türkiye’de özellikle finans. Telekom müşterilerinde AI araçlarının yayılması yavaş gidiyordu, çünkü herkesin aklında aynı soru vardı: “Bu şey nereye kadar gidiyor?” Plan modu gibi özellikler tam o tedirginliği azaltıyor. Bir bankada compliance ekibine “yapay zeka kod üretiyor” demek başka, “önce plan sunuyor, sen onaylıyorsun, sonra üretiyor” demek başka; ikinci cümlede yüzler biraz daha rahatlıyor, imza alma işi de şaşırtıcı biçimde kolaylaşıyor.

Plan Modunu Gerçekten Kullanmak

copilot komutunu çalıştırıp ardından /plan yazıyorsun, olay bu kadar sade görünüyor. Sonra ne istediğini anlatıyorsun; ben geçen gün bir müşteri için Azure Function App ile Service Bus entegrasyonu tasarlarken denedim (Cosmos DB’ye yazsın, dead letter queue için retry politikası olsun, managed identity kullansın, connection string olmasın diye özellikle belirttim). Evet, biraz detay verdim.

/plan
Azure Service Bus'a gelen mesajları işleyip Cosmos DB'ye yazan bir 
Function App istiyorum. Dead letter queue için de retry politikası 
olsun. Managed identity kullansın, connection string YOK.

Şahsen, Çıkan plan.md dosyası açık konuşayım baya iş gördü. Bir junior developer’ın bir hafta uğraşıp çıkaracağı design doc’tan daha toparlanmıştı; tabii burada “daha iyi” dersem fazla kaçabilir. Yine de fena değildi. Hatta ilk bakışta biraz şaşırdım, sonra düşündüm: zaten mesele sihir değil, doğru sırayı kurmak. Neyse uzatmayayım, gerçekten iyi oturmuştu.

Çok konuştum, örnekle göstereyim. Daha fazla bilgi için Ingress’ten Gateway API’ye Geçiş: 1.0 Rehberi yazımıza bakabilirsiniz.

Projeyi Parcalarina Ayiralim

Yayinda kullandiklari kutuphaneler aslında basit görünüyor, ama altinda fena sayilmayacak bir mantik var:

Kutuphane Gorevi Neden Bunu Secmisler?
@opentui/core Terminal UI Modern, React benzeri API
@github/copilot-sdk AI beyni Copilot aboneligiyle entegre
clipboardy Pano erişimi Cross-platform, dert cikarmiyor

Dürüst olmak gerekirse, Evet. Burada kilit nokta su.

@github/copilot-sdk daha yeni oturuyor, yani piyasadaki OpenAI SDK’lari kadar cilali değil; ben de kendi ic araclarimdan birinde denedigimde rate limiting tarafında biraz tutuk davrandigini gördüm, ama kullanicinin kendi Copilot aboneliginden çalışması yuzunden ekstra API key yönetimi. Faturalama ugrasi cikmiyor, kurumsal tarafta bu bayağı iş görüyor.

Autopilot ve Allow-All Meselesi

Peki neden?

Yayinda bir de autopilot mode ile --allow-all-tools flag’ini kullanmislar; autopilot, Copilot’un her adimda “bunu yapayim mi?” diye sormadan ilerlemesi demek, allow-all ise tum tool’lari bastan yetkili saymasi (kısa vadede rahatlik veriyor ama uzun vadede insanin basina is açabiliyor).

Şimdi bak, burada biraz fren yapmak lazım. Bu iki flag kulağa güzel geliyor ama production ortamında veya kilit repolarda KULLANMAYIN. Ciddiyim. Deneme projelerinde olur, sandbox’ta olur, kendi laptopunda oynarken olur; ama bir musterinin GitHub org’unda allow-all çalıştırmak başka bir hikaye. Geçen ay bir arkadasim tam böyle bir hata yapti: autopilot açık kaldi. Repo içinde yanlislikla bir migration dosyasi silindi, sonra geri almak için iki saat ugrastik. İşte o an insan “bu kadar rahatlik fazla mi geldi?” diye düşünüyor. Kubernetes v1.36 Neler Getiriyor: Büyük Değişiklikler yazımızda bu konuya da değinmiştik.

💡 Bilgi: Copilot CLI’da guvenli calismak için --allow-all-tools yerine tool’lari tek tek onayin. Özellikle shell ve file_write tool’larini dikkatle verin. Ilk kurulumda biraz yavaslatiyor sizi ama sonradan “iyi ki böyle yapmisim” dedirtiyor.

Tuhaf ama, Neyse, konu dagildi gibi oldu. Aslında ayni yere cikiyoruz: hız istiyorsaniz bile kontrolü elden birakmamak lazım. Neyse, siz ne dersiniz?

Multi-Model Workflow: Claude Sonnet vs Claude Opus

Yayında enteresan bir şey yapmışlar. Planlama tarafında Claude Sonnet 4.6, uygulama tarafında ise Claude Opus 4.7 kullanmışlar. Açık konuşayım, ilk bakışta biraz garip geliyor; ama düşününce mantık oturuyor, çünkü biri hızlıca yön veriyor, diğeri de uzun kodlarda ve karışık refactoring işlerinde daha rahat nefes aldırıyor.

Ben de benzer ayrımı kendi iş akışımda kullanıyorum. Mesela bir Bicep template yazarken ya da ARM deployment planlarken Sonnet bana yetiyor, hatta çoğu zaman fazlasıyla iş görüyor; ama 2000 satırlık bir Terraform modülünü elden geçirirken Opus’a geçiyorum, çünkü orada mesele sadece cevap vermek değil, kodun bütününü kafada tutabilmek (ve arada saçmalamamak), bu da ciddi fark yaratıyor. Claude Opus 4.7 GitHub Copilot’ta: Ne Değişiyor? yazımda modelin detaylarına girmiştim, isterseniz oraya da göz atın.

Bir de şu kısım var, hani herkes elle model seçmek istemiyor ya, işte bunun için auto modu var. Sistem bakıyor ve işi ona göre ayarlıyor; teoride kulağa baya iyi geliyor, pratikte ise bazen tam nokta atışı yapıyor, bazen de “eh idare eder” dedirtiyor. Ben bunu iki hafta kullandım ve deneyimimi GitHub Copilot CLI’da Auto Model: Gerçekten İşe Yarar mı? yazısında uzun uzun anlattım. Spoiler: fena değil, ama kusursuz da değil.

Türkiye’deki Ekipler İçin Bu Ne İfade Ediyor?

Açık konuşayım, bir emoji üretici yapıp bununla hava atmak ilk bakışta biraz hafif kaçıyor (ben de ilk duyduğumda şaşırmıştım). “Canım, bu kadar şeye mi kaldık?” diye düşünebilirsiniz. Haklısınız da, haksızsınız da.

Haklısınız çünkü işin özü emoji jeneratörü değil (buna dikkat edin). Asıl mesele metodoloji, yani tek cümlelik brief verip Copilot’a plan ürettirmek, sonra onaylayıp kodu yazdırmak, ardından çalıştırmak; bu akış bir iç araç geliştirirken de geçerli, PoC çıkarırken de, Azure Function prototipi denerken de aynı şekilde iş görüyor.

Kurumsal müşterilerimde gördüğüm şey şu: özellikle orta ölçekli şirketler (50-500 geliştirici bandı) bu hızlı PoC çıkarma işini pek kullanmıyor (ben de ilk duyduğumda şaşırmıştım). Birisi iç araç istediğinde ya bir düşüneyim… üç hafta bekleniyor ya da konu rafa kalkıyor. Halbuki Copilot CLI ile bir junior geliştirici bile öğleden sonra içinde böyle bir aracı ayağa kaldırabiliyor, garip. Gerçek. GA4’ü Bırakıp Next.js + Supabase’e Geçmek: Neden? yazımızda bu konuya da değinmiştik.

Startup vs Kurumsal: Hangisi Için Ne Mantıklı?

Küçük ekipteyseniz (mesela 5-10 kişi), iş daha basit akıyor. Evet.

  • Copilot CLI’yi herkes kullansın; allow-all olmasın ama standart mod yeterli olsun
  • Plan modunu ekip alışkanlığına çevirin — “önce plan.md, sonra kod” kuralını koyun
  • Iç araçları Jira’ya yazıp beklemek yerine, bazen bir öğleden sonra kendiniz çıkarın — bunu es geçmeyin

Kurumsal yapıdaysanız (100+ geliştirici), burada iş biraz dönüyor dolaşıyor yönetişime geliyor. Bak şimdi. Bu konuyla ilgili Kubernetes v1.36 ile Gelen Değişiklikler ve Notlarım yazımıza da göz atmanızı tavsiye ederim.

  • Önce bir policy dokümanı yazın — hangi repolarda hangi tool’lar açık olacak?
  • Copilot Business veya Enterprise lisansı alın; kişisel hesaplara yüklemeyin
  • Audit log’u mutlaka açın — sonra compliance kapınızı çaldığında eliniz rahat olur
  • Pilot ekip seçin, iki üç ay deneyin, ardından yaygınlaştırın

Neyse, çok dağıtmadan söyleyeyim: küçük ekipte hız kazanıyorsunuz, büyük ekipte ise kontrolü elden bırakmadan ilerliyorsunuz. İkisi aynı şey değil. Siz ne dersiniz? Microsoft Foundry Fine-Tuning Nisan 2026: RFT’de Yenilikler yazımızda bu konuya da değinmiştik.

Maliyet Tarafı: Türk Lirası Bazında Ne Tutar?

GitHub Copilot’un fiyatı, şu sıralar kullanıcı başına aylık gidiyor. Bireysel plan ayda yaklaşık 10 dolar, Business 19 dolar, Enterprise da 39 dolar civarında; kur biraz oynadığı için TL hesabında kişi başı aylık maliyet kabaca 400-1600 TL bandına düşüyor ya da çıkıyor, yani net rakam vermek zor.

Bir bakıma, bi saniye — Bütçe dar ise, önce açık kaynak tarafa bakmak fena olmaz. Mesela Ollama ile Continue.dev ikilisiyle başlanabiliyor, iş görüyor da. Açık konuşayım, Copilot’un ajan modunun yerini şimdilik tam dolduran yok. En yakın tarafta Aider var (belki yanılıyorum ama) belki, CLI üzerinden çalışıyor. Bayağı iyi toparlıyor; yine de GitHub entegrasyonu deyince Copilot bir adım öne geçiyor (evet, doğru duydunuz)

Çok konuştum, örnekle göstereyim.

İlk Denediğimde Aldığım Hata ve Çözümü

Hani, Yazıyı bitirmeden önce küçük bir tuzak var, onu baştan söyleyeyim. Copilot CLI’yi ilk kurduğumda macOS tarafında clipboardy pano erişimi için izin istiyor,. Sonra bir anda pbcopy: command not found diye patlıyor; garip olan şu ki pbcopy normalde macOS’ta zaten geliyor, ben de önce paket eksik sandım, değilmiş.

Aslında, Sebep basit çıktı. Shell profilimde PATH’i elle değiştirmiştim ve /usr/bin yolu listeden düşmüştü, yani sistemin kendi komutları görünmez olmuştu; açık konuşayım, insan önce başka yerde arıyor ama kök neden çoğu zaman böyle ufak bir ayar oluyor.

Çözüm bu kadar. Şunu geri ekleyince iş düzeldi:

export PATH="/usr/bin:/bin:/usr/sbin:/sbin:$PATH"

Aynı şey Windows WSL tarafında da başıma geldi. Orada mesele biraz farklıydı; clip.exe‘nin Windows tarafından interop ile erişilebilir olması gerekiyor (yoksa Linux içinden panoya yazmaya kalkınca saçma sapan hata veriyor), bu yüzden wsl.conf‘ta [interop] bölümünü açmayı unutmayın.

Evet.

Peki Ben Bu Araçtan Ne Yapardım?

Cassidy’nin emoji jeneratörü hoş bir demo, tamam. Ama aynı mimariyi alıp çok daha işe yarar şeylere çevirmek de mümkün; mesela biraz kurcalayınca insanın aklına commit mesajı yazan bir CLI geliyor, sonra YAML doğrulayıp eksik yerleri toparlayan bir araç çıkıyor, üstüne bir de changelog ya da incident özeti fikri kendiliğinden uzuyor.

  1. Commit message üretici: git diff alıp conventional commit formatında mesaj üreten CLI — ciddi fark yaratıyor
  2. YAML validator+fixer: Kubernetes manifestini alıp hem doğrulayan hem eksikleri tamamlayan araç
  3. Changelog toplayıcı: Son 10 PR’ı okuyup müşteriye gönderilecek Türkçe changelog çıkaran script
  4. Incident summary: Slack kanalından son 2 saatin mesajlarını alıp postmortem taslağı hazırlayan araç

Bunlar kağıt üstünde 1-2 saatlik işler artık. Bir yıl önce böyle bir şeye bir geliştiricinin bir hafta ayırması gerekiyordu; şimdi öğle arasında bile kaba taslak çıkıyor, tabii son rötuşlar yine insan eli istiyor,. Işin aslı o kısımda belli oluyor. Evet.

Son Söz — Kişisel Kanaatim

Bence Copilot CLI, 2026’da sessiz sedasız öne çıkan araçlardan biri. Herkes IDE içindeki eklentileri konuşuyor, ama işin aslı terminal tarafında dönüyor; çünkü DevOps, SRE ve platform engineering ekipleri günün büyük kısmını orada geçiriyor, yani onlara sadece bir eklenti değil, direkt CLI ajanı lazım. Peki neden? Çünkü hız orada.

Hayal kırıklığı tarafı da yok değil. SDK biraz ham kalmış, dokümantasyonun bazı yerleri eksik, error mesajları da bazen insanı boşluğa bakar hale getiriyor. Yine de yön doğru gibi duruyor, hatta açık konuşayım, birkaç noktada şaşırdım; ama biraz daha pişmesi gerekiyor. Denemek isteyenler için ilk adım basit: npm install -g @github/copilot, sonra copilot, ardından /plan yazıp küçük bir fikirle başlayın (yanlış duymadınız). Gerisi, şey, çoğu zaman kendi akıyor (inanın bana)

Sıkça Sorulan Sorular

GitHub Copilot CLI bedava mı?

Hayır, aktif bir GitHub Copilot aboneliğin olması lazım (Individual, Business ya da Enterprise). Öğrenciler ve bazı açık kaynak maintainer’ları için ücretsiz seçenekler mevcut aslında. CLI için ayrıca para ödemiyorsun, hani zaten aboneliğine dahil geliyor.

Durun, bir saniye.

Copilot CLI Türkçe komutları anlıyor mu?

Evet, anlıyor. Ben de pek çok komutu Türkçe verdim, hiç sorun çıkmadı açıkçası (şaşırtıcı ama gerçek). Tabii teknik terimler ve kütüphane adları doğal olarak İngilizce kalıyor. Bence en iyi yaklaşım karma bir dil kullanmak — mesela “Bir Azure Function app oluştur, Service Bus trigger kullansın” gibi yazınca gayet iyi anlıyor.

Allow-all-tools flag’i güvenli mi?

Kısa cevap: hayır. Production veya kritik repolarda kesinlikle kullanmayın. Sandbox ortamlarda, kişisel deneme projelerinde sorun yok. Ama şunu unutmayın: git push --force gibi geri dönüşü zor komutları çalıştırma yetkisi de vermiş oluyorsunuz (yanlış duymadınız). Tecrübeme göre bunu bir kez zor yoldan öğrenmek yeterli oluyor.

Plan modu ile normal mod arasındaki fark nedir?

Hani, Normal modda Copilot direkt koda dalıyor. Plan modunda ise önce bir plan.md üretiyor, sen onayladıktan sonra implementasyona geçiyor. Yani karmaşık işlerde plan modu çok daha mantıklı — küçük düzeltmelerde ise normal mod zaten yeterli oluyor.

Copilot CLI hangi modelleri destekliyor?

Tuhaf ama, Şu an Claude Sonnet 4.6, Claude Opus 4.7, GPT ailesi ve Gemini modelleri var. auto seçeneğiyle otomatik seçtirme de yapabiliyorsunuz. Model listesi sürekli güncelleniyor, en güncelini görmek için /model komutunu kullanabilirsiniz.

Kaynaklar ve İleri Okuma

Açık konuşayım, GitHub Blog — Building an emoji list generator with the GitHub Copilot CLI (orijinal yazı)

İlginç olan şu ki, GitHub Copilot CLI Resmi Dokümantasyonu

GitHub Copilot CLI GitHub Reposu

OpenTUI — Terminal UI Kütüphanesi

Aşkın KILIÇ

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için beni sosyal medyada takip edin.

← Onceki Yazi
GitHub Copilot CLI'da Auto Model: Gerçekten İşe Yarar mı?

Yorum Yaz

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İçindekiler
← GitHub Copilot CLI’da Au...