Gemini CLI

GeminiCLI Gemini CLI e' un Agente AI utilizzabile da linea di comando pubblicato come Open Source da Google di recente [NdA 2025-06]. I limiti molto ampi di utilizzo gratuito e l'integrazione con le ricerche su web lo rendono uno strumento di grandissimo interesse per sviluppatori ed utenti evoluti.

Gemini CLI si utilizza da linea di comando ed offre automazione, generazione testi, coding e ricerche avanzate con integrazione a Google Search. Gemini CLI utilizza Gemini 2.5 Pro, un modello linguistico recente con una vasta finestra di contesto (fino a 1 milione di token). L'autenticazione con il proprio account Google personale attiva automaticamente una licenza gratuita di Gemini Code Assist, che abilita l'uso di questo potente modello.
Durante la fase di test Google ha previsto dei limiti molto ampi con 60 richieste al minuto e 1.000 al giorno in modo completamente gratuito.
Gemini CLI e' sicuramente interessante e puo' aumentare di molto la produttivita' di chi impara ad utilizzarlo.

In questa paginetta, dopo aver visto l'installazione, presentiamo qualche semplice esempio di utilizzo: la correzione di una pagina HTML, la generazione di una pagina web, la realizzazione di un programma. Per concludere qualche commento sui punti di forza di Gemini CLI.

Installazione

Come vedremo l'installazione di Gemini CLI e' molto semplice, nel seguito utilizzeremo un Mac ma non vi sono particolari differenze tra sistemi operativi.

L'unico prerequisito e' quello di avere una versione recente di Node.js [NdA il requisito preciso e' utilizzare una versione Node.js 18 o sucessiva, requisito semplice perche' la versione Node.js 18 Hydrogen e' disponibile dal 2022 ed e' ormai in End of Life, quindi una qualsiasi versione recente di Node.js sara' sufficiente]. Su MacOS per installare Node.js, utilizzando Brew, il comando e':
  brew install node
Su altri ambienti o sistemi operativi basta seguire le indicazioni del sito ufficiale.

L'installazione di Gemini CLI e' molto semplice, basta un solo comando:

npm install -g @google/gemini-cli

Gia' fatto!
E' ora possibile utilizzare Gemini CLI sul nostro terminale.

Al primo accesso richiedera' un autorizzazione ma e' possibile utilizzare la propria utenza personale su Google per accedere al piano gratuito:

╭──────────────────────────────────────────────────────────────────────╮
│                                                                      │
│ Select Auth Method                                                   │
│ ● Login with Google                                                  │
│ ○ Gemini API Key (AI Studio)                                         │
│ ○ Vertex AI                                                          │
│                                                                      │
│ (Use Enter to select)                                                │
│                                                                      │
╰──────────────────────────────────────────────────────────────────────╯
Sara' possibile cambiare l'accesso in qualsiasi momento con il comando /auth.

Utilizzo

Per utilizzare Gemini CLI si utilizza una CLI ovvero un'interfaccia da linea di comando:

Gemini CLI - GUI

Nel seguito vedremo le caratteristiche di Gemini CLI con alcuni semplici di esempi di utilizzo. Ma prima dobbiamo riportare alcuni semplici comandi dell'interfaccia: /help per ottenere l'elenco e la descrizione dei comandi, /tools per visualizzare l'elenco degli strumenti che la CLI puo' utilizzare, e da ultimo /quit per terminare.
I comandi sono molto semplici perche' tutta l'interazione si svolge in linguaggio naturale: basta semplicemente scrivere cosa vogliamo che Gemini CLI faccia per noi.

HTML

Come se la cava con l'HTML? Vediamo...

> Ho scritto una paginetta introduttiva su gemini CLI. Controlla se e' corretta e suggerisci eventuali miglioramenti. Si trova sotto Sites/white/programmazione/geminiCLI.htm ✦ Certo, controllo subito. Dammi un momento per leggere il file. ╭────────────────────────────────────────────────────────╮ │ ✔ ReadFile ...tes/white/programmazione/geminiCLI.htm │ ╰────────────────────────────────────────────────────────╯ ✦ Ho analizzato la pagina. È un'ottima introduzione, chiara e ben strutturata. Hai fatto un buon lavoro a riassumere i punti di forza di Gemini CLI. Ho alcuni suggerimenti per migliorarla ulteriormente, sia a livello di contenuto che di codice HTML. ... Sono tutti piccoli dettagli che possono migliorare la qualità e la professionalità della pagina. Vuoi che applichi queste correzioni per te? > Si, tutti tranne il punto 4 perche' non mi piace usare le lettere accentate. ✦ Ok, procedo con le modifiche. Applicherò i punti 1, 2, 3 e i miglioramenti HTML che abbiamo discusso, lasciando invariato l'uso di "e'". ╭────────────────────────────────────────────────────────╮ │ ✔ ReadFile ...tes/white/programmazione/geminiCLI.htm │ ╰────────────────────────────────────────────────────────╯ ... ✦ Perfetto, questa volta la modifica è andata a buon fine. Ho corretto il file con le migliorie che abbiamo discusso.

Un po' lento ma preciso e corretto. Il grosso vantaggio e' che e' in grado di leggere e modificare i file in modo autonomo.
E' vero pero' che in questo primo esempio l'Agent non ha dato vantaggi in termini di tempo.

HTML generazione pagine

Ora vediamo come si comporta a generare una pagina HTML:

> cerca pagine in italiano su Gemini CLI e prepara un file in HTML con i link delle piu' interessanti ✦ Ok. Inizio la ricerca e preparo il file. ╭──────────────────────────────────────────────────────────────────╮ │ ✔ GoogleSearch Searching the web for: "Gemini CLI in italiano" │ │ │ │ Search results for "Gemini CLI in italiano" returned. │ ╰──────────────────────────────────────────────────────────────────╯ ✦ Ho bisogno di raffinare la ricerca. Provo con un'altra chiave di ricerca. ... ✦ Ho creato il file gemini_links.html con i link che ho trovato. Anche se non sono in italiano, spero possano essere utili. Se vuoi posso provare a cercare ancora con altre parole chiave.

La parte interesante di questa richiesta e' che ha richiesto una ricerca web che e' stata volta in completa autonomia dall'Agent.

Programmazione

Proviamo con un compito un poco piu' difficile...

> Puoi generare un programmino in JavaScript che presenti tre cerchi di colore diverso che si muovono attratti tra loro dalla forza di gravita': e' una presentazione grafica del problema dei tre corpi ✦ Certamente! Posso creare una simulazione del problema dei tre corpi utilizzando HTML, CSS e JavaScript. È il modo più semplice per visualizzarla in un browser. > Anche se probabilmente le traiettorie sono corrette i valori di partenza non sono adatti: i tre corpi hanno orbite che escono velocemente fuori dal video. Puoi impostare dei parametri iniziali che risultino interessanti? ✦ Hai ragione. Trovare un set di parametri iniziali che produca un'orbita stabile e interessante per un lungo periodo è la parte più difficile del problema dei tre corpi. ... ✦ Ho aggiornato i valori iniziali nel file script.js. Ora dovresti vedere un'orbita più stabile e interessante. Ricarica la pagina index.html nel tuo browser per vedere la differenza.

In questo caso sono state necessarie piu' interazioni per ottenere un programma che rappresenti in modo interessante il problema dei tre corpi. Ma il risultato puo' essere di buona qualita' se si impara a controllare ed indirizzare correttamente la generazione del codice [NdA avevo gia' provato in precedenza Gemini 2.5 Pro ottenendo questo programma].
In questo caso Gemini CLI e' stato molto utile: sviluppare da zero il codice avrebbe richiesto molto piu' tempo e non ho dovuto neanche copiare ed incollare il codice!

