GitHub Copilot CLI, Python projesinde terminalden copilot komutuyla çalışan bir kodlama ajanıdır. Bu rehberde sanal ortam, pyproject.toml, pytest, ruff ve mypy ile birlikte nasıl kullanılacağını; ajanın nerede iyi çalıştığını ve nerelerde denetim gerektirdiğini pratik olarak anlatıyorum. Kod örnekleri ve çalışma döngüsüyle doğrudan uygulayabilirsiniz. Daha genel bir başlangıç için GitHub Copilot CLI sayfasına bakabilirsiniz.
Python işleri için neden GitHub Copilot CLI
Python projeleri genellikle net bir yapıya sahiptir: pyproject.toml bağımlılıkları ve araç ayarlarını tutar, src/ düzeni paketi, tests/ düzeni testleri barındırır. GitHub Copilot CLI bu yapıyı okuyabilir, sanal ortamı etkinleştirip pytest, ruff ve mypy komutlarını çalıştırabilir. Böylece sadece kod üretmekle kalmaz, hata ayıklama döngüsüne de girer. Python’daki tip hataları ve import sorunları genellikle çalışma zamanında ortaya çıkar; ajanın test ve tip denetimi çıktılarını yorumlaması bu sorunları erken yakalar. Ayrıca pyproject.toml içindeki araç yapılandırmasını değiştirmeden, mevcut kurallara uyarak diff üretir. Adım adım temel kullanım için GitHub Copilot CLI nasıl kullanılır? Adım adım rehber yazısına göz atabilirsiniz.
Projeyi ajan için hazırlama
GitHub Copilot CLI, proje kökünde .github/copilot-instructions.md veya AGENTS.md dosyasındaki talimatları okur. Python projesi için bu dosya kısa ve net olmalıdır: hangi sanal ortamın kullanılacağı, test/lint/tip komutları, klasör düzeni ve Python’a özgü kurallar. Aşağıdaki örnek gerçek bir projeden uyarlanmıştır:
# Python proje talimatları
## Ortam
- Sanal ortam: `.venv` (global paket kullanma)
- Etkinleştir: `source .venv/bin/activate` veya Windows için `.venv\Scripts\activate`
- Kurulum: `pip install -e ".[dev]"`
## Komutlar
- Test: `python -m pytest -q`
- Lint: `python -m ruff check .`
- Format kontrolü: `python -m ruff format --check .`
- Tip kontrolü: `python -m mypy src`
## Klasör düzeni
- Kaynak kod `src/`, testler `tests/` altında.
- Test dosyaları `test_*.py` desenine uyar.
## Python kuralları
- Yeni fonksiyonlara ve metotlara eksiksiz tip ekle; `Any` kullanma.
- mypy `strict` modda çalışır; `# type: ignore` eklemek yerine kodu düzelt.
- Import sırası: standart kütüphane, üçüncü parti, yerel modüller.
- Modül seviyesinde yan etki üretme; ağ/disk erişimi fonksiyon içinde olsun.
Doğru python -m ön eki, PATH sorunlarını azaltır ve ajanın hangi ortamı kullandığını netleştirir. Talimat dosyasına pytest eklentileri veya ruff kural istisnaları da ekleyebilirsiniz; ancak dosyayı uzun tutmayın. Ajanın görev sırasında en çok ihtiyaç duyacağı komutlar ve sınırlar yeterlidir.
Çalışma döngüsü
Python’da GitHub Copilot CLI ile verimli çalışmak için planla, küçük adım at, doğrula, diff’i incele döngüsünü kullanın. Önce ajanla mevcut dosyayı ve hedefi konuşun; tek seferde büyük bir refactor istemeyin. Ajan küçük bir diff üretsin, ardından siz veya ajan python -m pytest -q, python -m ruff check . ve python -m mypy src komutlarını çalıştırıp çıktıyı değerlendirin. En son git diff ile yalnızca istenen değişikliklerin olduğunu kontrol edin.
Aşağıdaki tablo, tipik Python görevleri için doğrudan kullanabileceğiniz prompt örneklerini gösterir:
| Görev | İyi bir prompt |
|---|---|
| Tip hatası temizliği | src/order_service.py içindeki calculate_total fonksiyonuna eksik tipleri ekle; davranışı değiştirme ve Any kullanma. |
| Test ekleme | tests/test_order_service.py dosyasına calculate_total için indirim, vergi ve sıfır tutar senaryolarını kapsayan 3 yeni test yaz. |
| Lint düzeltme | ruff check . çıktısındaki F401 ve E501 hatalarını temizle; import sırasını bozma. |
| Tip yapılandırması | pyproject.toml içindeki mypy bölümünü strict yap ve ortaya çıkan hataları # type: ignore eklemeden düzelt. |
| Diff öncesi kontrol | Bu değişikliği incele: yalnızca tip ekle, çalışma zamanı davranışını değiştirme; sonra python -m pytest -q ve python -m mypy src çalıştır. |
Promptlarda mutlaka kapsamı sınırlayın: dosya adı, fonksiyon adı ve istenen çıktı. Böylece ajanın alakasız modüllere dokunmasını önlersiniz.
Python’da iyi gittiği işler ve dikkat edilecek noktalar
GitHub Copilot CLI özellikle şu Python işlerinde iyi sonuç verir: eksik tip ekleme, mevcut davranıştan test yazma, ruff ve mypy hatalarını giderme, küçük fonksiyon refactorleri, import düzenleme, traceback yorumlama ve pyproject.toml bölümleri oluşturma. Bunlar genellikle sınırlı kapsamlıdır ve testlerle doğrulanabilir.
Buna karşılık dikkatli olmanız gereken Python’a özgü tuzaklar vardır. Ajan, mypy hatasını gerçekten düzeltmek yerine # type: ignore ekleyebilir; bu, tip güvenliğini sessizce azaltır. Büyük refactor isteğinde bulunduğunuzda import döngüleri veya modül seviyesindeki yan etkiler ortaya çıkabilir. Sanal ortam konusunda tutarsız davranabilir; global paketlerle çalışırsa testler yanlış bağımlılıklarla çalışır. Ayrıca requirements.txt yerine pyproject.toml kullanıyorsanız, ajanın eski alışkanlıkla requirements.txt oluşturmaya çalışmasını engelleyin. Test yazarken davranış yerine implementasyonu test eden kırılgan testler üretebilir; bu yüzden test isterken senaryoları açıkça belirtin. Son olarak, python -m pytest yerine doğrudan pytest çalıştırması PATH sorunlarına yol açabilir; talimat dosyanızda komutları python -m ile sabitleyin.
Python’da test ve doğrulama
Ajanla çalışırken doğrulamayı her adımın parçası yapın. Değişiklik sonrası şu üç komutu sırayla çalıştırın: python -m ruff check ., python -m mypy src ve python -m pytest -q. Ajan komutları kendisi çalıştırabilir ancak çıktıyı size göstermesini isteyin. Başarısız bir test veya tip hatası varsa ajanın düzeltme önerisini beklemeden önce diff’i kendiniz okuyun; bazen ajan yanlış kök nedeni düzeltmeye çalışır. Testleri çalıştırmadan önce sanal ortamın etkin olduğundan emin olun ve which python veya python -c "import sys; print(sys.executable)" ile doğrulatabilirsiniz. git diff --check boşluk hatalarını yakalar. Ajanın pytest çıktısını özetlemesi yerine ham çıktıyı görmek daha sağlıklıdır; özellikle parametrik testler ve fixture hataları özet sırasında kaybolabilir. Python projelerinde test ve tip denetimi birbirini tamamlar; birini atlayan bir değişikliği kabul etmeyin.
Aynı Python projesinde birden fazla ajan: AgentVera
Python projelerinde farklı yaklaşımları denemek veya paralel görev dağıtmak isterseniz AgentVera, GitHub Copilot CLI dahil birçok ajanı yan yana gerçek terminal panellerinde çalıştırır. Her ajan kendi git worktree’sinde ilerlediği için dosyalar birbirinin üzerine yazmaz; birinin ürettiği pytest/mypy hataları diğerinin çalışmasını bozmaz. Bir ajanın sırası bitince ikinci bir model otomatik kod incelemesi yapar ve bulguları dosya:satır olarak gösterir; bu, Python’daki tip hatalarını veya import düzensizliklerini yakalamada pratiktir. Ayrıca her turun checkpoint’i alındığından kötü bir refactor tek tıkla geri alınabilir. Daha geniş ajan seçimi için Copilot CLI mı Claude Code mu? 2026’da nasıl seçilir yazısına bakabilirsiniz.
Özet
GitHub Copilot CLI, Python projelerinde terminalden çalışan pratik bir ajandır. En iyi sonuç için projeye .github/copilot-instructions.md veya AGENTS.md ekleyin, küçük adımlarla ilerleyin ve her diff sonrası pytest, ruff ve mypy ile doğrulama yapın. Ajanın tip hatalarını örtbas etmesine veya yanlış sanal ortam kullanmasına izin vermeyin. Aynı projede birden fazla ajanla çalışacaksanız AgentVera gibi iş akışı araçları çakışmaları azaltır.