- 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
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
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
Junior geliştirici seviyesindeki işleri onlara verip ben başka işlerle ilgilenebiliyorum
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
Henüz o noktaya ulaşmadık ve şu an geliştirdiğimiz beceriler sanki bir eğimin üzerine inşa ediliyor
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
“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
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ı
Yarışma bağlantısı
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
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
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
İşin ironik yanı artık kendi LLM’ini de çıkardı
Cursor Composer tanıtımı
Birkaç aydır Gemini CLI kullanıyorum
İş yerinde ücretsiz abonelik olduğu için kullanmaya devam ettim
GEMINI.mddosyasını tanıdığı söyleniyor ama pratikte çoğu zaman görmezden geliyorYine 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
/quityazıp kendim devralıyorum ama yine de keyifle kullanıyorumBen 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
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ı
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
Bu arada Gemini 3 şu anda Copilot üzerinden Opencode içinde çalışmıyor
Sorun bağlantısı
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