26 puan yazan GN⁺ 2025-11-28 | 1 yorum | WhatsApp'ta paylaş
  • Gemini CLI, Google’ın Gemini modellerini doğrudan terminalde kullanmayı sağlayan açık kaynaklı bir yapay zeka yardımcısıdır; doğal dil komutlarıyla kod yazma, hata ayıklama ve otomasyon görevleri gerçekleştiren etkileşimli bir komut satırı aracıdır
  • Yaklaşık 30 adet uzman ipucu ile kalıcı bağlam yönetimi (GEMINI.md), özel komutlar, MCP sunucusu genişletmeleri, bellek özellikleri, checkpoint geri yükleme gibi gelişmiş işlevleri ele alır
  • Dosya·görsel referansları (@), YOLO modu (otomatik onay), headless çalışma, çoklu dizin işleri, IDE entegrasyonu (VS Code) gibi geliştirici iş akışı optimizasyon özellikleri sunar
  • GitHub Action, uzantılar (Extensions), telemetri, token önbellekleme gibi otomasyon·gözlemlenebilirlik·genişletilebilirlik odaklı en yeni özellikleri içerir
  • Gemini CLI, basit bir yapay zeka sohbeti olmanın ötesinde, geliştirme ortamının tamamını bütünleşik şekilde kontrol eden agentic bir geliştirme platformuna dönüşüyor

Gemini CLI genel bakış

  • Gemini CLI, Google Gemini modellerini doğrudan terminalde kullanabilen yapay zeka tabanlı bir komut satırı arayüzüdür
    • Node.js/TypeScript tabanlıdır ve tüm büyük işletim sistemlerinde çalışır
    • Komutlar doğal dille girildiğinde kod üretme, hata ayıklama, sistem yapılandırması gibi çok adımlı işleri yerine getirir
  • Kurulum npm install -g @google/gemini-cli veya npx @google/gemini-cli ile yapılabilir
  • Kimlik doğrulama olarak Google hesabıyla giriş (ücretsiz) veya API anahtarı (ücretli/kurumsal) desteklenir
    • Ücretsiz hesapla dakikada yaklaşık 60, günde 1.000 istek yapılabilir
    • API anahtarı kullanıldığında veri koruması güçlenir ve günlük saklama politikaları uygulanır
  • Temel kullanım gemini komutuyla başlar; / komutları (oturum kontrolü) ve ! komutları (shell çalıştırma) desteklenir
    • Sistem değişikliklerinde kullanıcı onayı (Y/n) isteyen güvenli mod varsayılan olarak etkindir

Tip 1 — GEMINI.md ile kalıcı bağlam yönetimi

  • Projeye özel yönergeleri veya arka plan bilgisini GEMINI.md dosyasında saklayarak yapay zekanın her zaman aynı bağlamla yanıt vermesi sağlanır
    • Örnek: kodlama stili, mimari, fonksiyon kuralları vb.
  • Genel (~/.gemini/GEMINI.md) ve proje bazlı .gemini/GEMINI.md dosyaları katmanlı biçimde birleştirilir
  • /memory show ile şu anda yüklenen bağlam görülebilir, /memory refresh ile yenilenebilir
  • /init komutuyla varsayılan şablon oluşturulabilir, @include ile birden çok dosya içe alınabilir

Tip 2 — Özel slash komutları oluşturma

  • Tekrarlayan işleri otomatikleştiren özel komutlar TOML dosyalarıyla tanımlanabilir
    • Örnek: /test:gen → gereksinimlere dayalı Jest testi üretme
  • Genel (~/.gemini/commands/) veya proje bazlı (.gemini/commands/) olarak kaydedilebilir
  • Komutlar prompt şablonları temelinde çalışır ve ekipler arasında paylaşılabilir
  • Tutarlı biçimlendirme, rol atama (ör. /review:security) gibi iş akışı standardizasyonu için faydalıdır

Tip 3 — Gemini’yi MCP sunucularıyla genişletme

  • Model Context Protocol (MCP) sunucuları üzerinden harici sistemlerle entegrasyon sağlanır
    • Örnek: Figma, Google Docs, Clipboard, kurum içi veritabanları vb.
  • gemini mcp add komutuyla sunucu eklenir, yapılandırma settings.json içinde saklanır
  • /mcp komutuyla kayıtlı sunucular ve araç listesi görülebilir
  • OAuth 2.0 desteğiyle güvenli API bağlantıları kurulabilir

