Actividad práctica con Gemini CLI

1. Introducción

En este codelab, aprenderás sobre Gemini CLI, un agente de IA de código abierto que lleva el poder de Gemini directamente a tu terminal.

Qué aprenderás

  1. Instala y configura Gemini CLI
  2. Explora herramientas, comandos integrados y configura servidores de MCP en Gemini CLI
  3. Cómo personalizar Gemini CLI con el archivo GEMINI.md
  4. Explora algunos casos de uso con Gemini CLI

Requisitos

Este codelab se puede ejecutar por completo en Google Cloud Shell, que viene preinstalado con Gemini CLI.

Como alternativa, si prefieres trabajar en tu propia máquina, hay una sección para instalar Gemini CLI de forma local.

Necesitarás lo siguiente:

  • Navegador web Chrome
  • Una cuenta de Gmail

Este codelab está diseñado para usuarios y desarrolladores de todos los niveles (incluidos los principiantes). Los casos de uso del codelab se clasificaron en tareas para desarrolladores y tareas para no desarrolladores. Los casos de uso para desarrolladores demuestran cómo usar vibe coding con Gemini CLI y cómo trabajar con un repositorio de GitHub para realizar tareas de desarrollo comunes, como explicar o comprender el código, generar documentación, corregir problemas y mucho más. Te recomendamos que completes estos casos de uso en el codelab. Al final, hay una sección opcional que abarca varias tareas cotidianas que no se centran en los desarrolladores.

2. Antes de comenzar

Crea un proyecto

  1. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.
  2. Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Obtén información sobre cómo verificar si la facturación está habilitada en un proyecto.
  3. Usarás Cloud Shell, un entorno de línea de comandos que se ejecuta en Google Cloud y que viene precargado con bq. Haz clic en Activar Cloud Shell en la parte superior de la consola de Google Cloud.

Imagen del botón Activar Cloud Shell

  1. Una vez que te conectes a Cloud Shell, verifica que ya te autenticaste y que el proyecto se configuró con tu ID del proyecto con el siguiente comando:
gcloud auth list
  1. En Cloud Shell, ejecuta el siguiente comando para confirmar que el comando gcloud conoce tu proyecto.
gcloud config list project
  1. Si tu proyecto no está configurado, usa el siguiente comando para hacerlo:
gcloud config set project <YOUR_PROJECT_ID>

3. Instalación

Antes de configurar y ejecutar Gemini CLI, creemos una carpeta que usaremos como carpeta principal para todos los proyectos que creemos en ella. Este es un punto de partida para que Gemini CLI funcione, aunque también hará referencia a otras carpetas en tu sistema, a las que llegarás más adelante, según sea necesario.

Crea una carpeta de muestra (gemini-cli-projects) y navega a ella con los comandos que se muestran a continuación. Si prefieres usar otro nombre de carpeta, hazlo.

mkdir gemini-cli-projects

Naveguemos a esa carpeta:

cd gemini-cli-projects

Puedes iniciar Gemini CLI directamente con el comando gemini.

Navega directamente a la próxima sección (Configuración de Gemini CLI con settings.json).

Si deseas instalar Gemini CLI de forma local, sigue las instrucciones que se indican a continuación. Ten en cuenta que Gemini CLI viene preinstalada en Cloud Shell y Cloud Workstations.

El primer paso es instalar Node 20 o una versión posterior en tu máquina. Una vez que se complete este proceso, podrás instalar y ejecutar Gemini CLI con cualquiera de los siguientes métodos:

  1. Primero, puedes instalar Gemini CLI de forma global en tu sistema. Es posible que necesites acceso de administrador para realizar este paso.
# option 1: install Gemini CLI

npm install -g @google/gemini-cli

# .. and then run
gemini
  1. Ejecútalo con el siguiente comando:
# option 2: run without installing Gemini CLI

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

Para confirmar que la CLI está instalada, ejecuta el siguiente comando:

gemini --version

Si suponemos que iniciaste Gemini CLI con alguno de los métodos anteriores, es posible que, en el primer inicio, se te solicite que selecciones un tema. Si es así, puedes usar el tema predeterminado o elegir el que quieras.

Lo siguiente importante es la autenticación. Se te pedirá que elijas el método de autenticación. En este lab, se recomienda que uses tu Cuenta de Google personal y no cuentas que no sean de Google o que no estén relacionadas con Google Workspace.

Si alcanzas los límites con la cuota gratuita actual que se otorga a las Cuentas de Google, puedes optar por usar la clave de la API de Gemini o incluso Vertex AI de Google Cloud, en la que deberás tener un ID del proyecto y el nombre de la ubicación de ese proyecto. Si planeas usar otros métodos de autenticación, consulta la sección Autenticación de la documentación.

57bad75cedaaaa38.png

