Praxisorientierte Labs: Gemini CLI

1. Einführung

In diesem Codelab erfahren Sie mehr über die Gemini CLI, einen Open-Source-KI-Agenten, der die Leistungsfähigkeit von Gemini direkt in Ihr Terminal bringt.

Das Gemini CLI-Projekt ist Open Source. Die öffentliche Roadmap finden Sie hier.

Lerninhalte

  1. Gemini CLI installieren und konfigurieren
  2. Tools, integrierte Befehle und das Konfigurieren von MCP-Servern in der Gemini CLI
  3. Gemini-Befehlszeile über die Datei GEMINI.md anpassen
  4. Einige Anwendungsfälle mit der Gemini CLI

Voraussetzungen

Dieses Codelab kann vollständig in Google Cloud Shell ausgeführt werden, wo die Gemini CLI vorinstalliert ist.

Wenn Sie lieber auf Ihrem eigenen Computer arbeiten möchten, finden Sie einen Abschnitt zur lokalen Installation der Gemini CLI.

Sie benötigen Folgendes:

  • Chrome-Webbrowser
  • Ein Gmail-Konto

Dieses Codelab richtet sich an Nutzer und Entwickler aller Erfahrungsstufen, auch an Anfänger. Die Anwendungsfälle im Codelab wurden in Entwickler- und Nichtentwickleraufgaben unterteilt. Die Anwendungsfälle für Entwickler zeigen, wie Sie mit der Gemini-Befehlszeile Code erstellen und mit einem GitHub-Repository arbeiten können, um gängige Entwicklungsaufgaben wie Codeerklärung/-verständnis, Generieren von Dokumentation und Beheben von Problemen auszuführen. Wir empfehlen, diese Anwendungsfälle im Codelab durchzugehen. Am Ende gibt es einen optionalen Abschnitt, in dem mehrere alltägliche Aufgaben behandelt werden, die nicht auf Entwickler ausgerichtet sind.

2. Hinweis

Projekt erstellen

  1. Wählen Sie in der Google Cloud Console auf der Seite zur Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
  2. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.
  1. Sie verwenden Cloud Shell, eine Befehlszeilenumgebung, die in Google Cloud ausgeführt wird und in der „bq“ vorinstalliert ist. Klicken Sie oben in der Google Cloud Console auf „Cloud Shell aktivieren“.

Bild der Schaltfläche „Cloud Shell aktivieren“

  1. Wenn Sie mit Cloud Shell verbunden sind, können Sie mit dem folgenden Befehl prüfen, ob Sie bereits authentifiziert sind und das Projekt auf Ihre Projekt-ID festgelegt ist:
gcloud auth list
  1. Führen Sie den folgenden Befehl in Cloud Shell aus, um zu bestätigen, dass der gcloud-Befehl Ihr Projekt kennt.
gcloud config list project
  1. Wenn Ihr Projekt nicht festgelegt ist, verwenden Sie den folgenden Befehl, um es festzulegen:
gcloud config set project <YOUR_PROJECT_ID>

3. Installation

Bevor Sie die Einrichtung vornehmen und die Gemini CLI ausführen, erstellen wir einen Ordner, den Sie als Stammordner für alle Projekte verwenden, die Sie darin erstellen. Dies ist ein Ausgangspunkt für die Arbeit mit der Gemini-Befehlszeile. Bei Bedarf wird auch auf einige andere Ordner auf Ihrem System verwiesen, die Sie später verwenden können.

Erstellen Sie einen Beispielordner (gemini-cli-projects) und wechseln Sie mit den unten gezeigten Befehlen dorthin. Wenn Sie einen anderen Ordnernamen verwenden möchten, können Sie das tun.

mkdir gemini-cli-projects

Rufen wir diesen Ordner auf:

cd gemini-cli-projects

Sie können Gemini CLI direkt über den Befehl gemini starten.

Fahren Sie direkt mit dem nächsten Abschnitt fort (Konfiguration der Gemini-Befehlszeile über settings.json).

Wenn Sie die Gemini CLI lokal installieren möchten, folgen Sie der Anleitung unten.

Als Erstes müssen Sie Node 20 oder höher auf Ihrem Computer installieren. Sobald dies abgeschlossen ist, können Sie die Gemini CLI mit einer der folgenden Methoden installieren und ausführen:

  1. Sie können die Gemini CLI zuerst global auf Ihrem System installieren. Möglicherweise benötigen Sie Administratorzugriff, um diesen Schritt auszuführen.
# option 1: install Gemini CLI

npm install -g @google/gemini-cli

# .. and then run
gemini
  1. Führen Sie sie mit dem folgenden Befehl aus:
# option 2: run without installing Gemini CLI

npx https://github.com/google-gemini/gemini-cli

Mit dem folgenden Befehl können Sie prüfen, ob die CLI installiert ist:

gemini --version

Wenn Sie die Gemini-Befehlszeile über eine der oben genannten Methoden gestartet haben, sollte der folgende Bildschirm angezeigt werden, auf dem Sie aufgefordert werden, ein Design auszuwählen. Wähle eine aus:

9b02bd0bf1c670d.png

Nachdem Sie das ausgewählt haben, werden Sie nach der Authentifizierungsmethode gefragt. Es wird empfohlen, in diesem Lab Ihr privates Google-Konto und keine Konten zu verwenden, die nicht mit Google oder Google Workspace verknüpft sind. Mit dieser kostenlosen Lizenz erhalten Sie Zugriff auf Gemini 2.5 Pro und sein Kontextfenster von 1 Million Tokens. In der kostenlosen Stufe sind 60 Modellanfragen pro Minute und 1.000 Anfragen pro Tag kostenlos möglich.

Wenn Sie die Limits des aktuellen kostenlosen Kontingents für Google-Konten erreichen, können Sie den Gemini API-Schlüssel oder sogar Google Cloud Vertex AI verwenden. Dazu benötigen Sie eine Projekt-ID und den Standortnamen für dieses Projekt. Wenn Sie andere Authentifizierungsmethoden verwenden möchten, lesen Sie den Abschnitt Authentifizierung in der Dokumentation.

afce8d90e20adb6.png

Klicken Sie auf „Eingabe“. Dadurch wird eine Google-Authentifizierungsseite im Browser geöffnet. Fahren Sie mit der Authentifizierung mit Ihrem Google-Konto fort, akzeptieren Sie die Nutzungsbedingungen und sobald Sie erfolgreich authentifiziert wurden, ist die Gemini CLI bereit für Ihren Befehl. Hier ein Beispiel-Screenshot:

ffd8ddfede565612.png

4. Konfiguration der Gemini-Befehlszeile über settings.json

Wenn Sie Cloud Shell zum Ausführen von Gemini auswählen, werden ein Standarddesign für die Gemini CLI und die Authentifizierungsmethode bereits für Sie ausgewählt und konfiguriert.

Wenn Sie die Gemini CLI auf Ihrem Computer installiert und zum ersten Mal gestartet haben, haben Sie ein Design und dann eine Authentifizierungsmethode ausgewählt.

Bei nachfolgenden Ausführungen der Gemini CLI werden Sie nicht mehr aufgefordert, ein Thema und eine Authentifizierungsmethode auszuwählen. Das bedeutet, dass die Konfiguration irgendwo gespeichert wird. Die Datei, die dafür verwendet wird, heißt settings.json. Mit ihr lässt sich die Gemini CLI anpassen.

Einstellungen werden mit der folgenden Priorität angewendet (Cloud Shell stellt nur Nutzereinstellungen zur Verfügung):

  1. System: /etc/gemini-cli/settings.json (gilt für alle Nutzer, überschreibt Nutzer- und Arbeitseinstellungen).
  2. Workspace: .gemini/settings.json (überschreibt die Nutzereinstellungen).
  3. Nutzer: ~/.gemini/settings.json.

Windows-Nutzer: %USERPROFILE%.gemini\settings.json (wird in der Regel zu C:\Users&lt;IhrNutzername>.gemini\settings.json erweitert)

System: %ProgramData%\gemini-cli\settings.json (wird in der Regel zu C:\ProgramData\gemini-cli\settings.json erweitert)

Mac-Nutzer: ~/.gemini/settings.json (wird zu /Users/<IhrNutzername>/.gemini/settings.json erweitert)

System: /etc/gemini-cli/settings.json

Wenn Sie sich erinnern, haben Sie beim Auswählen des Designs festgelegt, dass die Einstellungen in den Nutzereinstellungen gespeichert werden sollen. Rufen Sie also ~/.gemini folder auf. Dort sehen Sie die Datei settings.json.

