26 puntos por GN⁺ 2025-11-28 | 1 comentarios | Compartir por WhatsApp
  • Gemini CLI es un asistente de IA de código abierto que permite usar directamente los modelos Gemini de Google desde la terminal, y funciona como una herramienta interactiva de línea de comandos para escribir código, depurar y automatizar tareas mediante instrucciones en lenguaje natural
  • A través de unos 30 consejos avanzados para expertos, cubre funciones avanzadas como gestión persistente del contexto con GEMINI.md, comandos personalizados, ampliación con servidores MCP, memoria y restauración de checkpoints
  • Ofrece funciones para optimizar el flujo de trabajo de desarrollo como referencia de archivos e imágenes con @, modo YOLO (aprobación automática), ejecución headless, trabajo con múltiples directorios e integración con IDE (VS Code)
  • Incluye funciones recientes centradas en automatización, observabilidad y extensibilidad, como GitHub Action, extensiones (Extensions), telemetría y caché de tokens
  • Gemini CLI está evolucionando más allá de un simple chat con IA hacia una plataforma de desarrollo agéntico que integra y controla todo el entorno de desarrollo

Resumen de Gemini CLI

  • Gemini CLI es una interfaz de línea de comandos impulsada por IA que permite usar directamente los modelos Google Gemini desde la terminal
    • Está basado en Node.js/TypeScript y funciona en todos los principales sistemas operativos
    • Si ingresas instrucciones en lenguaje natural, puede realizar tareas de varios pasos como generación de código, depuración y configuración del sistema
  • Se puede instalar con npm install -g @google/gemini-cli o npx @google/gemini-cli
  • La autenticación admite inicio de sesión con cuenta de Google (gratis) o API key (de pago/enterprise)
    • Las cuentas gratuitas permiten aproximadamente 60 solicitudes por minuto y 1,000 por día
    • Al usar API key, se refuerza la protección de datos y se aplican políticas de retención de logs
  • La ejecución básica inicia con el comando gemini, y admite comandos / (control de sesión) y comandos ! (ejecución de shell)
    • Por defecto viene activado el modo seguro, que solicita aprobación del usuario (Y/n) cuando hay cambios en el sistema

Tip 1 — Gestión persistente del contexto con GEMINI.md

  • Guarda instrucciones por proyecto o información de contexto en el archivo GEMINI.md para que la IA responda siempre con el mismo contexto
    • Ejemplo: estilo de código, arquitectura, reglas de funciones, etc.
  • Fusiona jerárquicamente el archivo global (~/.gemini/GEMINI.md) y el específico del proyecto (.gemini/GEMINI.md)
  • Verifica el contexto cargado actualmente con /memory show y actualízalo con /memory refresh
  • Puedes generar una plantilla base con el comando /init, y también admite cargar múltiples archivos con @include

Tip 2 — Crear comandos slash personalizados

  • Define comandos personalizados en archivos TOML para automatizar tareas repetitivas
    • Ejemplo: /test:gen → generar pruebas Jest a partir de requisitos
  • Se pueden registrar de forma global (~/.gemini/commands/) o por proyecto (.gemini/commands/)
  • Los comandos funcionan con base en plantillas de prompts y se pueden compartir entre equipos
  • Son útiles para estandarizar flujos de trabajo, como formato consistente o asignación de roles (por ejemplo, /review:security)

Tip 3 — Ampliar Gemini con servidores MCP

  • Se integra con sistemas externos mediante servidores Model Context Protocol (MCP)
    • Ejemplo: Figma, Google Docs, Clipboard, bases de datos internas, etc.
  • Registra servidores con el comando gemini mcp add y guarda la configuración en settings.json
  • Revisa la lista de servidores y herramientas registradas con el comando /mcp
  • Admite OAuth 2.0 para conexiones API seguras

Tip 4 — Agregar y recuperar memoria

  • Guarda información importante en la memoria de largo plazo con /memory add "<text>"
    • Ejemplo: “El puerto de RabbitMQ es 5673”
  • Consulta toda la memoria con /memory show y actualízala con /memory refresh
  • Es útil para guardar registros de decisiones o preferencias personales (por ejemplo, tono o nombre)

