1. Giriş
Bu codelab'de, Gemini'ın gücünü doğrudan terminalinize getiren açık kaynaklı bir yapay zeka aracısı olan Gemini CLI hakkında bilgi edineceksiniz.
Neler öğreneceksiniz?
- Gemini KSA'yı yükleme ve yapılandırma
- Gemini KSA'da araçları, yerleşik komutları ve MCP sunucularını keşfetme
GEMINI.mddosyası aracılığıyla Gemini CLI'yı özelleştirme- Gemini CLI ile birkaç kullanım alanını keşfetme
Gerekenler
Bu codelab, Gemini KSA'nın önceden yüklü olduğu Google Cloud Shell'de tamamen çalıştırılabilir.
Alternatif olarak, kendi makinenizde çalışmayı tercih ederseniz Gemini KSA'yı yerel olarak yükleyebileceğiniz bir bölüm de vardır.
İhtiyacınız olanlar:
- Chrome web tarayıcısı
- Gmail hesabı
Bu codelab, yeni başlayanlar da dahil olmak üzere her seviyeden kullanıcı ve geliştirici için tasarlanmıştır. Codelab'deki kullanım alanları, geliştirici ve geliştirici olmayan görevler olarak sınıflandırılmıştır. Geliştirici kullanım alanları, Gemini CLI ile kod oluşturmanın ve kod açıklama/anlama, doküman oluşturma, sorunları düzeltme gibi yaygın geliştirme görevlerini gerçekleştirmek için GitHub deposuyla çalışmanın nasıl yapılacağını gösterir. Bu kullanım alanlarını codelab'de tamamlamanız önerilir. En sonda, geliştiricilere odaklanmayan ve günlük olarak yapılan çeşitli görevleri kapsayan isteğe bağlı bir bölüm bulunur.
2. Başlamadan önce
Proje oluşturma
- Google Cloud Console'daki proje seçici sayfasında bir Google Cloud projesi seçin veya oluşturun.
- Cloud projeniz için faturalandırmanın etkinleştirildiğinden emin olun. Bir projede faturalandırmanın etkin olup olmadığını kontrol etmeyi öğrenin.
- bq'nun önceden yüklendiği, Google Cloud'da çalışan bir komut satırı ortamı olan Cloud Shell'i kullanacaksınız. Google Cloud Console'un üst kısmında Cloud Shell'i Etkinleştir'i tıklayın.

- Cloud Shell'e bağlandıktan sonra aşağıdaki komutu kullanarak kimliğinizin doğrulandığını ve projenin proje kimliğinize ayarlandığını kontrol edin:
gcloud auth list
- gcloud komutunun projeniz hakkında bilgi sahibi olduğunu onaylamak için Cloud Shell'de aşağıdaki komutu çalıştırın.
gcloud config list project
- Projeniz ayarlanmamışsa ayarlamak için aşağıdaki komutu kullanın:
gcloud config set project <YOUR_PROJECT_ID>
3. Kurulum
Kurulumu yapıp Gemini CLI'ı çalıştırmadan önce, içinde oluşturacağımız tüm projeler için ana klasör olarak kullanacağımız bir klasör oluşturalım. Bu, Gemini CLI'nin çalışması için bir başlangıç noktasıdır. Ancak sisteminizdeki diğer bazı klasörlere de referans verecektir. Bu klasörlere gerektiğinde daha sonra geleceksiniz.
Devam edin ve bir örnek klasör (gemini-cli-projects) oluşturun ve aşağıdaki komutları kullanarak bu klasöre gidin. Dilerseniz başka bir klasör adı kullanabilirsiniz.
mkdir gemini-cli-projects
Şimdi o klasöre gidelim:
cd gemini-cli-projects
gemini komutunu kullanarak Gemini KSA'yı doğrudan başlatabilirsiniz.
Lütfen doğrudan sonraki bölüme (settings.json aracılığıyla Gemini CLI yapılandırması) gidin.
Gemini KSA'yı yerel olarak yüklemek istiyorsanız aşağıdaki talimatları uygulayın. Gemini KSA'nın Cloud Shell ve Cloud Workstations'a önceden yüklenmiş olduğunu unutmayın.
İlk adım, makinenize Node 20 veya sonraki bir sürümü yüklemektir. Bu işlem tamamlandıktan sonra, Gemini CLI'ı aşağıdaki yöntemlerden herhangi biriyle yükleyip çalıştırabilirsiniz:
- Öncelikle Gemini CLI'yı sisteminize global olarak yükleyebilirsiniz. Bu adımı gerçekleştirmek için yönetici erişiminiz olması gerekebilir.
# option 1: install Gemini CLI
npm install -g @google/gemini-cli
# .. and then run
gemini
- Aşağıdaki komutla çalıştırın:
# option 2: run without installing Gemini CLI
npx https://github.com/google-gemini/gemini-cli
Aşağıdaki komutu çalıştırarak KSA'nın yüklendiğini onaylayabilirsiniz:
gemini --version
Gemini CLI'yı yukarıdaki yöntemlerden herhangi biriyle başlattığınızı varsayarsak ilk başlatmada tema seçmeniz istenebilir. Bu durumda varsayılan temayı kullanabilir veya istediğiniz bir temayı seçebilirsiniz.
Bir sonraki önemli konu kimlik doğrulamadır. Kimlik doğrulama yöntemi istenir. Bu laboratuvarda Google dışı veya Google Workspace ile ilgili hesaplar yerine kişisel Google Hesabınızı kullanmanız önerilir.
Google Hesaplarına verilen mevcut ücretsiz kotayla sınırlara ulaşırsanız Gemini API anahtarını veya Google Cloud Vertex AI'ı kullanmayı tercih edebilirsiniz. Bu durumda, ilgili proje için bir proje kimliğiniz ve konum adınız olması gerekir. Diğer kimlik doğrulama yöntemlerini kullanmayı planlıyorsanız dokümanın Kimlik Doğrulama bölümüne bakın.

Enter'ı tıklayın. Tarayıcıda bir Google kimlik doğrulama sayfası açılır. Google Hesabınızla kimlik doğrulama işlemine devam edin, şartları kabul edin. Kimlik doğrulama işlemi başarıyla tamamlandıktan sonra Gemini CLI'nın hazır olduğunu ve komutunuzu beklediğini görürsünüz.
Örnek ekran görüntüsü aşağıda verilmiştir:

Bu örnekte Vertex AI seçeneği belirlenmiştir ancak sizin durumunuzda kişisel hesap olabilir. Gemini 2.5 modelini seçtiğimizi fark edeceksiniz (sağ altta görünür). /model komutunu kullanarak istediğiniz zaman belirli bir modeli seçebilirsiniz.
4. settings.json aracılığıyla Gemini CLI yapılandırması
Gemini'ı çalıştırmak için Cloud Shell'i seçerseniz Gemini CLI için varsayılan tema ve kimlik doğrulama yöntemi sizin için önceden seçilip yapılandırılır.
Gemini CLI'yi makinenize yükleyip ilk kez başlattıysanız önce bir tema, ardından bir kimlik doğrulama yöntemi seçmişsinizdir.
Artık Gemini CLI'nın sonraki çalıştırmalarında tema ve kimlik doğrulama yöntemi seçmeniz istenmez. Bu, ayarın bir yerde kalıcı olarak saklandığı ve kullanılan dosyanın settings.json olarak adlandırıldığı anlamına gelir. Bu dosya, Gemini CLI'yı özelleştirmenin yoludur.
Ayarlar aşağıdaki öncelik sırasına göre uygulanır (Cloud Shell yalnızca kullanıcı ayarlarını kullanılabilir hale getirir):
- Sistem:
/etc/gemini-cli/settings.json(Tüm kullanıcılar için geçerlidir, kullanıcı ve çalışma alanı ayarlarını geçersiz kılar.) - Workspace:
.gemini/settings.json(kullanıcı ayarlarını geçersiz kılar). - Kullanıcı:
~/.gemini/settings.json.
Windows Kullanıcısı: %USERPROFILE%.gemini\settings.json (genellikle C:\Users<YourUsername>.gemini\settings.json olarak genişletilir)
Sistem: %ProgramData%\gemini-cli\settings.json (genellikle C:\ProgramData\gemini-cli\settings.json olarak genişletilir)
Mac Kullanıcısı: ~/.gemini/settings.json (/Users/<YourUsername>/.gemini/settings.json olarak genişletilir)
Sistem: /etc/gemini-cli/settings.json
Hatırlarsanız temayı seçerken ayarların Kullanıcı Ayarları'na kaydedilmesini seçmiştiniz. Bu nedenle ~/.gemini folder adresini ziyaret ettiğinizde settings.json dosyasını görürsünüz.
settings.json dosyam aşağıda gösteriliyor. Başka bir tema seçtiyseniz adı orada görürsünüz.
{
"security": {
"auth": {
"selectedType": "oauth-personal" or "cloud-shell"
}
},
"ui": {
"theme": "Default"
}
}
5. Gemini CLI ile ilk etkileşimimiz
Gemini KSA'yı kullanmaya başlayalım ve ilk sorgunuzu aşağıda gösterildiği gibi yazın:
Give me a famous quote on Artificial Intelligence and who said that?
Beklenen yanıt aşağıda gösterilmiştir:
> Give me a famous quote on Artificial Intelligence and who said that?
✦ "The only way to do great work is to love what you do." - Steve Jobs (While not directly about AI, it's a famous quote related to technology and innovation, which underpins AI development.)
Alternatively:
"The development of full artificial intelligence could spell the end of the human race." - Stephen Hawking
Gemini CLI'yı ve desteklediği çeşitli komutları anlamanın hızlı bir yolu, /help (eğik çizgi) yazmaktır. Bu şekilde çeşitli komutları ve klavye kısayollarını görebilirsiniz.
Şimdilik Gemini CLI'dan çıkalım. Bu işlemi /quit komutuyla veya etkileşimli Gemini KSA terminal oturumunda Ctrl-C komutunu iki kez çalıştırarak yapabilirsiniz. Gemini CLI'dan çıktığınızda oturumunuz, model kullanımınız ve diğer metrikler hakkında bilgi veren oturum istatistikleriniz gösterilir.
6. Gemini CLI - Komut Parametreleri
Gemini KSA'yı başlatırken kullanabileceğiniz birkaç komut satırı parametresi vardır. Seçeneklerin tam listesini görmek için aşağıda gösterildiği gibi --help kullanabilirsiniz.
gemini --help
Bu işlem, mevcut seçeneklerin tamamını gösterir. Buradaki belgeleri incelemeniz önerilir.
Bunlardan birkaçına göz atalım. İlk yöntem, Gemini KSA'yı belirli bir Gemini modunu kullanacak şekilde yapılandırmaktır. Bu laboratuvarın güncellendiği sırada desteklenen modellerin listesi aşağıda verilmiştir. Belirli bir modeli kullanmak için Gemini KSA'yı başlatırken aşağıdaki örnekte gösterildiği gibi -m parametresini kullanabilirsiniz:
gemini -m "gemini-2.5-flash"
Yukarıdaki şekilde başlarsanız modeli Gemini CLI terminalinin sağ alt kısmından kontrol edebilirsiniz.
Gemini CLI uygulamasına girdikten sonra /model komutunu kullanarak model seçmenize olanak tanıyan bir iletişim kutusu açabilirsiniz. Aşağıda örnek bir çalıştırma gösterilmektedir. İhtiyaçlarınıza ve verilen talimatlara bağlı olarak, karmaşıklığa ve maliyetleri kontrol etme ihtiyacına göre göreve uygun modeli seçmek için modeli değiştirmeye devam edebilirsiniz.

Etkileşimsiz mod
İlginç bir seçenek de Gemini KSA'yı etkileşimli olmayan bir modda çalıştırmaktır. Bu durumda, istemi doğrudan Gemini'a sağlarsınız ve Gemini CLI etkileşimli terminali açılmadan yanıt verir. Bu, Gemini CLI'yı komut dosyasının veya başka bir otomasyon sürecinin parçası olarak otomatik bir şekilde kullanmayı planlıyorsanız çok yararlıdır. Aşağıda gösterildiği gibi, Gemini CLI'ye istemi sağlamak için -p parametresini kullanırsınız:
gemini -p "What is the gcloud command to deploy to Cloud Run"
Ek sorularla sohbete devam etme imkanı olmadığını unutmayın. Bu modda araçları (WriteFile dahil) yetkilendirmenize veya kabuk komutları çalıştırmanıza da izin verilmez.
-p parametresini atlayıp yalnızca aşağıdakileri sağlarsanız Gemini KSA'nın istemle açılacağını ve bu istemle devam edeceğini unutmayın.
gemini "What is the gcloud command to deploy to Cloud Run"
7. Gemini CLI - Yerleşik Araçlar
Gemini CLI, bir dizi yerleşik araçla birlikte gelir ve araç dokümanlarında "Gemini modeli, yerel ortamınızla etkileşim kurmak, bilgilere erişmek ve işlemleri gerçekleştirmek için bu araçları kullanır. Bu araçlar, CLI'nın özelliklerini geliştirerek metin oluşturmanın ötesine geçmesini ve çok çeşitli görevlerde yardımcı olmasını sağlar."
Mevcut Yerleşik Araçlar'ın listesini almak için /tools komutunu aşağıda gösterildiği gibi çağırın:
Available Gemini CLI tools:
- Activate Skill (activate_skill)
- Ask User (ask_user)
- Edit (replace)
- Enter Plan Mode (enter_plan_mode)
- FindFiles (glob)
- GoogleSearch (google_web_search)
- Invoke Subagent (invoke_agent)
- List Background Processes (list_background_processes)
- Read Background Output (read_background_output)
- ReadFile (read_file)
- ReadFolder (list_directory)
- SearchText (grep_search)
- Shell (run_shell_command)
- Update Topic Context (update_topic)
- WebFetch (web_fetch)
- WriteFile (write_file)
Hemen dikkatinizi çekmesi gereken şeylerden biri, Gemini CLI'ın istediği zaman bu araçları basitçe çağırıp çağıramayacağını kendinize sormaktır. Yerel sisteme yazma, harici bir sistemden okuma, harici ağa gitme gibi hassas işlemler söz konusu olduğunda varsayılan yanıt hayır'dır.
CLI'yı başlattığınızda --yolo seçeneği kullanılabilir (genellikle önerilmez). Gemini CLI'nın seçtiği aracı çalıştırmak için sizden izin isteyeceğini göreceksiniz. İzni reddedebilir, tek bir kez çalışmasına izin verebilir veya her zaman çalışması için genel izin verebilirsiniz. Her şeyin kontrolü sizde olmalıdır.
Gemini CLI'ın yürütülecek yerleşik araçlardan birini seçmesini sağlayacak ve her şeyin nasıl çalıştığına dair iyi bir anlayış kazanmanızı sağlayacak bir istem kullanalım.
Dünyadaki en son finans haberleri hakkında bilgi edinmek ve bu bilgileri Gemini CLI'yi başlattığınız yerel çalışma dizinindeki bir dosyaya kaydetmek istediğiniz bir senaryo düşünün. Aşağıdaki istemi kullanın:
Search for the latest headlines today in the world of finance and save them in a file named finance-news-today.txt
Bir an için ne yapması gerektiğini düşünün. İdeal olarak, finansal haberler sağlayabilecek bazı alakalı bilgi kaynaklarından haber almak için Google Arama yapması gerekir. Ardından, içeriğiyle birlikte finance-news-today.txt adlı bir dosya oluşturması gerekir (yerel sisteminizde yazma işlemi için izniniz gerekir).
Ne olduğuna bakalım (makinenizde aynı işlemi yapmaya devam etmelisiniz).
Bu araç, ilk olarak web'de arama yapmak ve sonuçları almak için GoogleSearch aracını çağırır. Bu işlem aşağıda gösterilmiştir:
Searching for Finance News:
I will first search for the latest finance headlines and then save them to a file.
✓ GoogleSearch Searching the web for: "latest finance headlines"
→ Search results for "latest finance headlines" returned.
Saving Finance News: I will now save the finance headlines to the file 'finance-news-today.txt'.
Bu işlem tamamlandıktan sonra dosyaya yazmaya hazır olur ve WriteFile aracını kullanır. Ancak bu hassas bir işlem (yazma) olduğundan izninizi ister. İzin türüne (ör. bir kez izin ver, her zaman izin ver) karar verebilirsiniz. Şimdilik bir kez izin ver'i seçin.
Ardından bilgiler dosyaya yazılır ve aşağıda başarı mesajı gösterilir:
✦ I have saved the latest finance news to finance-news-today.txt.
Finance News Saved: The task is complete.
Dosyanın yazılıp yazılmadığını nasıl kontrol edersiniz? @file simgesini kullanarak içeriği okumasını isteyebilirsiniz. @ yazarken geçerli klasördeki dosyaların listesi gösterilir ve yeni oluşturulan dosya da bu listede yer alır. Bunu seçip istemi gönderin. İstemim aşağıda gösterilmiştir:
read the contents of @finance-news-today.txt
Bu işlem, gerekli araçların (ReadManyFiles, ReadFile) çağrılmasına ve içeriklerin aşağıda gösterildiği gibi görüntülenmesine neden olur:
✓ ReadManyFiles Attempting to read files from finance-news-today.txt → Read 1 file(s)
Topic: Summarizing the financial news headlines.
✦ The latest finance headlines as of May 15, 2026, include:
Global Markets & Economy:
* The Dow Jones Industrial Average surpassed 50,000 for the first time, driven by strong earnings from Cisco
Systems and a 2% rise in Nasdaq due to tech stocks.
* Inflation concerns are growing, hinting at potential Fed interest rate hikes.
* Kevin Warsh has been confirmed as the new Federal Reserve head.
* A "constructive" U.S.-China summit took place in Beijing between President Trump and President Xi, with
markets watching for impacts from proposed tariffs.
Corporate & Tech News:
<REST OF THE CONTENT>
8. Gemini CLI - Shell modu
Bu, Gemini KSA'dan doğrudan kabuk ile nasıl çalışacağınızı öğrenmek için iyi bir zamandır. İleti kutusunda ! tuşuna basarak kabuk moduna geçebilirsiniz. Bu işlem, Shell moduna geçiş yapar. ! tuşuna tekrar basarak veya ESC tuşuna basarak geri dönebilirsiniz.
Kabuk modundayken istemin başında aşağıdaki gibi ! simgesini görürsünüz:

Aşağıda gösterildiği gibi pwd ve ls gibi standart komutları kullanarak doğrudan kontrol edebilirsiniz. Komutların Linux türü bir işletim sistemi için geçerli olduğunu lütfen unutmayın. Başka bir işletim sisteminde (Windows) çalışıyorsanız lütfen (cd, dir ve type) gibi eşdeğer komutları kullanın. Bu çağrıların çıktısının modelin bağlam penceresine dahil edildiğini unutmayın.

Dosyanın içeriğini cat komutuyla da yazdırabilirsiniz. Örneğin, cat finance-news-today.txt.
Alıştırma: Deneyebileceğiniz kısa bir alıştırma. Tercih ettiğiniz bir RSS özet akışı seçin. Gemini KSA'ya RSS özet akışının içeriğini getirmesi ve sonuçları sizin için belirli bir şekilde biçimlendirmesi yönünde istem girin. Bu, günün başında bir şeyi otomatize etmenin iyi bir yoludur. Hatta Gemini KSA'dan belirli bir alan için RSS özet akışı olup olmadığını (ör. Google Cloud Platform Sürüm Notları) belirlemesini isteyebilirsiniz.
Örnek istem aşağıda gösterilmiştir:
Get the latest release notes for Google Cloud from its RSS Feed and display the key points in a well-formatted list.
Bu istem, ideal olarak önce Google Cloud Platform RSS özet akışını bulmak için GoogleSearch aracını çağırır. Ardından, RSS özet akışının içeriğini almak ve görüntülemek için WebFetch aracını kullanır. Bu araçları çağırmak için izin istenebilir. Lütfen gerekli onayı verin.
9. Gemini CLI Uzantıları
Dokümantasyonda belirtildiği gibi, Gemini CLI uzantıları istemleri, MCP sunucularını ve özel komutları tanıdık ve kullanıcı dostu bir biçimde paketler. Uzantılarla Gemini KSA'nın özelliklerini genişletebilir ve bu özellikleri başkalarıyla paylaşabilirsiniz. Gemini KSA'nın işlevselliğini yerleşik araçlarının ötesine genişletmek için kullanılan birincil mekanizmadır.
Uzantılar, bağımsız, sürümlendirilebilir ve kolayca dağıtılabilir paketlerdir. Bunu, Gemini CLI özelleştirmeleriniz için "kargo konteyneri" olarak düşünebilirsiniz. Belirli bir iş akışı için gereken her şeyi tek bir pakette bir araya getirir.

Bir uzantı, aşağıdakilerin herhangi bir kombinasyonunu paketleyebilir:
- Özel eğik çizgi komutları (.toml dosyalarınız).
- MCP sunucu yapılandırmaları (daha önce settings.json dosyasında bulunuyordu).
- Modele özel talimatlar ve yönergeler sağlamak için bağlam dosyaları (GEMINI.md).
- Daha güvenli ve odaklanılmış bir ortam oluşturmak için araç kısıtlamaları (excludeTools).
Uzantı Galerisi'ni keşfetme
Uzantı Galerisi, Google tarafından geliştirilen ve üçüncü taraf uzantılarının keşfedildiği merkezi bir pazar yeridir:
- Tarayıcınızda şu URL'yi açın:
https://geminicli.com/extensions/ - Bu galeri, ekosistemin keşfedilebilirlik motorudur. GitHub, Redis ve DynaTrace gibi şirketlerin uzantılarını inceleyerek mevcut araçların kapsamını görebilirsiniz.
- Aşağı kaydırıp Cloud Run'ın uzantı kartını bulun veya bağlantısını tıklayın.
- Kartta açıklama, yazar (Google) ve tek tıklamayla
Copykomut düğmesi bulunur. Bu, bir uzantının yükleme komutunu almanın en basit yoludur.
Gemini CLI Uzantıları - Yönetim Komutları
gemini extensions komutu, yerel uzantılarınızı yönetmek için giriş noktanızdır.
Kullanılabilir komutların listesini görmek için terminalinizde çalıştırın.
gemini extensions <command>
Manage Gemini CLI extensions.
Commands:
gemini extensions install <source> [--auto-update] [--pre-release]
Installs an extension from a git repository URL or a local path.
gemini extensions uninstall [names..]
Uninstalls one or more extensions.
gemini extensions list
Lists installed extensions.
gemini extensions update [<name>] [--all]
Updates all extensions or a named extension to the latest version.
gemini extensions disable [--scope] <name>
Disables an extension.
gemini extensions enable [--scope] <name>
Enables an extension.
gemini extensions link <path>
Links an extension from a local path. Updates made to the local path
will always be reflected.
gemini extensions new <path> [template]
Create a new extension from a boilerplate example.
gemini extensions validate <path>
Validates an extension from a local path.
gemini extensions config [name] [setting]
Configure extension settings.
Options:
Komutlar basittir (yükleme/kaldırma, listeleme, güncelleme, etkinleştirme/devre dışı bırakma vb.) ve bu kod laboratuvarında bu komutlardan bazılarını kullanacağız.
Mevcut uzantı listenizi kontrol edin
Herhangi bir şey yüklemeden önce "temiz sayfamızı" kontrol edelim.
gemini extensions listkomutunu çalıştırın:- Henüz uzantı yüklenmediğini onaylayan aşağıdaki çıkışı görmeniz gerekir.
No extensions installed.
Cloud Run MCP sunucusunu yapılandırma
Gemini KSA Uzantıları galerisinde bulunan Cloud Run uzantısı, uygulamalarımızı Cloud Run'a dağıtmamıza olanak tanıyan bir MCP sunucusudur.
Uzantı galerisindeki Cloud Run Uzantısı kartı aşağıda gösterilmektedir:

Öncelikle yukarıda gösterildiği gibi Copy install command (Yükleme komutunu kopyala) seçeneğini tıklayarak Cloud Run uzantısını yükleyelim. Ardından bu komutu Cloud Shell terminaline yapıştırın (aşağıdakine benzer olmalıdır):
gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp
Yukarıdaki komutu çalıştırdığınızda sizden onay istenecektir. Onaylayabilirsiniz. Cloud Run uzantısı, Google proje kimliğinizi ve Google proje konumunuzu ister. Lütfen bunu sağlayın. Cloud Run uzantısı başarıyla yüklenir.
Şimdi gemini extensions list komutunu çalıştırırsanız Cloud Run uzantısının aşağıdaki gibi yüklendiğini görürsünüz:
✓ cloud-run (1.0.0)
ID: 3c1a38909b6d7d90b6acc8ca1e80d97b4a867253a3cd12d841b2aab4e556a58f
name: 0b1820c1f0c043bbb3b54f496d862c02172424c930eb965d61f468be52e6f127
Path: /Users/romin/.gemini/extensions/cloud-run
Source: https://github.com/GoogleCloudPlatform/cloud-run-mcp (Type: github-release)
Release tag: v1.10.0
Enabled (User): true
Enabled (Workspace): true
Context files:
/Users/romin/.gemini/extensions/cloud-run/gemini-extension/GEMINI.md
MCP servers:
cloud-run
Settings:
Project ID: YOUR_GCP_PROJEC_ID (User - /Users/romin/.gemini/extensions/cloud-run/.env)
Region: YOUR_GCP_PROJECT_LOCATION (User - /Users/romin/.gemini/extensions/cloud-run/.env)
Gemini CLI'yı şimdi başlatıp /mcp list komutunu çalıştırırsanız aşağıdakileri görürsünüz. Cloud Run MCP sunucusunun araçlarına ve istemlerine dikkat edin.
Configured MCP servers:
🟢 cloud-run (from cloud-run) - Ready (8 tools, 2 prompts)
Tools:
- mcp_cloud-run_create_project
- mcp_cloud-run_deploy_container_image
- mcp_cloud-run_deploy_file_contents
- mcp_cloud-run_deploy_local_folder
- mcp_cloud-run_get_service
- mcp_cloud-run_get_service_log
- mcp_cloud-run_list_projects
- mcp_cloud-run_list_services
Prompts:
- deploy
- logs
Bu, nasıl yapılandırılacağını gösterdiğimiz Gemini CLI uzantılarından yalnızca bir örnektir. Daha fazla uzantı keşfetmek için Uzantı Galerisi'ne göz atabilirsiniz.
10. Deneyebileceğiniz kullanım alanları
Gemini CLI, hem geliştiriciler hem de geliştirici olmayanlar için geçerli olan çok çeşitli kullanım alanlarında uygulanabilir. Burada birkaç senaryo sunulmuştur. İlgi alanınıza bağlı olarak bu senaryolardan herhangi birini veya tümünü deneyebilirsiniz.
Bu durumlarda istem sağlanır. Bu özelliği, Gemini KSA'yı başlatırken -p parametresini kullanarak Gemini KSA'da etkileşimli veya etkileşimsiz modda deneyebilirsiniz.
Gemini KSA ile sezgisel kodlama
Bir uygulamayı sezgisel kodlamak için Gemini KSA'yı kullanalım. Bu görevde, Gemini CLI'dan bir uygulama oluşturmasını isteyecek ve ardından ilk sürümü GitHub deposuna göndereceksiniz.
Ön koşul
Bu bölümdeki görevleri gerçekleştirmek için birkaç ön koşul vardır:
- Git
- Gemini CLI
- Kurulum
gh( GitHub CLI aracı). - Git'in temelleri ve biraz programlama bilgisi
Gemini CLI'yı seçtiğiniz belirli bir klasörde başlattığınızı varsayacağız. Bizim durumumuzda, Gemini CLI'yı ilk ana klasörden gemini-cli-projects ve bu klasörün içindeki başka bir klasörden event-website başlattık.
İlk istemle başlayın. Bunu, uygulamanızın spesifikasyonu olarak düşünebilirsiniz. İstediğiniz gibi değiştirebilirsiniz. Gemini CLI ile oturumunuz boyunca, dosyaları oluşturmak için sizden izin isteyeceğini unutmayın. Gerekli izinleri verin.
Bu görevde, biraz daha fazla kontrol istediğimiz için Gemini KSA'nın uygulamayı çalıştırmasını veya bizim için test etmesini istemiyoruz. Ancak bunu yapmak tamamen size bağlıdır.
Generate a website for a 1-day event filled with technical talks. There are going to be 6 talks in a single track of 1 hour each. Each talk has the following information: title, 1 or maximum of 2 speakers, category (1 or maximum of 3 keywords), duration and a description. The website has a single page where users can see the schedule for the entire day with the timings. There will be one lunch break of an hour and the event starts at 10:00 AM. Keep a 10 minute transition between talks. I would like to use Node.js on the server side and standard HTML, JavaScript and CSS on the front-end. The users should be able to search the talks based on category.
I would like you to proceed in the following way:
1. Plan out how you would design and code this application.
2. Ask me for any clarifications along the way.
3. Once I am fine with it, do generate the code and provide me instructions to run and test locally.
Aşağıdaki birkaç istem ve yanıt, gözlemlenen örnek bir akışı gösterir. Gemini CLI bir plan oluşturur ve onay / açıklama isteğinde bulunur ya da devam eder. Lütfen talimatları uygulayın. Örnek olarak, örnek sohbet dizim:
✦ Of course. I will start by creating a plan for the application.
Plan:
1. Backend (Node.js):
* I'll set up a simple Node.js server using the Express.js framework.
* This server will have two main purposes:
1. Serve the static frontend files (HTML, CSS, JavaScript).
2. Provide an API endpoint (e.g., /api/talks) that will send the event schedule data to the frontend as a JSON object.
* The talk data will be stored in a separate talks.json file for easy management.
2. Frontend (HTML, CSS, JS):
* HTML: A single index.html file will define the structure of the page, including a container for the schedule and a search input field for filtering by category.
* CSS: A style.css file will be used to style the website for a clean and professional look, ensuring the schedule is easy to read.
* JavaScript: A script.js file will handle the dynamic aspects of the site:
1. It will fetch the talk data from the backend API when the page loads.
2. It will dynamically render the schedule on the page based on the fetched data.
3. It will implement the search functionality. As the user types in the search box, it will filter the displayed talks based on the category keywords.
3. Project Structure:
I will organize the project with a clear and standard structure:
1 /
2 ├── public/
3 │ ├── index.html
4 │ ├── style.css
5 │ └── script.js
6 ├── talks.json
7 └── server.js
8 └── package.json
Before I proceed with generating the code, I have a few questions to ensure the final product meets your expectations:
Hatta bana birkaç soru soruyor (aşağıda gösterilen ve yanıtladığım sorular):

Ardından kod oluşturmaya devam ediyor, birkaç noktada benden onay istiyor ve devam etmesi için gerekli izni veriyorum.
Son olarak sunucuyu başlattı ve sayfayı incelememi istedi:
The server is now running in the background.
3. View Your Website
You can now open your web browser and navigate to the following address to see your website:
http://localhost:3000 (http://localhost:3000)
4. Test the Search Functionality
Once the page is loaded, you can test the search functionality by typing a category into the search bar (e.g., "AI", "Frontend", "Cybersecurity"). The list of talks
will filter in real-time.
This completes the setup and implementation of your event website. Let me know if you have any other questions.
Aşağıda, oluşturulan örnek sayfa verilmiştir:

Gemini KSA'nın yardımıyla daha fazla değişiklik yapmaya devam edebilirsiniz. Değişikliklerden memnun kaldığınızda bunları bir GitHub deposuna aktarabilirsiniz.
Öncelikle .gitignore dosyası oluşturalım. Bu konuda Gemini CLI'dan yardım alabilirsiniz.
Create a .gitignore file for this project.
Bir sonraki adımda, bu depoyu GitHub hesabımızda göndermesi için Gemini CLI'ya talimat vermeniz gerekir. Bu işlem, arka planda GitHub MCP sunucu araçlarını kullanır.
Aşağıdakine benzer bir istem girin:
Great! I would now like to push all of this to a new repository in my GitHub account. I would like to name this repository <Your-Name>-event-talks-app
Burada çeşitli komutlar çalıştırılır:
- Kod deposunu oluşturun.
- Yerel Git deposunu yönetmek için init, add, commit gibi birden fazla Git komutu kullanılır.
- Ardından Git remote'u kurar ve push işlemi yapar.
Not: Gemini CLI'nin zaman aşımına uğrayabileceği veya yanlış kullanıcı adı kullanabileceği durumlar olabilir. Bu gibi durumlarda Gemini CLI ile etkileşime geçin ve düzeltmeleri önerin.
Her şey yolunda giderse GitHub deposu oluşturulur. Örnek ekran görüntüsü aşağıda gösterilmiştir:

Bu proje için README.md oluşturmadığınızı ve bunun, şimdi oluşturduğunuz bu depoyla çalışacağımız bir sonraki bölüm için iyi bir alıştırma olduğunu unutmayın.
GitHub deposunda çalışmak için Gemini CLI'yı kullanma
Bu kullanım alanında, GitHub deposuyla çalışmak için Gemini CLI'ı kullanacaksınız. Aşağıdakiler de dahil olmak üzere birden fazla görev gerçekleştireceksiniz:
- Kod tabanını anlama
- Belge oluşturma
- Yeni bir özelliği uygulama
- Değişiklikleri kaydedip depoya geri aktarma
- GitHub Sorunu üzerinde çalışma ve önerilen değişiklikleri uygulama
Bu, depolarınızla çalışmak ve Gemini KSA'yı geliştiriciye özel görevlerde asistan olarak kullanmak için iyi bir temel oluşturur.
Ön koşul
Bu bölümdeki görevleri gerçekleştirmek için aşağıdakilere ihtiyacınız olacak:
- Git
- Gemini CLI ve
gh( GitHub CLI aracı). - Git'in temelleri ve biraz programlama bilgisi (Gemini KSA'yı yüklediğiniz için makinenizde ortam hazır olabilir. Bu nedenle bu örnekte Node.js'yi kullanacağız). Ancak daha sonra farklı bir programlama dili ve çerçeveyle istediğiniz depoyu seçebilirsiniz.
- Önceki bölümü tamamlamış olmanız ve Event Talks web sitesini oluşturduğumuz depoyu hazır bulundurmanız gerekir.
Event Talks uygulamasını oluşturmak için kullandığınız klasör/dizinden Gemini CLI'ı kullanmaya devam edelim. Gerekirse depoyu yerel makinenize klonlayıp Gemini CLI'ı bu dizinden başlatabilirsiniz. Aşağıda listelenen senaryoları deneyin:
Kod tabanını anlama
- Bu projeyi ayrıntılı olarak anlamak istiyorum. Temel özellikleri anlamama yardımcı ol ve bunları sunucu ve istemci tarafı olarak ayır. Örnek bir akış al ve istek ile yanıtın nasıl çalıştığını göster.
Explain @server.js
README dosyası oluşturma
- Bu proje için
READMEdosyası oluşturun.
Yeni bir özelliği uygulama
- Kullanıcının belirli bir konuşmacıya göre de arama yapmasına olanak tanıyan yeni bir özellik uygulamak istiyorum. Önce bu değişikliği nasıl uygulayacağınıza dair bir plan gösterin, ardından kodu oluşturabiliriz.
Onaylayabileceğiniz bir plan sunar. Onayınızın ardından Gemini CLI bu değişiklikleri yapar. Değişikliklerinizi test edin ve hatalar varsa (büyük olasılıkla) Gemini CLI'dan bunları düzeltmesini isteyin.
Değişiklikler istediğiniz gibi olduğunda, bunları kaydedip uzak depoya göndermek için aynı adımları uygulayabilirsiniz. Hatta bu işlemleri sizin için otomatik olarak da yapabilir. Gemini KSA'nın yapabileceklerini veya yapamayacaklarını istediğiniz zaman sorabilirsiniz.
Önerilen özelliklere göre sorun oluşturma
Burada ilginç bir şey deneyelim. Gemini CLI'ya bu uygulamanın kullanıcı deneyimini nasıl iyileştirebileceğini soracaksınız. Gemini CLI, değerlendirmesine dayanarak aynı GitHub deposunda bu önerileri sorun olarak oluşturabilir. GitHub MCP sunucusundaki "create_issue" aracını kullanır.
Aşağıdaki istemi deneyin:
- Uygulamayı kullanıcı deneyimi açısından değerlendirmeni istiyorum. Kullanım kolaylığı, duyarlılık, faydalı mesajlar ve daha fazlası. Lütfen bir iyileştirme listesi oluşturun ve ardından bunları GitHub deposunda Sorun olarak oluşturun.
İdeal olarak, iyileştirmeleri önce sizinle paylaşır ve ardından GitHub deposunda sorun oluşturmak için izninizi ister. Çalışmamızdan örnek bir ekran görüntüsü:

GitHub Sorunu üzerinde çalışma ve önerilen değişiklikleri uygulama
Artık daha önce oluşturulan sorunlardan birini alıp Gemini KSA'dan üzerinde çalışmasını ve bunu uygulamasını isteyebilirsiniz.
Üretilen örnek bir sorun aşağıda gösterilmektedir:

Sorun URL'sinin tamamını alıp aşağıdaki gibi bir istem girin:
- Lütfen Sorun:
<YOUR_ISSUE_URL>bölümünü inceleyin ve hangi değişikliklerin yapılması gerektiğini anlayın. Önce planı tartış, ardından önerilen değişiklikleri kodda göster.
Değişiklikleri onaylayıp depoya gönderebilirsiniz. Hatta sorunu kapatmasını bile isteyebilirsiniz.
(İsteğe bağlı) Günlük Görevler
Aşağıda verilen kullanım alanları, düzenli olarak yapmanız gereken görevlerdir. Örneğin, dosyaları klasörler halinde düzenleme, web'deki içerikleri getirme ve özetleme, resim dosyalarını işleme ve bu dosyalardan içerik ayıklama, veritabanlarıyla çalışma gibi işlemler bu kapsamdadır.
İstediğiniz kullanım alanlarını inceleyebilirsiniz.
Dosyaları/Klasörleri Düzenleme
Gemini KSA'yı kullanarak dosyaları türlerine göre çeşitli klasörlerde istediğiniz gibi düzenleyebilirsiniz. Makinenizde .txt, .png, .jpg, .pdf, .mp4 ve diğer uzantılı dosyaların bulunduğu bir klasöre gidin. Bu klasör büyük olasılıkla masaüstünüz veya İndirilenler klasörünüzdür.
Aşağıda örnek bir klasör ve klasörün içeriği gösterilmektedir (başka dosyalarınız da olabilir):

İlgili klasöre gidip Gemini CLI'ı başlatın. Öncelikle Gemini CLI'dan şu klasörleri oluşturmasını isteyeceksiniz: Resimler, Dokümanlar, Videolar. Ardından Gemini CLI'dan klasörlerdeki dosyaları düzenlemesini isteyeceksiniz.
Gemini CLI, özellikle dosya sisteminizi değiştiren komutları (ör. dosya yazma, taşıma veya silme) yürütmeden önce genellikle sizden izin ister. İzin vermeden önce bu istemleri her zaman dikkatlice inceleyin. Bu, güvenlik ağınızdır.
Create the following folders "Images","Documents","Videos"
Ardından aşağıdaki istemi girin:
Go through all the files in this folder and then organize them by moving all the files ending with .jpg, .jpeg, .gif into the "Images" folder. Move all ".txt" files into the "Documents" folder. Move all the ".mp4" files in the "Videos" folder.
Klasörün son durumunun nasıl olması gerektiğine dair bir örneği aşağıda görebilirsiniz. Yeni alt klasörlerin oluşturulduğunu ve dosyaların türlerine göre ilgili alt klasörlere taşındığını görürsünüz.

Diğer bazı düzenleme senaryoları (istemler her senaryonun yanında verilmiştir):
- Özetleme: "Belgeler" klasöründeki her belge için aynı klasörde "summary_ORIGINAL_FILENAME.txt" adlı bir txt dosyası oluşturun. Bu dosya, belgenin ana noktalarının 3 cümlelik özetini içermelidir.
- Türe Göre Kategorize Etme: Bu dizindeki tüm PDF ve DOCX dosyalarını tarayın. Adında veya içeriğinde "fatura" geçen tüm dosyaları "Finansal/Faturalar" klasörüne taşı. "Makbuz" içeren dosyaları "Finans/Makbuzlar" klasörüne taşıyın. Diğer tüm .docx dosyaları "Raporlar" klasörüne gider.
- Önemli Bilgileri Ayıklama (ve "Etiketleme"): "Finansal/Faturalar" klasöründeki her PDF dosyasının içeriğini okuyun. Bir tarih bulursanız dosyayı, YYYY-AA-GG biçiminde bu tarihi içerecek şekilde yeniden adlandırın (ör. "invoice_2025-07-26_original_name.pdf").
Görüntüleri düzenleme
Makinenizdeki resim içeriklerini nasıl düzenleyebileceğinize bakalım.
Bu özelliği denemek için:
- Çeşitli resim dosyalarının (.jpg, .png vb.) bulunduğu bir dizininiz/klasörünüz olmalıdır. EXIF verileri içeren fotoğraflar ekleyin (kameralardan/telefonlardan alınan çoğu fotoğrafta bu veriler bulunur).
- Bu dizine gidin.
- Gemini CLI'yı başlatın.
Aşağıdaki senaryolardan herhangi birini deneyin (istemler her senaryonun yanında verilmiştir):
- Tarihe Göre Yeniden Adlandır (EXIF Verileri): Bu dizindeki tüm .jpg ve .png dosyalarını, EXIF verilerindeki oluşturulma tarihlerini "YYYYMMDD_HHMMSS_original_name.jpg" biçiminde içerecek şekilde yeniden adlandırın. EXIF tarihi bulunamazsa dosyanın son değiştirilme tarihi kullanılır.
- Resim Açıklamaları Oluşturma: Bu klasördeki her resim için resimde ne olduğunu açıklayın ve bu açıklamayı aynı dizinde "description_ORIGINAL_FILENAME.txt" adlı bir metin dosyasına kaydedin.
- Yinelenenleri Belirle (Kavramsal, daha gelişmiş bir mantık gerektirir): Bu klasördeki yinelenen resimleri görsel içeriklerine göre bulun ve dosya adlarını listeleyin. Henüz silmeyin.
Makaleleri Özetleme (Yerel Dosyalar veya Web)
Aşağıdaki senaryoların her birinde URL'yi, ilgi alanını ve yerel dosya adlarını uygun şekilde değiştirebilirsiniz. Belirtilen dosya adları örnek dosya adlarıdır. Bunları sisteminizdeki dosyaların dosya adlarıyla değiştirebilirsiniz.
Aşağıdaki senaryolardan herhangi birini deneyin (istemler her senaryonun yanında verilmiştir):
- Bir web makalesini özetleme (tek URL): https://medium.com/google-cloud/getting-started-with-gemini-cli-8cc4674a1371 adresine gidin ve bu haber makalesindeki en önemli 3 bilgiyi özetleyin.
- Birden fazla web makalesini özetleme (ör. arama sonuçlarından): Google Arama'yı kullanarak "Gemini CLI" ile ilgili en son haber makalelerini bulun. En alakalı ilk 5 makaleyi 2-3 cümleyle özetleyin ve URL'lerini listeleyin.
- Yerel bir metin dosyasını özetleme: "my_research_paper.txt" dosyasındaki makalenin ana noktalarını özetle. Metodolojiye ve sonuçlara odaklanın.
- Yerel bir PDF'yi özetleme: "financial_report_Q2_2025.pdf" dosyasını oku. Bahsedilen finansal performansın ve temel zorlukların bir özetini sağlayın.
Belirli Bilgileri Çıkarma (Yerel Dosyalar veya Web)
Aşağıdaki senaryoların her birinde URL'yi, ilgi alanını ve yerel dosya adlarını uygun şekilde değiştirebilirsiniz. Belirtilen dosya adları örnek dosya adlarıdır. Bunları sisteminizdeki dosyaların dosya adlarıyla değiştirebilirsiniz.
Aşağıdaki senaryolardan herhangi birini deneyin (istemler her senaryonun yanında verilmiştir):
- Yerel bir makaleden öğe ayıklama: "biyografi.txt" dosyasındaki tüm kişileri ve onlarla ilişkili önemli tarihleri listeleyin.
- PDF'deki bir tablodan veri ayıklama: "quarterly_sales.pdf" dosyasında, 3. sayfadaki "Bölgeye Göre Ürün Satışları" tablosundaki verileri ayıklayıp Markdown tablo biçiminde sun.
- Bir haber web sitesinden haber başlıklarını ve kaynaklarını ayıklama: "https://news.google.com/" (veya benzer bir haber sitesi) adresine gidin. Ön sayfadaki ana başlıkları ve ilgili haber kaynaklarını ayıklayın. Bunları madde işaretli liste olarak sun.
- E-ticaret sayfasından ürün spesifikasyonlarını bulma: "https://www.amazon.in/Google-Cloud-Certified-Associate-Engineer/dp/1119871441" adresine gidin (kitap örneği). Kitap başlığını, yazarı ve diğer ayrıntıları ayıklayın. Bunu yapılandırılmış bir JSON biçiminde sun.
- Belirli bir biçimde (ör. "2s37dk42sn") videodan süreyi ayıklayın.
İçeriğe Dayalı Soruları Yanıtlama (RAG benzeri davranış) [Answering Questions based on Content (RAG-like behavior)]
Aşağıdaki senaryoların her birinde URL'yi, ilgi alanını ve yerel dosya adlarını uygun şekilde değiştirebilirsiniz. Belirtilen dosya adları örnek dosya adlarıdır. Bunları sisteminizdeki dosyaların dosya adlarıyla değiştirebilirsiniz.
Aşağıdaki senaryolardan herhangi birini deneyin (istemler her senaryonun yanında verilmiştir):
- Yerel bir dokümanla ilgili soru-cevap: "user_manual.pdf" dosyasını ekliyorum. Ağ bağlantısı sorunlarını gidermek için hangi adımlar uygulanır?
- Web sayfasında soru-cevap: "https://www.who.int/news-room/fact-sheets/detail/climate-change-and-health" adresindeki içeriği kullanarak, DSÖ'ye göre iklim değişikliğiyle ilişkili başlıca sağlık riskleri nelerdir?
- Birden fazla kaynaktaki bilgileri karşılaştır: "article1.txt" ve "article2.txt" adlı iki haber makalem var. Her ikisinde de son ekonomik politika değişiklikleri ele alınıyor. Küçük işletmeler üzerindeki potansiyel etkiyle ilgili görüşlerini karşılaştırın ve aralarındaki farkları belirleyin.
Ayıklanan bilgilere dayalı içerik oluşturma
Aşağıdaki senaryoların her birinde URL'yi, ilgi alanını ve yerel dosya adlarını uygun şekilde değiştirebilirsiniz.
Aşağıdaki senaryolardan herhangi birini deneyin (istemler her senaryonun yanında verilmiştir):
- Bir makaleden haber özeti oluşturma: @tech_innovation_article.txt dosyasını oku. Yeni teknolojiyi ve potansiyelini vurgulayan, şirket bülteni için uygun, kısa ve ilgi çekici bir haber özeti (yaklaşık 150 kelime) yaz.
- Toplantı transkriptini özetleyen bir e-posta taslağı oluştur: Toplantı transkripti dosyası: @meeting_transcript.txt. Ekibe, alınan önemli kararları ve atanan yapılacak işleri (her birinden kimin sorumlu olduğunu da belirterek) özetleyen bir e-posta taslağı oluştur.
Gemini KSA çok formatlı destek
Gemini CLI, Gemini aracılığıyla çoklu model desteğine sahiptir ve farklı içerik biçimlerindeki dosyaları gereksinimlerinize göre işlemesini isteyebilirsiniz.
Bu görevde, Gemini KSA ile bir grup fatura resmini işleyip bunlardan önemli bilgileri ayıklayacaksınız. Aşağıdaki adımları uygulayın:
- Makinenizde bir klasör oluşturun ve aşağıdaki GitHub deposundan bazı faturaları indirin.
- Gemini KSA'yı bu klasörden başlatın.
Faturalardaki bilgileri tablo şeklinde ayıklamak için aşağıdaki istemi girin.
The current folder contains a list of invoice files in Image format. Go through all the files in this folder and extract the following invoice information in the form of a table: Invoice No, Invoice Date, Invoice Sent By, Due Date, Due Amount.
İdeal olarak aşağıdaki gibi bir çıkış almanız gerekir:

Türetilmiş ek sütunlar isteyebileceğiniz başka bir senaryo: Geçmişteki tüm fatura son ödeme tarihleri için kırmızı çarpı emojisi göstermek istediğinizi varsayalım. Aşağıdaki gibi bir istem girebilirsiniz:
list all files with .png extension in this folder. Extract the invoice information from it by reading them locally and display it in a table format containing the following column headers: : Invoice No, Invoice Date, Invoice Sent By, Due Date, Due Amount. Add a column at the end of the table that shows a red cross emoji in case the due date is in the past.
Bu işlem aşağıdaki çıkışı üretir:

Bunu, metin dışındaki biçimlerdeki kendi dosyalarınızın tümüne uygulayın.
Veritabanlarıyla çalışmak için Gemini CLI'ı kullanma
Çeşitli veritabanlarıyla daha verimli çalışmak için Gemini KSA'yı kullanabilirsiniz. Bu aracı doğal dilde sorgulama, veri dışa aktarma, veritabanı şemaları tasarlama, gerçekçi test verileri oluşturma gibi birçok senaryoda kullanabilirsiniz.
Bu görevi tamamlamak için SQLite3 kullanacaksınız. SQLite3'ü yüklemeniz ve örnek Chinook veritabanına sahip olmanız gerekir.
SQLite3'ü ayarlamayla ilgili kısa talimatları aşağıda bulabilirsiniz:
- macOS: SQLite3 önceden yüklenmiş olarak gelir.
sqlite3 --versionile doğrulayın. Gerekirse Homebrew ile yükleyin:brew install sqlite3. - Windows: Önceden derlenmiş ikili dosyaları SQLite web sitesinden indirin. Dosyaları bir dizine (ör.
C:\sqlite) çıkarın. Bu dizini sisteminizin PATH ortam değişkenine ekleyin. - Linux: Debian/Ubuntu:
sudo apt update && sudo apt install sqlite3
Örnek Chinook veritabanını indirin (indirmek için doğrudan bağlantıyı kullanabilirsiniz).
Bu istemleri çalıştırmak için gemini-cli-projects dizininde bir klasör (database-tasks) oluşturmanız önerilir. Chinook veritabanı dosyasını bu klasöre kopyalayın. Gemini CLI'ın kullanabilmesi için sqlite3 aracının sisteminizde ayarlandığından ve yolda kullanılabilir olduğundan emin olun. Gemini CLI'yı başlatın.
Veritabanı şeması diyagramı aşağıda gösterilmektedir:

database-tasks adlı bir klasörde olduğunuzu ve Chinook veritabanı dosyasının chinook.db olarak adlandırıldığını varsayalım.
Aşağıda, veritabanlarıyla çalışmanıza yardımcı olabilecek birkaç istem verilmiştir. İstenen izni göstermek için ilkini kısaca ele alalım.
Veritabanında bulunan tabloları listeleme istemiyle başlayın ve aşağıdaki istemi girin:
What tables are present in the file: chinook.db
Bu, dosyayı okumak için aracı kullanır ve ardından gerekli işlemleri yapmak için sisteminizde bulunan sqlite3 yardımcı programını kullanmak ister:

Beklenen çıktıyı almak için bir kez çalıştırma izni verin:

Aşağıdaki istemleri veya istediğiniz başka bir istemi deneyin:
- Kaç çalışan var?
- Faturalar tablosunun şeması nedir?
- Toplam tutara göre ilk 3 fatura hangileri ve bu faturaları hangi müşteriler oluşturdu?
Gemini KSA'nın iki şeyi hallettiğini fark edeceksiniz: İhtiyacınızı karşılayacak doğru SQL ifadesini oluşturma ve doğru sqlite3 komutunu verme.
Veri oluşturmak için Gemini CLI'ı kullanma
Gemini KSA'dan çeşitli veri biçimlerinde veri üretmesini isteyebilirsiniz. Bu, içerik parçalarından taklit etmeniz gerekebilecek JSON verilerine kadar değişebilir. Burada geliştiriciler/test kullanıcıları için geçerli olan senaryolara odaklanacağız.
Deneyebileceğiniz bazı istemler:
Örnek müşteri yorumlarının JSON verilerini oluşturma
Generate a JSON array of 3 synthetic customer reviews for a new smartphone. Each review should have 'reviewId' (string, UUID-like), 'productId' (string, e.g., 'SMARTPHONE_X'), 'rating' (integer, 1-5), 'reviewText' (string, 20-50 words), and 'reviewDate' (string, YYYY-MM-DD format).
Sahte API yanıtları oluşturma (JSON)
Generate a JSON array representing 7 daily sales records for a mock API endpoint. Each record should include 'date' (YYYY-MM-DD, chronologically increasing), 'revenue' (float, between 5000.00 and 20000.00), 'unitsSold' (integer, between 100 and 500), and 'region' (string, either 'North', 'South', 'East', 'West').
Örnek Veritabanı Ekleme İfadeleri (SQL) Oluşturma
Generate 5 SQL INSERT statements for a table named 'users' with columns: 'id' (INTEGER, primary key), 'username' (VARCHAR(50), unique), 'email' (VARCHAR(100)), 'password_hash' (VARCHAR(255)), 'created_at' (DATETIME, current timestamp). Ensure the password_hash is a placeholder string like 'hashed_password_X'.
Veri yükleme/analiz için CSV verileri oluşturma
Generate 10 lines of CSV data, including a header row, for customer transactions. Columns should be: 'TransactionID' (unique string), 'CustomerID' (integer), 'ItemPurchased' (string, e.g., 'Laptop', 'Monitor', 'Keyboard'), 'Quantity' (integer, 1-3), 'UnitPrice' (float, between 100.00 and 1500.00), 'TransactionDate' (YYYY-MM-DD).
Yapılandırma dosyası (YAML) oluşturma
Generate a sample YAML configuration for a 'user_service'. Include sections for 'database' with 'host', 'port', 'username', 'password', 'database_name'. Also include a 'api_keys' section with 'payment_gateway' and 'email_service' placeholders. Use realistic default values.
Sınır durumları/doğrulama için test verileri oluşturma
Generate a JSON array of 8 email addresses for testing purposes. Include a mix of: 2 valid standard emails, 2 with missing '@', 2 with invalid domains (e.g., '.com1'), and 2 with special characters in the local part that are usually invalid (e.g., spaces or multiple dots).
11. Tebrikler
Tebrikler! Gemini CLI'ı, özelliklerini başarıyla keşfettiniz ve birkaç kullanım alanında uyguladınız.