Premiers pas avec les extensions de la CLI Gemini

1. Introduction

Gemini CLI est un agent Open Source optimisé par l'IA pour votre terminal. Il apporte la puissance des modèles Gemini directement à votre ligne de commande. Bien qu'elle soit puissante en soi, son véritable potentiel est libéré grâce aux extensions de la CLI Gemini.

Les extensions sont le moyen officiel et standardisé d'augmenter les capacités de la CLI Gemini. Avant les extensions, la personnalisation de la CLI impliquait souvent de modifier manuellement des fichiers de configuration tels que settings.json, un processus qui pouvait être "désordonné et sujet aux erreurs".

Considérez une extension comme un "conteneur" pour les personnalisations de la CLI Gemini. Il s'agit d'un package autonome, versionnable et facilement distribuable qui regroupe tous les composants nécessaires pour enseigner de nouvelles compétences à Gemini. Ce "conteneur" peut inclure :

  • Configurations du serveur MCP : elles connectent Gemini à des outils et API externes, comme les API Google Cloud ou les services tiers.
  • Fichiers contextuels (GEMINI.md) : il s'agit de "playbooks" qui fournissent au modèle des instructions et des consignes spécifiques sur la façon d'utiliser efficacement les nouveaux outils.
  • Commandes à barre oblique personnalisées (fichiers .toml) : elles encapsulent des requêtes complexes en plusieurs étapes dans des commandes simples et faciles à utiliser, comme /deploy.
  • Restrictions d'outils (excludeTools) : elles peuvent désactiver les outils intégrés pour créer un environnement plus sûr ou plus ciblé.

La principale valeur ajoutée des extensions est de transformer la CLI Gemini, qui était un assistant personnel, en une plate-forme évolutive et adaptée aux entreprises. Une équipe peut regrouper l'intégralité de sa pile cloud dans une seule extension, ce qui permet aux nouveaux développeurs d'être productifs avec une seule commande.

Dans cet atelier de programmation, vous allez apprendre à utiliser cet écosystème puissant. Vous ne créerez pas d'extension, mais vous en installerez et utiliserez quatre différentes pour ajouter des fonctionnalités de déploiement d'applications, d'analyse de sécurité, d'analyse de données et d'infrastructure en tant que code à votre terminal.

Objectifs de l'atelier

  • Installez et configurez la Gemini CLI et ses prérequis Google Cloud.
  • Parcourez la galerie officielle d'extensions de la CLI Gemini pour trouver des extensions.
  • Utilisez l'interface de ligne de commande gemini extensions pour installer, lister et gérer les extensions.
  • Découvrir quelques extensions de la CLI Gemini

Points abordés

  • Découvrez les extensions de la CLI Gemini et pourquoi elles sont la norme pour personnaliser la CLI.
  • Découvrez comment trouver et installer des extensions depuis la galerie d'extensions ou une URL GitHub.
  • Fonction des commandes de gestion des clés : gemini extensions install, gemini extensions list et gemini extensions update.
  • Installer et utiliser quelques extensions de la CLI Gemini

Prérequis

  • Navigateur Web Chrome
  • Un compte Gmail
  • Un projet Cloud pour lequel la facturation est activée

Cet atelier de programmation s'adresse aux utilisateurs et aux développeurs de tous niveaux (y compris les débutants). Vous devez avoir une certaine connaissance de Gemini CLI, mais des étapes vous seront fournies pour l'installer à partir de zéro. Si vous souhaitez vous familiariser avec la CLI Gemini, essayez l'atelier de programmation "Hands-on with Gemini CLI" (Prise en main de la CLI Gemini).

2. Avant de commencer

Créer un projet

  1. Dans la console Google Cloud, sur la page du sélecteur de projet, sélectionnez ou créez un projet Google Cloud.
  2. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
  1. Vous allez utiliser Cloud Shell, un environnement de ligne de commande exécuté dans Google Cloud et fourni avec bq. Cliquez sur "Activer Cloud Shell" en haut de la console Google Cloud.

Image du bouton "Activer Cloud Shell"

  1. Une fois connecté à Cloud Shell, vérifiez que vous êtes déjà authentifié et que le projet est défini sur votre ID de projet à l'aide de la commande suivante :
gcloud auth list
  1. Exécutez la commande suivante dans Cloud Shell pour vérifier que la commande gcloud connaît votre projet.
gcloud config list project
  1. Si votre projet n'est pas défini, utilisez la commande suivante pour le définir :
gcloud config set project <YOUR_PROJECT_ID>
  1. Activez les API requises à l'aide de la commande ci-dessous. Cette opération peut prendre quelques minutes. Veuillez patienter.
gcloud services enable cloudresourcemanager.googleapis.com \
                       servicenetworking.googleapis.com \
                       run.googleapis.com \
                       cloudbuild.googleapis.com \