Meine settings.json-Datei ist unten zu sehen. Wenn Sie ein anderes Design ausgewählt hätten, würde der Name dort angezeigt.

{
  "theme": "Default",
  "selectedAuthType": "oauth-personal" or "cloud-shell"
}

5. Erste Interaktion mit der Gemini-Befehlszeile

Legen wir mit der Gemini-Befehlszeile los und geben Sie Ihre erste Anfrage wie unten gezeigt ein:

Give me a famous quote on Artificial Intelligence and who said that?

Die erwartete Antwort lautet:

4dc0961206c1b568.png

Sie werden feststellen, dass unsere Anfrage das Tool GoogleSearch (ein integriertes Tool in der Gemini-Befehlszeile) aufgerufen hat. Mit anderen Worten: Sie haben bereits eines der leistungsstarken integrierten Tools der Gemini CLI verwendet, nämlich GoogleSearch, das seine Antworten auf Informationen aus dem Web stützt. Im nächsten Abschnitt erfahren Sie mehr über Tools.

Wenn Sie /help (Schrägstrich) eingeben, werden verschiedene Befehle und Tastenkombinationen angezeigt, wie unten dargestellt. So können Sie sich schnell einen Überblick über die Gemini CLI und die verschiedenen unterstützten Befehle verschaffen:

d333742310905dcc.png

Beenden wir die Gemini-Befehlszeile für den Moment. Sie können das entweder über den Befehl /quit oder durch zweimaliges Ausführen von Ctrl-C in der interaktiven Gemini CLI-Terminalsitzung tun.

6. Gemini CLI – Befehlsparameter

Beim Starten der Gemini CLI können Sie einige Befehlszeilenparameter angeben. Eine vollständige Liste der Optionen erhalten Sie mit --help (siehe unten).

gemini --help

Dadurch sollten alle verfügbaren Optionen angezeigt werden. Weitere Informationen finden Sie in der Dokumentation.

Sehen wir uns einige davon an. Zuerst müssen Sie die Gemini-Befehlszeile so konfigurieren, dass entweder das Pro- oder das Flash-Modell verwendet wird. Zum Zeitpunkt der Erstellung dieses Labs werden nur diese beiden Modelle unterstützt. Standardmäßig wird das Modell Gemini 2.5 Pro verwendet. Wenn Sie das Flash-Modell verwenden möchten, können Sie dies beim Starten der Gemini CLI über den Parameter -m angeben, wie unten gezeigt:

gemini -m "gemini-2.5-flash"

Wenn Sie so vorgehen, können Sie das Modell rechts unten im Gemini CLI-Terminal prüfen:

6e662d03b61b2b3f.png

Nicht interaktiver Modus

Eine interessante Option ist die Ausführung der Gemini CLI im nicht interaktiven Modus. Das bedeutet, dass Sie den Prompt direkt eingeben und er beantwortet wird, ohne dass sich das interaktive Terminal der Gemini CLI öffnet. Das ist sehr nützlich, wenn Sie die Gemini CLI automatisiert als Teil eines Skripts oder eines anderen Automatisierungsprozesses verwenden möchten. Sie verwenden den Parameter „-p“, um den Prompt für die Gemini CLI anzugeben, wie unten gezeigt:

gemini -p "What is the gcloud command to deploy to Cloud Run"

Beachten Sie jedoch, dass es keine Möglichkeit gibt, das Gespräch mit Folgefragen fortzusetzen. In diesem Modus können Sie auch keine Tools (einschließlich WriteFile) autorisieren oder Shell-Befehle ausführen.

7. Gemini-Befehlszeile – integrierte Tools

Die Gemini-Befehlszeile enthält eine Reihe integrierter Tools. In der Dokumentation zu den Tools heißt es: „Das Gemini-Modell verwendet diese Tools, um mit Ihrer lokalen Umgebung zu interagieren, auf Informationen zuzugreifen und Aktionen auszuführen. Diese Tools erweitern die Funktionen der CLI und ermöglichen es, dass sie über die Textgenerierung hinausgeht und bei einer Vielzahl von Aufgaben unterstützt.“

Rufen Sie den Befehl /tools wie unten gezeigt auf, um eine Liste der aktuellen integrierten Tools zu erhalten:

39939257e3f3818e.png

Eine der Fragen, die Ihnen sofort in den Sinn kommen sollten, ist, ob die Gemini-Befehlszeile diese Tools einfach aufrufen kann, wann immer sie möchte. Die Standardantwort ist Nein, wenn es um vertrauliche Vorgänge geht, bei denen möglicherweise in das lokale System geschrieben, aus einem externen System gelesen oder auf das externe Netzwerk zugegriffen wird.

Wenn Sie die Befehlszeile starten, ist zwar ein --yolomode verfügbar (was in der Regel nicht empfohlen wird), aber die Gemini-Befehlszeile fordert Sie auf, die Berechtigung zum Ausführen des ausgewählten Tools zu erteilen. Sie können die Berechtigung verweigern, sie einmalig ausführen lassen oder eine allgemeine Berechtigung erteilen, damit sie immer ausgeführt wird. Sie haben und sollten die volle Kontrolle über die Dinge haben.

Wir verwenden einen Prompt, mit dem Gemini CLI eines der integrierten Tools auswählt und ausführt. So können Sie besser nachvollziehen, wie alles funktioniert.

Stellen Sie sich vor, Sie möchten Informationen zu den neuesten Finanznachrichten weltweit abrufen und in einer Datei im lokalen Arbeitsverzeichnis speichern, aus dem Sie die Gemini CLI gestartet haben. Verwenden Sie den folgenden Prompt:

Search for the latest headlines today in the world of finance and save them in a file named finance-news-today.txt

Stellen Sie sich vor, was es tun sollte. Idealerweise sollte es eine Google-Suche durchführen, um Nachrichten aus relevanten Informationsquellen zu erhalten, die Finanznachrichten liefern können. Anschließend muss eine Datei mit dem Namen finance-news-today.txt mit dem entsprechenden Inhalt erstellt werden. Dazu ist eine Schreiboperation auf Ihrem lokalen System erforderlich, für die Sie die Berechtigung erteilen müssen.

Sehen wir uns an, was passiert (Sie sollten auf Ihrem Computer genauso vorgehen).

Zuerst wird das Tool GoogleSearch aufgerufen, um im Web zu suchen.

122e6e4b01d05e69.png

Nach Abschluss der Suche werden die Daten wie unten dargestellt abgerufen:

b721f40e6f643318.png

Danach kann der Inhalt in die Datei geschrieben werden. Dazu wird das Tool WriteFile verwendet. Da es sich dabei um einen sensiblen Vorgang (write) handelt, werden Sie um Ihre Erlaubnis gebeten. Sie können den Berechtigungstyp festlegen, z.B. „Einmal erlauben“ oder „Immer erlauben“. Wählen Sie jetzt „Einmal erlauben“ aus.

e92f3a4774dc1e7.png

Die Informationen werden dann in die Datei geschrieben und unten wird eine Erfolgsmeldung angezeigt:

33c6afdb89033c35.png

Wie kann ich prüfen, ob die Datei geschrieben wurde? Sie können das @file verwenden, um den Inhalt vorlesen zu lassen. Wenn Sie @ eingeben, wird eine Liste der Dateien im aktuellen Ordner angezeigt. Die Datei, die gerade erstellt wurde, ist ebenfalls in der Liste enthalten. Wählen Sie diese Option aus und senden Sie den Prompt ab. Mein Prompt lautet so:

read the contents of @finance-news-today.txt

Dadurch werden die erforderlichen Tools (ReadManyFiles, ReadFile) aufgerufen und die Inhalte werden wie unten dargestellt angezeigt:

6f214cd743646f44.png

8. Gemini CLI – Shell-Modus

Jetzt ist ein guter Zeitpunkt, um zu lernen, wie Sie direkt über die Gemini CLI mit der Shell arbeiten. Sie können in den Shell-Modus wechseln, indem Sie im Nachrichtenfeld ! drücken. Dadurch wird in den Shell-Modus gewechselt. Sie können zurückkehren, indem Sie noch einmal ! oder die Taste ESC drücken.

Im Shell-Modus wird am Anfang des Prompts das ! angezeigt, wie unten zu sehen ist:

9e239408835a3acd.png

Sie können dies direkt mit Standardbefehlen wie pwd und ls prüfen, wie unten gezeigt. Bei den Befehlen wird von einem Linux-Betriebssystem ausgegangen. Wenn Sie ein anderes Betriebssystem (Windows) verwenden, nutzen Sie bitte entsprechende Befehle wie cd, dir und type. Beachten Sie, dass die Ausgabe dieser Aufrufe im Kontextfenster des Modells enthalten ist.

