UNPKG

@helicondev/zora-code

Version:

Privacy-focused AI CLI tool for developers. Fork of Qwen-Code with custom commands, configurable rules, and automatic ZORA.md generation for enhanced AI context and project understanding.

318 lines (223 loc) 11 kB
# Zora Code ![Captura de pantalla de Zora Code](https://i.ibb.co/4ZqNzkLB/zora.png) Zora Code es una herramienta de línea de comandos con IA que te ayuda a entender, editar y automatizar tareas en tu código. Está optimizada para modelos [Qwen3-Coder](https://github.com/QwenLM/Qwen3-Coder) y ofrece una experiencia mejorada para desarrolladores. ## Características principales - **Comprensión y edición de código** - Consulta y edita bases de código grandes más allá de los límites tradicionales de ventana de contexto - **Automatización de flujos de trabajo** - Automatiza tareas operativas como manejo de pull requests y rebases complejos - **Análisis de proyectos** - Analiza y documenta automáticamente la estructura del proyecto con el comando `/init` - **Reglas y comandos personalizados** - Define comportamientos de IA y atajos específicos para tu proyecto - **Seguridad y privacidad mejoradas** - Almacenamiento seguro de credenciales y telemetría completamente desactivada ## Capacidades avanzadas de Zora Code ### Herramientas de análisis y búsqueda - **Búsqueda inteligente** - Busca patrones, funciones, clases y variables en toda tu base de código - **Análisis de dependencias** - Identifica y mapea dependencias entre archivos y módulos - **Navegación de código** - Encuentra definiciones, usos y referencias de elementos del código - **Análisis estático** - Detecta patrones, anti-patrones y posibles mejoras ### Herramientas de desarrollo - **Ejecución de comandos** - Ejecuta scripts, tests, builds y comandos del sistema - **Gestión de archivos** - Crear, mover, copiar y organizar archivos y directorios - **Control de versiones** - Integración completa con Git para commits, branches, merges y más - **Debugging** - Asistencia en identificación y resolución de errores ### Generación y transformación de código - **Refactoring inteligente** - Reestructura código manteniendo funcionalidad - **Generación de tests** - Crea tests unitarios y de integración automáticamente - **Documentación automática** - Genera documentación de APIs, funciones y módulos - **Migración de código** - Convierte entre lenguajes, frameworks y versiones ### Automatización de tareas - **CI/CD** - Configuración y optimización de pipelines de integración continua - **Gestión de dependencias** - Actualización y mantenimiento de paquetes - **Optimización de rendimiento** - Análisis y mejoras de performance - **Configuración de herramientas** - Setup de linters, formatters y herramientas de desarrollo ## Instalación ### Requisitos previos Asegúrate de tener [Node.js versión 20](https://nodejs.org/en/download) o superior instalado. ### Instalación desde npm ```bash npm install -g @helicondev/zora-code zora --version ``` Luego ejecuta desde cualquier lugar: ```bash zora ``` ## Configuración Zora Code funciona con OpenRouter para acceder a modelos de IA. Sigue estos pasos para configurarlo: 1. **Crea una API Key en [OpenRouter](https://openrouter.ai)** 2. **Configura las variables de entorno necesarias:** ```bash export OPENAI_API_KEY="TU_API_KEY" export OPENAI_BASE_URL="https://openrouter.ai/api/v1" export OPENAI_MODEL="qwen/qwen3-coder" ``` Para configurar múltiples modelos y poder cambiar entre ellos durante la sesión: ```bash export OPENAI_MODEL="qwen/qwen3-coder,qwen/qwen3-235b-a22b" ``` Alternativamente, puedes configurar estas variables en un archivo `.env` en el directorio raíz de tu proyecto: ```env OPENAI_API_KEY=TU_API_KEY OPENAI_BASE_URL=https://openrouter.ai/api/v1 OPENAI_MODEL=qwen/qwen3-235b-a22b:free # Para múltiples modelos: OPENAI_MODEL=qwen/qwen3-235b-a22b:free,qwen/qwen3-coder:free,gpt-4,claude-3-sonnet ``` ### Cambio de modelo durante la sesión Una vez configurados múltiples modelos, puedes cambiar entre ellos usando el comando `/model`: ```bash # Ver modelos disponibles y cambiar interactivamente > /model # Cambiar directamente a un modelo específico > /model gpt-4 ``` ## Uso básico ### Inicialización de proyectos Para comenzar a usar Zora Code en tu proyecto, ejecuta el comando `/init`: ```sh cd tu-proyecto/ zora > /init ``` Este comando analiza automáticamente tu proyecto y genera un archivo `ZORA.md` con información sobre: - Lenguajes de programación y frameworks - Estructura del proyecto - Dependencias y sistemas de compilación - Estrategias de prueba - Información del repositorio Git ### Exploración y análisis de código Una vez inicializado, puedes hacer preguntas complejas sobre tu código: ```sh zora > Describe las partes principales de la arquitectura de este sistema > ¿Qué hace esta función y cómo se relaciona con el resto del código? > ¿Dónde se define esta variable y dónde se usa? > Encuentra todos los componentes que usan esta API > Analiza las dependencias de este módulo > Busca patrones de código duplicado en el proyecto ``` ### Edición y transformación de código Puedes pedirle a Zora Code que edite tu código de formas sofisticadas: ```sh zora > Refactoriza esta función para mejorar la legibilidad y performance > Añade comentarios explicativos y documentación JSDoc a este archivo > Convierte este código JavaScript a TypeScript con tipos estrictos > Migra este componente de clase a hook funcional de React > Optimiza esta consulta SQL para mejor rendimiento > Implementa manejo de errores robusto en esta función ``` ### Automatización y tareas avanzadas Zora Code puede automatizar tareas complejas de desarrollo: ```sh zora > Ejecuta los tests y arregla cualquier falla que encuentres > Configura un pipeline de CI/CD para este proyecto > Actualiza todas las dependencias y resuelve conflictos > Genera tests unitarios para toda la carpeta components/ > Crea documentación API completa para este backend > Optimiza el bundle size de esta aplicación React ``` ## Personalización Zora Code permite personalizar su comportamiento mediante reglas y comandos definidos en el directorio `.zora` de tu proyecto. ### Reglas personalizadas Las reglas son archivos markdown en `.zora/rules/` que definen estándares de codificación y comportamientos específicos para tu proyecto. Por ejemplo: ```markdown # Pautas de estilo de código Este proyecto sigue convenciones estrictas de estilo de código. ## Principios generales 1. Usa sangría consistente (2 espacios) 2. Usa camelCase para nombres de variables y funciones 3. Siempre usa const o let en lugar de var ``` ### Comandos personalizados Los comandos son archivos markdown en `.zora/commands/` que crean atajos para tareas comunes. Por ejemplo: ```markdown # Revisión de código Realiza una revisión de código exhaustiva. ## Uso /review [ruta_al_archivo] ## Plantilla Por favor revisa el siguiente código en busca de: 1. Mejores prácticas 2. Posibles errores 3. Oportunidades de optimización {{input}} ``` Para usar estos comandos: ```sh # Configura reglas y comandos personalizados mkdir -p .zora/rules .zora/commands # Usa comandos personalizados zora > /review src/components/Button.tsx ``` ## Comandos especiales disponibles Zora Code incluye comandos especiales que puedes usar con la sintaxis `/comando`: ### Comandos de análisis - `/init` - Analiza e inicializa un proyecto, creando documentación automática - `/search [término]` - Búsqueda avanzada en toda la base de código - `/analyze` - Análisis profundo de la arquitectura del proyecto ### Comandos de desarrollo - `/auto-commit` - Commit automático con IA - `/add-rules` - Descarga reglas personalizadas desde repositorios GitHub - `/add-commands` - Descarga comandos personalizados desde repositorios GitHub - `/test` - Ejecuta y analiza tests del proyecto - `/build` - Ejecuta el proceso de build y resuelve errores ### Comandos de gestión - `/install [paquete]` - Instala y configura dependencias - `/update` - Actualiza dependencias y resuelve conflictos - `/deploy` - Asistencia en procesos de despliegue ## Funciones avanzadas ### Commit automático con IA El comando `/auto-commit` automatiza el proceso de versionado y commit: ```text > /auto-commit # Flujo completo (análisis + versionado + changelog + commit) > /auto-commit --dry-run # Vista previa sin ejecutar cambios ``` Este comando: 1. Analiza los cambios en el área de staging 2. Genera un mensaje de commit apropiado 3. Para proyectos con `package.json`, también actualiza la versión y el changelog ### Instalación de reglas personalizadas El comando `/add-rules` permite descargar reglas desde repositorios GitHub: ```text > /add-rules usuario/repositorio # Descarga reglas desde GitHub > /add-rules usuario/repo/path # Descarga desde subdirectorio específico ``` ### Instalación de comandos personalizados El comando `/add-commands` permite descargar comandos personalizados desde repositorios GitHub: ```text > /add-commands usuario/repositorio # Descarga comandos desde GitHub > /add-commands usuario/repo/commands # Descarga desde subdirectorio específico > /add-commands preview usuario/repo # Vista previa antes de instalar > /add-commands install usuario/repo # Instala directamente sin previsualización ``` Los comandos personalizados se instalan en `.zora/commands/` y estarán disponibles como comandos `/nombre-comando` en tu próxima sesión. ### Automatización de tareas Zora Code puede ayudarte a automatizar tareas comunes: ```text > Convierte todas las imágenes en este directorio a formato PNG > Analiza los commits de Git de los últimos 7 días > Genera documentación para esta API ``` ### Seguridad y privacidad Zora Code prioriza la seguridad y privacidad con varias características incorporadas: 1. **Almacenamiento seguro de credenciales**: Las claves API y credenciales sensibles se almacenan en un almacén seguro en memoria 2. **Aislamiento de archivos**: El acceso a archivos se restringe al directorio del proyecto 3. **Telemetría desactivada**: Toda la telemetría está completamente desactivada por defecto 4. **Saneamiento del entorno**: Los entornos se sanean para prevenir la exposición de variables sensibles Estas características aseguran que tu código y datos permanezcan seguros mientras usas Zora Code. ## Actualizaciones Zora Code verifica automáticamente si hay nuevas versiones disponibles. Cuando haya una actualización, verás una notificación con instrucciones para actualizar. Para actualizar manualmente: ```bash # Verificar versión actual zora --version # Actualizar a la última versión npm install -g @helicondev/zora-code@latest # Verificar que la actualización fue exitosa zora --version ``` ## Reconocimientos Este proyecto está basado en [Google Gemini CLI](https://github.com/google-gemini/gemini-cli). Reconocemos y apreciamos el excelente trabajo del equipo de Gemini CLI. Nuestra principal contribución se centra en adaptaciones a nivel de analizador para soportar mejor los modelos Qwen-Coder. ## Licencia [LICENCIA](./LICENSE)