Objetivo del tema
Aprender cómo está organizado el proyecto de Gemini CLI, cómo configurar el entorno de desarrollo, ejecutar pruebas y entender la automatización usada en GitHub.
Si quieres contribuir al repositorio oficial o mantener un fork, esta guía resume los pasos recomendados por el equipo.
Gemini CLI es un monorepo de TypeScript administrado con npm. Los paquetes principales son:
Ruta | Contenido |
---|---|
packages/cli |
Interfaz de terminal (frontend). Maneja el REPL, comandos, prompts y UI. |
packages/core |
Servidor local (backend). Gestiona herramientas, memoria, telemetría, sandbox y comunicación con la API de Gemini. |
packages/tools |
Implementaciones compartidas de herramientas (filesystem, shell, web, etc.). |
packages/mcp |
Componentes relacionados con el Model Context Protocol. |
packages/companion |
Especificación y utilidades para plugins de IDE (companion spec). |
Consulta
package.json
en la raíz para ver scripts globales; cada paquete tiene su propiopackage.json
con scripts específicos.
git clone https://github.com/google-gemini/gemini-cli.git
cd gemini-cli
npm install
npm run build
npm run link
El script npm run link
suele registrar los paquetes localmente para poder ejecutar la versión en desarrollo con npm run start
(CLI) o npm run dev
según la configuración actual.
Si trabajas en extensiones o plugins, podrías necesitar
npm run package
en paquetes concretos para generar artefactos.
npm test
o los scripts definidos en cada paquete.eslint
y prettier
; busca en package.json
scripts como npm run lint
o npm run format
.packages/core
y packages/tools
para scripts específicos.npm run build
utiliza tsc
o esbuild
según el paquete para generar dist/
.Antes de enviar un PR, asegúrate de que el linter y las pruebas pasen localmente.
El repositorio usa varias GitHub Actions:
Add Gemini automation
configuró scripts para crear issues y PRs con prompts y etiquetado automático.-nightly
en npm y GitHub).Como contribuidor, solo necesitas abrir issues o PRs; la automatización se ocupa de etiquetar, comparar y publicar según corresponda.
CONTRIBUTING.md
para requisitos adicionales (CLA, revisores, etc.).Conclusión: contribuir a Gemini CLI implica dominar el monorepo, ejecutar scripts de build/test y conocer las automatizaciones que mantienen el proyecto. Con un entorno configurado y las pruebas al día, tus PRs se integrarán con facilidad en los releases oficiales.