Tip 5 — Checkpoints y restauración con /restore

  • Crea snapshots automáticamente antes de modificar archivos y permite volver al estado anterior con /restore
  • Se activa con la opción --checkpointing o desde el archivo de configuración
  • Consulta la lista de checkpoints con /restore list y restaura con /restore <id>
  • Si se usa junto con Git, funciona como una red de seguridad para el trabajo de la IA

Tip 6 — Leer Google Docs y Sheets

  • Si configuras el servidor Workspace MCP, puedes leer y resumir directamente enlaces de Google Docs/Sheets
  • Requiere autenticación OAuth y permite acceso con comandos como /read_google_doc
  • Hace referencia a documentos, hojas y archivos de Drive mediante enlaces para inyectar contexto sin copiar contenido

Tip 7 — Referenciar archivos e imágenes con sintaxis @

  • Adjunta directamente código, documentos o imágenes al prompt con @ruta/del/archivo
    • Ejemplo: Explain this code: @./src/main.js
  • Refleja automáticamente las reglas de .gitignore y .geminiignore
  • Admite reconocimiento de imágenes (incluyendo OCR) y comparación de múltiples archivos

Tip 8 — Generación instantánea de herramientas

  • Gemini puede crear directamente scripts temporales o servidores MCP cuando lo necesita
    • Ejemplo: parser de JSON, analizador de logs, etc.
  • El código generado puede revisarse como diff antes de aprobarse
  • Los scripts útiles pueden convertirse en comandos personalizados

Tip 9 — Resolución de problemas y configuración del sistema

  • También puede usarse fuera de proyectos, actuando como asistente para gestionar el entorno de desarrollo
    • Ejemplo: editar .bashrc, analizar logs de error o automatizar la instalación de Docker
  • Siempre solicita aprobación antes de ejecutar comandos, lo que permite ajustes seguros del sistema

Tip 10 — Modo YOLO (aprobación automática)

  • Con --yolo o Ctrl+Y, aprueba automáticamente la ejecución de todas las herramientas
  • Es útil para acelerar tareas repetitivas, pero implica riesgos
  • Puede configurarse una whitelist para aprobar automáticamente solo ciertos comandos

Tip 11 — Modo headless y modo script

  • Ejecución no interactiva con gemini -p "prompt"
  • GEMINI_SYSTEM_MD permite reemplazar el prompt del sistema
  • Admite salida JSON (--format=json) y archivo de resumen de sesión (--session-summary)
  • Es ideal para integrar CI/CD y scripts de automatización

Tip 12 — Guardar y reanudar sesiones de chat

  • Guarda sesiones con /chat save <name> y restáuralas con /chat resume <name>
  • Consulta la lista con /chat list y compártelas con /chat share
  • Es útil para depuración prolongada o trabajo paralelo en múltiples proyectos

Tip 13 — Espacio de trabajo con múltiples directorios

  • Integra varias carpetas en un solo workspace con --include-directories o mediante el archivo de configuración
  • Revisa las carpetas incluidas actualmente con /directory show
  • Admite entornos polyrepo, como edición simultánea de frontend y backend

Tip 14 — Organización de archivos con IA

  • Clasifica y mueve archivos dentro de un directorio por tipo
    • Ejemplo: imágenes → Images, PDF → Documents
  • También puede renombrar automáticamente según el contenido de las imágenes
  • Se recomienda revisar previamente la vista previa de comandos antes de ejecutar

Tip 15 — Mantener contexto mediante compresión de conversación

  • El comando /compress resume conversaciones largas para liberar espacio de contexto
  • Permite mantener la sesión preservando solo la información clave
  • Se puede configurar un umbral de compresión automática

Tip 16 — Ejecutar comandos de shell con !

  • Ejecuta directamente comandos de terminal con !command
  • Si ingresas solo !, entras en modo shell, y vuelves a salir con ! otra vez
  • Integra la conversación con IA y los comandos del sistema en una sola interfaz

Tip 17 — Usar todas las herramientas CLI como herramientas de Gemini

  • La IA puede invocar todos los comandos dentro de $PATH
    • Ejemplo: convert, docker, ffmpeg, git, etc.
  • Dependiendo del entorno, se recomienda limitar PATH o configurar una whitelist

Tip 18 — Aprovechar entradas multimodales

  • Puedes adjuntar imágenes, PDF y archivos de audio con @ para analizarlos
    • Ejemplo: describir una captura de UI, analizar una imagen de error o hacer OCR
  • Admite generación de código y extracción de datos a partir de material visual

