🚀 Gemini CLI: Tu Asistente de IA en la Terminal, por Google
¿Imaginas tener un copiloto de inteligencia artificial trabajando directamente desde tu terminal? Google lo hizo realidad con Gemini CLI, una herramienta de código abierto que transforma tu consola en un entorno inteligente, colaborativo y poderoso para programar.
En este artículo te cuento qué es, cómo se instala, cómo se usa y por qué podría convertirse en uno de tus aliados favoritos como desarrollador.
¿Qué es Gemini CLI?
Gemini CLI es un asistente de inteligencia artificial que opera desde la línea de comandos, utilizando el modelo Gemini 2.5 Pro de Google. A diferencia de los chatbots tradicionales, este agente puede leer tus archivos, ejecutar comandos, editar código y ayudarte en tiempo real mientras trabajas en tus proyectos.
🔗 Enlaces útiles:
Características Principales
- ⚡ Optimizado para programadores: Entiende tu código y puede ayudarte con generación, depuración, pruebas y más.
- 🧠 1 millón de tokens de contexto: Perfecto para proyectos grandes o análisis de múltiples archivos.
- 🔧 Herramientas integradas: Shell, lectura/escritura de archivos, búsquedas en Google, etc.
- 🧩 Multimodal: Soporta imágenes, audio, video y texto.
- 🌐 Extensible con MCP: Se puede conectar a herramientas externas.
- 🔁 Lógica ReAct: Planifica, razona y actúa en bucle hasta resolver problemas.
- 🆓 Gratis y sin tarjeta: 60 requests por minuto y 1000 al día.
- 🔓 Código abierto bajo licencia Apache 2.0.
🛡️ Importante: Aunque se ejecuta localmente, el procesamiento ocurre en los servidores de Google. No compartas información confidencial. Puedes gestionar esto con el comando
/privacy
.
Instalación Rápida
Requisitos: Node.js 18+ y una cuenta Google.
npm install -g @google/gemini-cli
gemini
Después de instalar, se te pedirá iniciar sesión con tu cuenta de Google.
¿Qué Puedes Hacer con Gemini CLI?
Aquí algunos ejemplos reales que puedes probar desde tu terminal:
🧠 Entender el proyecto
Dame un resumen general de este proyecto
✍️ Generar código
Escribe una API REST básica usando Flask en Python. Debe tener un endpoint '/saludo' que devuelva un JSON con el mensaje 'Hola, mundo'.
🐞 Depurar errores
Mi aplicación de Node.js está fallando. Este es el log de errores. Analízalo, explícame la causa raíz probable y sugiéreme el código para solucionarlo. @error.log
🔁 Refactorizar funciones
Lee esta función en mi archivo y refactorízala para que sea más eficiente y siga las mejores prácticas. @utils.py
✅ Escribir pruebas unitarias
Tengo una función llamada 'calcular_iva' en 'calculos.js'. Escribe un conjunto de pruebas unitarias usando Jest. @calculos.js
⚙️ Automatizar tareas
Escribe un script de shell (bash) que:
1. Comprime todos los .log en /var/log en un archivo tar.gz con la fecha actual.
2. Lo mueve a /mnt/backups.
3. Elimina logs con más de 7 días.
🔍 Buscar en Google
@search Cómo configurar un servidor PostgreSQL en Ubuntu
📁 Trabajar con archivos locales
Resume los errores críticos encontrados en @/var/log/syslog
Personalización con GEMINI.md
Puedes crear un archivo GEMINI.md
en tu proyecto para que Gemini entienda mejor el contexto:
Gemini debe actuar como un asistente experto en desarrollo full-stack con React y Django. Usar TypeScript y PostgreSQL.
Esto mejora la precisión de sus respuestas y lo adapta a tu stack.
Buenas Prácticas
- ✅ Siempre revisa antes de ejecutar comandos propuestos.
- 🧪 Trata el código generado como un primer borrador, no como producción inmediata.
Práctica
Ejemplos que puedes replicar:
- https://github.com/search
- https://www.frontendmentor.io/challenges/password-generator-app-Mr8CLycqjh
- https://www.frontendmentor.io/challenges/github-user-search-app-Q09YOgaH6
Recomendaciones:
- Siempre lleva un control de versiones con Git. Puedes hacer ramas para cada tarea o funcionalidad.
- Utiliza un archivo
GEMINI.md
para definir el contexto de tu proyecto y las expectativas de Gemini. - Puedes utilizar imágenes para que Gemini entienda mejor el contexto visual de tu proyecto. Por ejemplo, si estás trabajando en un diseño específico, puedes subir las imágenes a tu repositorio y referenciarlas en tu
GEMINI.md
.
Ejemplo de Gemeni.md
Este proyecto está destinado a estudiantes que están aprendiendo React con TypeScript. La idea es que este proyecto sirva como práctica concreta y guiada para reforzar los siguientes temas clave:
- Estructura de componentes en React
- Manejo de estado con `useState`
- Efectos secundarios con `useEffect`
- Funciones memorizadas con `useCallback`
- Uso de custom hooks
- Diseño responsive con Bootstrap 5
Se busca priorizar:
- Claridad y legibilidad del código
- Buenas prácticas en la organización de carpetas y archivos
- Separación lógica de componentes y estados
No se utilizarán rutas ni lógica multijugador para mantener el enfoque y simplicidad del ejercicio.
La interfaz de usuario se basa en un diseño previamente entregado en la carpeta `/ui`.
El objetivo general es que los estudiantes puedan:
- Comprender cómo se estructura una aplicación React con lógica moderada
- Reutilizar patrones comunes de desarrollo
- Tomar este código como base para desarrollar sus propios proyectos