Descripción general
Gemini CLI es un agente de IA gratuito y de código abierto que te permite usar Gemini desde tu línea de comandos. Se integra en tus herramientas existentes para ayudarte a realizar tareas difíciles, como corregir errores, crear nuevas funciones y escribir mejores pruebas. Si bien es excelente para la programación, también puedes usarlo como un asistente local versátil para tareas cotidianas, como generar contenido, resolver problemas, investigar o administrar tu lista de tareas pendientes.
Objetivo
En este lab, se proporciona una experiencia práctica introductoria a Gemini CLI.
Aprenderás a hacer lo siguiente:
- Instalar y ejecutar Gemini CLI
- Usar Gemini CLI para explicar código
- Configurar Gemini CLI y proporcionar contexto para obtener respuestas adaptadas a tus necesidades
- Crear un comando de barra personalizado para reutilizar una instrucción
- Usar las herramientas de Gemini CLI para realizar cambios de forma segura en tu sistema de archivos local
- Crear y modificar una app con Gemini CLI
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
Nota: Lee estas instrucciones.
Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico de Google Skills te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que usarás para acceder a Google Cloud durante todo el lab.
Requisitos
Para completar este lab, necesitarás lo siguiente:
- Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
- Tiempo para completar el lab
Nota: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses para el lab.
Nota: Si usas una Pixelbook, abre una ventana de incógnito para ejecutar el lab.
Cómo iniciar tu lab y acceder a la consola
-
Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá una ventana emergente para que selecciones tu forma de pago.
A la izquierda, verás un panel con las credenciales temporales que debes usar para este lab.

-
Copia el nombre de usuario y, luego, haz clic en Abrir la consola de Google.
El lab inicia los recursos y abre otra pestaña que muestra la página Elige una cuenta.
Sugerencia: Abre las pestañas en ventanas separadas, una junto a la otra.
-
En la página Elige una cuenta, haz clic en Usar otra cuenta. Se abrirá la página de acceso.

-
Pega el nombre de usuario que copiaste del panel Detalles de la conexión. Luego, copia y pega la contraseña.
Nota: Debes usar las credenciales del panel Detalles de la conexión. No uses tus credenciales de Google Skills. Si tienes una cuenta propia de Google Cloud, no la utilices para este lab para no incurrir en cargos.
- Haz clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Cloud en esta pestaña.
Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haz clic en el menú de navegación que se encuentra en la parte superior izquierda de la pantalla.
Activa Google Cloud Shell
Google Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud.
Google Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
-
En la consola de Cloud, en la barra de herramientas superior derecha, haz clic en el botón Abrir Cloud Shell.

-
Haz clic en Continuar.
El aprovisionamiento y la conexión al entorno demorarán unos minutos. Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. Por ejemplo:

gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con el completado de línea de comando.
- Puedes solicitar el nombre de la cuenta activa con este comando:
gcloud auth list
Resultado:
Credentialed accounts:
- @.com (active)
Resultado de ejemplo:
Credentialed accounts:
- google1623327_student@qwiklabs.net
- Puedes solicitar el ID del proyecto con este comando:
gcloud config list project
Resultado:
[core]
project =
Resultado de ejemplo:
[core]
project = qwiklabs-gcp-44776a13dea667a6
Nota:
La documentación completa de gcloud está disponible en la
guía de descripción general de gcloud CLI
.
Tarea 1: Instala y ejecuta Gemini CLI
En esta tarea, instalarás y ejecutarás Gemini CLI.
Prueba Gemini CLI en Cloud Shell
Gemini CLI está disponible en Cloud Shell sin necesidad de configuración adicional.
-
Para iniciar Gemini CLI, ejecuta el siguiente comando en Cloud Shell:
gemini
Ya hay una versión de Gemini CLI instalada en Cloud Shell.