Tip 4 — Bellek ekleme ve çağırma

  • /memory add "<text>" ile önemli bilgiler uzun süreli belleğe kaydedilebilir
    • Örnek: “RabbitMQ portu 5673”
  • /memory show ile tüm bellek görülebilir, /memory refresh ile yenilenebilir
  • Karar günlükleri veya kişisel tercihler (ör. üslup, isim vb.) saklamak için uygundur

Tip 5 — Checkpoint ve /restore geri yükleme özelliği

  • Dosya değişikliklerinden önce otomatik snapshot oluşturulur, /restore ile önceki duruma dönülebilir
  • --checkpointing seçeneğiyle veya ayar dosyasından etkinleştirilebilir
  • /restore list ile checkpoint listesi görülebilir, /restore <id> ile geri yükleme yapılabilir
  • Git ile birlikte kullanıldığında yapay zeka işlemleri için güvenlik ağı işlevi görür

Tip 6 — Google Docs·Sheets okuma

  • Workspace MCP sunucusu ayarlandığında Google Docs/Sheets bağlantıları doğrudan okunup özetlenebilir
  • OAuth kimlik doğrulaması gerekir; /read_google_doc gibi komutlarla erişim sağlanır
  • Belge·tablo·Drive dosyaları bağlantıyla referans verilerek kopyalama olmadan bağlam enjekte edilebilir

Tip 7 — @ sözdizimiyle dosya·görsel referansları

  • @dosya_yolu ile kod·belge·görseller doğrudan prompt’a eklenebilir
    • Örnek: Explain this code: @./src/main.js
  • .gitignore ve .geminiignore kuralları otomatik olarak dikkate alınır
  • Görsel tanıma (OCR dahil) ve çoklu dosya karşılaştırması desteklenir

Tip 8 — Anlık araç oluşturma

  • Gemini gerektiğinde geçici scriptler veya MCP sunucularını doğrudan oluşturabilir
    • Örnek: JSON ayrıştırıcı, log analiz aracı vb.
  • Oluşturulan kod diff üzerinden incelenip onaylanabilir
  • Faydalı scriptler daha sonra özel komutlara dönüştürülebilir

Tip 9 — Sistem sorun giderme ve yapılandırma

  • Proje dışında da kullanılabildiği için geliştirme ortamı yönetim yardımcısı gibi çalışır
    • Örnek: .bashrc düzenleme, hata günlüklerini analiz etme, Docker kurulumunu otomatikleştirme
  • Komut çalıştırmadan önce her zaman onay ister ve güvenli sistem ayarlamaları destekler

Tip 10 — YOLO modu (otomatik onay)

  • --yolo veya Ctrl+Y ile tüm araç çalıştırmaları otomatik onaylanabilir
  • Tekrarlayan işlerde hızı artırır ancak risk içerir
  • Sadece belirli komutları otomatik onaylamak için whitelist ayarı yapılabilir

Tip 11 — Headless ve script modu

  • gemini -p "prompt" ile etkileşimsiz çalışma mümkündür
  • GEMINI_SYSTEM_MD ile sistem prompt’u değiştirilebilir
  • JSON çıktı (--format=json) ve oturum özet dosyası (--session-summary) desteklenir
  • CI/CD ve otomasyon scriptleriyle entegrasyon için uygundur

Tip 12 — Sohbet oturumlarını kaydetme ve sürdürme

  • /chat save <name> ile oturum kaydedilir, /chat resume <name> ile geri açılır
  • /chat list ile liste görülebilir, /chat share ile paylaşılabilir
  • Uzun hata ayıklama süreçlerinde veya paralel çoklu projelerde faydalıdır

Tip 13 — Çoklu dizin çalışma alanı

  • --include-directories veya ayar dosyasıyla birden fazla klasör tek bir çalışma alanında birleştirilebilir
  • /directory show ile şu anda dahil edilen klasörler görülebilir
  • Frontend·backend eşzamanlı düzenlemeleri gibi polyrepo ortamlarını destekler