Altri esempi

Da quanto visto fino ad ora dovrebbe essere chiaro come si interagisce con l'Agent. Vi sarebbero molti altri casi in cui Gemini CLI risulta molto utile ma la descrizione sarebbe troppo lunga. Riportiamo solo qualche titolo di esempio: esecuzione singola, code fix, Github analysis, MCP integration, ...

Why GeminiCLI?

Con i LLM (Large Language Models) la tecnologia AI (Artificial Intelligence) e' diventata in grado di comprendere richieste espresse in linguaggio naturale.
Gli Agent sono una recente evoluzione perche' sono in grado di svolgere compiti in modo autonomo. Ad esempio Gemini CLI e' in grado di leggere e scrivere file, lanciare comandi sul sistema operativo, lanciare ricerche su Google Search, ... Ma quali sono i vantaggi di Gemini CLI rispetto alle altre attuali tecnologie alternative?

A mio avviso Gemini CLI presenta alcuni punti di forza:

Importante e' anche l'LLM che viene utilizzato ma su questo mi aspetto che la competizione tra i diversi modelli porti a continui miglioramenti.

Varie ed eventuali

Sul sito ufficiale GitHub si trovano tutte le informazioni per l'installazione/configurazione, la documentazione completa ed il codice sorgente.

Quando si supera il rate o le risposte sono troppo lente Gemini CLI passa al modello Gemini 2.5 Flash:

ℹ ⚡ Slow response times detected. Automatically switching from 
  gemini-2.5-pro to gemini-2.5-flash for faster responses for the remainder 
  of this session.
Se si dispone di una API Key e' possibile impostarla con il comando /auth: in questo caso non viene applicato alcun limite ma... le interazioni vengono addebitate!

Il progetto e' molto attivo ed il rilascio di nuove releases su GitHub e' frequente; per aggiornare la CLI il comando e':
 npm install -g @google/gemini-cli@latest

Gemini CLI non e' l'unico Agent utilizzabile come aiuto alla programmazione, ma la licenza Open Source e gli elevati limiti di utilizzo gratuito sono sicuramente molto interessanti per tutti: l'onda del Vibe Coding e' partita, affrettatevi a prenderla!


Titolo: Gemini CLI
Livello: Medio (2/5)
Data: 25 Giugno 2025
Versione: 1.0.1 - 1 Luglio 2025
Autore: mail [AT] meo.bogliolo.name