- Gemini CLI est un assistant IA open source permettant d’utiliser directement les modèles Gemini de Google depuis le terminal, un outil en ligne de commande interactif capable d’effectuer l’écriture de code, le débogage et des tâches d’automatisation via des commandes en langage naturel
- Environ 30 astuces avancées couvrent des fonctionnalités poussées comme la gestion de contexte persistante (
GEMINI.md), les commandes personnalisées, l’extension via des serveurs MCP, la mémoire ou encore la restauration de checkpoints
- Il propose des fonctions d’optimisation du workflow de développement comme les références à des fichiers et images (
@), le mode YOLO (approbation automatique), l’exécution headless, le travail multi-répertoires et l’intégration IDE (VS Code)
- Il inclut aussi des fonctionnalités récentes centrées sur l’automatisation, l’observabilité et l’extensibilité comme GitHub Action, les extensions (Extensions), la télémétrie et le cache de tokens
- Gemini CLI évolue d’un simple chat IA vers une plateforme de développement agentique capable d’orchestrer l’ensemble de l’environnement de développement
Aperçu de Gemini CLI
- Gemini CLI est une interface en ligne de commande pilotée par l’IA permettant d’utiliser directement les modèles Google Gemini depuis le terminal
- Basé sur Node.js/TypeScript, il fonctionne sur tous les principaux OS
- Il exécute des tâches en plusieurs étapes, comme la génération de code, le débogage ou la configuration système, à partir d’instructions en langage naturel
- L’installation se fait avec
npm install -g @google/gemini-cli ou npx @google/gemini-cli
- L’authentification prend en charge la connexion avec un compte Google (gratuite) ou une clé API (payante/entreprise)
- Un compte gratuit permet environ 60 requêtes par minute et 1 000 par jour
- Avec une clé API, la protection des données est renforcée et des politiques de conservation des logs s’appliquent
- Le démarrage se fait avec la commande
gemini, avec prise en charge des commandes / (contrôle de session) et ! (exécution shell)
- En cas de modification du système, le mode sécurisé demande par défaut une confirmation utilisateur (Y/n)
Astuce 1 — Gérer un contexte persistant avec GEMINI.md
- Stockez les consignes de projet ou les informations de contexte dans un fichier
GEMINI.md afin que l’IA réponde toujours avec le même contexte
- Exemple : style de code, architecture, conventions de fonctions
- Les fichiers globaux (
~/.gemini/GEMINI.md) et spécifiques au projet (.gemini/GEMINI.md) sont fusionnés de manière hiérarchique
/memory show permet de voir le contexte actuellement chargé, et /memory refresh de le recharger
- La commande
/init peut générer un modèle de base, avec prise en charge de @include pour charger plusieurs fichiers
Astuce 2 — Créer des commandes slash personnalisées
- Définissez des commandes personnalisées dans des fichiers TOML pour automatiser les tâches répétitives
- Exemple :
/test:gen → génère des tests Jest à partir des exigences
- Elles peuvent être enregistrées au niveau global (
~/.gemini/commands/) ou par projet (.gemini/commands/)
- Les commandes fonctionnent à partir de modèles de prompt et peuvent être partagées au sein d’une équipe
- C’est utile pour la standardisation des workflows, avec un formatage cohérent ou une attribution de rôle (par ex.
/review:security)
Astuce 3 — Étendre Gemini avec des serveurs MCP
- Les serveurs Model Context Protocol (MCP) permettent une intégration avec des systèmes externes
- Exemple : Figma, Google Docs, Clipboard, base de données interne, etc.
- Enregistrez un serveur avec la commande
gemini mcp add, puis stockez la configuration dans settings.json
- La commande
/mcp affiche la liste des serveurs et outils enregistrés
- La prise en charge d’OAuth 2.0 permet des connexions API sécurisées
Astuce 4 — Ajouter et rappeler de la mémoire
- Utilisez
/memory add "<text>" pour enregistrer des informations importantes dans la mémoire longue durée
- Exemple : « Le port RabbitMQ est 5673 »
/memory show affiche toute la mémoire et /memory refresh la recharge
- Pratique pour conserver des journaux de décision ou des préférences personnelles (par ex. ton, nom, etc.)
Astuce 5 — Checkpoints et restauration avec /restore
- Un snapshot est créé automatiquement avant les modifications de fichiers, et
/restore permet de revenir à un état précédent
- Activez la fonction avec l’option
--checkpointing ou dans le fichier de configuration
/restore list affiche la liste des checkpoints, et /restore <id> en restaure un
- Utilisé en parallèle de Git, cela sert de filet de sécurité pour le travail de l’IA
Astuce 6 — Lire Google Docs et Sheets
- Si le serveur MCP Workspace est configuré, Gemini peut lire directement des liens Google Docs/Sheets et les résumer
- Une authentification OAuth est nécessaire, avec accès via des commandes comme
/read_google_doc
- Les documents, feuilles et fichiers Drive peuvent être référencés par lien pour injecter du contexte sans copier-coller
Astuce 7 — Référencer des fichiers et images avec la syntaxe @
@chemin_du_fichier permet de joindre directement du code, des documents ou des images dans le prompt
- Exemple :
Explain this code: @./src/main.js
- Les règles de
.gitignore et .geminiignore sont automatiquement prises en compte
- La reconnaissance d’images (y compris OCR) et la comparaison de plusieurs fichiers sont prises en charge
Astuce 8 — Créer des outils à la volée
- Si nécessaire, Gemini peut générer directement un script temporaire ou un serveur MCP
- Exemple : parseur JSON, analyseur de logs
- Le code généré peut être relu via un diff avant approbation
- Les scripts utiles peuvent ensuite être promus en commandes personnalisées
Astuce 9 — Résolution de problèmes système et configuration
- L’outil peut aussi être utilisé en dehors d’un projet et jouer le rôle d’assistant de gestion de l’environnement de développement
- Exemple : modifier
.bashrc, analyser des logs d’erreur, automatiser l’installation de Docker
- Une demande d’approbation est toujours effectuée avant l’exécution des commandes, ce qui permet des ajustements système en sécurité
Astuce 10 — Mode YOLO (approbation automatique)
--yolo ou Ctrl+Y approuve automatiquement l’exécution de tous les outils
- C’est utile pour accélérer les tâches répétitives, mais cela comporte des risques
- Il est possible de configurer une liste blanche pour n’autoriser automatiquement que certaines commandes
Astuce 11 — Mode headless et script
gemini -p "prompt" permet une exécution non interactive
GEMINI_SYSTEM_MD permet de remplacer le prompt système
- Sortie JSON (
--format=json) et fichier de résumé de session (--session-summary) sont pris en charge
- Bien adapté à l’intégration CI/CD et aux scripts d’automatisation
Astuce 12 — Sauvegarder et reprendre des sessions de chat
- Sauvegardez une session avec
/chat save <name> et reprenez-la avec /chat resume <name>
/chat list affiche la liste et /chat share permet le partage
- Très utile pour les longues sessions de débogage ou le travail parallèle sur plusieurs projets
Astuce 13 — Workspace multi-répertoires
--include-directories ou le fichier de configuration permet d’unifier plusieurs dossiers dans un même espace de travail
/directory show affiche les dossiers actuellement inclus
- Cela prend en charge les environnements polyrepo, comme la modification simultanée du frontend et du backend
Astuce 14 — Rangement de fichiers piloté par l’IA
- Les fichiers d’un répertoire peuvent être classés et déplacés par type
- Exemple : images → Images, PDF → Documents
- Il est également possible de renommer automatiquement des images en fonction de leur contenu
- Il est recommandé de vérifier l’aperçu des commandes avant exécution pour des raisons de sécurité
Astuce 15 — Conserver le contexte via la compression des conversations
- La commande
/compress résume les longues conversations pour libérer de l’espace de contexte
- Elle permet de poursuivre la session en ne gardant que les informations essentielles
- Un seuil de compression automatique peut être configuré
Astuce 16 — Exécuter des commandes shell avec !
!command exécute directement une commande terminal
- En entrant seulement
!, on passe en mode shell, et un nouveau ! permet d’en sortir
- Les échanges avec l’IA et les commandes système sont ainsi unifiés dans une seule interface
Astuce 17 — Utiliser tous les outils CLI comme outils Gemini
- Toutes les commandes du
$PATH peuvent être appelées par l’IA
- Exemple :
convert, docker, ffmpeg, git, etc.
- Selon l’environnement, il est recommandé de restreindre le PATH ou de configurer une liste blanche
Astuce 18 — Tirer parti des entrées multimodales
- Des images, PDF ou fichiers audio peuvent être joints avec
@ pour être analysés
- Exemple : description d’une capture d’écran UI, analyse d’une image d’erreur, traitement OCR
- Pris en charge pour la génération de code et l’extraction de données à partir de supports visuels
Astuce 19 — Contrôle du $PATH et de l’accès aux outils
- L’exécution avec un PATH restreint permet de renforcer la stabilité et la sécurité
excludeTools dans settings.json permet de bloquer les commandes à risque
- L’option
--sandbox permet l’exécution dans un environnement isolé Docker
Astuce 20 — Cache de tokens et suivi de l’usage
- Avec une clé API ou une authentification Vertex, la réutilisation des tokens réduit les coûts
- La commande
/stats permet de consulter le taux de hit du cache et l’usage des tokens
--session-summary permet de sauvegarder un rapport JSON par session
Astuce 21 — Copier dans le presse-papiers avec /copy
- Copie immédiatement la dernière sortie (comme du code) dans le presse-papiers
- Pris en charge sur macOS (
pbcopy), Windows (clip) et Linux (xclip)
Astuce 22 — Contrôler le raccourci Ctrl+C
- Une pression interrompt la tâche en cours, deux pressions ferment le CLI
- En mode shell, on peut aussi sortir avec
Ctrl+C ou Esc
Astuce 23 — Paramètres utilisateur via settings.json
- Permet des réglages détaillés comme le thème, le sandbox, l’approbation automatique ou le mode Vim
- La commande
/settings prend en charge l’édition interactive
- Les paramètres globaux (
~/.gemini/) et spécifiques au projet sont fusionnés
Astuce 24 — Intégration VS Code
- L’extension VS Code (Companion Extension) assure la détection automatique des fichiers, du curseur et de la sélection
- Lors de propositions de modification de code, l’affichage diff de VS Code s’ouvre automatiquement
- Gestion via
/ide install, /ide enable, /ide status
Astuce 25 — Automatisation avec GitHub Action
- La Gemini CLI GitHub Action automatise le tri des issues et la revue de PR
- Une mention
@gemini-cli permet par exemple de demander la génération de code de test
- La commande
/setup-github peut générer automatiquement le fichier de workflow
Astuce 26 — Télémétrie (Observability)
- Basée sur OpenTelemetry, elle permet de collecter les métriques, logs et traces de session
- Activez-la avec le paramètre
"telemetry.enabled": true ou le flag --telemetry
- L’envoi est possible vers divers backends comme des fichiers locaux, GCP ou Prometheus
Astuce 27 — Suivre la roadmap
- La roadmap publique de Gemini CLI sur GitHub permet de voir les fonctionnalités à venir
- Exemple : agents en arrière-plan, extension des modèles, améliorations UI
- Il est possible de participer via des retours de la communauté et des suggestions de fonctionnalités
Astuce 28 — Extensions
gemini extensions install <URL> permet d’intégrer des services externes
- Exemple : Cloud Run, BigQuery, Figma, Stripe, etc.
- Les extensions reposent sur une structure modulaire ajoutant outils MCP, commandes et contexte
- La commande
/extensions affiche la liste des extensions actives
Fonction supplémentaire — Corgi Mode 🐕
- La commande
/corgi lance une animation de corgi dans le terminal
- Il s’agit d’un simple easter egg offrant une petite pause pendant l’utilisation du CLI
Conclusion
- Gemini CLI est une interface de développement pilotée par l’IA qui couvre l’écriture de code, l’administration système, l’automatisation et la collaboration
- Avec
GEMINI.md, MCP, les extensions et l’intégration IDE, il apporte contexte persistant et extensibilité des outils
- Grâce à l’écosystème open source et à des mises à jour rapides, il s’impose progressivement comme une plateforme IA centrale du workflow développeur
1 commentaires
Avis Hacker News
Je ne fais aucun de ces réglages
parce qu’ils deviennent obsolètes trop vite et que 80 % ne fonctionnent pas correctement
Je ne vois pas l’intérêt d’écrire un serveur MCP alors qu’on ne sait même pas si le LLM l’appellera de façon fiable
Ma règle est simple : j’écris moi-même de la documentation (modèles, check-lists, etc.) pour mon propre usage, puis je laisse à l’IA une chance d’essayer
Si elle n’y arrive pas du premier coup, je modifie la doc ou je m’en charge moi-même
Au final, son utilité dépend des données d’entraînement et de l’évolution du modèle, et je pense qu’il faut le traiter comme une forme de programmation par contraintes sans grammaire formelle
Vu la subjectivité du langage naturel, le mieux reste une itération rapide, en affinant progressivement les énoncés de contrainte
Par exemple, j’ai déjà obtenu un script bash entièrement automatisé après 4 itérations avec Gemini
Voir aussi : Constraint programming
Je peux leur confier des tâches de niveau développeur junior pendant que je fais autre chose
S’il échoue d’un coup, j’améliore la documentation (fichier .md) et je réessaie
J’utilise peu MCP à cause des risques de sécurité, mais cette boucle d’itération est assez efficace
À l’inverse, dire « si ça ne marche pas du premier coup, je le fais moi-même », c’est comme licencier un junior immédiatement
Nous n’y sommes pas encore, et les compétences qu’on accumule aujourd’hui ressemblent à quelque chose qu’on construit sur une pente
Les méthodes actuelles d’évaluation des prompts ne sont pas fiables, donc je construis moi-même une configuration agentique pour améliorer cela
Hier, j’ai ajouté une fonction de voyage dans le temps des sessions basée sur Dagger, et aujourd’hui je compte ajouter des fonctions de fork, clone et registre
Gemini CLI est encore faible pour les tâches de programmation complexes
à cause d’une boucle ReAct simple et de capacités d’appel d’outils limitées
Cela dit, le projet est activement développé en open source, donc son potentiel est important
Avec une fenêtre de contexte de 1M (bientôt 2M) et un quota gratuit généreux, je pense qu’il faut en abuser à fond (ABUSE IT)
Je m’en sers comme outil d’orchestration TUI/CLI, et je l’ai aussi trouvé assez utile pour évaluer du code généré par d’autres outils
Récemment, je l’ai relié à Homebrew et à MCP, ainsi qu’à un Knowledge Manager basé sur un LLM local (Nowledge Mem)
Fait amusant, j’ai aussi vu des cas où Gemini CLI était utilisé comme SubAgent pour éviter de polluer le contexte principal
Tweet associé
Même si on lui dit « ne modifie pas le code, fais seulement des suggestions », il modifie quand même les fichiers
Pro 3 est intelligent, mais son suivi des consignes reste instable
J’ai essayé via Antigravity, mais avec le quota limité, il était difficile de pousser les tests plus loin
Pour des impressions plus détaillées, voir ce billet
Addy Osmani est un ingénieur logiciel irlandais en charge de Google Chrome et de Gemini, avec 25 ans d’expérience
C’est un vétéran passionné par l’amélioration des performances web et les outils de développement assistés par IA, et il a publié plusieurs ouvrages, dont Learning JavaScript Design Patterns
Lien du concours
J’aimerais que les agents de codage agnostiques vis-à-vis des LLM deviennent la norme
Au lieu de réinventer la roue chacun de son côté comme Codex ou Gemini CLI, ce serait bien de pouvoir remplacer le fournisseur de LLM comme un plugin
Aujourd’hui, Claude Code est le meilleur, mais Anthropic ne semble pas aller dans cette direction
Au final, on va sans doute devoir attendre la prochaine génération d’agents de codage open source
Mais ces CLI ressemblent davantage à une interface pour un modèle par abonnement qu’à un véritable outil
Les modèles récents consomment trop de tokens, donc un abonnement mensuel est plus réaliste qu’une facturation API
Je l’ai utilisé ces derniers jours et j’en ai été plutôt satisfait
Lien GitHub
Il existe aussi diverses alternatives comme Crush, Aider, Amp Code, Emacs+gptel, Editor Code Assistant, etc.
Cela dit, la coévolution (co-design) entre les LLM et les agents de codage est importante, donc une séparation complète reste irréaliste pour l’instant
Ironiquement, il a maintenant introduit son propre LLM
Présentation de Cursor Composer
J’utilise Gemini CLI depuis plusieurs mois
J’ai un abonnement gratuit via mon entreprise, donc j’ai continué à m’en servir
Il est censé reconnaître les fichiers GEMINI.md, mais en pratique il les ignore souvent
Malgré tout, des astuces comme la Tip 12 et la Tip 16 étaient utiles
Le problème des hallucinations de l’IA reste entier, mais c’est la première fois qu’une IA m’a paru vraiment « amusante » à utiliser
Surtout quand je l’ai laissée déboguer de façon autonome un cluster K8s de PoC : la voir récupérer les logs et trouver les erreurs était vraiment impressionnant
Quand elle devient trop stupide, je tape
/quitet je reprends la main, mais je continue à l’utiliser avec plaisirJe viens justement de monter un cluster RKE2 et j’ai très envie d’essayer
J’aime beaucoup l’IA
J’ai l’impression que c’est un outil indispensable, comme Internet ou l’iPhone, qui me rend plus efficace en tant qu’humain
En revanche, je souffre d’une vraie fatigue des tutoriels sur « comment utiliser l’IA »
La plupart sont de mauvaise qualité, même si cet article s’en sort plutôt mieux que la moyenne
Ça me rappelle les développeurs JS qui présentent un nouveau framework chaque semaine
Peu importe qui les écrit, que ce soit sincère ou juste pour générer de l’engagement, ça ne m’intéresse plus
Honnêtement, ce genre de configuration complexe est excessif
Moi, je m’en sors très bien avec des prompts quasi criés à l’IA
Avec LazyVim et quelques outils (git, ask, ripgrep), je reste déjà très productif
Gemini 3 en particulier est très utile grâce à sa forte densité de tokens et à son grand contexte
Quand le contexte devient trop lourd, je lui fais écrire un résumé dans README.MD puis je lance un nouvel agent
Lien vers l’outil ask
Je n’arrivais pas à être productif avec d’autres modèles, alors que maintenant, même des tâches complexes réussissent du premier coup dans 80 % des cas
Le contraste entre le scripting manuel et les workflows assistés par LLM est intéressant
Si les contraintes ne sont pas claires, les deux échouent ; mais si elles le sont, les LLM peuvent fonctionner de façon étonnamment fiable
Le problème actuel de l’IA / du codage agentique / du vibe coding, c’est la vitesse d’évolution trop rapide
Les bonnes pratiques deviennent obsolètes avant même d’avoir le temps de s’installer
Les langages et frameworks changeaient, mais la manière de découper les problèmes et de comprendre une codebase restait relativement stable ;
aujourd’hui, je ne sais plus où se situera ce point d’équilibre
Personnellement, je trouve que Gemini CLI n’est pas terrible
S’il faut utiliser quelque chose, je recommanderais Opencode
Google devrait aussi reconstruire son CLI depuis zéro, comme Codex
À noter que Gemini 3 ne fonctionne actuellement pas dans Opencode via Copilot
Lien vers l’issue
Je me demandais pourquoi une telle contrainte était nécessaire pour un simple TUI
D’après la documentation officielle, Gemini n’est pas mentionné directement,
et semble être proposé via Google Vertex AI
Il est peut-être possible de connecter Gemini via un abonnement Google Workspace