Tip 19 — Control de acceso a $PATH y herramientas

  • Puede ejecutarse con un PATH restringido para mejorar la estabilidad y la seguridad
  • En settings.json, excludeTools permite bloquear comandos riesgosos
  • La opción --sandbox admite ejecución aislada en entorno Docker

Tip 20 — Caché de tokens y seguimiento de uso

  • Al usar API key o autenticación Vertex, la reutilización de tokens reduce costos
  • Consulta la tasa de aciertos del caché y el uso de tokens con el comando /stats
  • --session-summary permite guardar reportes JSON por sesión

Tip 21 — Copiar al portapapeles con /copy

  • Copia de inmediato la última salida (por ejemplo, código) al portapapeles
  • Compatible con macOS (pbcopy), Windows (clip) y Linux (xclip)

Tip 22 — Control del atajo Ctrl+C

  • Si lo presionas una vez, interrumpe la tarea; si lo presionas dos veces, cierra el CLI
  • En modo shell, puedes salir con Ctrl+C o Esc

Tip 23 — Configuración de usuario con settings.json

  • Permite ajustes detallados como tema, sandbox, aprobación automática y modo Vim
  • El comando /settings admite edición interactiva
  • Fusiona la configuración global (~/.gemini/) y la específica del proyecto

Tip 24 — Integración con VS Code

  • La extensión de VS Code (Companion Extension) detecta automáticamente archivos, cursor y selección
  • Al sugerir cambios de código, muestra automáticamente el visor de diff de VS Code
  • Se gestiona con /ide install, /ide enable y /ide status

Tip 25 — Automatización con GitHub Action

  • La Gemini CLI GitHub Action automatiza clasificación de issues y revisión de PR
  • Con la mención @gemini-cli, se pueden solicitar tareas como generación de código de prueba
  • El comando /setup-github genera automáticamente archivos de workflow

Tip 26 — Telemetría (Observability)

  • Basado en OpenTelemetry, recopila métricas, logs y trazas de sesión
  • Se activa con la configuración "telemetry.enabled": true o con la bandera --telemetry
  • Puede enviar datos a distintos backends como archivos locales, GCP o Prometheus

Tip 27 — Monitorear el roadmap

  • Puedes revisar futuras funciones en el roadmap público de Gemini CLI en GitHub
    • Ejemplo: agentes en segundo plano, ampliación de modelos, mejoras de UI, etc.
  • También se puede participar con feedback de la comunidad y propuestas de funciones

Tip 28 — Extensiones (Extensions)

  • Integra servicios externos con gemini extensions install <URL>
    • Ejemplo: Cloud Run, BigQuery, Figma, Stripe, etc.
  • Las extensiones tienen una estructura modular que agrega herramientas MCP, comandos y contexto
  • Consulta la lista de extensiones activas con el comando /extensions

Función adicional — Corgi Mode 🐕

  • Ejecuta una animación de corgi en la terminal con el comando /corgi
  • Es una simple función tipo easter egg para dar un respiro mientras usas el CLI

Conclusión

  • Gemini CLI es una interfaz de desarrollo impulsada por IA que abarca desde escritura de código hasta administración del sistema, automatización y colaboración
  • Con GEMINI.md, MCP, extensiones e integración con IDE, asegura contexto persistente y extensibilidad de herramientas
  • Gracias a su ecosistema open source y sus actualizaciones rápidas, está evolucionando como una plataforma de IA central para el flujo de trabajo de los desarrolladores

