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 list
ygemini 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.