Si la commande s'exécute correctement, un message semblable à celui ci-dessous s'affiche :

Operation "operations/..." finished successfully.

Si vous oubliez d'activer une API, vous pourrez toujours le faire au cours de l'implémentation.

Consultez la documentation pour connaître les commandes gcloud et leur utilisation.Avant de configurer et d'exécuter Gemini CLI, créons un dossier que vous utiliserez comme dossier de base pour tous les projets que vous pourrez créer à l'intérieur. Il s'agit d'un point de départ pour que la CLI Gemini fonctionne, bien qu'elle fasse également référence à d'autres dossiers de votre système que vous découvrirez plus tard, si nécessaire.

Créez un exemple de dossier (gemini-cli-projects) et accédez-y à l'aide des commandes ci-dessous. Si vous préférez utiliser un autre nom de dossier, n'hésitez pas.

mkdir gemini-cli-projects

Accédez à ce dossier :

cd gemini-cli-projects

Vous pouvez lancer directement la CLI Gemini à l'aide de la commande gemini dans un nouveau terminal Cloud Shell ou elle a peut-être déjà été lancée dans un terminal Cloud Shell distinct.

Notre première interaction avec la CLI Gemini

Nous devons nous assurer que tout fonctionne correctement dans notre environnement Gemini CLI. Nous pouvons donc saisir notre première requête, comme indiqué ci-dessous :

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

Vous remarquerez que notre requête a entraîné l'appel d'un outil GoogleSearch (outil intégré à la CLI Gemini). En d'autres termes, vous avez déjà utilisé l'un des puissants outils intégrés de Gemini CLI, à savoir GoogleSearch, qui ancre ses réponses sur les informations qu'il obtient sur le Web. Vous devriez recevoir une réponse à votre requête.

Passons maintenant aux extensions.

3. Qu'est-ce qu'une extension ?

Une extension est un package autonome, versionnable et facilement distribuable. Considérez-le comme le "conteneur" de vos personnalisations de la CLI Gemini, qui regroupe tout ce dont vous avez besoin pour un workflow spécifique dans un seul package.

816cd3c3d4057c11.png

Une extension peut regrouper n'importe quelle combinaison des éléments suivants :

  • Commandes à barre oblique personnalisées (vos fichiers .toml).
  • Configurations du serveur MCP (qui se trouvaient auparavant dans settings.json).
  • Fichiers de contexte (GEMINI.md) pour fournir des instructions et des consignes spécifiques au modèle.
  • Restrictions d'outils (excludeTools) pour créer un environnement plus sûr et plus ciblé.

Pourquoi utiliser des extensions ? Principaux avantages

L'adoption des extensions pour vos personnalisations présente plusieurs avantages importants :

  • Installation en une seule commande : c'est essentiel. Au lieu d'une configuration manuelle en plusieurs étapes, un utilisateur peut installer un ensemble d'outils complet et complexe avec une seule commande : gemini extensions install <URL> ou gemini extensions install --path=some/local/path. Dans la commande ci-dessus, <URL> peut être l'URL GitHub où vous avez hébergé l'extension.
  • Distribution simplifiée : le partage de votre travail devient aussi simple que le partage d'une seule URL de dépôt Git. Vous n'avez plus besoin de transmettre des fichiers individuels et des extraits de configuration.
  • Gestion des versions et des dépendances : comme les extensions sont généralement hébergées dans des dépôts Git, vous bénéficiez sans frais du contrôle des versions. Il existe gemini extensions update command pour mettre à jour une extension vers la dernière version.
  • Découverte et écosystème : les extensions sont à la base d'un écosystème riche et ouvert, à l'instar des marchés pour VS Code ou Chrome. Le mécanisme d'extension pourrait servir de base à un futur marché où ces extensions seraient disponibles pour examen, téléchargement et plus encore, dans un véritable esprit communautaire.

L'introduction du framework d'extension montre clairement que Gemini CLI évolue d'un outil autonome puissant vers une véritable plate-forme extensible.

4. Comprendre les principes de base des extensions

Cette section couvre les aspects de l'écosystème d'extensions auxquels les utilisateurs sont confrontés : rechercher des extensions et les gérer.

La galerie d'extensions est la plate-forme centrale pour découvrir toutes les extensions officielles Google et tierces :

  1. Ouvrez l'URL suivante dans votre navigateur : https://geminicli.com/extensions/browse/.
  2. Cette galerie est le moteur de découverte de l'écosystème. Vous pouvez voir les extensions d'entreprises comme GitHub, Redis et DynaTrace, qui illustrent l'étendue des outils disponibles.
  3. Faites défiler la page vers le bas et recherchez la fiche d'extension pour Cloud Run.
  4. Notez que la fiche fournit une description, l'auteur (Google) et un bouton de commande Copy install en un clic. Il s'agit du moyen le plus simple d'obtenir la commande d'installation d'une extension.