2f5d53d3c77fc8e2.png

Mit dem Befehl cat können Sie den Inhalt der Datei ausdrucken.

2249b5c80e3ae2c0.png

Übung: Hier ist eine kurze Übung, die Sie ausprobieren können. Wählen Sie einen RSS-Feed aus. Geben Sie einen Prompt in die Gemini CLI ein, um die Inhalte des RSS-Feeds abzurufen und die Ergebnisse auf bestimmte Weise zu formatieren. So kannst du etwas zu Beginn des Tages automatisieren. Sie können Gemini CLI sogar fragen, ob es einen RSS-Feed für einen bestimmten Bereich gibt, z.B. für die Versionshinweise zu Google Cloud.

Hier ein Beispiel für einen Prompt:

Get the latest release notes for Google Cloud from its RSS Feed and display the key points in a well-formatted list.

Mit diesem Prompt sollte idealerweise zuerst das Tool GoogleSearch aufgerufen werden, um den Google Cloud Platform-RSS-Feed zu finden. Anschließend wird das Tool WebFetch verwendet, um den Inhalt des RSS-Feeds abzurufen und anzuzeigen.

9. MCP-Server (Model Context Protocol) konfigurieren

Ein MCP-Server ist eine Anwendung, die Tools und Ressourcen über das Model Context Protocol für die Gemini-Befehlszeile bereitstellt, sodass diese mit externen Systemen und Datenquellen interagieren kann. MCP-Server fungieren als Brücke zwischen dem Gemini-Modell und Ihrer lokalen Umgebung oder anderen Diensten wie APIs.

Ein MCP-Server ermöglicht es der Gemini CLI, Tools zu erkennen und auszuführen. Dadurch werden die Funktionen der Gemini CLI erweitert, sodass Aktionen ausgeführt werden können, die über die integrierten Funktionen hinausgehen, z. B. die Interaktion mit Datenbanken, APIs, benutzerdefinierten Skripts oder speziellen Arbeitsabläufen.

Die Gemini CLI unterstützt die Konfiguration von MCP-Servern zum Ermitteln und Verwenden benutzerdefinierter Tools. Wenn Sie die Gemini CLI gestartet haben, können Sie die über den Befehl /mcp konfigurierten MCP-Server wie unten gezeigt prüfen:

255a14eb31529370.png

Wenn Sie keine MCP-Server konfiguriert haben, wird die Dokumentation zu MCP-Servern für die Gemini CLI aufgerufen.

Sie können MCP-Server auf globaler Ebene in der Datei ~/.gemini/settings.json oder im Stammverzeichnis Ihres Projekts konfigurieren. Erstellen oder öffnen Sie die Datei .gemini/settings.json. Fügen Sie in der Datei den Konfigurationsblock mcpServers ein, wie unten dargestellt:

"mcpServers": {
    "server_name_1": {},
    "server_name_2": {},
    "server_name_n": {}
 }

Jede Serverkonfiguration unterstützt die folgenden Attribute ( Referenzdokumentation):

Erforderlich (eines der folgenden)

  • command (string): Pfad zur ausführbaren Datei für den Stdio-Transport
  • url (string): SSE-Endpunkt-URL (z.B. "http://localhost:8080/sse")
  • httpUrl (string): HTTP-Streaming-Endpunkt-URL

Optional

  • args (string[]): Befehlszeilenargumente für den Stdio-Transport
  • headers (object): Benutzerdefinierte HTTP-Header bei Verwendung von „url“ oder „httpUrl“
  • env (object): Umgebungsvariablen für den Serverprozess. Werte können mit der Syntax $VAR_NAME oder ${VAR_NAME} auf Umgebungsvariablen verweisen.
  • cwd (string): Arbeitsverzeichnis für den Stdio-Transport
  • timeout (number): Zeitlimit für Anfragen in Millisekunden (Standard: 600.000 ms = 10 Minuten)
  • trust (boolean): Wenn „true“, werden alle Bestätigungen für Tool-Aufrufe für diesen Server umgangen (Standard: „false“).
  • includeTools (string[]): Liste der Toolnamen, die von diesem MCP-Server eingeschlossen werden sollen. Wenn angegeben, sind auf diesem Server nur die hier aufgeführten Tools verfügbar (Whitelist-Verhalten). Wenn nicht angegeben, sind standardmäßig alle Tools vom Server aktiviert.
  • excludeTools (string[]): Liste der Toolnamen, die von diesem MCP-Server ausgeschlossen werden sollen. Die hier aufgeführten Tools sind für das Modell nicht verfügbar, auch wenn sie vom Server bereitgestellt werden. Hinweis: „excludeTools“ hat Vorrang vor „includeTools“. Wenn ein Tool in beiden Listen enthalten ist, wird es ausgeschlossen.

Konfigurieren wir einen der wichtigsten MCP-Server, den Sie möglicherweise benötigen, wenn Sie mit GitHub arbeiten. Sie fragen sich vielleicht, ob Sie den Github-MCP-Server benötigen, wenn Sie Git und andere zugehörige Tools bereits auf Ihrem System eingerichtet haben.

Die Gemini CLI ruft die Git-Tools auf, die auf Ihrem System vorhanden sind. Sie können die Gemini CLI auch anweisen, diese zu verwenden. Gemini CLI kann Ihre Anfragen in natürlicher Sprache in entsprechende Tools übersetzen, die auf Ihrem System verfügbar sind. Dazu müssen Sie dies jedoch möglicherweise explizit in Ihrem Prompt angeben.

Möglicherweise benötigen Sie den nächsten Abschnitt nicht, um einen GitHub-MCP-Server einzurichten, wenn Folgendes bereits auf Ihrem System eingerichtet ist:

  • Git-Tools (d. h., Sie können Befehle wie git init, git add usw. auf Ihrem System ausführen)
  • gh : Dies ist GitHub in der Befehlszeile. Pull-Anfragen, Probleme und andere GitHub-Konzepte werden direkt im Terminal angezeigt, wo Sie bereits mit Git und Ihrem Code arbeiten. Installieren Sie es hier und prüfen Sie die Einrichtung mit einigen Befehlen, insbesondere in Bezug auf die Authentifizierung bei GitHub von Ihrem Computer aus.

Wenn Sie den Github MCP-Server trotzdem ausprobieren möchten, lesen Sie den nächsten Abschnitt.

GitHub-MCP-Server

Der offizielle MCP-Server von GitHub bietet ausreichende Dokumentation zu den Tools, die er bereitstellt, sowie zur Konfiguration dieser Tools. Sie können auswählen, ob Sie den Server lokal oder remote ausführen möchten, da die Gemini CLI auch Remote-MCP-Server unterstützt.

In dieser Anleitung wird die Option für Remote-MCP-Server in GitHub veranschaulicht. Dazu benötigen Sie zuerst ein persönliches Zugriffstoken (PAT) von GitHub.

Danach müssen Sie das MCP-Serverobjekt in der Datei settings.json hinzufügen. Die vollständige Datei „settings.json“ auf meinem System ist unten zu sehen. Möglicherweise haben Sie zusätzliche Einstellungen, aber das Objekt mcpServers sollte wie unten angegeben aussehen:

{
  "theme": "Default",
  "selectedAuthType": "oauth-personal",
  "mcpServers": {
       "github": {
            "httpUrl": "https://api.githubcopilot.com/mcp/",
            "headers": {
                "Authorization": "GITHUB_PAT"
            },
            "timeout": 5000
       }
  }
}

Sie können die Gemini CLI entweder neu starten oder den Befehl /mcp refresh ausführen, nachdem Sie die settings.json mit der Github MCP Server-Konfiguration aktualisiert haben. Auf dem Screenshot unten ist der auf meinem Computer konfigurierte Github-MCP-Server zu sehen sowie die verschiedenen Tools, die jetzt in der Gemini CLI für die Arbeit mit MCP verfügbar sind.

e34f348129d448e9.png

Wir beginnen mit einem Prompt, der eines der Tools vom GitHub-MCP-Server aufruft. Geben Sie den folgenden Prompt ein:

da643d182ac3fca4.png

Das richtige Tool wird vom Github-MCP-Server ausgewählt. Wie bei anderen integrierten Tools müssen Sie jedoch explizit die Berechtigung zum Aufrufen des Tools erteilen. Sehen Sie sich die Ausgabe an.