Haz clic en Intro. Se abrirá una página de autenticación de Google en el navegador. Continúa con la autenticación con tu Cuenta de Google, acepta las condiciones y, una vez que te autentiques correctamente, notarás que Gemini CLI está lista y espera tu comando.

A continuación, se muestra una captura de pantalla de ejemplo:

8fc80ad44c19f782.png

En este caso, seleccionamos la opción de Vertex AI, pero en tu caso puede ser la cuenta personal. Notarás que seleccionamos el modelo Gemini 2.5 (visible en la parte inferior derecha). Puedes elegir tu modelo específico en cualquier momento con el comando /model.

4. Configuración de Gemini CLI con settings.json

Si eliges Cloud Shell para ejecutar Gemini, ya se selecciona y configura un tema predeterminado para Gemini CLI y el método de autenticación.

Si instalaste Gemini CLI en tu máquina y la ejecutaste por primera vez, seleccionaste un tema y, luego, un método de autenticación.

Ahora, en las ejecuciones posteriores de Gemini CLI, no se te pedirá que vuelvas a seleccionar un tema ni un método de autenticación. Esto significa que se conserva en algún lugar, y el archivo que usa se llama settings.json, que es la forma de personalizar Gemini CLI.

La configuración se aplica con la siguiente precedencia (Cloud Shell solo hace que la configuración del usuario esté disponible):

  1. Sistema: /etc/gemini-cli/settings.json (se aplica a todos los usuarios y anula la configuración del usuario y del espacio de trabajo).
  2. Espacio de trabajo: .gemini/settings.json (anula la configuración del usuario).
  3. Usuario: ~/.gemini/settings.json.

Usuario de Windows: %USERPROFILE%.gemini\settings.json (que suele expandirse a C:\Users&lt;TuNombreDeUsuario&gt;.gemini\settings.json)

Sistema: %ProgramData%\gemini-cli\settings.json (que, por lo general, se expande a C:\ProgramData\gemini-cli\settings.json)

Usuario de Mac: ~/.gemini/settings.json (que se expande a /Users/<TuNombreDeUsuario>/.gemini/settings.json)

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

Si recuerdas, cuando seleccionaste el tema, elegiste que la configuración se guardara en la Configuración del usuario. Así que visita ~/.gemini folder y verás el archivo settings.json.

A continuación, se muestra mi archivo settings.json. Si hubieras seleccionado otro tema, verías su nombre allí.

{
  "security": {
    "auth": {
      "selectedType": "oauth-personal" or "cloud-shell"
    }
  },
  "ui": {
    "theme": "Default"
  }
}

5. Nuestra primera interacción con Gemini CLI

Comencemos a usar Gemini CLI, escribe tu primera consulta como se muestra a continuación:

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

A continuación, se muestra la respuesta esperada:

 > Give me a famous quote on Artificial Intelligence and who said that?                 