Extensions de la CLI Gemini : commandes de gestion

La commande gemini extensions est votre point d'entrée pour gérer vos extensions locales.

Exécutez-le dans votre terminal pour afficher la liste des commandes disponibles.

5a774a9fab1be3ed.png

Les commandes sont simples (installer/désinstaller, lister, mettre à jour, activer/désactiver, etc.). Nous en utiliserons certaines dans cet atelier de programmation.

Vérifier votre état actuel

Avant d'installer quoi que ce soit, vérifions notre "ardoise vierge".

  1. Exécutez la commande gemini extensions list :
  2. Vous devriez obtenir le résultat suivant, qui confirme qu'aucune extension n'est encore installée.
No extensions installed.

5. Extension Cloud Run (déployer une application)

L'extension Cloud Run disponible dans la galerie d'extensions de la CLI Gemini est un serveur MCP qui nous permet de déployer nos applications sur Cloud Run.

La fiche de l'extension Cloud Run dans la galerie d'extensions est présentée ci-dessous :

648026b7668d0db.png

Commençons par installer l'extension Cloud Run en cliquant sur Copier la commande d'installation, comme indiqué ci-dessus. Collez ensuite cette commande dans le terminal Cloud Shell (elle devrait ressembler à ce qui suit) :

gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp

Lorsque vous exécutez la commande ci-dessus, une confirmation vous est demandée. N'hésitez pas à l'approuver. L'extension Cloud Run devrait alors s'installer correctement.

Installing extension "cloud-run".
**Extensions may introduce unexpected behavior. Ensure you have investigated the extension source and trust the author.**
This extension will run the following MCP servers:
  * cloud-run (local): npx -y @google-cloud/cloud-run-mcp
This extension will append info to your gemini.md context using gemini-extension/GEMINI.md
Do you want to continue? [Y/n]: Y
Extension "cloud-run" installed successfully and enabled.

Si vous exécutez maintenant la commande list des extensions Gemini, l'extension Cloud Run devrait être installée, comme indiqué ci-dessous :

✓ cloud-run (1.0.0)
 Path: <HOME_FOLDER>/.gemini/extensions/cloud-run
 Source: https://github.com/GoogleCloudPlatform/cloud-run-mcp (Type: github-release)
 Release tag: v1.5.0
 Enabled (User): true
 Enabled (Workspace): true
 Context files:
  <HOME_FOLDER>/.gemini/extensions/cloud-run/gemini-extension/GEMINI.md
 MCP servers:
  cloud-run

Si vous lancez Gemini CLI maintenant et exécutez la commande /mcp, le message suivant s'affiche :

7ca93915c06e4ce2.png

Revenons à Cloud Shell et essayons de déployer une application. Pour cela, nous devons d'abord disposer d'une application simple à déployer sur Cloud Run. Suivez les étapes ci-dessous :

Assurez-vous de vous trouver dans le dossier que nous avons créé précédemment, c'est-à-dire gemini-cli-projects. Créez un autre dossier nommé gemini-cloud-run et accédez-y.

mkdir gemini-cloud-run

cd gemini-cloud-run

Créez ensuite deux fichiers dans ce dossier (fichiers app.py et requirements.txt), dont le contenu est indiqué ci-dessous :

app.py

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
  return 'Hello from Gemini and Cloud Run!'
if __name__ == "__main__":
  app.run(debug=True, host='0.0.0.0', port=8080)

requirements.txt

Flask
gunicorn

Lancez maintenant la CLI Gemini depuis le dossier gemini-cloud-run. Une fois le terminal prêt, saisissez la requête suivante :

/deploy --project="PROJECT_ID" --location="PROJECT_LOCATION" --name="SERVICE_NAME"

Vous devrez spécifier l'PROJECT_ID (ID du projet Google Cloud), le PROJECT_LOCATION et le SERVICE_NAME. Si vous ne le faites pas, la commande Cloud Run appelle les outils appropriés pour vous aider à les choisir.

Dans le cadre du processus, il sélectionnera l'outil approprié à partir de l'extension de serveur MCP Cloud Run que nous avons installée. Par exemple, un message de ce type devrait s'afficher :

9dcf78679bffd710.png

Autorisez l'utilisation de l'outil.

Et voilà ! Gemini CLI dispose désormais de toutes les informations dont il a besoin, ainsi que de votre autorisation pour exécuter les outils. Il va maintenant exécuter l'intégralité du pipeline de déploiement : création de l'image Docker, transfert vers Artifact Registry, configuration et déploiement d'un nouveau service Cloud Run.