Sie sollten jetzt mit einem Ihrer GitHub-Projekte arbeiten. Geben Sie Ihre Anfragen in natürlicher Sprache ein, z. B.:

  • Beschreibe das Repository <repo-name> für mich.
  • Klonen Sie das Repository <repo-name> auf meinen lokalen Computer.
  • Beschreibe @<Dateiname> oder @<Verzeichnisname>/
  • Welche verschiedenen Komponenten gibt es in diesem Repository?
  • Ich habe die erforderlichen Änderungen vorgenommen. Kannst du die Änderungen per Push auf GitHub übertragen und die GitHub-MCP-Servertools dafür verwenden?

Eine Übung zur detaillierten Arbeit mit dem Github-MCP-Server finden Sie später im Lab.

Context7 MCP-Server

Context7 bietet aktuelle Dokumentation für LLMs und KI-Code-Editoren. Wenn Sie dem LLM Kontext mit der neuesten Dokumentation für das Framework Ihrer Wahl bereitstellen möchten, ist der Context7-MCP-Server eine gute Option.

Prüfen Sie, ob Ihre Bibliothek auf der Startseite von Context7 aufgeführt ist.

Hier ist der MCP-Server, den Sie der Datei settings.json hinzufügen müssen.

"context7": {
      "httpUrl": "https://mcp.context7.com/mcp"
    }

Sobald der MCP-Server konfiguriert und die Gemini CLI erfolgreich geladen wurde, sollten Sie die Context7-Tools wie unten dargestellt sehen können:

92f715d87989ff72.png

Sie können jetzt in Ihrem Prompt angeben, dass Gemini CLI Context7 für die aktuelle Dokumentation verwenden soll, wenn Ihre Anwendung oder Ihr Code-Snippet mit einem bestimmten XYZ-Framework generiert wird.

Hier ist ein Beispielprompt, mit dem ich einen Agenten mit dem Agent Development Kit (ADK) von Google erstellen möchte. Ich gebe in meinem Prompt an, dass die Dokumentation dafür über den Context7 MCP-Server gesucht werden soll.

I am working on coding an Agent using the Agent Development Kit (ADK) from Google. I would like to know how to create the LLMAgent in Python. Use Context7 for the latest documentation on ADK and specifically use /google/adk-python, /google/adk-docs and adk.wiki 

Das ist die erhaltene Ausgabe:

fe79972a61372d59.png

MCP-Server für Google Präsentationen

Das GitHub-Projekt unter https://github.com/matteoantoci/google-slides-mcp bietet einen MCP-Server für die Interaktion mit der Google Slides API. Damit können Sie Google-Präsentationen programmatisch erstellen, lesen und ändern.

Die Schritte zum Konfigurieren des MCP-Servers sind im Projekt beschrieben. Sie benötigen eine Node.js-Umgebung, in der Sie den Server erstellen, ein Google Cloud-Projekt und OAuth 2.0-Tokens konfigurieren und dann den MCP-Server in der Datei settings.json konfigurieren.

Nach der Einrichtung können Sie Prompts wie die folgenden ausführen:

  • Extrahieren Sie die neuesten Informationen aus „web_url“, fassen Sie sie in Stichpunkten zusammen und erstellen Sie eine Präsentation mit dem Namen „my_presentation“.

Probieren Sie es aus!

Weitere MCP-Server

Hier finden Sie eine zusätzliche Liste mit MCP-Servern, die für Sie von Interesse sein könnten:

  1. Firebase MCP-Server
  2. Google Gen AI Media Services (Imagen, Veo, Lyria)
  3. MCP Toolbox for Databases (Arbeit mit Firestore, BigQuery, Google Cloud-Datenbanken)
  4. Google Workspace – MCP-Server (für die Arbeit mit Docs, Tabellen, Kalender und Gmail)

Die Anleitung zum Einrichten der oben genannten MCP-Server finden Sie in diesem Blogpost.

10. Gemini CLI mit GEMINI.md anpassen

Wenn Sie die Gemini CLI bisher verwendet haben, ist Ihnen vielleicht aufgefallen, dass wir entweder nur den Prompt angegeben und erwartet haben, dass die Gemini CLI ihn ausführt, manchmal mit Ergebnissen, die nicht unseren Erwartungen entsprechen. In einigen Prompts haben Sie genaue Anweisungen gegeben, was zu tun ist, und diese Anweisungen in den Prompt aufgenommen.

Das kann je nach Ihren Anweisungen an die Gemini CLI und den Ergebnissen, die Sie erhalten, in Ordnung sein. In vielen Fällen möchten Sie jedoch sicherstellen, dass die Antwort Regeln folgt. Dabei kann es sich um bestimmte Programmiersprachen oder Frameworks handeln, die verwendet werden sollen. Es könnte sich auch um bestimmte Tools handeln. Das können z. B. Programmierstile sein. Es geht nicht nur um die Generierung, sondern Sie möchten möglicherweise auch, dass die Gemini CLI sich ausschließlich im sogenannten „Planungsmodus“ befindet und nur einen Plan präsentiert, ohne Code zu generieren oder Dateien im System zu ändern.

Geben Sie GEMINI.md ein. Dies ist die Kontextdatei (standardmäßig GEMINI.md, aber über die Eigenschaft contextFileName in der Datei settings.json konfigurierbar), die für die Konfiguration des instruktionalen Kontexts (auch als „Speicher“ bezeichnet) entscheidend ist, der dem Gemini-Modell zur Verfügung gestellt wird. Mit dieser Datei können Sie der KI projektspezifische Anweisungen, Styleguides für den Code oder relevante Hintergrundinformationen geben, damit die Antworten besser auf Ihre Anforderungen zugeschnitten sind und genauer ausfallen.

Die Datei GEMINI.md ist im Markdown-Format und wird hierarchisch geladen. Sie wird aus mehreren Speicherorten kombiniert.

Die Ladereihenfolge ist:

  1. Globaler Kontext: **~/.gemini/GEMINI.md** (für Anleitungen, die für alle Ihre Projekte gelten).
  2. Projekt-/Übergeordneter Kontext:Die CLI sucht vom aktuellen Verzeichnis bis zum Projektstamm nach GEMINI.md-Dateien.
  3. Unterverzeichniskontext:Die CLI scannt auch Unterverzeichnisse nach GEMINI.md-Dateien, sodass komponentenbezogene Anweisungen möglich sind.

Mit /memory show können Sie den endgültigen kombinierten Kontext aufrufen, der an das Modell gesendet wird.

Wie sieht ein GEMINI.md aus? Wir haben eines aus der offiziellen Dokumentation erstellt:

# Project: My Awesome TypeScript Library

## General Instructions:

- When generating new TypeScript code, please follow the existing coding style.
- Ensure all new functions and classes have JSDoc comments.
- Prefer functional programming paradigms where appropriate.
- All code should be compatible with TypeScript 5.0 and Node.js 20+.

## Coding Style:

- Use 2 spaces for indentation.
- Interface names should be prefixed with `I` (e.g., `IUserService`).
- Private class members should be prefixed with an underscore (`_`).
- Always use strict equality (`===` and `!==`).

## Specific Component: `src/api/client.ts`

- This file handles all outbound API requests.
- When adding new API call functions, ensure they include robust error handling and logging.
- Use the existing `fetchWithRetry` utility for all GET requests.

## Regarding Dependencies:

- Avoid introducing new external dependencies unless absolutely necessary.
- If a new dependency is required, please state the reason.

Sie werden feststellen, dass es einige allgemeine Anweisungen sowie sehr spezifische Anweisungen für den Codierungsstil, die Abhängigkeitsverwaltung und mehr enthält. Dies ist eine Beispiel-GEMINI.md-Datei für TypeScript-Projekte. Sie können aber auch eine eigene Datei erstellen, die auf Ihrer Programmiersprache, Ihrem Framework, Ihrem Programmierstil und anderen Einstellungen basiert.

Sie können es mit einer benutzerdefinierten GEMINI.md-Datei versuchen. Dies ist ein Auszug aus einem Gist, in dem gezeigt wird, wie die Gemini CLI nur im Plan-Modus verwendet wird. Die Datei wird hier wiedergegeben:

# Gemini CLI Plan Mode
You are Gemini CLI, an expert AI assistant operating in a special 'Plan Mode'. Your sole purpose is to research, analyze, and create detailed implementation plans. You must operate in a strict read-only capacity.

Gemini CLI's primary goal is to act like a senior engineer: understand the request, investigate the codebase and relevant resources, formulate a robust strategy, and then present a clear, step-by-step plan for approval. You are forbidden from making any modifications. You are also forbidden from implementing the plan.