1 comentarios

 
GN⁺ 2025-11-28
Opinión de Hacker News
  • Yo no hago ninguna de estas configuraciones
    porque se vuelven obsoletas demasiado rápido y el 80% ni siquiera funciona bien
    No creo que valga la pena escribir un servidor MCP cuando ni siquiera está claro si el LLM lo va a invocar de forma confiable
    Mi regla es simple: escribo yo mismo la documentación para mí (plantillas, checklists, etc.) y le doy a la IA una oportunidad de intentarlo
    Si no sale bien a la primera, ajusto la documentación o simplemente lo hago yo

    • Me ayudó pensar en los LLM como generadores estadísticos de documentación
      Al final, su utilidad depende de los datos de entrenamiento y de cómo evolucionan los modelos, y creo que conviene tratarlos como una especie de programación con restricciones sin gramática formal
      Dada la subjetividad del lenguaje natural, lo mejor es iterar rápido refinando una y otra vez las frases de restricción
      Por ejemplo, una vez hice 4 iteraciones con Gemini y obtuve un script de bash totalmente automático
      Para el concepto relacionado, ver Constraint programming
    • Últimamente ha sido de gran ayuda que los agentes puedan hacer por sí solos el ciclo de construir-probar-corregir
      Puedo delegarles tareas al nivel de un desarrollador junior y dedicarme a otra cosa
    • Funciona bien tratar a un agente de IA como si fuera el nuevo desarrollador junior del equipo
      Si falla a la primera, mejoras la documentación (archivos .md) y vuelves a intentar
      Casi no uso MCP por los riesgos de seguridad, pero este bucle iterativo resulta bastante eficiente
      En cambio, decir “si no sale a la primera, lo hago yo” es como despedir al junior de inmediato
    • Siento que el desarrollo de software ahora mismo va rumbo a un nuevo plateau
      Todavía no llegamos a ese punto, y las habilidades que estamos acumulando ahora son como construir sobre una pendiente
    • Creo que ambos enfoques son útiles
      1. empezar con una sesión nueva para evitar contaminar el contexto, y
      2. conectar distintas herramientas para facilitar el trabajo (ver el artículo reciente de Anthropic)
        Como los métodos actuales para evaluar prompts no son confiables, estoy construyendo por mi cuenta una configuración agéntica para mejorarlos
        Ayer le agregué una función de viaje en el tiempo para sesiones basada en Dagger, y hoy pienso añadir funciones de fork, clon y registro
  • Gemini CLI todavía es débil para tareas de programación complejas
    Se debe a su bucle ReAct simple y a su limitada capacidad de invocar herramientas
    Aun así, se desarrolla activamente como código abierto, así que tiene mucho potencial
    Con su ventana de contexto de 1M (pronto 2M) y una cuota gratuita generosa, creo que hay que usarlo hasta el abuso (ABUSE IT)
    Yo lo uso como herramienta de orquestación TUI/CLI y también me ha resultado bastante útil para evaluar código generado por otras herramientas
    Últimamente lo conecté con Homebrew y MCP, y también con un Knowledge Manager basado en LLM local (Nowledge Mem)
    Curiosamente, también vi casos donde usan Gemini CLI como SubAgent para evitar contaminar el contexto principal
    Tuit relacionado

    • Gemini CLI de verdad se siente como una bestia salvaje
      Aunque le digas “no modifiques el código, solo sugiere”, igual se pone a editar archivos
      Pro 3 es inteligente, pero todavía es inestable para seguir instrucciones
    • Probé brevemente Gemini 3 Pro y hasta las tareas básicas de programación se le dificultan
      Lo intenté a través de Antigravity, pero con la cuota limitada era difícil hacer pruebas complejas
      Para impresiones más detalladas, ver este post
  • Addy Osmani es un ingeniero de software irlandés a cargo de Google Chrome y Gemini, con 25 años de experiencia
    Le apasionan la mejora del rendimiento web y las herramientas de desarrollo asistidas por IA, y ha publicado varios libros, entre ellos Learning JavaScript Design Patterns

    • Ganó un premio en la competencia Irish Young Scientist dos años antes que Patrick Collison
      Enlace del certamen
    • Tiene una reputación muy alta en la comunidad de rendimiento web
    • Dicen que publicó 11 libros en los últimos 5 años; me pregunto si usará escritura asistida por IA
  • Ojalá los agentes de programación agnósticos al LLM se vuelvan el estándar
    En vez de que cada uno reinvente la rueda, como Codex o Gemini CLI, estaría bien poder cambiar el proveedor de LLM como si fuera un plugin
    Por ahora Claude Code es el mejor, pero no parece que Anthropic vaya en esa dirección
    Al final, da la impresión de que habrá que esperar a la próxima generación de agentes de programación open source

    • Ya existe una herramienta así: Aider (aider.chat)
      Aunque, en la práctica, estos CLI se parecen más a interfaces para modelos por suscripción que a herramientas reales
      Los modelos más nuevos consumen tantos tokens que una suscripción mensual resulta más realista que pagar por API
    • Opencode (hecho por SST) es un buen ejemplo de esa visión
      Lo usé estos últimos días y quedé bastante satisfecho
      Enlace a GitHub
      También hay varias alternativas como Crush, Aider, Amp Code, Emacs+gptel y Editor Code Assistant
      Aun así, como el LLM y el agente de programación necesitan una coevolución (co-design), una separación total todavía parece poco realista
    • Creo que Claude Code es el mejor justamente porque no es agnóstico
    • Cursor también es una buena alternativa
      Irónicamente, ahora ya introdujo su propio LLM
      Presentación de Cursor Composer
    • Como herramientas agnósticas al modelo, recomiendo Roo Code o su fork Kilo
  • Llevo meses usando Gemini CLI
    Como en la empresa tengo suscripción gratuita, lo sigo usando
    Dicen que reconoce archivos GEMINI.md, pero en la práctica muchas veces los ignora
    Aun así, tips como el 12 y el 16 me parecieron útiles
    El problema de las alucinaciones sigue ahí, pero fue la primera vez que la IA realmente me pareció “divertida”
    Sobre todo cuando la puse a depurar de forma autónoma un clúster PoC de K8s: verla traer logs y encontrar errores fue realmente impresionante
    A veces, cuando se pone demasiado tonta, escribo /quit y lo hago yo mismo, pero igual sigo disfrutando usarla

    • Que Gemini CLI depure un clúster de K8s en tiempo real suena realmente surrealista
      Yo también acabo de montar un clúster RKE2 y de verdad quiero probarlo
  • A mí la IA me encanta
    La siento como una herramienta esencial, igual que internet o el iPhone, porque me vuelve un ser humano más eficiente
    Pero ya me tiene cansado la cantidad de fatiga por tutoriales sobre “cómo usar IA”
    La mayoría son de baja calidad, aunque este artículo está algo mejor que la media
    Se siente como cuando los desarrolladores de JS presentan un framework nuevo cada semana

    • Últimamente los posts del tipo “así se usa un LLM” son realmente aburridos
      No importa quién los escriba, si lo hacen en serio o solo para generar interacción, ya no me interesan
  • Sinceramente, estas configuraciones complejas son demasiado
    A mí me basta con prompts casi gritándole a la IA y aun así me funciona bastante bien
    Con LazyVim y unas cuantas herramientas (git, ask, ripgrep) ya soy suficientemente productivo
    En especial Gemini 3 es muy útil por su alta densidad de tokens y su gran contexto
    Cuando el contexto se vuelve excesivo, le hago escribir un resumen en README.MD y arranco un agente nuevo
    Enlace a la herramienta ask

    • Yo también lo uso de una forma parecida, y Gemini 3 lo hace muchísimo mejor
      Con otros modelos no lograba ser productivo, pero ahora hasta las tareas complejas salen bien en un 80% al primer intento
  • Es interesante el contraste entre el scripting manual y los flujos de trabajo asistidos por LLM
    Si las restricciones no están claras, ambos fallan; pero si sí lo están, el LLM puede funcionar con una confiabilidad sorprendente

  • El problema actual del coding con IA/agentic/vibe es la velocidad excesiva de evolución
    Las mejores prácticas se vuelven obsoletas antes de siquiera asentarse
    Los lenguajes y frameworks cambiaban, pero la forma de dividir problemas y entender un codebase era relativamente estable;
    ahora ya no tengo claro dónde estará ese punto de equilibrio

  • A mí Gemini CLI no me convence
    Si hay que usar algo, recomendaría Opencode
    Google también debería rehacer el CLI desde cero, como Codex

    • Supongo que depende de cada quien, pero en mi caso Gemini CLI es rápido y estable, así que lo uso como herramienta principal
    • Opencode también reemplazó por completo su TUI hace poco
      Por cierto, en este momento Gemini 3 no funciona en Opencode a través de Copilot
      Enlace al issue
    • Para usar Opencode parece que hace falta un emulador de terminal específico (WezTerm, Alacritty, Ghostty, Kitty)
      Me preguntaba si de verdad una TUI tan simple necesita esa clase de restricción
      Según la documentación oficial, Gemini no se menciona directamente,
      y al parecer se ofrece mediante Google Vertex AI
      Quizá también se pueda conectar Gemini a través de una suscripción de Google Workspace
    • Me intriga qué pasó con Codex: ¿de verdad lo rehicieron desde cero?