6. Comandos del CLI

Objetivo del tema

Dominar los comandos integrados de Gemini CLI, los flags más habituales y los mecanismos de ayuda incorporados para que cada sesión sea eficiente.

El CLI distingue tres familias principales: slash commands (/) para controlar la sesión, at commands (@) para inyectar contexto y shell passthrough (!) para interactuar con el sistema.

6.1 Detalle de cada comando

La siguiente tabla resume los comandos más relevantes basados en la documentación oficial. Puedes combinarlos libremente dentro del REPL.

Prefijo Comando Acción según la documentación
/ /bug <mensaje> Abre un reporte en el repositorio oficial. Puedes personalizar la ruta de destino con advanced.bugCommand en settings.json.
/ /chat save|resume|list|delete <tag> Gestiona checkpoints manuales de conversación (~/.gemini/tmp/<project_hash> en Linux/macOS, carpeta equivalente en Windows).
/ /chat share archivo.md Exporta la conversación actual a Markdown o JSON; genera un nombre automático si no proporcionas archivo.
/ /clear (Ctrl+L) Limpia la interfaz sin cerrar la sesión.
/ /compress Sustituye el historial extenso por un resumen para ahorrar tokens.
/ /copy Copia el último resultado al portapapeles (requiere pbcopy, clip o xclip/xsel según la plataforma).
/ /memory show / /memory refresh Inspecciona o reconstruye el contexto cargado, ideal para validar GEMINI.md y archivos importados.
/ /settings reload Recarga la configuración sin reiniciar el CLI, aplicando cambios en settings.json.
@ @ruta/archivo Inyecta el contenido del archivo en el prompt usando el tool read_many_files (respeta filtros de Git y notifica archivos omitidos).
@ @directorio/ Analiza directorios completos y subcarpetas según context.discoveryMaxDirs; ideal para pedir resúmenes o auditorías de módulos.
@ @ (sin ruta) Envía el símbolo literal al modelo (por ejemplo, para preguntar sobre el uso de @ en tu lenguaje).
! !comando Ejecuta el comando en tu shell local (usa bash o powershell.exe según el sistema) y devuelve la salida en la sesión.
! ! (toggle) Activa/desactiva el modo shell persistente. Mientras esté activo, todas las entradas se ejecutan directamente en el sistema.

Los comandos del tipo ! heredan los permisos de tu usuario local. Verifica dos veces antes de ejecutar operaciones destructivas.

6.2 Flags / opciones comunes

Además de los comandos interactivos, el binario gemini admite flags que modifican el comportamiento global o activan funcionalidades headless.

  • Información y ayuda: gemini --help muestra la ayuda general, gemini --version imprime la versión instalada.
  • Prompts directos: gemini --prompt "Describe src/index.ts" o gemini -p envía un mensaje sin abrir el REPL.
  • Contexto: --include-directories dir1,dir2 agrega rutas a la búsqueda de contexto; puedes repetir el flag varias veces.
  • Sandbox y aprobación: --sandbox, --approval-mode <modo> y --allowed-tools controlan el nivel de permisos durante la sesión.
  • Telemetría opcional: --telemetry, --telemetry-target, --telemetry-otlp-endpoint y --telemetry-log-prompts ajustan el destino y la granularidad de los eventos.
  • Checkpointing: --checkpointing activa o desactiva la captura de estados automáticos antes de cambios en archivos.
  • Extensiones: --extensions nombre1 nombre2 habilita extensiones específicas; --list-extensions (-l) muestra las disponibles.
  • Red y proxy: --proxy http://servidor:puerto o variables de entorno equivalentes canalizan el tráfico a través de un proxy corporativo.
  • Accesibilidad: --screen-reader ajusta la interfaz para lectores de pantalla sin modificar la configuración persistente.
  • Modo YOLO: --yolo levanta restricciones adicionales (como aprobaciones manuales) para flujos supervisados; utilízalo con cautela.

Los flags se pueden combinar con variables de entorno definidas en .gemini/.env o con configuraciones en settings.json. El orden de precedencia favorece a los argumentos de línea de comandos.

6.3 Comandos de ayuda y documentación interna

Gemini CLI ofrece recursos integrados para consultar ayuda sin salir de la terminal:

  • Ayuda general: gemini --help enumera flags, opciones de ejecución y resumen de comandos.
  • Versión y diagnóstico: gemini --version y gemini --show-memory-usage ayudan a comprobar la build y los recursos asignados.
  • Listado de extensiones: gemini --list-extensions (-l) indica qué extensiones están disponibles; gemini --extensions nombre permite lanzar la sesión solo con las necesarias.
  • Slash commands: usa /settings reload, /chat list, /memory show o /copy para explorar el contexto y la configuración en tiempo real.
  • Documentación oficial: agrega @docs/ o cualquier carpeta interna (por ejemplo, @docs/headless-mode.md) para pedir resúmenes sobre material de onboarding almacenado junto al proyecto.

Si necesitas soporte adicional, el comando /bug abre un issue con los detalles de la versión y el contexto, acelerando las correcciones por parte del equipo de Gemini CLI.

Conclusión: con el repertorio de comandos, flags y ayudas a mano, puedes adaptar el CLI a cada situación: exploración interactiva, automatización scriptada o integración con flujos corporativos. El próximo paso es profundizar en checkpointing, sandboxing y otros temas avanzados.