Construcción y Pruebas
Guía completa para construir, probar y depurar Gemini CLI
Proceso de Construcción
Entender el sistema de construcción y el flujo de trabajo de desarrollo
npm run bootstrap
Instalar dependencias y enlazar paquetes
Usage:
Configuración inicial y después de agregar nuevas dependencias
npm run build
Construir todos los paquetes en orden de dependencias
Usage:
Antes de probar o publicar
npm run build:watch
Construir paquetes en modo vigilancia
Usage:
Durante el desarrollo activo
npm run clean
Limpiar artefactos de construcción y node_modules
Usage:
Al encontrar problemas de construcción
Marco de Pruebas
Pruebas integrales con Jest y TypeScript
npm run test
Ejecutar todas las pruebas en todos los paquetes
Usage:
Ejecución completa de la suite de pruebas
npm run test:watch
Ejecutar pruebas en modo vigilancia
Usage:
Durante el desarrollo
npm run test:coverage
Generar informes de cobertura de pruebas
Usage:
Aseguramiento de calidad y CI/CD
lerna run test --scope @gemini/core
Ejecutar pruebas para paquete específico
Usage:
Pruebas enfocadas
Flujo de Trabajo de Desarrollo
Flujo de trabajo de desarrollo y pruebas recomendado
Configuración Inicial
Configurar el entorno de desarrollo e instalar dependencias
git clone https://github.com/google-gemini/gemini-cli.git && cd gemini-cli && npm run bootstrap
Modo Desarrollo
Iniciar modo vigilancia para reconstrucción automática
npm run build:watch
Pruebas
Ejecutar pruebas continuamente durante el desarrollo
npm run test:watch
Verificación de Calidad
Ejecutar verificaciones de código, formateo y verificación de tipos antes del commit
npm run lint && npm run type-check && npm run test:coverage
Depuración
Herramientas y técnicas para depurar problemas
Modo Depuración
Habilitar registro de depuración para salida detallada
DEBUG=gemini:* gemini ask "Hola"
Esto mostrará registros detallados para todas las operaciones de Gemini CLI
Depuración VS Code
Usar la configuración de lanzamiento de VS Code proporcionada
.vscode/launch.json
Establecer puntos de interrupción y depurar directamente en VS Code
Depuración de Pruebas
Depurar pruebas específicas
npm run test -- --testNamePattern="API Client"
Ejecutar y depurar casos de prueba específicos
Perfilado de Rendimiento
Perfilar problemas de rendimiento
node --prof packages/cli/bin/gemini
Generar perfiles de rendimiento para análisis
Integración Continua
Pruebas automatizadas y aseguramiento de calidad
Construcción
Compilar TypeScript y construir todos los paquetes
Pruebas
Ejecutar pruebas unitarias y generar informes de cobertura
Despliegue
Publicar paquetes y desplegar documentación
Problemas Comunes
Soluciones a problemas comunes de construcción y pruebas
Fallos de Construcción
Si las construcciones fallan después de obtener cambios, intenta limpiar y reinstalar
npm run clean && npm run bootstrap && npm run build
Fallos de Pruebas
Para fallos intermitentes de pruebas, ejecuta pruebas con tiempo de espera aumentado
npm run test -- --testTimeout=10000
Problemas de Memoria
Si encuentras errores de memoria insuficiente durante las construcciones
NODE_OPTIONS="--max-old-space-size=4096" npm run build
Próximos Pasos
Continúa tu viaje de desarrollo con estos recursos