In this article
5 consejos para programar de forma agéntica con Gemini CLI
¿Quién no usa agentes de programación con IA hoy en día? Los desarrolladores tienen a su disposición un increíble conjunto de nuevas herramientas para acelerar sus flujos de trabajo. Gemini CLI es un potente agente de IA de código abierto que lleva la potencia de Gemini directamente a tu terminal. Sin embargo, la verdadera magia de tus habilidades de programación con IA está en aprender a controlar y personalizar estas herramientas según tus necesidades y flujos de trabajo de ingeniería de software.
He estado usando Gemini CLI bastante en las últimas semanas y, en este artículo, quiero compartir cinco consejos clave para que aproveches Gemini CLI al máximo. Ya sea que te preocupe el código inseguro o que simplemente quieras acelerar tus tareas diarias, espero que estos consejos te ayuden a convertirte en un desarrollador más eficiente y seguro que usa la IA para agilizar su trabajo.
1. Usa GEMINI.md
La programación agéntica funciona mejor cuando la IA entiende el contexto particular de tu proyecto. No basta con decirle al agente que "escriba una función": debes darle pautas claras, el estilo de programación y otras directrices relevantes para el proyecto que se ajusten a las convenciones de tu equipo.
Probablemente ya hayas oído hablar de esto con “cursorrules” de Cursor y “CLAUDE.md” de Claude; Gemini CLI no es la excepción. Ahí es donde entra en juego GEMINI.md.
Al crear un archivo GEMINI.md en el directorio raíz de tu proyecto, puedes proporcionar un "prompt del sistema" con toda la información que necesita el agente de Gemini CLI. Piensa en él como una guía para la IA. Puedes especificar:
Convenciones de programación: Define el estilo que prefieres, como usar camelCase para las variables o exigir comentarios JSDoc.
Stack tecnológico: Indícale al agente qué frameworks y bibliotecas usas (por ejemplo, React, Next.js y Express) para que no sugiera código incompatible.
Directrices de pruebas: Indícale al agente que siempre escriba pruebas unitarias con el framework de pruebas que prefieras (mi favorito es el ejecutor de pruebas integrado de Node.js) o que siga un patrón de pruebas específico.
Particularidades del proyecto: Incluye detalles sobre el esquema de tu base de datos, los endpoints de la API o cualquier otra información esencial para tu proyecto.
Este es un ejemplo de GEMINI.md:
# Coding conventions
- Use ESM modules in this project for modern Node.js conventions
- Use camelCase for functions
- Use `<name>.route.js` for route definitions
- Don't use semicolons
# Development guidelines
- Always add a relevant test case when fixing a bug, refactoring or creating a new feature
- Always add tests in `__tests__/` directory
- Always add fixtures in `__tests__/fixtures/` directory
- Always run `npm run lint` after you finished your tasks and fix any errors
- Always run `npm run test` after you finished your tasks and fix any errors
Gemini CLI lee este archivo automáticamente, lo que garantiza que todas sus sugerencias se basen en la realidad de tu proyecto y no solo en conocimientos generales. Es una forma sencilla, pero eficaz, de garantizar la coherencia y la calidad en todo tu código.
2. ¿Te preocupa que Gemini CLI agregue código inseguro o dependencias vulnerables? Agrega Snyk MCP Server
La otra cara de usar un agente de programación con IA es el riesgo de introducir vulnerabilidades de seguridad.
Un agente podría sugerir una dependencia obsoleta o insegura, o escribir código con una falla de seguridad. Este es un riesgo clásico para la seguridad de la cadena de suministro: una herramienta de confianza incorpora componentes peligrosos sin querer.
En un artículo anterior, mostré cómo Gemini Code Assist puede introducir código inseguro que los atacantes pueden aprovechar para atacarte. Aquí tienes un ejemplo real de un proyecto. ¿Puedes encontrar la vulnerabilidad?

