Estructura del Proyecto
Comprensión de la organización de la base de código y la arquitectura de Gemini CLI
Resumen del Proyecto
Gemini CLI está organizado como un monorepo con múltiples paquetes interconectados
Gemini CLI es un proyecto monorepo basado en Lerna que modulariza la funcionalidad en paquetes independientes para facilitar el desarrollo, las pruebas y el mantenimiento.
Estructura de Paquetes
Paquetes principales que conforman el ecosistema Gemini CLI
Paquete CLI
packages/cli
Interfaz de línea de comandos principal y comandos orientados al usuario
Responsabilidades Clave:
- Análisis y enrutamiento de comandos
- Interfaz de usuario e interacción
- Gestión de configuración
- Manejo y reporte de errores
- Visualización de ayuda y documentación
Paquete Core
packages/core
Funcionalidad principal y lógica de negocio
Responsabilidades Clave:
- Implementaciones de cliente API
- Interacciones de modelo
- Sistema de gestión de herramientas
- Manejo del protocolo MCP
- Gestión de estado
Paquete de Herramientas
packages/tools
Herramientas integradas y utilidades
Responsabilidades Clave:
- Operaciones del sistema de archivos
- Ejecución de comandos shell
- Solicitudes web y búsquedas
- Gestión de memoria
- Registro de herramientas
Paquete de Extensiones
packages/extensions
Sistema de extensiones y gestión de plugins
Responsabilidades Clave:
- Carga y gestión de extensiones
- Registro de plugins
- API de extensión
- Gestión del ciclo de vida
- Resolución de dependencias
Flujo de Trabajo de Desarrollo
Cómo trabajar eficazmente con la base de código
Comandos Globales
npm run bootstrap
Instalar y enlazar todos los paquetes
npm run build
Construir todos los paquetes
npm run test
Ejecutar todas las pruebas
npm run lint
Lintear todos los paquetes
Comandos Específicos de Paquete
lerna run build --scope @gemini/cli
Construir paquete específico
lerna run test --scope @gemini/core
Probar paquete específico
lerna add lodash packages/core
Agregar dependencia al paquete
Recursos Relacionados
Continúe explorando la documentación de desarrollo