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/cliInterfaz 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/coreFuncionalidad 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/toolsHerramientas 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/extensionsSistema 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 bootstrapInstalar y enlazar todos los paquetes
npm run buildConstruir todos los paquetes
npm run testEjecutar todas las pruebas
npm run lintLintear todos los paquetes
Comandos Específicos de Paquete
lerna run build --scope @gemini/cliConstruir paquete específico
lerna run test --scope @gemini/coreProbar paquete específico
lerna add lodash packages/coreAgregar dependencia al paquete
Recursos Relacionados
Continúe explorando la documentación de desarrollo