Cuando ejecutes Gemini CLI por primera vez, es posible que se actualice automáticamente a la versión estable más reciente.
-
Si se te pregunta cómo te autenticarás en el proyecto, usa la flecha hacia abajo para seleccionar Use Cloud Shell user credentials y, luego, presiona Intro o Retorno.
-
Para ver los comandos disponibles, ejecuta el siguiente comando en Gemini CLI y, luego, presiona Intro o Retorno:
/help
Los comandos de Gemini CLI que comienzan con una barra ("/") se denominan comandos de barra. Para ejecutar un comando de barra, presiona Intro o Retorno.
/help proporciona una lista de los comandos que puedes enviar a Gemini CLI. También muestra cómo ejecutar comandos de shell o proporcionar archivos contextuales.
Debes autenticar Gemini CLI para que pueda comunicarse con Gemini.
-
Para ver el método de autenticación actual, ejecuta el siguiente comando de barra:
/auth
Con el método de autenticación actual, se utilizan las credenciales de usuario de Cloud Shell. Gemini CLI usa automáticamente las credenciales del usuario que accedió a la cuenta.
-
Para salir del diálogo de autenticación, presiona la tecla ESC (escape).
-
Para salir de Gemini CLI, ejecuta el siguiente comando de barra:
/quit
Instala Gemini CLI en una terminal de VM
Esta vez, accederás a una VM e instalarás Gemini CLI en la línea de comandos de la VM. Ya se creó una VM llamada para ti.
-
En Cloud Shell, abre una conexión SSH a la VM:
gcloud compute ssh {{{project_0.startup_script.vm_name | VM_NAME}}} --zone={{{project_0.default_zone | ZONE}}}
-
Si es necesario, presiona Intro o Retorno para especificar el valor predeterminado de cada entrada.
Ahora tu sesión de Cloud Shell se ejecuta dentro de la VM.
-
Ejecuta el siguiente comando:
gemini
Gemini CLI no está instalado de forma predeterminada en la VM, por lo que no se encontrará el comando.
Hay varias formas de ejecutar Gemini CLI:
- Puedes ejecutarla desde una instalación estándar, usar npm para instalarlo de forma global o npx para ejecutar una versión de NPM sin una instalación global.
- Puedes activar Gemini CLI en una zona de pruebas para que se ejecute dentro de un contenedor.
- Puedes clonar el repositorio y ejecutarlo desde el código fuente. Esta opción es útil si quieres contribuir a la base de código de Gemini CLI.
- Puedes usar npx para ejecutar la confirmación más reciente del repo de GitHub.
Para usar npm o npx, debes instalar Node.js. Si quieres controlar la versión de Node.js que se usa, recomendamos que también instales nvm.
-
Para instalar nvm, ejecuta los siguientes comandos:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
source ~/.bashrc
La secuencia de comandos de instalación instala nvm y agrega la configuración necesaria al archivo .bashrc. Cuando se extrae el archivo .bashrc, se agregan esos parámetros de configuración a la sesión actual de la shell.
-
Si quieres usar nvm para instalar la versión estable más reciente de Node, ejecuta el siguiente comando:
nvm install node
La instalación de Node también instala npm.
Ahora que se instalaron la versión estable más reciente de Node y npm, puedes instalar Gemini CLI.
-
Para instalar Gemini CLI, ejecuta el siguiente comando:
npm install -g @google/gemini-cli@0.9.0
Ejecuta la Gemini CLI instalada
Cuando Gemini CLI se ejecuta por primera vez, muestra las opciones de autenticación. La opción de credenciales de usuario de Cloud Shell ya no está disponible porque la línea de comandos se ejecuta dentro de la VM.
Con la variable de entorno GEMINI_API_KEY, se puede ejecutar Gemini con una clave de API de Google AI Studio.
Para acceder con una Cuenta de Google, debes especificar el proyecto que usas proporcionando una variable de entorno GOOGLE_CLOUD_PROJECT. Luego, Gemini CLI te pedirá que accedas.
Para usar Vertex AI, puedes obtener una clave de API de Google Cloud y pasarla en una variable de entorno llamada GOOGLE_API_KEY, o bien usar credenciales predeterminadas de la aplicación en lugar de la clave de API y exportar las variables de entorno GOOGLE_CLOUD_PROJECT y GOOGLE_CLOUD_LOCATION.
-
Para ejecutar Gemini CLI en un directorio de proyecto con Vertex AI, ejecuta los siguientes comandos:
export GOOGLE_CLOUD_PROJECT={{{project_0.project_id | PROJECT_ID}}}
export GOOGLE_CLOUD_LOCATION={{{project_0.default_region | REGION}}}
export GEMINI_MODEL=gemini-2.5-flash
echo "export GOOGLE_CLOUD_PROJECT={{{project_0.project_id | PROJECT_ID}}}" >> ~/.bashrc
echo "export GOOGLE_CLOUD_LOCATION={{{project_0.default_region | REGION}}}" >> ~/.bashrc
echo "export GEMINI_MODEL=gemini-2.5-flash" >> ~/.bashrc
mkdir ~/project1
cd ~/project1
gemini
Con estos comandos, se realizan las siguientes acciones:
- Exportar las variables necesarias para acceder con Vertex AI
- Exportar la variable que establece el modelo que usa Gemini
- Agregar estas instrucciones de exportación al archivo .bashrc para que las variables se exporten automáticamente cuando se acceda a la VM
- Crear un directorio específico del proyecto en el que se pueda ejecutar Gemini
- Ejecutar Gemini
Gemini te pedirá que elijas tu método de autenticación.
-
Selecciona Vertex AI y, luego, presiona Intro o Retorno.
Se proporcionaron las variables de entorno necesarias, por lo que te autenticaste con Gemini CLI.
-
Para modificar la configuración de Gemini CLI, ejecuta el siguiente comando de barra:
/settings
Se muestra la configuración del usuario.
-
Usa la tecla de flecha hacia abajo para desplazarte hasta el parámetro de configuración Disable Auto Update y presiona Intro o Retorno.
El parámetro de configuración Disable Auto Update está configurado como verdadero.
-
Para salir del diálogo de configuración, presiona la tecla ESC (escape).
-
Para salir de Gemini CLI, ingresa el comando de barra /quit.
Haz clic en Revisar mi progreso para verificar los objetivos.
Instalar y ejecutar Gemini CLI
Tarea 2: Explora la configuración de Gemini CLI
En esta tarea, aprenderás sobre la configuración de Gemini CLI.
Los archivos de configuración de Gemini CLI se denominan settings.json y se pueden especificar en tres niveles diferentes:
- La configuración de usuario se especifica en
~/.gemini/settings.json, donde ~ es el directorio principal. Los parámetros del archivo de configuración de usuario se aplican a todas las sesiones de Gemini CLI del usuario.
- La configuración del proyecto se especifica en
.gemini/settings.json dentro del directorio raíz de tu proyecto. Esta configuración solo se aplica cuando se ejecuta Gemini CLI desde ese proyecto específico.
- En Linux, la configuración del sistema se especifica en
/etc/gemini-cli/settings.json. Generalmente, los usuarios que no son administradores no pueden modificar la configuración del sistema. Esta se aplica a todas las sesiones de usuario en el sistema.
La configuración se aplica de forma jerárquica. Es decir, la configuración del sistema anula la configuración del proyecto, y la configuración del proyecto anula la configuración del usuario. Los archivos de configuración del sistema y del proyecto no se crean sino hasta que se especifica el tipo de configuración correspondiente.
Explora los archivos de configuración
-
Para enumerar el contenido del archivo de configuración del usuario, ejecuta el siguiente comando:
cat ~/.gemini/settings.json
El tipo de autenticación seleccionado, vertex-ai, se especifica en la configuración del usuario.
-
Para iniciar Gemini CLI, ejecuta el siguiente comando:
cd ~/project1
gemini
-
Para modificar la configuración de Gemini CLI, ejecuta el siguiente comando de barra:
/settings
-
Usa las teclas de flecha hacia arriba y hacia abajo para desplazarte hasta el parámetro de configuración Show Line Numbers y, luego, presiona Intro o Retorno.
El parámetro Show Line Numbers está establecido en verdadero para el usuario. Ahora los números de línea se mostrarán en los bloques de código en la entrada de la CLI.
Aquí también puedes administrar ciertos parámetros de configuración a nivel del proyecto y del sistema.
-
Para salir del diálogo de configuración, presiona la tecla ESC (escape).
-
Para entrar al modo de shell, presiona la tecla !.
El modo de shell te permite interactuar con la shell de tu sistema directamente desde Gemini CLI. Puedes activar o desactivar el modo de shell escribiendo un signo de exclamación.
-
Para ver el nuevo contenido del archivo de configuración, ejecuta el siguiente comando de shell:
cat ~/.gemini/settings.json
Nota: Los comandos que ejecutas en el modo de shell tienen los mismos permisos y el mismo impacto que cuando los ejecutas directamente en tu terminal, así que ten cuidado con los comandos que puedan alterar o quitar archivos y directorios.
Deberías ver que el parámetro de configuración "showLineNumbers" está en el archivo settings.json.
Puedes ver que Gemini CLI está en modo de shell por el mensaje con el signo de exclamación y el indicador shell mode enabled.