Tip 14 — Yapay zeka tabanlı dosya düzenleme

  • Dizin içindeki dosyalar türlerine göre sınıflandırılıp taşınabilir
    • Örnek: görseller→Images, PDF’ler→Documents
  • Görsel içeriğine göre otomatik yeniden adlandırma da yapılabilir
  • Çalıştırmadan önce komut önizlemesiyle güvenli inceleme önerilir

Tip 15 — Sohbet sıkıştırmayla bağlamı koruma

  • /compress komutuyla uzun konuşmalar özetlenerek bağlam alanı açılabilir
  • Yalnızca temel bilgiler korunurken oturum sürdürülebilir
  • Otomatik sıkıştırma eşiği de ayarlanabilir

Tip 16 — ! ile shell komutu çalıştırma

  • !command ile terminal komutları doğrudan çalıştırılabilir
  • Sadece ! girildiğinde shell moduna geçilir, tekrar ! ile çıkılır
  • Yapay zeka diyaloğu ile sistem komutları tek bir arayüzde birleştirilir

Tip 17 — Tüm CLI araçlarını Gemini aracı olarak kullanma

  • $PATH içindeki tüm komutlar yapay zeka tarafından çağrılabilir
    • Örnek: convert, docker, ffmpeg, git vb.
  • Ortama göre PATH kısıtlama veya whitelist yapılandırması önerilir

Tip 18 — Multimodal girdilerden yararlanma

  • Görsel·PDF·ses dosyaları @ ile eklenip analiz edilebilir
    • Örnek: UI ekran görüntüsü açıklama, hata görseli analizi, OCR işleme
  • Görsel materyal tabanlı kod üretimi ve veri çıkarımı desteklenir

Tip 19 — $PATH ve araç erişim kontrolü

  • Kısıtlı PATH ile çalıştırarak kararlılık ve güvenlik artırılabilir
  • settings.json içindeki excludeTools ile riskli komutlar engellenebilir
  • --sandbox seçeneğiyle Docker izole ortamında çalıştırma desteklenir

Tip 20 — Token önbellekleme ve kullanım takibi

  • API anahtarı veya Vertex kimlik doğrulaması kullanıldığında token yeniden kullanımıyla maliyet düşürülebilir
  • /stats komutuyla önbellek isabet oranı ve token kullanımı görülebilir
  • --session-summary ile oturum bazlı JSON raporu kaydedilebilir

Tip 21 — /copy ile panoya kopyalama

  • Son çıktı (ör. kod) anında panoya kopyalanabilir
  • macOS(pbcopy), Windows(clip), Linux(xclip) desteklenir

Tip 22 — Ctrl+C kısayol kontrolü

  • Bir kez basıldığında işlem durur, iki kez basıldığında CLI kapanır
  • Shell modunda Ctrl+C veya Esc ile çıkılabilir

Tip 23 — settings.json ile kullanıcı ayarları

  • Tema, sandbox, otomatik onay, Vim modu gibi ayrıntılı ayarlar yapılabilir
  • /settings komutuyla etkileşimli düzenleme desteklenir
  • Genel (~/.gemini/) ve proje bazlı ayarlar birleştirilir

Tip 24 — VS Code entegrasyonu

  • VS Code uzantısı (Companion Extension) ile dosya·imleç·seçim alanı otomatik olarak algılanır
  • Kod değişikliği önerilerinde VS Code diff görüntüleyicisi otomatik açılır
  • /ide install, /ide enable, /ide status ile yönetilir

Tip 25 — GitHub Action otomasyonu

  • Gemini CLI GitHub Action ile issue sınıflandırma ve PR inceleme otomatikleştirilebilir
  • @gemini-cli mention’ı ile test kodu üretme gibi istekler yapılabilir
  • /setup-github komutuyla workflow dosyası otomatik oluşturulabilir

Tip 26 — Telemetri (Observability)

  • OpenTelemetry tabanlı olarak oturum metrikleri·loglar·trace’ler toplanabilir
  • "telemetry.enabled": true ayarı veya --telemetry bayrağıyla etkinleştirilir
  • Yerel dosya, GCP, Prometheus gibi çeşitli backend’lere gönderim yapılabilir