## Core Principles of Plan Mode
*   **Strictly Read-Only:** You can inspect files, navigate code repositories, evaluate project structure, search the web, and examine documentation.
*   **Absolutely No Modifications:** You are prohibited from performing any action that alters the state of the system. This includes:
    *   Editing, creating, or deleting files.
    *   Running shell commands that make changes (e.g., `git commit`, `npm install`, `mkdir`).
    *   Altering system configurations or installing packages.

## Steps
1.  **Acknowledge and Analyze:** Confirm you are in Plan Mode. Begin by thoroughly analyzing the user's request and the existing codebase to build context.
2.  **Reasoning First:** Before presenting the plan, you must first output your analysis and reasoning. Explain what you've learned from your investigation (e.g., "I've inspected the following files...", "The current architecture uses...", "Based on the documentation for [library], the best approach is..."). This reasoning section must come **before** the final plan.
3.  **Create the Plan:** Formulate a detailed, step-by-step implementation plan. Each step should be a clear, actionable instruction.
4.  **Present for Approval:** The final step of every plan must be to present it to the user for review and approval. Do not proceed with the plan until you have received approval. 

## Output Format
Your output must be a well-formatted markdown response containing two distinct sections in the following order:

1.  **Analysis:** A paragraph or bulleted list detailing your findings and the reasoning behind your proposed strategy.
2.  **Plan:** A numbered list of the precise steps to be taken for implementation. The final step must always be presenting the plan for approval.

NOTE: If in plan mode, do not implement the plan. You are only allowed to plan. Confirmation comes from a user message.

Speichern Sie den oben genannten Inhalt in einer Datei mit dem Namen GEMINI.md und speichern Sie diese Datei in ~/.gemini/GEMINI.md. Dies ist derselbe Ordner, in dem Sie die Datei „settings.json“ erstellt haben. Sie können die Datei GEMINI.md auch im Ordner <current project folder>/.gemini speichern oder sogar mehrere GEMINI.md-Dateien in Ihren Unterverzeichnissen haben, wenn Sie unterschiedliche Anweisungen verwenden.

Geben Sie einen Prompt ein, um eine Anwendung zu generieren, und sehen Sie sich die Antwort an.

Hier ist eine weitere GEMINI.md-Datei ( Gemini-Erklärungsmodus), die Sie sich ansehen und dann für Ihre Anforderungen anpassen und verwenden können. Hier geht es darum, dass die Gemini CLI ein interaktiver Leitfaden ist, der Nutzern hilft, komplexe Codebases durch einen dialogorientierten Prozess zu verstehen.

Die Datei GEMINI.md ist der Schlüssel dafür, dass die Gemini CLI Ihren Einstellungen folgt. Wir empfehlen Ihnen, sich die praktische Reihe Practical Gemini CLI anzusehen, in der dieses Thema behandelt wird. Sie erfahren unter anderem, wie Sie eine solche Datei automatisch für Ihr Projekt generieren und sogar den Systemprompt anpassen können.

Sie können die Datei GEMINI.md auch erstellen, während Sie mit der Gemini CLI interagieren. Sie können jederzeit den Befehl /memory add <some instruction/rule> verwenden. Gemini CLI hängt die Anweisung dann an die Datei GEMINI.md an. Sie können Gemini CLI sogar in natürlicher Sprache bitten, etwas zum Speicher hinzuzufügen, z.B. GEMINI.md, indem Sie Prompts wie Remember <some instruction/rule > (Merke dir<eine Anleitung/Regel>) oder Add to memory <some instruction/rule > (Füge dem Speicher<eine Anleitung/Regel> hinzu) verwenden.

11. Gemini-Befehlszeile – Benutzerdefinierte Slash-Befehle

Sie haben gerade gesehen, wie Sie GEMINI.md anpassen, um einen Planmodus zu erstellen. Im vorherigen Abschnitt haben Sie auch Links zu einem Erklärungsmodus erhalten.

Was wäre, wenn Sie beide Modi konfigurieren und Gemini CLI anweisen möchten, über die Schrägstrichbefehle /plan oder /explain in einen dieser Modi zu wechseln? Genau darum geht es bei benutzerdefinierten Slash-Befehlen in der Gemini CLI.

Wie in der Dokumentation beschrieben, können Sie mit benutzerdefinierten Befehlen Ihre bevorzugten oder am häufigsten verwendeten Prompts als persönliche Tastenkombinationen in der Gemini CLI speichern und wiederverwenden. Sie können Befehle erstellen, die sich auf ein einzelnes Projekt beziehen, oder Befehle, die global für alle Ihre Projekte verfügbar sind. So können Sie Ihren Workflow optimieren und für Konsistenz sorgen.“

Wir erstellen einige benutzerdefinierte Slash-Befehle: /plan und /explain.

Im nächsten Schritt müssen Sie verstehen, wo die Gemini CLI die benutzerdefinierten Befehle abruft. Gemäß der Dokumentation werden Befehle an zwei Orten erkannt und in einer bestimmten Reihenfolge geladen:

  1. Nutzerbefehle (global): Befinden sich in ~/.gemini/commands/. Diese Befehle sind in jedem Projekt verfügbar, an dem Sie arbeiten.
  2. Projektbefehle (lokal): Befinden sich in <your-project-root>/.gemini/commands/. Diese Befehle sind spezifisch für das aktuelle Projekt und können in die Versionskontrolle eingecheckt werden, um sie mit Ihrem Team zu teilen.

Wählen wir den aktuellen Projektordner aus, von dem aus Sie die Gemini CLI gestartet haben. Das ist also der Ordner <your-project-root>/.gemini/commands/. Erstellen Sie nun die Ordnerstruktur.

Was müssen wir in diesem Ordner erstellen? Wir benötigen zwei TOML-Dateien (plan.toml und explain.toml). Weitere Informationen zu den Namespaces und Namenskonventionen

Jede TOML-Datei muss zwei Felder enthalten : description und prompt. Die Beschreibung sollte kurz und prägnant sein, da sie neben dem Befehl in der Gemini CLI angezeigt wird. Das TOML-Dateibeispiel unten stammt aus dem offiziellen Blogpost zu benutzerdefinierten Slash-Befehlen.

Unten sehen Sie ein Beispiel für eine plan.toml-Datei. Der Prompt enthält einen speziellen Platzhalter {{args}}. Die Befehlszeile ersetzt diesen Platzhalter durch den gesamten Text, den der Nutzer nach dem Befehlsnamen eingegeben hat.

description="Investigates and creates a strategic plan to accomplish a task."
prompt = """
Your primary role is that of a strategist, not an implementer.
Your task is to stop, think deeply, and devise a comprehensive strategic plan to accomplish the following goal: {{args}}

You MUST NOT write, modify, or execute any code. Your sole function is to investigate the current state and formulate a plan.

Use your available "read" and "search" tools to research and analyze the codebase. Gather all necessary context before presenting your strategy.

Present your strategic plan in markdown. It should be the direct result of your investigation and thinking process. Structure your response with the following sections:

1.  **Understanding the Goal:** Re-state the objective to confirm your understanding.
2.  **Investigation & Analysis:** Describe the investigative steps you would take. What files would you need to read? What would you search for? What critical questions need to be answered before any work begins?
3.  **Proposed Strategic Approach:** Outline the high-level strategy. Break the approach down into logical phases and describe the work that should happen in each.
4.  **Verification Strategy:** Explain how the success of this plan would be measured. What should be tested to ensure the goal is met without introducing regressions?
5.  **Anticipated Challenges & Considerations:** Based on your analysis, what potential risks, dependencies, or trade-offs do you foresee?

Your final output should be ONLY this strategic plan.
"""

Versuchen Sie, auch eine explain.toml-Datei zu erstellen. Hier finden Sie Informationen zum Gemini-Modus „Erklären“.

Starten Sie die Gemini CLI neu. Sie sehen nun, dass es einen Slash-Befehl (/plan) hat, wie unten dargestellt:

8b0720ba31b6c251.png

12. Anwendungsfälle zum Ausprobieren

Die Gemini CLI kann für eine Vielzahl von Anwendungsfällen verwendet werden, die sowohl für Entwickler als auch für Nicht-Entwickler relevant sind. Hier werden einige Szenarien vorgestellt, die Sie je nach Interesse ausprobieren können.

In jedem dieser Fälle wird der Prompt bereitgestellt. Sie können dies im interaktiven oder nicht interaktiven Modus der Gemini CLI über den Parameter -p beim Start der Gemini CLI ausprobieren.

Vibe Coding mit der Gemini-Befehlszeile

Wir verwenden die Gemini-Befehlszeile, um den Code einer Anwendung zu optimieren. In dieser Aufgabe lassen Sie von der Gemini CLI eine Anwendung generieren und übertragen dann die erste Version per Push in ein GitHub-Repository.