✦ "The only way to do great work is to love what you do." - Steve Jobs (While not directly about AI, it's a famous quote related to technology and innovation, which underpins AI development.)
Alternatively:
  "The development of full artificial intelligence could spell the end of the human race." - Stephen Hawking

Una forma rápida de comprender Gemini CLI y los distintos comandos que admite es escribir /help (barra diagonal) para ver una variedad de comandos y combinaciones de teclas.

Por ahora, salgamos de Gemini CLI. Puedes hacerlo con el comando /quit o con Ctrl-C dos veces en la sesión interactiva de la terminal de Gemini CLI. Cuando salgas de Gemini CLI, se mostrarán las estadísticas de la sesión, que te brindarán información sobre la sesión, el uso del modelo y otras métricas.

6. Gemini CLI: Parámetros de comandos

Hay algunos parámetros de línea de comandos que se pueden proporcionar cuando inicias Gemini CLI. Para obtener una lista completa de las opciones, puedes usar --help, como se muestra a continuación.

gemini --help

Esto debería mostrar toda la variedad de opciones disponibles. Te recomendamos que consultes la documentación aquí.

Veamos algunas de ellas. La primera es configurar Gemini CLI para que use un modo de Gemini específico. Actualmente, en el momento de actualizar este lab, esta es la lista de modelos compatibles. Para usar un modelo específico, puedes hacerlo cuando inicies Gemini CLI con el parámetro -m, como se muestra a continuación:

gemini -m "gemini-2.5-flash"

Notarás que, si comienzas de la manera anterior, puedes verificar el modelo en la parte inferior derecha de la terminal de Gemini CLI.

Una vez que estés en la aplicación de Gemini CLI, puedes usar el comando /model para abrir un diálogo que te permita elegir un modelo. A continuación, se muestra un ejemplo de ejecución. Según tus requisitos y la orientación proporcionada, puedes seguir cambiando el modelo para elegir el adecuado para la tarea según la complejidad y la necesidad de controlar los costos.

69154a6bf6553f35.png

Modo no interactivo

Una opción interesante es ejecutar Gemini CLI en modo no interactivo. Esto significa que le proporcionas directamente la instrucción y responde a ella sin que se abra la terminal interactiva de Gemini CLI. Esto es muy útil si planeas usar Gemini CLI de forma automatizada como parte de la secuencia de comandos o cualquier otro proceso de automatización. Usas el parámetro -p para proporcionar la instrucción a Gemini CLI, como se muestra a continuación:

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

Ten en cuenta que no hay posibilidad de continuar la conversación con preguntas de seguimiento. Este modo tampoco te permite autorizar herramientas (incluido WriteFile) ni ejecutar comandos de Shell.

Recuerda que, si no incluyes el parámetro -p y solo proporcionas lo siguiente, se abrirá Gemini CLI con la instrucción y continuarás dentro de ella.

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

7. Gemini CLI: Herramientas integradas

Gemini CLI incluye un conjunto de herramientas integradas, y la documentación de las herramientas indica que "el modelo de Gemini usa estas herramientas para interactuar con tu entorno local, acceder a información y realizar acciones. Estas herramientas mejoran las capacidades de la CLI, lo que le permite ir más allá de la generación de texto y ayudar con una amplia gama de tareas".

Para obtener una lista de las herramientas integradas actuales, invoca el comando /tools como se muestra a continuación:

Available Gemini CLI tools:
  - Activate Skill (activate_skill)
  - Ask User (ask_user)
  - Edit (replace)
  - Enter Plan Mode (enter_plan_mode)
  - FindFiles (glob)
  - GoogleSearch (google_web_search)
  - Invoke Subagent (invoke_agent)
  - List Background Processes (list_background_processes)
  - Read Background Output (read_background_output)
  - ReadFile (read_file)
  - ReadFolder (list_directory)
  - SearchText (grep_search)
  - Shell (run_shell_command)
  - Update Topic Context (update_topic)
  - WebFetch (web_fetch)
  - WriteFile (write_file)

Una de las cosas que debería llamarte la atención de inmediato es preguntarte si Gemini CLI puede simplemente llamar a estas herramientas cuando lo desee. La respuesta predeterminada es no cuando se trata de operaciones sensibles que podrían implicar escribir en el sistema local, leer desde un sistema externo, ir a la red externa, etcétera.

Si bien hay un --yolo disponible cuando inicias la CLI (no se recomienda), verás que Gemini CLI te pedirá permiso para ejecutar la herramienta que eligió. Puedes rechazar el permiso, permitir que se ejecute una vez o darle permiso general para que se ejecute siempre. Tienes y deberías tener el control total de todo.

Usemos una instrucción que haga que Gemini CLI elija una de las herramientas integradas para ejecutarla y que te permita comprender mejor cómo funciona todo.

Imagina una situación en la que quieres obtener información sobre las últimas noticias financieras de todo el mundo y guardarla en un archivo en el directorio de trabajo local desde el que iniciaste Gemini CLI. Usa la siguiente instrucción:

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

Imagina por un momento lo que debería hacer. Lo ideal sería que saliera a hacer una búsqueda en Google para obtener noticias de algunas fuentes de información relevantes que puedan proporcionarle noticias financieras. Luego, debe crear un archivo llamado finance-news-today.txt (una operación de escritura en tu sistema local que requerirá tu permiso) con su contenido.

Veamos qué sucede (deberías hacer lo mismo en tu máquina).

Lo primero que hace es invocar la herramienta GoogleSearch para buscar en la Web y recuperar los resultados, como se muestra a continuación:

 Searching for Finance News: 
  I will first search for the latest finance headlines and then save them to a file.
  ✓  GoogleSearch  Searching the web for: "latest finance headlines"
   → Search results for "latest finance headlines" returned.
  Saving Finance News: I will now save the finance headlines to the file 'finance-news-today.txt'.

Una vez que se haga eso, estará listo para escribirlo en el archivo y usará la herramienta WriteFile, pero como esa es una operación sensible (escribir), solicitará tu permiso. Puedes decidir el tipo de permiso, es decir, permitir una vez, permitir siempre, etcétera. Por ahora, selecciona Permitir una vez.

Luego, se escribirá la información en el archivo y se mostrará el siguiente mensaje de éxito:

✦ I have saved the latest finance news to finance-news-today.txt.
  Finance News Saved: The task is complete.

¿Cómo verificas si el archivo está escrito o no? Puedes usar @file para pedirle que lea el contenido. A medida que escribes @, se muestra una lista de archivos en la carpeta actual, incluido el archivo que acaba de crear. Selecciona esa opción y envía la instrucción. A continuación, se muestra mi instrucción:

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

Esto hace que se invoquen las herramientas necesarias (ReadManyFiles, ReadFile) y que el contenido se muestre como se indica a continuación:

    ReadManyFiles  Attempting to read files from finance-news-today.txt  Read 1 file(s)
  Topic: Summarizing the financial news headlines.
 The latest finance headlines as of May 15, 2026, include:
  Global Markets & Economy:
   * The Dow Jones Industrial Average surpassed 50,000 for the first time, driven by strong earnings from Cisco
     Systems and a 2% rise in Nasdaq due to tech stocks.
   * Inflation concerns are growing, hinting at potential Fed interest rate hikes.
   * Kevin Warsh has been confirmed as the new Federal Reserve head.
   * A "constructive" U.S.-China summit took place in Beijing between President Trump and President Xi, with
     markets watching for impacts from proposed tariffs.
  Corporate & Tech News:
   
<REST OF THE CONTENT>

8. Gemini CLI: modo de Shell

Este es un buen momento para aprender a trabajar directamente con Shell desde Gemini CLI. Para ingresar al modo de shell, presiona ! en el cuadro de mensaje. Esto alternará a un modo de Shell. Para volver, presiona ! de nuevo o la tecla ESC.

En el modo de Shell, verás ! al principio de la instrucción, como se muestra a continuación:

aab5d032116fa5e8.png

Puedes verificarlo directamente con comandos estándar como pwd y ls, como se muestra a continuación. Ten en cuenta que los comandos suponen un SO de tipo Linux. Si usas otro sistema operativo (Windows), usa comandos equivalentes, como (cd, dir y type). Ten en cuenta que el resultado de estas llamadas se incluye en la ventana de contexto del modelo.

f6e6d45174a9997d.png

También puedes imprimir el contenido del archivo con el comando cat, es decir, cat finance-news-today.txt.

Ejercicio: Aquí tienes un breve ejercicio para probar. Elige el feed RSS que prefieras. Dale una instrucción a Gemini CLI para que recupere el contenido del feed RSS y formatee los resultados de una manera específica. Esta es una buena forma de automatizar algo al comienzo del día. Incluso puedes pedirle a Gemini CLI que averigüe si hay un feed RSS para un área específica, por ejemplo, las notas de la versión de Google Cloud Platform.

A continuación, se muestra un ejemplo de instrucción:

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

Lo ideal sería que esta instrucción primero invocara la herramienta GoogleSearch para encontrar el feed RSS de Google Cloud Platform y, luego, usara la herramienta WebFetch para obtener el contenido del feed RSS y mostrarlo. Es posible que se te soliciten permisos para invocar estas herramientas. Otorga los permisos necesarios.

9. Extensiones de Gemini CLI

Como se indica en la documentación, las extensiones de Gemini CLI empaquetan instrucciones, servidores de MCP y comandos personalizados en un formato familiar y fácil de usar. Con las extensiones, puedes ampliar las capacidades de Gemini CLI y compartir esas capacidades con otras personas. Es el mecanismo principal para extender la funcionalidad de Gemini CLI más allá de sus herramientas integradas.

Una extensión es un paquete autónomo, con versiones y fácil de distribuir. Piensa en él como el "contenedor de envío" para tus personalizaciones de Gemini CLI, que agrupa todo lo necesario para un flujo de trabajo específico en un paquete único y ordenado.

f5ae3e229462c130.png

Una extensión puede incluir cualquier combinación de los siguientes elementos:

  • Comandos de barra personalizados (tus archivos .toml)
  • Configuraciones del servidor de MCP (que antes se encontraban en settings.json)
  • Archivos de contexto (GEMINI.md) para proporcionar instrucciones y lineamientos específicos al modelo
  • Restricciones de herramientas (excludeTools) para crear un entorno más seguro y enfocado

La Galería de extensiones es el mercado central para descubrir todas las extensiones oficiales creadas por Google y de terceros:

  1. Abre la siguiente URL en tu navegador: https://geminicli.com/extensions/
  2. Esta galería es el motor de visibilidad del ecosistema. Puedes ver extensiones de empresas como GitHub, Redis y DynaTrace, que muestran la amplitud de las herramientas disponibles.
  3. Desplázate hacia abajo y busca la tarjeta de extensión de Cloud Run o haz clic en este vínculo.
  4. Observa que la tarjeta proporciona una descripción, el autor (Google) y un botón de comando Copy con un solo clic. Esta es la forma más sencilla de obtener el comando de instalación de una extensión.

Extensiones de Gemini CLI: Comandos de administración

El comando gemini extensions es tu punto de entrada para administrar tus extensiones locales.

Ejecútalo en la terminal para ver la lista de comandos disponibles.

gemini extensions <command>
Manage Gemini CLI extensions.
Commands:
  gemini extensions install <source> [--auto-update] [--pre-release]
    Installs an extension from a git repository URL or a local path.
  gemini extensions uninstall [names..]