Tip 27 — Yol haritasını izleme

  • GitHub’daki açık Gemini CLI yol haritası üzerinden gelecek özellikler görülebilir
    • Örnek: arka plan ajanları, model genişletmeleri, UI iyileştirmeleri vb.
  • Topluluk geri bildirimi verme ve özellik önerme imkânı vardır

Tip 28 — Uzantılar (Extensions)

  • gemini extensions install <URL> ile harici servis entegrasyonları yapılabilir
    • Örnek: Cloud Run, BigQuery, Figma, Stripe vb.
  • Uzantılar, MCP araçları·komutlar·bağlam ekleyen modüler bir yapıya sahiptir
  • /extensions komutuyla etkin uzantı listesi görülebilir

Ek özellik — Corgi Mode 🐕

  • /corgi komutuyla terminalde corgi animasyonu çalıştırılır
  • Sadece bir easter egg özelliğidir ve CLI kullanımı sırasında kısa bir mola sunar

Sonuç

  • Gemini CLI, kod yazımından sistem yönetimine, otomasyondan iş birliğine kadar uzanan yapay zeka tabanlı bir geliştirme arayüzüdür
  • GEMINI.md, MCP, uzantılar ve IDE entegrasyonuyla kalıcı bağlam ve araç genişletilebilirliği sağlar
  • Açık kaynak ekosistemi ve hızlı güncellemeler sayesinde geliştirici iş akışının merkezindeki yapay zeka platformuna dönüşmektedir