Au bout de quelques instants (en fait, deux à trois minutes), un message de confirmation s'affiche avec une URL de service. Voici un exemple d'exécution :

The Cloud Run service SERVICE_NAME has been deployed from the current folder in project PROJECT_ID.
  You can view the service in the Cloud Console: https://console.cloud.google.com/run/detail/PROJECT_LOCATION/SERVICE_NAME?project=PROJECT_ID
  The service is accessible at: https://SERVICE_NAME-SOME-ID.a.run.app

Cliquez sur ce lien. L'application Flask doit afficher la page d'accueil :

92414fd2270ccc46.png

Cela montre la puissance d'une extension Gemini CLI (Cloud Run dans ce cas), qui a complètement encapsulé la complexité des commandes gcloud CLI et s'est simplement occupée de tous les détails pour vous.

N'hésitez pas à explorer d'autres outils dans le serveur MCP Cloud Run.

6. Extension BigQuery (analyser des ensembles de données volumineux)

Pour suivre ce tutoriel, vous aurez besoin des éléments suivants :

  • Un projet Google Cloud avec l'API BigQuery activée.
  • Autorisations IAM :
  • Utilisateur BigQuery (roles/bigquery.user)
  1. Exécutez cette commande pour définir votre variable d'environnement BIGQUERY_PROJECT. Il s'agit du projet qui exécutera les jobs BigQuery, et pas nécessairement celui où se trouvent vos données (bien qu'il puisse s'agir du même projet).
export BIGQUERY_PROJECT=<YOUR_GCP_PROJECT_ID>
  1. Installez l'extension BigQuery Data Analytics à l'aide de la commande ci-dessous. Autorisez-le à installer l'application. Une fois l'installation réussie, vous devriez avoir deux extensions installées dans votre configuration : cloud-run et bigquery-data-analytics.
gemini extensions install https://github.com/gemini-cli-extensions/bigquery-data-analytics
  1. Relançons la CLI Gemini à l'aide de la commande suivante :
gemini

La CLI Gemini devrait se lancer dans votre terminal : 7a140fbd0d7f7d3c.png

Les commandes suivantes doivent être saisies dans le terminal Gemini CLI.

  1. Vérifiez que l'extension BigQuery est installée et prête à l'emploi en saisissant la commande slash ci-dessous :
/extensions list

L'extension bigquery-data-analytics devrait également figurer dans la liste.

9461d5119d9dc693.png

  1. Exécutez la commande ci-dessous pour consulter les outils disponibles.
/mcp list

fd23c246e2a6e4db.png

  1. Posons une question analytique de base sur l'ensemble de données public BigQuery : look ecommerce. Cet ensemble de données contient des informations sur les clients, les produits et les commandes d'un site d'e-commerce de vêtements fictif. Saisissez ce prompt dans la CLI Gemini :
Look at BigQuery's the look ecommerce public dataset. Identify the top 5 products that had the most orders.
  • La CLI Gemini vous demandera si vous souhaitez autoriser l'exécution des outils BigQuery. Pour continuer, sélectionnez la troisième option : Yes, always allow all tools from server "bigquery_data_analytics". 3d6e7372e5147216.png
  • En arrière-plan, Gemini génère la requête SQL appropriée, appelle l'outil execute_sql et renvoie une réponse en langage naturel ainsi que vos données :

ac5c0cd94bc3bb78.png

  1. Nous allons maintenant demander à Gemini de prévoir le taux de retour des produits en fonction des données historiques. Pour cette commande, l'interface de ligne de commande Gemini ne doit pas tenter de générer du code SQL détaillé pour créer cette prévision. Elle doit appeler l'outil forecast à partir du serveur MCP, qui utilisera AI.Forecast de BigQuery en arrière-plan :
Forecast what the return rate will be next month.
  • Vous devriez obtenir une réponse semblable à la suivante :

8a763a03852984ff.png

7. Explorer plus en détail

Cet atelier de programmation est terminé. Nous avons abordé les extensions de la CLI Gemini, les commandes de base pour les utiliser et nous avons exploré deux extensions : cloud-run et bigquery-data-analytics.

Accédez à la galerie d'extensions Gemini sur https://geminicli.com/extensions/ pour découvrir les extensions actuellement disponibles (plus de 100 au moment de la rédaction) que vous pouvez utiliser dès aujourd'hui. Chaque fiche d'extension contient des informations, le type d'extension (MCP, contexte, etc.), ainsi que le lien vers son dépôt GitHub et une commande permettant d'installer l'extension dans votre environnement.

1c26d4f029747914.png

8. Félicitations

Félicitations ! Vous avez bien compris les extensions de la CLI Gemini, et vous savez comment les installer et les utiliser.

Documents de référence