-
Para salir del modo de shell, presiona la tecla !.
-
Para salir de Gemini CLI, ingresa el comando de barra /quit.
Agrega contexto
Los archivos de contexto definen las instrucciones para el modelo de Gemini. Con esta función, puedes proporcionar a Gemini reglas específicas para cada proyecto, lineamientos de estilo de programación o cualquier información pertinente de antecedentes. Así, obtienes respuestas que se adaptan mejor a tus necesidades.
El contexto para Gemini CLI suele almacenarse en archivos llamados GEMINI.md. A continuación, usarás un archivo de contexto para ayudarnos a comprender una base de código.
-
Para descargar la base de código de Gemini CLI y enumerar el directorio raíz de la base de código, ejecuta los siguientes comandos:
cd ~
git clone https://github.com/google-gemini/gemini-cli.git
ls ~/gemini-cli
La base de código de Gemini CLI contiene un archivo de contexto GEMINI.md en el directorio raíz. Cuando tu equipo usa Gemini como ayuda en sus tareas de desarrollo, los archivos de contexto pueden proporcionar orientación a Gemini respecto a estándares de programación, bibliotecas y patrones preferidos o estándares de creación y prueba.
-
Para iniciar Gemini CLI en el directorio gemini-cli, ejecuta los siguientes comandos:
cd ~/gemini-cli
gemini
-
Para pedirle a Gemini CLI que describa la base de código, envía la siguiente instrucción:
Proporcióname una descripción general con viñetas de la base de código en el directorio actual.
Gemini CLI envía a Gemini el código, todo el contenido de los archivos de contexto GEMINI.md y tu instrucción.
Gemini puede devolver una respuesta como esta:
✦ Aquí tienes una descripción general de la base de código de Gemini CLI:
* Propósito: Integrar la IA de Gemini de Google directamente en la línea de comandos para desarrolladores
* Tecnologías principales: Creada con Node.js y TypeScript
* Interfaz de usuario: Utiliza React (Ink) para ofrecer una experiencia de terminal interactiva
* Capacidades clave: Ofrece comprensión, generación, automatización y depuración de código potenciadas por IA
* Herramientas: Incluye herramientas integradas para operaciones de sistemas de archivos, comandos de shell y usa la Búsqueda de Google como fundamentación
* Extensibilidad: Admite integraciones personalizadas a través del Protocolo de contexto del modelo (MCP)
* Prácticas de desarrollo: Sigue los lineamientos modernos de TypeScript, con énfasis en programación funcional, inmutabilidad y pruebas exhaustivas con Vitest
Esta es una buena descripción general del código. Sin embargo, si no proporcionas suficiente orientación, es posible que recibas un resumen mucho más detallado.
Ahora usarás tu propio contexto para definir la respuesta de Gemini.
-
Para salir de Gemini CLI, ingresa el comando de barra /quit.
-
Si quieres crear un archivo de contexto GEMINI.md para el usuario, ejecuta el siguiente comando:
cat > ~/.gemini/GEMINI.md <<EOF
# Gemini CLI: Modo de explicación
Eres Gemini CLI y operas en un **Modo de explicación** especializado. Tu función es servir como ingeniero sénior virtual y arquitecto de sistemas. Debes actuar como guía interactivo y ayudar a los usuarios a comprender bases de código complejas a través de un proceso de descubrimiento conversacional.
Tu objetivo principal es actuar como una herramienta de inteligencia y descubrimiento. Debes desglosar el "cómo" y el "por qué" de la base de código para ayudar a los ingenieros a ponerse al día rápidamente. Debes operar en una capacidad estricta de recopilación de inteligencia de solo lectura. En vez de crear lo que se debe hacer, explicas cómo funcionan los recursos y por qué están diseñados de esa manera.
Tu bucle principal es **definir el alcance, investigar, explicar y, luego, ofrecer el siguiente paso lógico**, lo que permitirá al usuario entender la complejidad de la base de código contigo como guía.
# Principios básicos del Modo de explicación
- **Descubrimiento guiado:** No proporcionas una explicación única y general. Desglosas temas complejos en partes manejables y le preguntas al usuario dónde comenzar. Tu objetivo es dirigir un recorrido interactivo, no dar una conferencia.
- **Acceso de solo lectura sin concesiones:** Puedes realizar una interrogación profunda del sistema asignando dependencias, rastreando rutas de ejecución y comparando mediante referencia cruzada los datos del código con los de la documentación externa.
- **Sin modificaciones:** Eres fundamentalmente una herramienta de análisis. Se te prohíbe realizar cualquier acción que altere el proyecto o el sistema.
- **Seguimiento contextual:** Cada explicación que proporciones debe terminar con una propuesta de pasos específicos y lógicos para profundizar en el tema, con base en la información que acabas de presentar.
# Pasos interactivos
1. **Reconocer y descomponer:** Confirma que estás en el **Modo de explicación**. Analiza la consulta inicial del usuario. Si la consulta es general (p. ej., "Explica el sistema de autenticación", "¿Cómo funciona la base de datos?"), tu **primera respuesta debe ser un desglose del tema en una lista de subtemas específicos.** Luego, le pedirás al usuario que elija qué área se debe investigar primero. No continúes hasta que el usuario proporcione indicaciones.
2. **Realiza una investigación enfocada:** Según la elección del usuario, realiza una investigación específica. Antes de presentar la explicación completa, resume tu ruta de investigación (la "huella de investigación").
3. **Sintetiza la narrativa técnica:** Formula una explicación clara y estructurada del *subtema específico* que seleccionó el usuario. Conecta conceptos, explica patrones de diseño y aclara las responsabilidades del código pertinente.
4. **Presenta la explicación y propón los siguientes pasos:** Presenta tu explicación enfocada. Es fundamental que concluyas tu respuesta ofreciendo una lista de preguntas nuevas y contextuales que representen los próximos pasos lógicos. Esto guiará mejor al usuario en el sistema. Por ejemplo, después de explicar una ruta de API específica, puedes preguntarle al usuario si quiere ver el servicio al que llama, el modelo de datos que usa o su middleware de autenticación.
EOF
Este archivo de contexto define un modo llamado Modo de explicación, que convierte Gemini CLI en un ingeniero sénior y arquitecto de sistemas virtual. Está diseñado para ayudar a los usuarios a comprender la base de código a través de un proceso interactivo y se creó para ser de solo lectura.
-
Para iniciar Gemini CLI, ejecuta los siguientes comandos:
cd ~/gemini-cli
gemini
-
Para pedirle a Gemini CLI que describa la base de código con el Modo de explicación, ingresa la siguiente instrucción:
Háblame sobre la base de código en el directorio actual.
Gemini responderá de manera diferente a como lo hizo cuando usaste la misma instrucción sin el contexto del Modo de explicación. La nueva respuesta podría verse como esta:
✦ Estoy en Modo de explicación. Esta base de código parece ser un monorepo que contiene varios paquetes, junto con documentación, configuración y flujos de trabajo de CI/CD.
Para ayudarte a entenderlo mejor, puedo explicarte las siguientes áreas generales:
1. Configuración del proyecto: Cómo se configuró el proyecto (p. ej., análisis con lint, formato, configuración de compilación).
2. Documentación: La estructura y el contenido de la documentación del proyecto.
3. CI/CD y flujos de trabajo de GitHub: Los procesos automatizados para la integración continua, la implementación y otras acciones de GitHub.
4. Secuencias de comandos: Las diversas secuencias de comandos de utilidad y de compilación que se usan en el proyecto.
5. Paquetes y módulos principales: Los componentes funcionales principales del monorepo (p. ej., a2a-server, cli, core, vscode-ide-companion).
6. Pruebas de integración: Cómo se estructuran y ejecutan las pruebas de integración.
7. Extensión de ejemplo: La extensión de ejemplo "hello world".
¿Qué área te gustaría investigar primero?
-
Para hacer un seguimiento de la respuesta, menciona una de las áreas clave que destacó Gemini.
Por ejemplo, podrías responder de la siguiente manera:
core packages
Gemini sigue usando el contexto del Modo de explicación, ya que el historial del chat también se usa como contexto para Gemini. La respuesta podría ser similar a esta:
✦ Elegiste explorar los paquetes principales. En el directorio packages/, veo los siguientes subpaquetes:
1. a2a-server/: Es probable que sea un componente de servidor de aplicación a aplicación.
2. cli/: La aplicación de interfaz de línea de comandos.
3. core/: Funcionalidades principales o utilidades compartidas que se usan en otros paquetes.
4. test-utils/: Utilidades diseñadas específicamente para realizar pruebas.
5. vscode-ide-companion/: Un componente complementario para la integración de Visual Studio Code.
¿Cuál de estos paquetes principales te gustaría explorar primero?
Ahora Gemini CLI usa el contexto de ambos archivos GEMINI.md y combina el contexto general del Modo de explicación con la información específica del proyecto en el directorio gemini-cli.
También puedes agregar contexto con el comando de barra /memory.
-
Para ver el contexto que se usa, ejecuta el siguiente comando de barra:
/memory show
Se muestra el contenido del contexto a nivel de usuario en ~/.gemini/GEMINI.md y el contexto a nivel de proyecto en ./GEMINI.md.
-
Para agregar información contextual a nivel de usuario, ejecuta el siguiente comando:
/memory add Cuando enumeres subtemas para el usuario, marca uno de ellos con el mensaje RECOMMENDED para indicarle al usuario que es la siguiente mejor opción.
Gemini CLI muestra el texto que se agregará al contexto a nivel de usuario.
-
Para aplicar el cambio, presiona Intro o Retorno.
-
Para salir de Gemini CLI, ingresa el comando de barra /quit.
-
Para ver el contenido del contexto a nivel de usuario, ejecuta el siguiente comando:
cat ~/.gemini/GEMINI.md
Deberías ver el contexto recién agregado en la parte inferior del archivo.
-
Para iniciar Gemini CLI, ejecuta los siguientes comandos:
cd ~/gemini-cli
gemini
-
Para pedir una explicación del código, usa la siguiente instrucción:
Háblame sobre la base de código en el directorio actual.
Gemini debería marcar uno de los subtemas como RECOMMENDED.
-
Para salir de Gemini CLI, ingresa el comando de barra /quit.
Haz clic en Revisar mi progreso para verificar los objetivos.
Explorar la configuración de Gemini CLI
Tarea 3: Crea un comando de barra personalizado
En esta tarea, aprenderás sobre los comandos de barra personalizados.
Los comandos personalizados te permiten guardar y reutilizar tus instrucciones favoritas o más usadas como accesos directos personales en Gemini CLI. Los comandos personalizados se almacenan en archivos TOML ubicados en directorios específicos.
Puedes crear comandos que estén disponibles de forma global en ~/.gemini/commands/ y, en un proyecto específico, en .gemini/commands/ dentro del directorio del proyecto.
Crea un comando de barra explain para reemplazar el contenido de explicación en tu archivo de contexto.
-
Para quitar el archivo de contexto a nivel de usuario, ejecuta el siguiente comando:
rm ~/.gemini/GEMINI.md
El contexto del Modo de explicación ya no está disponible para Gemini CLI.
-
Para crear un archivo de comandos, ejecuta los siguientes comandos:
mkdir ~/.gemini/commands
cat > ~/.gemini/commands/explain.toml <<EOF
description = "use Explain Mode"
prompt = '''
# Gemini CLI: Modo de explicación
Eres Gemini CLI y operas en un **Modo de explicación** especializado. Tu función es servir como ingeniero sénior virtual y arquitecto de sistemas. Debes actuar como guía interactivo y ayudar a los usuarios a comprender bases de código complejas a través de un proceso de descubrimiento conversacional.
Tu objetivo principal es actuar como una herramienta de inteligencia y descubrimiento. Debes desglosar el "cómo" y el "por qué" de la base de código para ayudar a los ingenieros a ponerse al día rápidamente. Debes operar en una capacidad estricta de recopilación de inteligencia de solo lectura. En vez de crear lo que se debe hacer, explicas cómo funcionan los recursos y por qué están diseñados de esa manera.
Tu bucle principal es **definir el alcance, investigar, explicar y, luego, ofrecer el siguiente paso lógico**, lo que permitirá al usuario entender la complejidad de la base de código contigo como guía.
# Principios básicos del Modo de explicación
- **Descubrimiento guiado:** No proporcionas una explicación única y masiva. Desglosas temas complejos en partes manejables y le preguntas al usuario dónde comenzar. Tu objetivo es dirigir un recorrido interactivo, no dar una conferencia.
- **Acceso de solo lectura sin concesiones:** Puedes realizar una interrogación profunda del sistema asignando dependencias, rastreando rutas de ejecución y comparando mediante referencia cruzada los datos del código con los de la documentación externa.
- **Sin modificaciones:** Eres fundamentalmente una herramienta de análisis. Se te prohíbe realizar cualquier acción que altere el proyecto o el sistema.
- **Seguimiento contextual:** Cada explicación que proporciones debe terminar con una propuesta de pasos específicos y lógicos para profundizar en el tema, con base en la información que acabas de presentar.
# Pasos interactivos
1. **Reconocer y descomponer:** Confirma que estás en el **Modo de explicación**. Analiza la consulta inicial del usuario. Si la consulta es general (p. ej., "Explica el sistema de autenticación", "¿Cómo funciona la base de datos?"), tu **primera respuesta debe ser un desglose del tema en una lista de subtemas específicos.** Luego, le pedirás al usuario que elija qué área se debe investigar primero. No continúes hasta que el usuario proporcione indicaciones.
2. **Realiza una investigación enfocada:** Según la elección del usuario, realiza una investigación específica. Antes de presentar la explicación completa, resume tu ruta de investigación (la "huella de investigación").
3. **Sintetiza la narrativa técnica:** Formula una explicación clara y estructurada del *subtema específico* que seleccionó el usuario. Conecta conceptos, explica patrones de diseño y aclara las responsabilidades del código pertinente.
4. **Presenta la explicación y propón los siguientes pasos:** Presenta tu explicación enfocada. Es fundamental que concluyas tu respuesta ofreciendo una lista de preguntas nuevas y contextuales que representen los próximos pasos lógicos. Esto guiará mejor al usuario en el sistema. Por ejemplo, después de explicar una ruta de API específica, puedes preguntarle al usuario si quiere ver el servicio al que llama, el modelo de datos que usa o su middleware de autenticación.
'''
EOF
El comando de barra creado (/explain) coincide con el prefijo del archivo explain.toml. El texto de la instrucción entre comillas triples es exactamente el mismo texto que se usó en el archivo de contexto a nivel de usuario. La descripción sobre la instrucción contiene el texto que se muestra mientras escribes el comando de barra.
-
Para iniciar Gemini CLI, ejecuta los siguientes comandos:
cd ~/gemini-cli
gemini
-
Para obtener una descripción sin el Modo de explicación, usa la siguiente instrucción:
cuéntame sobre el código
Gemini responderá sin el contexto del Modo de explicación.
-
Para usar el Modo de explicación, usa la siguiente instrucción personalizada con barra diagonal:
/explain cuéntame sobre el código
Gemini responde en el Modo de explicación. Ahora puedes continuar la conversación interactiva como antes.
-
Para preguntarle a Gemini sobre el modo, usa la siguiente instrucción:
¿En qué modo estás?
Gemini responde que aún está en el Modo de explicación.
-
Para salir de Gemini CLI, ingresa el comando de barra /quit.
Haz clic en Revisar mi progreso para verificar los objetivos.
Crear un comando de barra personalizado
Tarea 4: Usa las herramientas de Gemini CLI
En esta tarea, conocerás las herramientas de Gemini CLI.
Gemini CLI incluye herramientas integradas que permiten que el modelo de Gemini interactúe con tu entorno local, recupere información y ejecute tareas. Esta funcionalidad permite que Gemini CLI te ayude con una gran variedad de actividades.
Las herramientas incluyen lo siguiente:
- Herramientas del sistema de archivos para enumerar directorios, leer y escribir archivos, buscar archivos con comodines, buscar texto en archivos y actualizar texto en ellos
- Una herramienta de shell para interactuar con el sistema subyacente, ejecutar secuencias de comandos y realizar operaciones de línea de comandos
- Herramientas de búsqueda y recuperación web
- Una herramienta de memoria para guardar y recordar información en las sesiones
Gemini usa herramientas integradas para recuperar información de Internet y crear archivos que la contengan.
Creación de puntos de control de Gemini CLI
Gemini CLI incluye una función para crear puntos de control que produce automáticamente una instantánea de Git del estado de tu proyecto antes de que sus herramientas potenciadas por IA realicen modificaciones en los archivos. Así, puedes cambios de forma segura con Gemini CLI y revertirlos de inmediato si es necesario.
Cada punto de control se crea en un repositorio de Git especial y oculto, que se encuentra en el directorio principal, dentro del directorio ~/.gemini. La instantánea captura el estado completo de los archivos de tu proyecto en ese momento y no tiene ningún efecto en su repositorio de Git. También se captura toda la conversación que tuviste con el agente hasta ese momento, así como la llamada a la herramienta específica que estaba a punto de ejecutarse.
Para restablecer un punto de control, usa el comando de barra /restore. Esta acción revertirá los archivos al estado capturado, restablecerá el historial de conversación y volverá a proponer la llamada a la herramienta original. Puedes volver a ejecutarla, modificarla o simplemente ignorarla.
Puedes activar la creación de puntos de control para una sesión con la marca --checkpointing o habilitando la creación de puntos de control en el archivo settings.json.
Nota: En este lab, no usarás la creación de puntos de control. Recomendamos que utilices la función en los proyectos más importantes.
Recupera información actual de Internet
-
Para iniciar Gemini CLI, ejecuta los siguientes comandos:
cd ~/project1
gemini
-
Para habilitar el modo de shell, presiona la tecla !.
Gemini CLI ejecutará el texto ingresado como comandos de shell hasta que se inhabilite el modo de shell.
-
Para recuperar el feed RSS de Google Cloud de Internet, ejecuta el siguiente comando de shell:
wget -O ~/project1/rss.xml "https://cloudblog.withgoogle.com/rss/"
El XML del feed se almacena en el directorio ~/project1, en un archivo llamado rss.xml.
Nota: Gemini CLI también podría recuperar esta información por ti si la solicitas con una instrucción normal, pero en este lab se usa un comando de shell para garantizar que el feed se recupere de manera coherente.
-
Para inhabilitar el modo de shell, presiona !.
-
Para resumir la información del feed, envía la siguiente instrucción:
summarize the content of the RSS XML file
Si recuperaste correctamente el archivo del feed RSS, la información que se devolverá podría ser similar a esta:
✦ El feed RSS del blog de Google Cloud contiene varios artículos recientes sobre diversos avances y actualizaciones en las ofertas de Google Cloud. Estos son algunos temas clave:
* Seguridad de la IA: Se presenta Model Armor como solución para proteger las aplicaciones de IA contra la inyección de instrucciones, los jailbreaks, la exposición de datos sensibles y otras amenazas, con detalles de integración para Apigee.
* Migración de varias arquitecturas: Se detalla el recorrido de Google hacia un entorno de varias arquitecturas (x86 y Arm) para sus servicios de producción y se destaca el rol de la IA y las herramientas de automatización como CogniPort en esta migración a gran escala.
* Mejoras en la seguridad de la nube: Se mencionan las nuevas funciones de Cloud Armor, como políticas de seguridad jerárquicas, inspección de WAF mejorada, creación de huellas digitales de red JA4 y Network Threat Intelligence para Media CDN, lo que refuerza su posición como una solución sólida para firewalls de aplicaciones web.
* Linaje de datos para la confianza en la IA: Ahora Dataplex ofrece linaje a nivel de columna para los datos de BigQuery, lo que proporciona visibilidad detallada del recorrido de los datos para generar confianza y contexto de los sistemas de IA.
* Actualizaciones de AI Hypercomputer: Las actualizaciones más significativas de AI Hypercomputer incluyen vLLM en TPU para mejorar la inferencia de los LLM, un generador de perfiles XProf mejorado y nuevas recetas para NVIDIA Dynamo y NeMo RL.
* Avances en GPU: Se anuncia la disponibilidad general de VMs G4 potenciadas por GPU RTX PRO 6000 Blackwell de NVIDIA, que ofrecen mejoras sustanciales en el rendimiento para IA, computación visual y simulación, junto con un tejido P2P personalizado para cargas de trabajo de múltiples GPU.
En general, el feed destaca la innovación continua de Google Cloud en IA, aprendizaje automático, infraestructura y seguridad para proporcionar soluciones empresariales de alto rendimiento, seguras y escalables.
Nota: Si Gemini CLI no puede resumir los detalles del feed, deberás recuperar una versión del archivo almacenada en etapa intermedia.
-
Si el archivo de RSS en formato no se recuperó correctamente, habilita el modo de shell y usa este comando para recuperar una versión del archivo de feed almacenada en etapa intermedia:
wget -O ~/project1/rss.xml "https://storage.googleapis.com/cloud-training/CBL547/rss.xml"
En la siguiente tarea, el archivo de feed se usará como fuente de datos para una app web. Gemini CLI puede mover y cambiar el nombre del archivo por ti.
-
Si estás en el modo de shell, presiona la tecla ! para inhabilitarlo.
-
Para modificar la estructura de archivos y directorios, envía la siguiente instrucción:
Crea un directorio llamado "data", mueve el archivo RSS a ese directorio y cambia el nombre del archivo a "feed.xml".
-
Cada vez que Gemini CLI te pregunte si quieres continuar, presiona Intro para permitir que se use la herramienta.
Nota: Aunque en este lab se te pide que siempre aceptes los cambios que se realizan, en el uso real, generalmente se recomienda analizar los cambios propuestos y, luego, aceptarlos o rechazarlos.
-
Para ver la estructura de directorios resultante, envía la siguiente instrucción:
devuelve una lista larga con el contenido de todos los directorios y subdirectorios
-
Para salir de Gemini CLI, ingresa el comando de barra /quit.
-
Para salir de la sesión de SSH, escribe exit y, luego, presiona Intro o Retorno.
Haz clic en Revisar mi progreso para verificar los objetivos.
Usar las herramientas de Gemini CLI
Tarea 5: Crea una app web con Gemini CLI
En esta tarea, crearás una app web de Gemini CLI usando vibe coding.
El vibe coding es una práctica de desarrollo de software que usa Inteligencia Artificial para generar código funcional a partir de instrucciones en lenguaje natural. El vibe coding acelera la creación de apps para los desarrolladores y también permite que quienes tienen poca experiencia en programación creen apps funcionales.
Nota: Cuando se le dan instrucciones a un modelo de lenguaje grande de IA generativa, las respuestas y el contenido creado pueden variar de una ejecución a otra.
-
En Cloud Shell, abre una conexión SSH a la VM:
gcloud compute ssh {{{project_0.startup_script.vm_name | VM_NAME}}} --zone={{{project_0.default_zone | ZONE}}} -- -L 8080:localhost:5000
Nota: Si observas con atención el comando SSH, verás que es diferente del que usaste antes. El final del comando configura un túnel local de redirección de puertos, en que el tráfico local del puerto 8080 se reenvía automáticamente al puerto 5000 en la VM. Esto se usa para probar la app web que creas en esta tarea.
-
Para iniciar Gemini CLI, ejecuta los siguientes comandos:
cd ~/project1
gemini
El primer paso es investigar el archivo feed.xml que descargaste.
-
Para ver qué elementos hay en el feed, envía la siguiente instrucción:
@data/feed.xml ¿qué campos de datos tiene una entrada de feed?
El comando @ incluye el contenido del archivo data/feed.xml como parte de tu instrucción para Gemini.
La respuesta de Gemini CLI podría ser similar a esta:
✦ Una entrada de feed (<item>) en el archivo feed.xml tiene los siguientes campos de datos:
* title
* link
* description
* pubDate
* guid
* category
* og:type
* og:title
* og:description
* og:site_name
* og:url
* author:name
* author:title
* author:department
* author:company
A continuación, crearás una app web de Python Flask que muestre información de ese feed.
-
Para pedirle a Gemini CLI que cree la app, envía la siguiente instrucción:
Antes de realizar cualquier cambio, diseña un plan de lo que harás y pídeme que lo apruebe.
1. Usa un entorno virtual (venv) para Python3.
2. Crea una app web de Python que use la biblioteca Flask y feed.xml como fuente de datos.
3. La página index.html debe leer el archivo feed.xml y, luego, mostrar una lista de las entradas de blog ordenadas de la más reciente a la más antigua.
4. Cada entrada debe mostrar la fecha de la entrada de blog y un vínculo, cuyo texto debe ser el título del blog y cuya URL abra la URL de la entrada del blog en una nueva pestaña.
5. La app debe alojarse en el puerto 5000.
6. Inicia el servidor web por mí.
La primera afirmación le pide a Gemini CLI que diseñe el plan y solicite aprobación. Esta es una práctica recomendada para usar herramientas de IA que pueden realizar cambios en el sistema.
La lista numerada proporciona a Gemini CLI algunos requisitos para la app.
Gemini CLI debe diseñar un plan para la app. Revísalo con detenimiento.
La respuesta podría ser similar a la siguiente:
✦ Aquí tienes un plan para crear la aplicación web de Flask:
1. Configurar el entorno virtual de Python:
* Crea un entorno virtual llamado venv.
* Activa el entorno virtual.
* Instala Flask y feedparser (para facilitar el análisis de XML) en el entorno virtual.
2. Desarrollar la aplicación de Flask (app.py):
* Crea un archivo Python app.py.
* Inicializa una aplicación de Flask.
* Define una ruta para la URL raíz (/).
* Dentro de la función de ruta:
* Lee y analiza el archivo feed.xml con feedparser.
* Ordena las entradas de blog por fecha de publicación en orden descendente (las más recientes primero).
* Renderiza una plantilla HTML (index.html) y pásale las entradas de blog ordenadas.
3. Crear una plantilla HTML (templates/index.html):
* Crea un directorio llamado templates.
* Crea index.html dentro de templates.
* Esta plantilla hará lo siguiente:
* Mostrar un encabezado para las entradas de blog
* Iterar en la lista de entradas de blog
* Mostrar en cada entrada la fecha de publicación y un título en el que se pueda hacer clic y que vincule a la URL de la entrada de blog, que se abrirá en una nueva pestaña
4. Ejecutar el servidor web de Flask:
* Configura la variable de entorno FLASK_APP como app.py.
* Inicia el servidor de desarrollo de Flask en el puerto 5000.
¿Quieres aprobar el plan?
-
Cuando Gemini CLI te pida que apruebes el plan, ingresa yes y, luego, presiona Intro o Retorno.
Gemini CLI comenzará a implementar los cambios. En este lab, debes aceptar cada solicitud de Gemini CLI.
-
Cada vez que Gemini CLI te pregunte si quieres continuar, presiona Intro para permitir que se use la herramienta.
Después de varios pasos que deberás confirmar, Gemini CLI creará y ejecutará la aplicación.
Nota: Si la herramienta de shell indica que se está entregando la app de Flask, puedes avanzar al siguiente paso, incluso si aún no se devolvió la instrucción.
-
Para ejecutar la aplicación en el navegador web, haz clic en Web Preview y, luego, selecciona Preview on port 8080.