1 yorum

 
GN⁺ 2025-11-28
Hacker News görüşü
  • Ben bu tür ayarların hiçbirini yapmıyorum
    çünkü çok hızlı eskiyorlar ve %80’i düzgün çalışmıyor
    LLM’in güvenilir biçimde çağırıp çağıramayacağı bile belirsizken özellikle MCP sunucusu yazmaya gerek olmadığını düşünüyorum
    Benim kuralım basit — kendim için dokümantasyonu (şablonlar, kontrol listeleri vb.) bizzat yazıyorum ve AI’a bir kez deneme şansı veriyorum
    Tek seferde doğru yapamazsa ya dokümanı revize ediyorum ya da işi kendim hallediyorum

    • LLM’i istatistiksel bir doküman üreticisi olarak görmek faydalı oldu
      Sonuçta kullanışlılığı eğitim verisine ve modelin evrimine bağlı; bence buna biçimsel grameri olmayan kısıt programlama gibi yaklaşmak gerekiyor
      Doğal dilin öznel yapısını düşününce, kısıt cümlelerini yinelemeli olarak hızla iyileştirmek en iyi yöntem
      Örneğin Gemini ile 4 iterasyon sonunda tamamen otomatik çalışan bir bash betiği elde ettiğim olmuştu
      İlgili kavram için Constraint programming sayfasına bakabilirsiniz
    • Son dönemde ajanların build-test-fix döngüsünü kendi başlarına yürütebilmesi çok yardımcı oldu
      Junior geliştirici seviyesindeki işleri onlara verip ben başka işlerle ilgilenebiliyorum
    • AI ajanlarına ekipteki yeni başlayan bir geliştirici gibi davranan yaklaşım etkili oluyor
      Bir kerede başarısız olursa dokümanı (.md dosyaları) iyileştirip yeniden deniyorum
      MCP’yi güvenlik riskleri nedeniyle pek kullanmıyorum ama bu yinelemeli döngü oldukça verimli
      Buna karşılık “bir kerede olmazsa kendim yaparım” demek, yeni çalışanı anında kovmak gibi
    • Şu anda yazılım geliştirmenin yeni bir platoya doğru gittiğini hissediyorum
      Henüz o noktaya ulaşmadık ve şu an geliştirdiğimiz beceriler sanki bir eğimin üzerine inşa ediliyor
    • Bence iki yaklaşım da faydalı
      1. Yeni bir oturumla başlamak ve bağlam kirlenmesini önlemek,
      2. işi kolaylaştırmak için farklı araçları birbirine bağlamak (Anthropic’in son yazısına bakın)
        Mevcut prompt değerlendirme yöntemleri güvenilir olmadığı için, bunu iyileştiren bir agentic kurulumu kendim geliştiriyorum
        Dün Dagger tabanlı bir oturum zaman yolculuğu özelliği ekledim, bugün de fork, clone ve registry özelliklerini eklemeyi planlıyorum
  • Gemini CLI hâlâ karmaşık kodlama işleri için zayıf
    Bunun nedeni basit bir ReAct döngüsü ve zayıf araç çağırma yeteneği
    Yine de açık kaynak olarak aktif biçimde geliştirildiği için potansiyeli büyük
    1M bağlam penceresiyle (yakında 2M) ve cömert ücretsiz kotasıyla “dibine kadar kullanılmalı (ABUSE IT)” diye düşünüyorum
    Ben bunu TUI/CLI orkestrasyon aracı olarak kullanıyorum; diğer araçların ürettiği kodu değerlendirmede de oldukça faydalı oldu
    Son dönemde Homebrew ile MCP’yi bağladım ve yerel LLM tabanlı Knowledge Manager’a (Nowledge Mem) entegre ettim
    İlginç şekilde Gemini CLI’ı bir SubAgent olarak kullanıp ana bağlamın kirlenmesini önleyen örnekler de gördüm
    İlgili tweet

    • Gemini CLI gerçekten vahşi bir hayvan gibi
      “Kodu değiştirme, sadece öneri ver” desen bile gidip dosyaları hemen değiştiriyor
      Pro 3 akıllı ama talimatlara uyma konusunda hâlâ istikrarsız
    • Gemini 3 Pro’yu kısaca test ettim; temel kodlama görevlerinde bile zorlanıyor
      Antigravity üzerinden denedim ama sınırlı kota yüzünden kapsamlı testler yapamadım
      Daha ayrıntılı izlenim için şu yazıya bakın
  • Addy Osmani, Google Chrome ve Gemini üzerinde çalışan İrlandalı bir yazılım mühendisi ve 25 yıllık deneyime sahip bir veteran
    Web performansını iyileştirme ve AI destekli geliştirme araçları konusunda tutkulu; 『Learning JavaScript Design Patterns』 dahil birçok kitap yazdı

    • Patrick Collison’dan 2 yıl önce Irish Young Scientist yarışmasında ödül kazanmıştı
      Yarışma bağlantısı
    • Web performansı topluluğunda çok yüksek bir itibara sahip
    • Son 5 yılda 11 kitap yayımladığı söyleniyor; acaba AI destekli yazım kullanıyor mu diye merak ediyorum
  • Ben LLM’den bağımsız (agnostic) kodlama ajanlarının standart hâline gelmesini istiyorum
    Codex ya da Gemini CLI gibi herkesin tekerleği yeniden icat etmesi yerine, LLM sağlayıcılarını eklenti gibi değiştirilebilir yapmak güzel olurdu
    Şu an Claude Code en iyisi ama Anthropic’in o yöne gideceğini sanmıyorum
    Sonuçta yeni nesil açık kaynak kodlama ajanlarını beklemek gerekecek gibi görünüyor

    • Zaten böyle bir araç olarak Aider (aider.chat) var
      Ama bu tür CLI’lar gerçek bir araçtan çok abonelik tabanlı modeller için bir arayüze benziyor
      En yeni modeller o kadar çok token tüketiyor ki, API ücretlendirmesi yerine aylık abonelik daha gerçekçi kalıyor
    • Opencode (SST tarafından geliştiriliyor) bu vizyonu iyi hayata geçiren bir örnek
      Son birkaç gündür kullanıyorum ve oldukça memnunum
      GitHub bağlantısı
      Crush, Aider, Amp Code, Emacs+gptel, Editor Code Assistant gibi çeşitli alternatifler de var
      Ancak LLM’ler ve kodlama ajanlarının birlikte evrimi (co-design) önemli olduğu için, tam ayrışma şimdilik gerçekçi değil
    • Bence Claude Code’un en iyi olmasının nedeni tam da bağımsız olmaması
    • Cursor da iyi bir alternatif
      İşin ironik yanı artık kendi LLM’ini de çıkardı
      Cursor Composer tanıtımı
    • Modelden bağımsız araç olarak Roo Code ya da onun fork’u Kilo’yu öneririm
  • Birkaç aydır Gemini CLI kullanıyorum
    İş yerinde ücretsiz abonelik olduğu için kullanmaya devam ettim
    GEMINI.md dosyasını tanıdığı söyleniyor ama pratikte çoğu zaman görmezden geliyor
    Yine de Tip 12 ve Tip 16 gibi ipuçları faydalıydı
    AI’nin halüsinasyon sorunu sürüyor ama ilk kez AI’yi gerçekten ‘eğlenceli’ bulduğum bir deneyim oldu
    Özellikle bir K8s PoC kümesini otonom biçimde debug etmesini sağladığımda, log’ları toplayıp hataları bulma süreci gerçekten şaşırtıcıydı
    Bazen fazla aptalca davranınca /quit yazıp kendim devralıyorum ama yine de keyifle kullanıyorum

    • Gemini CLI’ın bir K8s kümesini gerçek zamanlı debug etmesi gerçekten gerçeküstü
      Ben de RKE2 kümesi kurdum, bunu kesin denemek istiyorum
  • Ben AI’yi çok seviyorum
    İnternet ya da iPhone gibi, beni daha verimli bir insana dönüştüren temel bir araç gibi geliyor
    Ama “AI nasıl kullanılır” anlatan içeriklere karşı ciddi bir tutorial yorgunluğu oluştu
    Çoğu düşük kaliteli; bu yazı ise en azından biraz daha iyi tarafta
    Tıpkı JS geliştiricilerinin her hafta yeni bir framework tanıtmasına benziyor

    • Bu aralar “LLM’i şöyle kullanın” türü yazılar gerçekten sıkıcı geliyor
      Kim yazarsa yazsın, samimi olsun ya da sadece etkileşim peşinde olsun artık ilgimi çekmiyor
  • Açıkçası bu kadar karmaşık kurulum bana fazla geliyor
    Benim için AI’ye bağırır gibi prompt yazmak bile yeterince iyi çalışıyor
    LazyVim ve birkaç araçla (git, ask, ripgrep) gayet üretken olabiliyorum
    Özellikle Gemini 3, yüksek token yoğunluğu ve geniş bağlamı sayesinde çok kullanışlı
    Bağlam fazla şişince README.MD içine özet yazdırıp yeni bir ajan başlatıyorum
    ask aracı bağlantısı

    • Ben de benzer şekilde kullanıyorum; Gemini 3 açık ara daha iyi
      Diğer modellerle aynı üretkenliği yakalayamıyordum ama şimdi karmaşık işlerde bile %80’i tek seferde başarıyla çıkıyor
  • Manuel script yazımı ile LLM destekli iş akışlarının karşıtlığı ilginç
    Kısıtlar net değilse ikisi de başarısız oluyor; ama net olduğunda LLM şaşırtıcı derecede güvenilir çalışabiliyor

  • Bugünlerde AI/Agentic/Vibe coding tarafındaki sorun, evrimin aşırı hızlı olması
    En iyi pratikler yerleşemeden eskiyor
    Diller ve framework’ler değişse de problemi parçalara ayırma ve kod tabanını anlama biçimi görece istikrarlıydı,
    ama artık dengenin nereye oturacağını kestiremiyorum

  • Bana göre Gemini CLI pek iyi değil
    Kullanmak gerekiyorsa Opencode’u öneririm
    Google’ın da Codex gibi CLI’ı baştan yeniden yapması gerekiyor

    • Kişiden kişiye değişir ama benim deneyimimde Gemini CLI hızlı ve kararlı, bu yüzden ana aracım olarak kullanıyorum
    • Opencode da yakın zamanda TUI’sini tamamen değiştirdi
      Bu arada Gemini 3 şu anda Copilot üzerinden Opencode içinde çalışmıyor
      Sorun bağlantısı
    • Opencode kullanmak için belirli terminal emülatörleri (WezTerm, Alacritty, Ghostty, Kitty) gerektiği yazıyor
      Basit bir TUI için neden böyle bir kısıt gerektiğini merak etmiştim
      Resmî belgelerde Gemini’den doğrudan söz edilmiyor,
      sanki Google Vertex AI üzerinden sunuluyor gibi
      Belki Google Workspace aboneliği üzerinden Gemini bağlanabiliyor olabilir
    • Codex’e ne oldu merak ediyorum — gerçekten yeniden mi yaptılar?