Para mitigar este riesgo de seguridad, debes ampliar las capacidades de Gemini CLI agregando el servidor Snyk MCP.
Nota: Si no conoces el Protocolo de Contexto de Modelos (MCP), te recomiendo leer esta guía para principiantes que explica visualmente la arquitectura de MCP.
En pocas palabras, MCP es un estándar abierto que permite darles nuevas "herramientas" y funciones a los agentes de IA. Al integrar un servidor Snyk MCP, básicamente le das a tu agente de Gemini CLI la capacidad de ejecutar análisis de seguridad.
Puedes lograr una postura de seguridad segura desde el inicio configurando Snyk MCP Server en tu archivo .gemini/settings.json. Aquí tienes una configuración básica:
{
"mcpServers": {
"Snyk Security": {
"command": "npx",
"args": ["-y", "snyk@latest", "mcp", "-t", "stdio"],
"trust": true
}
}
}
Una vez configurado, puedes pedirle a Gemini CLI que busque vulnerabilidades. Por ejemplo, puedes pedirle que:
"Busque dependencias inseguras en mi archivo
package.json.""Analice el código nuevo que acabo de escribir para detectar posibles fallas de seguridad y sugiera una solución."
Esta integración permite que tu agente actúe como copiloto de seguridad, detecte vulnerabilidades antes de que lleguen a tu código y te ayude a corregirlas mediante un proceso automatizado basado en IA.
Recursos útiles para conocer más sobre MCP:
3. Búsqueda nativa de Google con Gemini CLI
Una de las grandes ventajas integradas de Gemini CLI es su capacidad para hacer búsquedas web con Google Search. Esto es fundamental para los flujos de trabajo agénticos, porque permite que el agente acceda a información que va más allá de sus datos de entrenamiento. Además, es de gran ayuda para tu flujo de trabajo de desarrollo. En lugar de alternar entre el navegador, la terminal y el IDE, puedes integrar este flujo de "buscar en la web" directamente en la terminal.
Con la herramienta nativa Google Search de Gemini CLI, el agente puede buscar errores, documentación de frameworks y otra información. Luego puede incorporar todo ese contexto a la tarea en cuestión.
No necesitas ninguna configuración especial: está habilitada de forma predeterminada. Cuando le das un prompt que requiere información actualizada o externa, el agente usa Google Search de manera inteligente para encontrar lo que necesita y garantizar que sus respuestas sean precisas y pertinentes.

4. Ayuda puntual desde la terminal con Gemini -p
A veces no necesitas una sesión agéntica completa para refactorizar todo un proyecto. Solo necesitas ayuda rápida con una tarea puntual en la terminal. Gemini CLI ofrece un modo no interactivo precisamente para eso.
Con el patrón gemini -p <prompt>, obtienes una respuesta única y enfocada sin iniciar una sesión persistente. Es ideal para tareas sencillas como:
Preguntar cómo usar correctamente
git rebaseen una situación compleja.Encontrar el comando
curlcorrecto para probar un endpoint de API.Generar rápidamente una expresión regular para un patrón específico.
Este comando ofrece lo mejor de ambos mundos: la capacidad de razonamiento de Gemini en tu terminal, con la rapidez y comodidad de un comando rápido que ejecutas y listo.

5. Comandos personalizados para Gemini CLI
¿Te cansaste de escribir el mismo prompt complejo cada vez que quieres que el agente revise código? Los comandos personalizados resuelven este problema, ya que te permiten crear tus propios comandos de barra para Gemini CLI.
Los comandos personalizados te permiten reemplazar un prompt manual de varias líneas por un comando sencillo y fácil de recordar, como /code:review. Esto ahorra muchísimo tiempo y ayuda a estandarizar tus flujos de trabajo.

Veamos, por ejemplo, cómo podrías configurar un comando personalizado para revisar código. Por lo general, definirías un nuevo archivo TOML en el directorio .gemini/commands , que incluiría un prompt predefinido y otros parámetros. Incluso puedes pasarles argumentos a estos comandos, lo que los hace muy flexibles. Por ejemplo, /code:review podría recibir como argumento la ruta de un archivo.
Aquí tienes un ejemplo de revisión de código tomado de las notas de lanzamiento de Gemini CLI de Google:
description="Reviews a pull request based on issue number."
prompt = """
Please provide a detailed pull request review on GitHub issue: {{args}}.
Follow these steps:
1. Use `gh pr view {{args}}` to pull the information of the PR.
2. Use `gh pr diff {{args}}` to view the diff of the PR.
3. Understand the intent of the PR using the PR description.
4. If PR description is not detailed enough to understand the intent of the PR,
make sure to note it in your review.
5. Make sure the PR title follows Conventional Commits, here are the last five
commits to the repo as examples: !{git log --pretty=format:"%s" -n 5}
6. Search the codebase if required.
7. Write a concise review of the PR, keeping in mind to encourage strong code
quality and best practices.
8. Use `gh pr comment {{args}} --body {{review}}` to post the review to the PR.
Remember to use the GitHub CLI (`gh`) with the Shell tool for all
GitHub-related tasks.
"""
Esta función te lleva más allá de los prompts sencillos y abre un nuevo mundo de automatización, donde puedes crear y compartir con tu equipo flujos de trabajo de desarrollo eficaces y repetibles.
Confiar en la IA significa proteger desde el inicio
Los agentes de programación con IA pueden multiplicar por 10 tu productividad, pero si no confías en la IA, siempre dudarás del código generado por los LLM, y con razón.
Snyk resuelve ese problema al permitirte proteger desde el inicio cualquier código generado por LLM mediante distintos flujos de trabajo, como Snyk MCP Server, la extensión Snyk Security para IDE, Snyk CLI y muchos otros puntos de integración para desarrolladores.
Snyk va más allá y te ayuda a proteger los servidores MCP (sí, los servidores MCP pueden tener vulnerabilidades).
Comienza a usar Snyk CLI
Instala Snyk CLI para encontrar y corregir vulnerabilidades en tus proyectos locales y pipelines.
npm install snyk -g