La Révolution Open Source du Code Assistant
Gemini CLI est un outil de développement en ligne de commande entièrement gratuit conçu pour rivaliser avec des solutions payantes prestigieuses comme Claude Code ou Codex CLI.
100% Gratuit
Avec une simple adresse Gmail, vous bénéficiez de 1 000 requêtes par jour et de 60 requêtes par minute, sans aucun abonnement requis. Un contraste majeur avec les solutions concurrentes.
Puissance du Modèle
Propulsé par Gemini 2.5 Pro / 1.5 Pro. Il offre un accès brut à une fenêtre de contexte impressionnante de 1 million de tokens, là où d'autres éditeurs brident l'accès gratuit.
L'avis de l'auteur (Matt Maher)
Il conclut avec un avis extrêmement positif ("deux pouces en l'air"). C'est un projet open source qui évolue à une vitesse fulgurante. Bien qu'il attende la future version 3 du modèle pour des performances encore meilleures, il affirme que Gemini CLI est un outil "choquant de qualité" que vous devriez absolument tester.
Installation & Authentification
1 Installation via NPM
Ouvrez votre terminal et installez l'interface globalement en utilisant le gestionnaire de paquets Node :
npm install -g @google/gemini-cli
* Note: La commande exacte peut varier selon le dépôt GitHub officiel.
Avertissement Crucial
Il ne faut jamais exécuter Gemini CLI dans votre répertoire personnel (home directory). Il est impératif de le lancer uniquement dans un environnement contrôlé, comme un dossier de code spécifique ou un dépôt GitHub, pour sécuriser vos fichiers.
2 Lancement et Connexion
Placez-vous dans votre projet de code et lancez l'outil. Au premier lancement, il vous demandera de vous authentifier.
cd mon-projet-code
gemini
La commande /auth
Si ce n'est pas automatique, utilisez /auth dans l'interface. Vous pouvez vous connecter avec :
- Un compte Google classique (Gmail)
- Une clé API
- Vertex AI
Les Commandes Slash (/)
L'outil fonctionne beaucoup avec des commandes "slash". Voici les commandes de base intégrées pour gérer votre session et votre environnement.
Analyse votre projet et crée un fichier gemini.md sur mesure. Ce fichier donne en arrière-plan des indices au LLM sur la structure et le fonctionnement de votre projet à chaque nouvelle session.
Permet de nettoyer l'historique et de démarrer une nouvelle session de chat sans le contexte précédent. Très utile pour changer de sujet.
Affiche l'état actuel de la session, les modèles utilisés, le nombre de requêtes effectuées et la consommation de tokens par rapport à votre quota gratuit.
Permet de modifier les paramètres de l'éditeur directement depuis le terminal, applicables au niveau Workspace, Utilisateur ou Système global.
Un "Easter egg" caché ! Fait apparaître un petit chien en bas de l'écran pour vous tenir compagnie pendant que vous codez.
Créer ses Commandes Slash
L'une des fonctionnalités les plus puissantes de Gemini CLI. Vous pouvez créer des commandes personnalisées en utilisant des fichiers TOML.
Structure et Emplacement
1. Le Dossier
Créez un dossier commands dans le répertoire Gemini (situé dans votre dossier personnel global, ou directement dans le dossier de votre projet pour une configuration en cascade).
2. Le Fichier TOML
Le nom du fichier définit la commande (ex: explain.toml créera la commande /explain).
# Fichier: explain.toml
description = "Explique le code sélectionné ou un fichier spécifique"
prompt = """
Tu es un expert développeur.
Explique ce code en détail :
{{args}}
"""
L'Art du Prompt Dynamique
Gemini CLI permet d'aller plus loin qu'une simple bibliothèque statique en ajoutant des actions dynamiques directement dans vos fichiers de commande.
Arguments Texte
Ce que vous tapez après la commande remplacera cette balise. Ex: /explain hello world injectera "hello world".
Inclusion de Fichier
Permet d'aspirer le contenu entier d'un fichier spécifique et de l'intégrer directement dans la requête envoyée à l'IA.
Syntaxe Brace Bang
Exécute une commande terminal (ex: {! ls -la !}) et injecte le résultat obtenu en plein cœur de votre prompt.
Configuration en Cascade
Si vous placez vos commandes dans le dossier de votre projet (espace de travail), elles seront prioritaires sur les globales et pourront être versionnées via Git pour les partager avec votre équipe ! L'ordre de recherche est : Workspace > User > System.
Maîtrise du Mode Non Interactif
L'outil n'est pas uniquement un éditeur interactif. Le paramètre -p permet de l'utiliser comme un outil de ligne de commande standard.
Il fait actuellement 18°C à Paris avec un ciel partiellement nuageux.
Température max prévue: 22°C.
Accès Internet en Temps Réel
Contrairement à de nombreux concurrents, Gemini CLI peut interroger Internet dynamiquement grâce aux outils intégrés au modèle (Gemini 2.5 Pro).
Exécution Directe
Envoie le texte, affiche la réponse dans la console, et rend la main sans ouvrir d'interface de chat.
Formatage Écran
Idéal pour le terminal, vous pouvez demander à l'IA de contraindre sa mise en page (ex: largeur maximale de 80 caractères).
Idéal pour les Scripts
Parce qu'il ne nécessite aucune interaction humaine, ce mode est puissant pour être inséré dans vos pipelines et scripts d'automatisation (workflows CI/CD).
Configuration et Options Avancées
Le fichier settings.json
Situé dans votre dossier personnel (ex: ~/Gemini/settings.json), ce fichier contrôle le comportement global.
Configuration de Ripgrep
Pour des recherches de fichiers ultra-rapides, vous pouvez configurer l'utilisation de ripgrep. L'activation se fait dans settings.json.
# Sur macOS
brew install ripgrep
# Sur Debian/Ubuntu
sudo apt-get install ripgrep
Historique et Checkpointing
Le checkpointing s'active aussi dans settings.json. Il existe une nuance importante sur son fonctionnement actuel :
Sauvegarder le contexte d'une conversation à un instant T (ex: "avant grand changement") fonctionne parfaitement. Vous pouvez y revenir dans l'historique.
La fonctionnalité de "restore checkpoint" pour restaurer vos fichiers physiques à un état antérieur est encore instable / en développement.
Gestion des Répertoires (Workspaces)
Contrairement à d'autres éditeurs, Gemini CLI permet de restreindre l'outil à des dossiers précis. Si vous travaillez sur un énorme "monorepo", vous pouvez lui indiquer de n'analyser que deux ou trois dossiers (ex: le serveur et le front-end) au lieu de tout scanner.
11 Astuces Pro de Sean Kochel
Pour transformer Gemini CLI d'un simple générateur de code en un véritable partenaire de développement, voici 11 astuces incontournables extraites de la vidéo de Sean Kochel.
#1 L'Authentification Gratuite
En utilisant /auth et en vous connectant via Google, vous évitez les coûts liés à une clé API et profitez de 1 000 requêtes/jour offertes. Parfait pour expérimenter sans anxiété financière.
#2 Le Fichier gemini.md
Considérez-le comme votre "Master Prompt". Définissez-y le contexte de votre stack, vos standards (ex: développement piloté par les tests) et vos préférences. Il agira comme directive globale pour chaque session.
#3 Workflows Slash Avancés
Au-delà de simples prompts, créez des flux complets. Exemple : une commande qui analyse un fichier, génère les tests, les lance, corrige les erreurs puis rédige un message de commit automatiquement.
#4 La Mémoire Active (/memory)
Évitez de corriger 10 fois le même bug de configuration ! Utilisez /memory add "faits..." pour sauvegarder des solutions permanentes, et /memory show pour consulter les acquis de l'IA.
#5 La Magie des Checkpoints
Expérimentez librement. Gemini CLI journalise vos actions. Si tout casse, utilisez /restore pour revenir exactement à l'appel système d'avant l'erreur, comme des points de sauvegarde dans un jeu vidéo.
#6 Le Cycle TDD Intégré
Le Test-Driven Development est super optimisé ici : dites à Gemini de créer le test (qui échoue), d'implémenter la fonctionnalité, puis de boucler automatiquement jusqu'à ce que le test passe au vert.
#7 Débogage Visuel (Multimodal)
Pour régler l'UI, fournissez une capture d'écran via @image.png. Les modèles de vision sont 200% plus efficaces pour corriger les soucis d'interface ou de padding que des mots-clés de description.
#8 L'Audit de Fichiers Ciblés
Passez des références claires en argument. En utilisant @UX.md combiné au composant sur lequel vous travaillez, vous pouvez demander à Gemini d'auditer dynamiquement l'interface selon vos propres chartes.
#9 Clear vs Compress
Si vous changez de feature, utilisez /clear. Si votre contexte gonfle mais que vous restez sur le même problème complexe, utilisez /compress (réduction jusqu'à 90% des tokens en préservant l'essentiel).
#10 Le Mode YOLO (Auto-Accept)
Trois niveaux d'action : "None" (vous validez tout manuellement), "Safe" (valide les requêtes en lecture seule) et "All / YOLO". Activez le mode YOLO uniquement lorsque vous avez une suite de tests très robuste.
#11 L'Avantage du Million de Tokens
Avec la fenêtre gargantuesque de Gemini, chargez toute la base de code de votre projet en production dans le contexte. L'IA agit alors comme un développeur senior qui connaît chaque ligne cachée de votre repo, évitant les erreurs de contexte fatalistes des modèles plus bridés.
Cas Pratiques & MCP
Tiré de la présentation d'Anne-Marie Roy, voici des exemples concrets d'utilisation de Gemini CLI et l'intégration du puissant protocole MCP.
Les Serveurs MCP (Model Context Protocol)
Le MCP agit comme un "câble USB-C" universel pour les LLMs. Il permet à Gemini CLI de se connecter et d'interagir avec des applications externes.
Intégration GitHub
En configurant le serveur MCP GitHub, vous pouvez demander depuis le terminal :
"Quelles sont les issues ouvertes ?" ou "Crée et ferme une issue de test".
Services Tiers (Ex: Airbnb)
Vous pouvez interroger des API externes. Exemple de prompt :
"Donne-moi 5 appartements disponibles à louer ce week-end à Deauville".
Configuration : Ces serveurs s'ajoutent directement dans le fichier settings.json sous la clé mcpServers.
Renommage Visuel Intelligent
Exploitez les capacités multimodales de Gemini pour organiser vos dossiers. Demandez-lui d'aller dans un dossier d'images mal nommées (ex: 1.jpg, 2.jpg) et donnez l'instruction :
"Analyse le contenu de chaque fichier et renomme-le de manière appropriée (ex: si c'est une fleur, renomme en flowers.jpg)."
Conversions Magiques
-
De l'Image au JSON : Passez une image de facture et demandez : "Convertis ce fichier en JSON avec la même extension". L'IA structure automatiquement toutes les données de la facture.
-
Du Markdown au PowerPoint : À partir d'un fichier Markdown, demandez la création d'un fichier
.pptx. Gemini utilisera des utilitaires commepandocen arrière-plan pour générer les slides.
Réglage Fin (Température, Top-K)
Pour des tâches créatives, vous pouvez injecter des paramètres précis dans vos commandes de prompt pour moduler la créativité du modèle :
Workflows & Agents Autonomes
Inspiré par la chaîne AI and Technology Simplified, voici des conseils pour structurer vos commandes personnalisées de manière robuste et utiliser des fichiers de configuration pour vos agents.
Portée Globale vs Projet
L'emplacement de votre dossier commands définit sa portée :
- Dossier Profil : (Dossier global d'installation Gemini) La commande sera accessible partout sur votre machine pour tous vos projets.
- Dossier Projet : La commande sera exclusive à ce projet précis (idéal pour les workflows d'équipe).
L'Astuce du Redémarrage
Si Gemini CLI est déjà ouvert lorsque vous créez un tout nouveau fichier .toml pour une commande, l'outil ne la reconnaîtra pas immédiatement dans l'autocomplétion.
Fermez (quit) et relancez Gemini CLI pour qu'il indexe proprement la nouvelle commande.
Le Fichier Constitutionnel (agents.md)
Pour éviter de répéter les mêmes instructions (ton, règles de style, contraintes de code) dans chaque commande TOML, créez un fichier central comme agents.md.
C'est un "fichier constitutionnel" que tous vos agents devront respecter. Vous l'invoquez ensuite facilement dans vos prompts dynamiques pour unifier le comportement de l'IA.
Anatomie d'un Workflow (Ex: /proofread)
Comment enchaîner des actions complexes de gestion de fichiers avec un simple /proofread mon_fichier.md :
- Le fichier TOML : Utilisez des commentaires (
#) en en-tête. Les clésdescriptionetpromptdoivent être en minuscules. Les prompts multilignes s'écrivent entre""". - L'exécution : Le prompt ordonne à l'IA d'ouvrir le fichier passé en paramètre (en injectant le nom du fichier derrière la commande slash).
- La révision : Il croise automatiquement le contenu du fichier avec les règles du
agents.mdet d'un éventuel serveur MCP (ex: Microsoft Writing Style Guide). - La manipulation de fichiers : Après correction, le prompt instruit Gemini de déplacer physiquement le fichier du dossier
drafts/vers un dossierpending/en ajoutant un suffixe, le tout sans intervention manuelle !
Intégration IDE, Sandboxing & Architecture
Tiré du tutoriel complet de Lustoykov, découvrez comment coupler Gemini CLI à votre éditeur, sécuriser vos environnements et comprendre sa mécanique interne.
Connexion Directe : Cursor & VS Code
Gemini CLI prend une tout autre dimension lorsqu'il est synchronisé avec votre éditeur.
- Installez l'extension "Gemini CLI Companion" dans VS Code ou Cursor.
- Lancez Gemini CLI dans le terminal et utilisez la commande
/ide enable(vérifiez l'état avec/ide status). - Le Super-Pouvoir : Le CLI accède désormais automatiquement aux 10 derniers fichiers ouverts, à la position de votre curseur et au texte sélectionné. Les modifications proposées par l'IA peuvent être acceptées ou rejetées directement via l'interface visuelle de l'éditeur !
Raccourcis Secrets & Optimisation
Hotkeys Essentiels
- Ctrl + Y : Activer/Désactiver le mode YOLO.
- Shift + Tab : Basculer en mode
autoedit. - Ctrl + O : Afficher la console de Debug (utile en cas de blocage de l'API).
- Ctrl + F : Focus sur le shell pour valider une opération.
Login : Gmail vs API Key
Le login Gmail offre un grand quota gratuit, mais s'authentifier avec une clé API (via ai.studio/api-keys) active le Token Caching, ce qui accélère les requêtes et réduit les coûts (économies visibles via /stats).
Extensions : Tapez /extensions list pour installer des modules officiels comme NanoBanana (qui permet de générer des images directement depuis le CLI).
Sandboxing (-s)
Si vous utilisez des scripts générés ou le mode YOLO, isolez le CLI. Utilisez le flag -s ou exportez GEMINI_SANDBOX=true.
- Mac : Utilise le framework natif Seatbelt (profils configurables via env vars).
- Linux/Win : Isole l'exécution dans un conteneur Docker.
Flags d'Exécution
--output-format json: Retourne des données JSON pures (génial pour les scripts CI/CD).--approval-mode autoedit: Un entre-deux parfait. Approuve automatiquement les créations/éditions de fichiers, mais bloque et demande votre avis pour les commandes Shell.
Le "Hack" des Instances Concurrentes
Gemini CLI charge les fichiers gemini.md en cascade. Vous pouvez créer deux dossiers dans votre projet (ex: /plan et /explain), y placer des gemini.md spécialisés, puis ouvrir deux terminaux.
Terminal 1 : cd /plan && gemini --include-directories ..
Terminal 2 : cd /explain && gemini --include-directories ..
Vous obtenez ainsi deux agents de l'IA (un architecte, un vulgarisateur) travaillant simultanément sur le même code source !
Architecture en 2 Couches
1. Le Package CLI (Frontend)
Gère l'expérience utilisateur, l'analyse des arguments tapés, l'affichage des couleurs/thèmes, la lecture de la console et la validation des prompts d'approbation.
2. Le Package Core (Backend)
Récupère l'entrée, concatène le contexte (mémoire, fichiers markdown, système de fichiers), construit le gros prompt, communique avec l'API Gemini et lance les outils si le modèle le demande.
État de l'Art en Entreprise
Le déploiement de Gemini CLI en environnement professionnel (boucle ReAct) impose des standards stricts de sécurité, d'isolation et d'automatisation.
Sécurité des Données : Vertex AI
Pour respecter le RGPD et l'EU AI Act, l'utilisation de l'API Standard (Google AI Studio) est proscrite en entreprise. Le routage doit s'effectuer via Google Cloud Vertex AI.
API Standard (AI Studio)
- Risque d'entraînement du modèle avec votre code.
- Clés statiques (risques de fuite).
- Aucune garantie de souveraineté géographique.
Enterprise API (Vertex AI)
- Zéro entraînement sur vos données (contractuel).
- Authentification sans clé (Keyless ADC).
- Choix de la région d'exécution et Cloud Logging.
Setup : Authentification Keyless (ADC)
Éliminez le stockage local de secrets via l'usurpation d'identité de compte de service (Service Account Impersonation).
# 1. Purge des clés locales
unset GEMINI_API_KEY && unset GOOGLE_API_KEY
# 2. Login et liaison ADC vers un compte restreint (rôle: aiplatform.user)
gcloud auth login
gcloud auth application-default login \
--impersonate-service-account=svc-vertex-cli@<PROJECT_ID>.iam.gserviceaccount.com
Ajoutez ensuite dans ~/.gemini/.env : GOOGLE_GENAI_USE_VERTEXAI=true et votre GOOGLE_CLOUD_PROJECT.
Mécanismes de Confinement (Sandboxing)
La délégation de droits d'écriture et d'exécution Shell à un agent autonome requiert une conteneurisation stricte.
- GEMINI_SANDBOX : Définit le moteur (
docker,podman,lxc, ousandbox-execpour Seatbelt sur macOS). - GEMINI_SANDBOX_IMAGE : Permet d'imposer une image de registre privé approuvée par la sécurité.
- SANDBOX_MOUNTS : Ex:
/var/data:/data:ropour monter des répertoires hôtes en lecture seule. - SEATBELT_PROFILE : (macOS) Utilisez
strict-proxiedpour bloquer l'écriture disque globale et forcer le trafic réseau via un mandataire.
Science des Données
Intégration native dans Vertex AI Workbench et JupyterLab. Vous pouvez utiliser le magic command suivant directement dans une cellule :
%%geminicli_magic
Create a new notebook named 'data-cleaning'...
Programmation Asynchrone
Le SDK Python gemini-cli-sdk encapsule l'exécution en sous-processus. En utilisant --output-format json, vous recevez des structures de retour typées (incluant latence et consommation tokens).
Automatisation CI/CD & Agent Factory
-
GitHub Actions (run-gemini-cli) : Exécution asynchrone dans les pipelines. L'agent peut réaliser une Pull Request Review automatisée, trier les anomalies (Issue Triage), ou écrire des tests suite à un commentaire (
@gemini-cli write unit tests). Le tout est monitoré via OpenTelemetry (Datadog, Dynatrace). -
L'Usine d'Agents (ADK) : L'outil
agents-clitransforme Gemini CLI en plateforme de pilotage. L'agent peut designer, échafauder et déployer d'autres micro-agents métier sur la Google Cloud Agent Platform.
Recommandations RSSI (Sécurité)
- Infrastructure as Code : Verrouillez
~/.gemini/settings.json. Imposez"autoAccept": false. - Gouvernance des TOML : Les fichiers de commandes
.tomlpouvant exécuter du shell (!{...}) doivent être traités comme du code de production (stockage sur un Git d'entreprise et Pull Request obligatoire avant déploiement local). - FinOps : Surveillez la boucle d'interaction ReAct via un tableau de bord cloud pour détecter les boucles infinies de l'agent et prévenir la surconsommation de quota.
Automatisation avec Eric Before
Pour dédramatiser l'usage du terminal, voici des méthodologies de travail, des astuces d'optimisation de tokens et des extensions cruciales présentées par Eric Before.
La Boucle "Ask, Clarify, Act, Review"
Le terminal ne doit pas vous faire peur. Il s'agit simplement d'une conversation en 4 étapes itératives.
Astuce : Dompter un modèle "trop impatient"
Gemini CLI est extrêmement "eager" (impatient d'agir et de modifier des fichiers). Lors des phases de questionnement (Ask/Clarify), ajoutez toujours au début de votre prompt :
"Ne construis rien pour le moment, réponds juste à ma question."
Cela l'empêchera de courir faire des suppositions et de casser votre code.
Context Caching Natif
Contrairement à la connexion Gmail standard, vous connecter via API Key active le Context Caching. Le modèle n'aura plus à relire l'intégralité de vos fichiers depuis zéro à chaque requête, économisant drastiquement votre temps et vos jetons.
Le Focus via @
Ne laissez pas l'IA scanner tout le projet si ce n'est pas nécessaire. En tapant @package.json, vous pointez le modèle vers un fichier exact. Combiné à la commande /compress, c'est la clé pour ne jamais saturer la mémoire (Context Window).
Extensions & MCP d'Automatisation
1. Le Serveur MCP "Context 7"
Installer un serveur MCP de documentation (comme Context 7) permet à Gemini d'accéder instantanément aux documentations les plus à jour du marché. Vous n'aurez plus jamais à copier-coller des bouts de documentation technique dans le terminal : Gemini ira les lire de lui-même à chaque fois qu'il bloque sur une nouvelle version d'un framework.
2. L'extension "Critical Think"
Les IA deviennent parfois très (trop) confiantes et peuvent halluciner. Installez l'extension Critical Think via le répertoire d'extensions de Gemini.
En lançant la commande /critical think après une génération de code, vous forcez l'IA à adopter un scepticisme sain. Elle va réexaminer son propre travail, chercher les failles et reconsidérer ses instructions avant que vous ne les validiez.
Personnalité & Modèles à la volée
Changement de moteur : Utilisez /model pour basculer facilement entre Gemini 3 Pro (pour l'architecture complexe) et Gemini 3 Flash (pour des tâches simples et très rapides).
Surcharge du System Prompt : Par défaut, Gemini a une personnalité "très serviable". Si vous préférez un bot ultra-direct qui ne fait pas de phrases de politesse, créez un fichier system.md personnalisé pour écraser les directives de comportement (System Prompt) de base du modèle.