Voraussetzung

Für die Aufgaben in diesem Abschnitt gelten einige Voraussetzungen:

  • Git
  • Gemini CLI mit Github MCP-Server (haben wir bereits gemacht) oder wenn Sie gh ( Github-CLI-Tool) eingerichtet haben, funktioniert das auch.
  • Grundkenntnisse in Git und etwas Programmierwissen

Wir gehen davon aus, dass Sie die Gemini-Befehlszeile in einem bestimmten Ordner Ihrer Wahl gestartet haben. Prüfen Sie, ob die MCP-Server, insbesondere der GitHub-MCP-Server, erfolgreich gestartet wurden.

Beginnen Sie mit einem ersten Prompt. Sie können sie nach Belieben anpassen. Während der Sitzung mit der Gemini CLI werden Sie um Berechtigungen zum Erstellen der Dateien usw. gebeten. Erteilen Sie die erforderlichen Berechtigungen.

Bei dieser Aufgabe soll die Gemini-Befehlszeile die Anwendung nicht für uns ausführen oder testen, da wir etwas mehr Kontrolle haben möchten. Das liegt aber ganz bei Ihnen.

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. 

Die nächsten Prompts und Antworten sind ein Beispiel für einen beobachteten Ablauf. Möglicherweise erhalten Sie eine völlig andere Antwort. Sehen Sie sich den Plan also genau an und interagieren Sie bei Bedarf mit der Gemini CLI.

90232297f1e952f8.png

Wir haben festgestellt, dass Gemini CLI manchmal versucht, mehr zu tun, und Ihnen möglicherweise sogar die Befehle gibt, die ausgeführt werden sollen. Für diese Übung ist es ratsam, das nicht zu tun, damit Sie mehr Kontrolle darüber haben, wie die Aufgabe ausgeführt wird und was Sie zuerst selbst validieren möchten.

Wenn beispielsweise angeboten wird, die Befehle auszuführen, können Sie einfach die Escape-Taste drücken und eine Meldung wie unten eingeben:

d74e235b0db77c51.png

Nachdem wir die Anleitung zum Starten des Servers und zum Aufrufen der Startseite befolgt haben, wurde eine Beispielwebsite wie unten dargestellt angezeigt (wenn Sie denselben Prompt verwendet haben, sollte eine Variante einer ähnlichen Website angezeigt werden):

71a0a6123a90e068.png

Sie können mit der Gemini-Befehlszeile weitere Änderungen vornehmen. Wenn Sie mit den Änderungen zufrieden sind, können Sie sie per Push in ein GitHub-Repository übertragen.

Erstellen wir zuerst eine .gitignore-Datei. Dabei kann Ihnen die Gemini-Befehlszeile helfen.

Create a .gitignore file for this project.

Als Nächstes müssen Sie Gemini CLI anweisen, dieses Repository in unser GitHub-Konto zu übertragen. Dadurch werden die GitHub-MCP-Server-Tools im Hintergrund ausgeführt.

Geben Sie einen Prompt ähnlich dem folgenden ein:

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

Hier werden eine Reihe von Befehlen durchlaufen:

  1. Im Folgenden wird gezeigt, wie Sie das Repository anlegen.
  2. Es werden mehrere Git-Befehle verwendet: „init“, „add“ und „commit“ zum Verwalten des lokalen Git-Repositorys.
  3. Anschließend wird das Git-Remote-Repository eingerichtet und ein Push ausgeführt.

Hinweis:Es kann vorkommen, dass die Gemini CLI ein Zeitlimit überschreitet oder einen falschen Nutzernamen verwendet. Interagieren Sie mit ihr und schlagen Sie Korrekturen vor.

Wenn alles gut geht, sollten Sie ein GitHub-Repository haben. Hier sehen Sie einen Beispiel-Screenshot:

35c2db48c39fb21a.png

Sie haben für dieses Projekt noch kein README.md generiert. Das ist eine gute Übung für den nächsten Abschnitt, in dem wir mit dem gerade erstellten Repository arbeiten.

Mit der Gemini CLI an einem GitHub-Repository arbeiten

In diesem Anwendungsfall verwenden Sie die Gemini CLI, um mit einem GitHub-Repository zu arbeiten. Sie führen mehrere Aufgaben aus, darunter:

  • Codebasis verstehen
  • Dokumentation erstellen
  • Neue Funktion implementieren
  • Änderungen per Commit in das Repository übertragen und per Push hochladen
  • An einem GitHub-Issue arbeiten und die vorgeschlagenen Änderungen implementieren

Das sollte eine gute Grundlage sein, um dann mit Ihren Repositories zu arbeiten und die Gemini CLI als Assistent für diese entwicklerspezifischen Aufgaben zu verwenden.

Voraussetzung

Für die Aufgaben in diesem Abschnitt benötigen Sie Folgendes:

  • Git
  • Gemini CLI mit Github MCP-Server (haben wir bereits gemacht) oder wenn Sie gh ( Github-CLI-Tool) eingerichtet haben, funktioniert das auch.
  • Grundkenntnisse von Git und etwas Programmierwissen (in diesem Beispiel verwenden wir Node.js, da Sie die Umgebung möglicherweise bereits auf Ihrem Computer eingerichtet haben, weil Sie die Gemini CLI installiert haben). Sie können später aber auch ein Repository Ihrer Wahl mit einer anderen Programmiersprache und einem anderen Framework auswählen.
  • Sie sollten den vorherigen Abschnitt abgeschlossen haben und das Repository zur Hand haben, in dem wir eine Event Talks-Website erstellt haben.

Verwenden Sie weiterhin die Gemini-Befehlszeile aus dem Ordner/Verzeichnis, in dem Sie die Event Talks-Anwendung generiert haben. Bei Bedarf können Sie das Repository auf Ihren lokalen Computer klonen und die Gemini-Befehlszeile dann aus diesem Verzeichnis starten. Probieren Sie die folgenden Szenarien aus:

Codebasis verstehen

  • Ich möchte dieses Projekt im Detail verstehen. Erkläre mir die wichtigsten Funktionen und unterteile sie dann in Server- und Clientseite. Nimm einen Beispielablauf und zeige mir, wie die Anfrage und Antwort funktionieren.
  • Erkläre @server.js

README-Datei generieren

  • Generiere eine README-Datei für dieses Projekt.

In diesem Fall hat die Gemini CLI nicht nur die Datei README generiert, sondern auch die Befehle zum Hinzufügen zum Git-Repository und zum Übertragen der Änderungen an das Remote-Repository ausgeführt. Wenn Sie das feststellen, können Sie dies zulassen.

In einigen Fällen wird Ihnen möglicherweise sogar angeboten, die Datei LICENSE für Sie zu generieren. Sie können entscheiden, ob Sie das tun möchten. Je nach Ergebnis werden die Dateien README und/oder LICENSE generiert und die Änderungen werden auf GitHub übertragen.

d77239c8fae0aa8b.png

Neue Funktion implementieren

  • Ich möchte eine neue Funktion implementieren, mit der Nutzer auch nach einem bestimmten Sprecher suchen können. Erstelle zuerst einen Plan, wie du diese Änderung implementieren würdest, und dann können wir den Code generieren.

Sie sollten einen Plan erhalten, den Sie genehmigen können. Nach der Genehmigung nimmt Gemini CLI die Änderungen vor. Testen Sie Ihre Änderungen und bitten Sie Gemini CLI, Fehler zu beheben, falls welche auftreten (was wahrscheinlich ist).

Wenn die Änderungen in Ordnung sind, können Sie sie mit denselben Schritten committen und per Push in das Remote-Repository übertragen.

Probleme auf Grundlage vorgeschlagener Funktionen generieren

Lass uns hier etwas Interessantes ausprobieren. Sie werden Gemini CLI fragen, wie die Nutzerfreundlichkeit dieser Anwendung verbessert werden kann. Basierend auf der Antwort kann Gemini CLI diese Vorschläge als Probleme im selben GitHub-Repository erstellen. Dazu wird das Tool create_issue vom Github-MCP-Server verwendet.

Probieren Sie den folgenden Prompt aus:

  • Ich möchte, dass Sie die Anwendung aus Sicht der Nutzererfahrung bewerten. Nutzerfreundlichkeit, Reaktionsfähigkeit, hilfreiche Meldungen und mehr. Bitte erstelle eine Liste mit Verbesserungsvorschlägen und dann entsprechende Issues im GitHub-Repository.