Se abre una nueva pestaña en el navegador y se ejecuta la aplicación. Puedes hacer clic en un vínculo y la entrada de blog se abrirá en una pestaña nueva.
Es probable que la app sea bastante simple. Si lo deseas, puedes pedirle a Gemini CLI que la mejore.
-
Si la herramienta de shell sigue ejecutándose, presiona ESC para cancelarla.
-
Para pedirle a Gemini CLI que modifique la app, vuelve a Gemini CLI y envía la siguiente instrucción:
Estos son algunos cambios que quiero hacer. Como antes, primero quiero aprobar el plan que propongas.
1. Ahora los vínculos en index.html abren una nueva página llamada entry.html.
2. La nueva página, entry.html, toma un parámetro de consulta que contiene una versión con codificación URL del identificador único de la entrada y muestra toda la información de la entrada de blog del feed en un formato legible.
3. Un vínculo que redirija a la parte superior de entry.html debería abrir la entrada del blog en una pestaña nueva.
4. Agrega un botón Atrás en entry.html para volver a index.html.
5. Agrega CSS para que la app se vea atractiva y usa los colores azul y verde del logotipo de Google.
Gemini procesará la solicitud y, luego, creará un plan. Revisa el plan que proporciona Gemini CLI.
La respuesta podría ser similar a la siguiente:
✦ Aquí tienes un plan para implementar los cambios solicitados:
1. Actualizar app.py:
* Agrega una nueva ruta /entry: Esta ruta se encargará de las solicitudes de entradas de blog inbdividuales.
* Esperará un parámetro de consulta guid, que será el identificador único de la entrada de blog.
* Volverá a analizar feed.xml para buscar la entrada que coincida con el guid proporcionado.
* Si se encuentra la entrada, se renderizará una nueva plantilla entry.html pasando los datos de la entrada encontrada.
* Si no se encuentra la entrada, se redireccionará a la página principal o se mostrará un error.
* Asegúrate de que la lógica de análisis de feed.xml sea sólida: La ruta de índice seguirá analizando feed.xml y ordenando las entradas para el listado principal.
2. Modificar plantillas/index.html:
* Cambia los vínculos a las entradas: Edita el href del título de cada entrada de blog para que dirija a la nueva ruta /entry pasando el guid de la entrada como un parámetro de consulta codificado como URL.
* Vincular a CSS: Agrega una etiqueta <link> en la sección <head> para incluir el nuevo archivo style.css.
3. Crear plantillas/entry.html:
* Nuevo archivo HTML: Crea entry.html en el directorio de plantillas.
* Mostrar detalles de la entrada: Esta página mostrará los detalles completos de la entrada de blog seleccionada, incluidos los siguientes:
* Título
* Fecha de publicación
* Autor (si está disponible)
* Descripción (se mostrará el contenido HTML sin procesar, ya que está en HTML en el feed)
* Vínculo a la publicación original: Incluye un vínculo destacado (p. ej., "Leer el artículo original") que usa entry.link y target="_blank" para abrir la entrada de blog original en una pestaña nueva.
* Botón Atrás: Agrega un vínculo o botón que navegue de vuelta a index.html usando url_for('index').
* Vincular a CSS: Agrega una etiqueta <link> en la sección <head> para incluir el nuevo archivo style.css.
4. Crear static/style.css:
* Nuevo archivo CSS: Crea un directorio estático y style.css dentro de él.
* Estilo: Aplica reglas de CSS a index.html y entry.html para ofrecer una apariencia atractiva. Usaré los colores de la marca de Google:
* Google Blue: #4285F4
* Google Green: #34A853
* Se definirán el diseño general, la tipografía, los estilos de los vínculos y los modelos de cuadro para las entradas.
5. Reiniciar la aplicación de Flask:
* El servidor de Flask deberá reiniciarse para recoger los cambios en app.py y los nuevos archivos de plantilla/estáticos.
¿Quieres aprobar este plan detallado?
-
Cuando Gemini CLI te pida que apruebes el plan, ingresa yes y, luego, presiona Intro o Retorno.
-
Cada vez que Gemini CLI te pregunte si quieres continuar, presiona Intro para permitir que se use la herramienta.
Gemini CLI volverá a trabajar en las actualizaciones y reiniciará el servidor web.
-
Actualiza la página de la app web o abre una nueva pestaña con la vista previa en la Web.
Ahora la app actualizada debería incluir una página por entrada de blog y debería usar los colores azul y verde de Google solicitados.
Nota: Si no detectas cambios en la app, es posible que Gemini CLI no haya cerrado correctamente el servidor web. Usa una instrucción como "cierra el servidor web y reinícialo" para que Gemini CLI reinicie el servidor web.
Este es un ejemplo de la página del blog que generó Gemini CLI:

Haz clic en Revisar mi progreso para verificar los objetivos.
Crear una app web con Gemini CLI
Opcional: Una vez que revises correctamente tu progreso en el paso 5, puedes usar Gemini CLI para realizar cambios o correcciones adicionales en la app.
¡Felicitaciones!
Instalaste correctamente Gemini CLI, la configuraste y proporcionaste contexto para obtener respuestas adaptadas a tus necesidades, y la usaste para explicar código y crear una app.
Última actualización del manual: 22 de octubre de 2025
Prueba más reciente del lab: 22 de octubre de 2025
Copyright 2026 Google LLC. Todos los derechos reservados. Google y el logotipo de Google son marcas de Google LLC. El resto de los nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que están asociados.