Objetivo del tema
Comprender qué son las extensiones de Gemini CLI, cómo se construyen, cómo se publican y qué ecosistema existe para compartirlas.
Las extensiones permiten sumar herramientas, comandos y contexto persistente sin modificar el núcleo del CLI, apoyándose en el Model Context Protocol (MCP) y en manifestos JSON que describen la funcionalidad expuesta.
Una extensión empaqueta recursos adicionales para el CLI:
| Componente | Descripción |
|---|---|
gemini-extension.json |
Manifesto de la extensión: define nombre, metadatos, herramientas extras, comandos y memorias asociadas. |
| Servidor MCP | Proceso opcional que expone métodos y recursos adicionales (APIs, bases de datos, servicios propios). |
| Comandos personalizados | Atajos (/) que se registran junto con los demás comandos del CLI. |
| Contextos | Archivos GEMINI.md o memorias que se cargan automáticamente cuando la extensión está activa. |
Las extensiones pueden instalarse localmente (carpeta en
~/.gemini/extensions) o descargarse desde repositorios/remotos (GitHub Releases u otros).
La documentación oficial sugiere estos pasos:
git clone https://github.com/google-gemini/gemini-cli-extension-template.git mi-extension
cd mi-extension
npm install
npm run build
gemini-extension.json para describir la extensión (nombre, versión, comandos, servidor MCP, memorias).tools.discoveryCommand si usas scripts directos.GEMINI.md para proporcionar guías o instructivos que el CLI cargará cada vez.npm run build
npm link
Luego reinicia el CLI para que detecte la extensión.gemini extension install <URL> si la publicaste en un repositorio.Utiliza
gemini extension listygemini extension info <nombre>para verificar que la extensión se cargó correctamente y conocer los comandos disponibles.
Hay dos alternativas principales:
gemini extension install <URL>.La guía oficial recomienda:
npm run package para generar paquetes por plataforma si tu extensión incluye ejecutables.CHANGELOG.md y etiquetas semánticas (v1.0.0, v1.1.0...).Recuerda documentar claramente los requisitos (versiones de Node.js, dependencias, variables de entorno) para evitar errores en instalaciones remotas.
Gemini CLI mantiene la prioridad de los comandos según el origen:
Si hay conflicto, el CLI renombra los comandos de la extensión con el prefijo alias.command (por ejemplo, /gcp.deploy).
Conclusión: las extensiones son el camino para adaptar Gemini CLI a necesidades específicas y compartir funcionalidades con la comunidad. Con un manifiesto claro, herramientas MCP bien diseñadas y una distribución cuidada, puedes transformar el CLI en una plataforma colaborativa centrada en tu ecosistema.