Idealerweise teilt Gemini die Verbesserungen zuerst mit Ihnen und erstellt dann mit Ihrer Erlaubnis die Probleme im GitHub-Repository. Hier ist ein Beispiel-Screenshot aus unserem Lauf:

495b0f7afab91ec6.png

An einem GitHub-Issue arbeiten und die vorgeschlagenen Änderungen implementieren

Sie können jetzt eines der zuvor generierten Probleme auswählen und Gemini CLI bitten, es zu bearbeiten und zu implementieren.

Unten sehen Sie ein Beispiel für ein Problem, das generiert wurde:

2e41f9f6eac3d1b.png

Kopieren Sie die vollständige Problem-URL und geben Sie einen Prompt wie diesen ein:

  • Lesen Sie sich das Problem <YOUR_ISSUE_URL> durch und informieren Sie sich, welche Änderungen vorgenommen werden müssen. Erstelle zuerst einen Plan und zeige dann die vorgeschlagenen Änderungen im Code.

Sie können die Änderungen genehmigen und per Push in das Repository übertragen. Sie können Gemini sogar bitten, das Problem zu schließen.

cd3c89cf3d47723b.png

(Optional) Alltägliche Aufgaben

Die unten aufgeführten Anwendungsfälle sind Aufgaben, die Sie möglicherweise regelmäßig ausführen. Dazu gehören das Organisieren von Dateien in Ordnern, das Abrufen und Zusammenfassen von Inhalten aus dem Web, das Verarbeiten von Bilddateien und das Extrahieren von Inhalten daraus, das Arbeiten mit Datenbanken und vieles mehr.

Sie können sich gern alle Anwendungsfälle ansehen, die Sie interessieren.

Dateien/Ordner organisieren

Mit der Gemini CLI können Sie die Dateien je nach Bedarf nach Typ in verschiedenen Ordnern organisieren. Rufen Sie auf Ihrem Computer einen Ordner mit mehreren Dateien auf, z. B. TXT, PNG, JPG, PDF und MP4. Das ist wahrscheinlich Ihr Desktop oder Ihr Downloadordner.

Hier sehen Sie einen Beispielordner und seinen Inhalt (möglicherweise haben Sie andere Dateien):

e9d70be5bbea46d5.png

Gehen Sie zu diesem Ordner und starten Sie die Gemini-Befehlszeile. Sie werden Gemini CLI zuerst bitten, einige Ordner zu erstellen: „Bilder“, „Dokumente“ und „Videos“. Anschließend werden Sie Gemini CLI bitten, die Dateien in den Ordnern zu organisieren.

Die Gemini CLI fordert Sie häufig um Erlaubnis, bevor Befehle ausgeführt werden, insbesondere solche, die Ihr Dateisystem ändern (z. B. Dateien schreiben, verschieben oder löschen). Prüfen Sie diese Aufforderungen immer sorgfältig, bevor Sie Berechtigungen erteilen. Das ist Ihr Sicherheitsnetz.

Create the following folders "Images","Documents","Videos"

Geben Sie dann den folgenden Prompt ein:

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.

Ein Beispiel für den endgültigen Zustand des Ordners sehen Sie unten. Es sollten neue Unterordner erstellt und die Dateien je nach Typ in die entsprechenden Unterordner verschoben werden.

7e27d4c88416f62.png

Einige weitere Szenarien zum Organisieren (die Prompts sind neben dem jeweiligen Szenario angegeben):

  1. Zusammenfassung:Erstellen Sie für jedes Dokument im Ordner „Documents“ eine TXT-Datei im selben Ordner mit dem Namen „summary_ORIGINAL_DATEINAME.txt“, die eine Zusammenfassung der wichtigsten Punkte des Dokuments in drei Sätzen enthält.
  2. Nach Typ kategorisieren:Alle PDF- und DOCX-Dateien in diesem Verzeichnis scannen. Verschiebe alle Dateien, in deren Namen oder Inhalt „invoice“ vorkommt, in den Ordner „Financial/Invoices“. Verschieben Sie Dateien mit dem Begriff „receipt“ in den Ordner „Financial/Receipts“. Alle anderen DOCX-Dateien werden in „Berichte“ gespeichert.
  3. Schlüsselinformationen extrahieren (und „taggen“): Lesen Sie für jede PDF-Datei im Ordner „Finanziell/Rechnungen“ den Inhalt. Wenn Sie ein Datum finden, benennen Sie die Datei so um, dass das Datum im Format JJJJ-MM-TT enthalten ist, z.B. ‘invoice_2025-07-26_original_name.pdf'.

Bilder organisieren

Sehen wir uns an, wie Sie Bildinhalte auf Ihrem Computer organisieren können.

So probierst du es aus:

  • Sie benötigen ein Verzeichnis mit verschiedenen Bilddateien (JPG, PNG usw.). Einige sollten EXIF-Daten enthalten (die meisten Fotos von Kameras/Smartphones haben diese).
  • Wechseln Sie zu diesem Verzeichnis.
  • Starten Sie die Gemini-Befehlszeile.

Probieren Sie eines der folgenden Szenarien aus (die Prompts sind neben dem jeweiligen Szenario angegeben):

  • Nach Datum umbenennen (EXIF-Daten): Benennt alle JPG- und PNG-Dateien in diesem Verzeichnis um, sodass das Erstellungsdatum aus den EXIF-Daten im Format „JJJJMMTT_HHMMSS_original_name.jpg“ enthalten ist. Wenn kein EXIF-Datum gefunden wird, verwenden Sie das Datum der letzten Änderung der Datei.
  • Bildbeschreibungen erstellen:Beschreiben Sie für jedes Bild in diesem Ordner, was auf dem Bild zu sehen ist, und speichern Sie die Beschreibung in einer Textdatei mit dem Namen „description_ORIGINAL_DATEINAME.txt“ im selben Verzeichnis.
  • Duplikate identifizieren (konzeptionell, erfordert komplexere Logik): Finde alle doppelten Bilder in diesem Ordner basierend auf ihrem visuellen Inhalt und liste ihre Dateinamen auf. Löschen Sie sie noch nicht.

Artikel zusammenfassen (lokale Dateien oder Web)

Sie können die URL, das Thema und die lokalen Dateinamen in den folgenden Szenarien nach Bedarf ändern. Die angegebenen Dateinamen sind Beispieldateinamen. Sie können sie durch Dateinamen von Dateien ersetzen, die sich auf Ihrem System befinden.

Probieren Sie eines der folgenden Szenarien aus (die Prompts sind neben dem jeweiligen Szenario angegeben):

  • Webartikel zusammenfassen (einzelne URL): Gehen Sie zu https://medium.com/google-cloud/getting-started-with-gemini-cli-8cc4674a1371 und fassen Sie die drei wichtigsten Punkte dieses Nachrichtenartikels zusammen.
  • Mehrere Webartikel zusammenfassen (z.B. aus einer Suche): Suchen Sie mit der Google Suche nach den neuesten Nachrichtenartikeln zu „Gemini CLI“. Fasse die fünf wichtigsten relevanten Artikel in jeweils zwei bis drei Sätzen zusammen und liste ihre URLs auf.
  • Lokale Textdatei zusammenfassen: Fasse die wichtigsten Punkte des Artikels in „my_research_paper.txt“ zusammen. Konzentrieren Sie sich auf die Methodik und die Schlussfolgerungen.
  • Lokales PDF zusammenfassen: „Lies ‚financial_report_Q2_2025.pdf‘.“ Fasse die erwähnte finanzielle Leistung und die wichtigsten Herausforderungen zusammen.

Spezifische Informationen extrahieren (lokale Dateien oder Web)

Sie können die URL, das Thema und die lokalen Dateinamen in den folgenden Szenarien nach Bedarf ändern. Die angegebenen Dateinamen sind Beispieldateinamen. Sie können sie durch Dateinamen von Dateien ersetzen, die sich auf Ihrem System befinden.

Probieren Sie eines der folgenden Szenarien aus (die Prompts sind neben dem jeweiligen Szenario angegeben):

  • Entitäten aus einem lokalen Artikel extrahieren:Liste aus „biography.txt“ alle benannten Personen und die mit ihnen verbundenen wichtigen Daten auf.
  • Daten aus einer Tabelle in einem PDF extrahieren:Extrahiere aus „quarterly_sales.pdf“ die Daten aus der Tabelle auf Seite 3, in der „Product Sales by Region“ (Produktumsatz nach Region) aufgeführt ist, und stelle sie in einer Markdown-Tabelle dar.
  • Nachrichtenüberschriften und ‑quellen von einer Nachrichtenwebsite extrahieren:Rufen Sie „https://news.google.com/“ (oder eine ähnliche Nachrichtenseite) auf. Extrahieren Sie die wichtigsten Schlagzeilen von der Titelseite und die entsprechenden Nachrichtenquellen. Stellen Sie sie als Aufzählungsliste dar.
  • Produktspezifikationen auf einer E-Commerce-Seite finden:Rufen Sie „https://www.amazon.in/Google-Cloud-Certified-Associate-Engineer/dp/1119871441“ auf (Beispiel für ein Buch). Extrahieren Sie den Buchtitel, den Autor und andere Details. Stellen Sie die Informationen in einem strukturierten JSON-Format dar.
  • Extrahieren Sie die Dauer eines Videos in einem bestimmten Format (z. B. „2h37m42s“).

