Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
GitHub Copilot'a Giriş: Planlar, AI Credits, Yüzeyler (VS 2026, VS Code, Rider, GitHub.com, CLI) ve Model Seçimi
Copilot'ta krediyi inline suggestion değil, agent oturumları harcar: 1 Haziran 2026'dan beri faturalama token tabanlı GitHub AI Credits ile yapılıyor ve otuz adımlık bir oturum seçilen modele göre 4 ile 128 kredi arasında tutuyor. Planlar, base ve flex kredi, auto ve Copilot Fusion, Visual Studio 2026, VS Code, GitHub.com ve CLI kurulumu ile kurumsal policy'ler.
Inline Suggestion ve Next Edit Suggestions: Tamamlamayı Verimli Kullanmak ve Ne Zaman Kapatmak
Inline suggestion'ı Tab ile değil, kelime ve satır kabulüyle okuyarak almak ve testin beklenen değerini asla tamamlamaya bırakmamak gerekir: Bookstore'da formülü tekrar eden bir test doğru kodu kırmızı gösterdi, kodu ona uydurmak ise elle seçilmiş değerli eski testleri kırdı. Kısayollar, NES, context ve dil bazında kapatma.
Copilot Chat ve Context: Ask, Edit, Agent ve Plan Akışları, #-referansları, Workspace Index'i ve Context'i Yönetmek
Copilot Chat'e bütün repoyu değil, cevabın olduğu dosyaları #-referanslarıyla verip yanlışlanabilir bir soru sormak gerekir: Bookstore'da context'in yarısı tek bir package-lock.json çıktı, iptal sorusunun cevabı ise beş bin token'lık dilimdeydi ve cevap 'iptal akışı yok'. Ask, Plan ve Agent; workspace index, search.exclude ve compaction.
Copilot'a Projeyi Öğretmek: copilot-instructions.md, *.instructions.md ve applyTo, AGENTS.md ve Reusable Prompt Dosyaları
Kuralları AGENTS.md'de tek yerde tutup copilot-instructions.md'ye birebir kopyalamak ve kopyayı bir script'le korumak gerekir, çünkü Copilot yüzeylerinin bir kısmı hâlâ AGENTS.md okumuyor ve Copilot CLI CLAUDE.md'yi de yüklüyor. applyTo ve excludeAgent, hangi yüzeyin neyi okuduğu, copilot instruction list çıktıları ve prompt dosyalarının Visual Studio ile VS Code'daki durumu.
IDE'de Agent ile Çok Adımlı İş: Tool Onayları, Terminal Komutları, Checkpoint'ler ve Bookstore'a Uçtan Uca Özellik Eklemek
Agent'ın 'tüm testler geçiyor' özeti, testin mi kodun mu değiştiğini söylemez: Bookstore'daki kurumsal minimum özelliğinde aynı kırmızı testi bir kez testi bir kez kodu değiştirerek yeşile çevirdik, ikisi de 14/14 geçti ve farkı yalnız git diff --stat gösterdi. Tool onayları, terminal kuralları, checkpoint sınırları, API, migration ve Angular.
Copilot'u Genişletmek: MCP Server'lar, Custom Agent'lar, Agent Skills ve Hooks
Copilot'ta bir kuralı talimata değil hook'a yazmak gerekir: Bookstore'da agent'a açıkça 'dotnet ef database update çalıştır' dedik, model komutu çağırdı ve onu yalnız preToolUse hook'u durdurdu. Bookstore MCP server'ı ve .mcp.json, prompt dosyalarından skill'lere geçiş, migration'ları kontrol eden skill ve custom agent, Copilot CLI'da yerel modelle gerçek koşular.
Copilot Coding Agent: Issue'yu Atamak, GitHub Actions Ortamı, Setup Adımları, Firewall ve Açılan PR'ı Review Etmek
Copilot coding agent'ın açtığı pull request'te kırmızı check olmaması testlerin geçtiği anlamına gelmez: Copilot'un push'larında workflow'lar varsayılan olarak çalışmaz, Approve and run workflows beklenir. Issue yazmak ve atamak, copilot-setup-steps.yml ile .NET, Node ve SQL Server ortamı, actionlint'in kaçırdığı kurallar, Agents secret'ları, firewall, PR review ve Agent Merge.
Copilot Code Review: PR'da Otomatik Review, Ruleset ile Zorunlu Kılmak, Talimatlarla Yönlendirmek ve Sınırları
Copilot code review talimatları pull request'in head branch'inden okur ve tsconfig.json, lock dosyaları gibi bazı dosyalara hiç bakmaz; bu yüzden bir pull request kendi review kuralını gevşetebilir. Bookstore'da bunu bir script'le gösterdik. Otomatik review ve ruleset JSON'u, effort seviyeleri ve maliyet, review talimatları ve code-review skill'i, Copilot approvals ve insan review'uyla işbölümü.
Copilot CLI: Terminalde Agent, Plan Mode, Sandbox, `copilot -p` ile Otomasyon ve ACP
copilot -p'nin exit code'u 0 olsa da cevap yanlış olabilir: Bookstore'da yerel modelle iki koşuda da 0 geldi, biri işe yaramaz bir JSON parçası, diğeri commit'te olmayan maddeler yazdı. Kurulum, plan mode, --allow-tool ve --deny-tool kuralları, sandbox ve --cloud, GITHUB_TOKEN ve copilot-requests ile GitHub Actions, actionlint'in tanımadığı izin, BYOK ve ACP istemcisi.
Ekipte ve Kurumda Copilot: Policy'ler, Content Exclusion, Model Erişimi, Kullanım Metrikleri, Maliyet ve Claude Code/Codex ile Karşılaştırma
Kurumda Copilot maliyetini en çok model seçimi ve her push'ta code review belirler: sekiz kişilik bir Business ekibinde Sonnet oturumları ve her push'ta Balanced review ortak havuzu ayın dokuzda birinde bitiriyor, kredinin üçte ikisi review'dan geliyor. Policy katmanları, content exclusion, managed settings ve MCP allowlist, metrikler, audit log, bütçeler ve Claude Code/Codex karşılaştırması.