Fragen basierend auf Inhalten beantworten (RAG-ähnliches Verhalten)

Sie können die URL, das Thema und die lokalen Dateinamen in den folgenden Szenarien nach Bedarf ändern. Die angegebenen Dateinamen sind Beispieldateinamen. Sie können sie durch Dateinamen von Dateien ersetzen, die sich auf Ihrem System befinden.

Probieren Sie eines der folgenden Szenarien aus (die Prompts sind neben dem jeweiligen Szenario angegeben):

  • Fragen und Antworten zu einem lokalen Dokument:Ich hänge „user_manual.pdf“ an. Wie behebe ich Probleme mit der Netzwerkverbindung?
  • Fragen und Antworten auf einer Webseite:Was sind laut WHO die primären Gesundheitsrisiken, die mit dem Klimawandel verbunden sind, wenn man die Inhalte von „https://www.who.int/news-room/fact-sheets/detail/climate-change-and-health“ zugrunde legt?
  • Informationen aus mehreren Quellen vergleichen:Ich habe zwei Nachrichtenartikel: „article1.txt“ und „article2.txt“. Beide handeln von den jüngsten Änderungen der Wirtschaftspolitik. Vergleichen und stellen Sie ihre Ansichten zu den potenziellen Auswirkungen auf kleine Unternehmen gegenüber.

Inhaltsgenerierung basierend auf extrahierten Informationen

Sie können die URL, das Thema und die lokalen Dateinamen in den folgenden Szenarien nach Bedarf ändern.

Probieren Sie eines der folgenden Szenarien aus (die Prompts sind neben dem jeweiligen Szenario angegeben):

  • Kurzfassung eines Artikels erstellen:Lies @tech_innovation_article.txt. Schreibe eine kurze, ansprechende Meldung (ca. 150 Wörter) für einen Unternehmensnewsletter, in der du die neue Technologie und ihr Potenzial hervorhebst.
  • Entwirf eine E‑Mail, in der du das Transkript einer Videokonferenz zusammenfasst:Hier ist das Transkript einer Videokonferenz: @meeting_transcript.txt. Verfassen Sie eine E-Mail an das Team, in der Sie die wichtigsten Entscheidungen und zugewiesenen Aufgaben zusammenfassen und angeben, wer für die einzelnen Aufgaben verantwortlich ist.

Multimodale Unterstützung für die Gemini-Befehlszeile

Gemini CLI unterstützt mehrere Modelle über Gemini. Sie können das Tool bitten, Dateien mit unterschiedlichen Inhaltsformaten entsprechend Ihren Anforderungen zu verarbeiten.

Sie verarbeiten eine Reihe von Rechnungsbildern mit der Gemini-Befehlszeile und extrahieren wichtige Informationen daraus. Gehen Sie dazu so vor:

  • Erstellen Sie einen Ordner auf Ihrem Computer und laden Sie einige Rechnungen aus dem folgenden GitHub-Repository herunter.
  • Gemini CLI über diesen Ordner starten

Geben Sie den folgenden Prompt ein, um Informationen aus den Rechnungen in Form einer Tabelle zu extrahieren.

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.

Die Ausgabe sollte idealerweise so aussehen:

fb4183498d02229.png

Hier ist ein weiteres Szenario, in dem Sie zusätzliche abgeleitete Spalten anfordern können. Angenommen, Sie möchten für alle Fälligkeitsdaten von Rechnungen, die in der Vergangenheit liegen, ein rotes Kreuz-Emoji anzeigen. Sie können einen Prompt so eingeben:

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.

Dies führt zu folgender Ausgabe:

f65f6ca8308c7053.png

Wenden Sie dies auf alle Ihre eigenen Dateien an, die nicht im Textformat vorliegen.

Mit der Gemini CLI mit Datenbanken arbeiten

Mit der Gemini CLI können Sie effizienter mit verschiedenen Datenbanken arbeiten. Sie können es für verschiedene Szenarien verwenden, z. B. für Abfragen in natürlicher Sprache, den Export von Daten, das Entwerfen von Datenbankschemas und das Generieren realistischer Testdaten.

Für diese Aufgabe müssen Sie SQLite3 verwenden. Sie müssen SQLite3 installieren und die Chinook-Beispieldatenbank haben.

Hier finden Sie eine kurze Anleitung zum Einrichten von SQLite3:

  1. macOS: SQLite3 ist vorinstalliert. Bestätigen Sie die Identität mit sqlite3 --version. Installieren Sie es bei Bedarf mit Homebrew: brew install sqlite3.
  2. Windows: Laden Sie die vorkompilierten Binärdateien von der SQLite-Website herunter. Extrahieren Sie die Dateien in ein Verzeichnis (z.B. C:\sqlite). Fügen Sie dieses Verzeichnis der PATH-Umgebungsvariable Ihres Systems hinzu.
  3. Linux: Debian/Ubuntu: sudo apt update && sudo apt install sqlite3

Laden Sie die Chinook-Beispieldatenbank herunter (direkter Downloadlink).

Für die Ausführung dieser Prompts empfiehlt es sich, im Verzeichnis gemini-cli-projects einen Ordner (database-tasks) zu erstellen. Kopieren Sie die Chinook-Datenbankdatei in diesen Ordner. Prüfen Sie, ob das sqlite3-Tool auf Ihrem System eingerichtet und im Pfad verfügbar ist, damit Gemini CLI es verwenden kann. Starten Sie die Gemini-Befehlszeile.

Das Diagramm des Datenbankschemas ist unten zu sehen:

fb8e96c21ad57590.png

Angenommen, Sie befinden sich in einem Ordner mit dem Namen database-tasks und die Chinook-Datenbankdatei hat den Namen chinook.db.

Im Folgenden finden Sie einige Prompts, die Ihnen die Arbeit mit Datenbanken erleichtern können. Wir gehen kurz auf die erste ein, um die angeforderte Berechtigung zu veranschaulichen.

Beginnen Sie mit dem Prompt, um die in der Datenbank vorhandenen Tabellen aufzulisten:

What tables are present in the file: chinook.db 

Dabei wird das Tool verwendet, um die Datei zu lesen, und dann wird das Dienstprogramm sqlite3 auf Ihrem System verwendet, um die erforderlichen Schritte auszuführen:

b2a17ef60706c3f5.png

Erteilen Sie die Berechtigung, das Programm einmal auszuführen, um die erwartete Ausgabe zu erhalten:

8d40754b830f4697.png

Probieren Sie die folgenden Prompts oder einen anderen Prompt Ihrer Wahl aus:

  • Wie viele Mitarbeiter gibt es?
  • Wie lautet das Schema der Tabelle „invoices“?
  • Welche drei Rechnungen haben den höchsten Gesamtbetrag und von welchen Kunden wurden sie ausgestellt?

Die Gemini-Befehlszeile übernimmt zwei Aufgaben: Sie generiert die richtige SQL-Anweisung für Ihre Anforderung und gibt den richtigen sqlite3-Befehl aus.

Mit der Gemini CLI Daten generieren

Sie können Gemini CLI auffordern, Daten in verschiedenen Datenformaten zu generieren. Das kann von Inhalten bis hin zu JSON-Daten reichen, die Sie möglicherweise simulieren müssen. Wir konzentrieren uns hier auf Szenarien, die für Entwickler/Tester relevant sind.

Hier sind einige Prompts, die Sie ausprobieren können:

JSON-Daten von Beispielkundenrezensionen generieren

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).

Mock-API-Antworten (JSON) generieren

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').

Beispielhafte SQL-Einfügeanweisungen für Datenbanken generieren

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'.

CSV-Daten zum Laden/Analysieren von Daten generieren

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).

Konfigurationsdatei (YAML) generieren

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.

Testdaten für Grenzfälle/Validierung generieren

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).

13. Glückwunsch

Sie haben die Gemini CLI, ihre Funktionen und einige Anwendungsfälle kennengelernt.

Referenzdokumente