# Codeg [![Release](https://img.shields.io/github/v/release/xintaofei/codeg)](https://github.com/xintaofei/codeg/releases) [![License](https://img.shields.io/github/license/xintaofei/codeg)](../../LICENSE) [![Tauri](https://img.shields.io/badge/Tauri-2.x-24C8DB)](https://tauri.app/) [![Next.js](https://img.shields.io/badge/Next.js-16-black)](https://nextjs.org/) [![Docker](https://img.shields.io/badge/Docker-ready-2496ED)](../../Dockerfile)

English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Español | Deutsch | Français | Português | العربية

Codeg (Code Generation) es un espacio de trabajo empresarial para codificación con múltiples agentes. Integra agentes locales de codificación con IA (Claude Code, Codex CLI, OpenCode, Gemini CLI, OpenClaw, Cline, etc.) en una aplicación de escritorio y un servicio web — permitiendo el desarrollo remoto desde cualquier navegador — con agregación de sesiones, desarrollo paralelo con `git worktree`, gestión de MCP/Skills y flujos integrados de Git/archivos/terminal. ## Interfaz principal ![Codeg Light](../images/main-light.png#gh-light-mode-only) ![Codeg Dark](../images/main-dark.png#gh-dark-mode-only) ## Vista de mosaico de sesiones ![Codeg Light](../images/main2-light.png#gh-light-mode-only) ![Codeg Dark](../images/main2-dark.png#gh-dark-mode-only) ## Configuración | Agentes | MCP | Skills | Control de versiones | Servicio web | | :---: | :---: | :---: | :---: | :---: | | ![Agents](../images/1-light.png#gh-light-mode-only) ![Agents](../images/1-dark.png#gh-dark-mode-only) | ![MCP](../images/2-light.png#gh-light-mode-only) ![MCP](../images/2-dark.png#gh-dark-mode-only) | ![Skills](../images/3-light.png#gh-light-mode-only) ![Skills](../images/3-dark.png#gh-dark-mode-only) | ![Version Control](../images/4-light.png#gh-light-mode-only) ![Version Control](../images/4-dark.png#gh-dark-mode-only) | ![Web Service](../images/5-light.png#gh-light-mode-only) ![Web Service](../images/5-dark.png#gh-dark-mode-only) | ## Puntos destacados - Espacio de trabajo unificado para múltiples agentes en el mismo proyecto - Ingesta local de sesiones con renderizado estructurado - Desarrollo paralelo con flujos integrados de `git worktree` - **Inicio de Proyecto** — crea nuevos proyectos visualmente con vista previa en tiempo real - Gestión de MCP (escaneo local + búsqueda/instalación desde registro) - Gestión de Skills (ámbito global y por proyecto) - Gestión de cuentas remotas de Git (GitHub y otros servidores Git) - Modo de servicio web — accede a Codeg desde cualquier navegador para trabajo remoto - Despliegue como servidor independiente — ejecuta codeg-server en cualquier servidor Linux/macOS, accede desde el navegador - Soporte de Docker — despliega con docker compose up para una configuración sin esfuerzo - Ciclo de ingeniería integrado (árbol de archivos, diff, cambios git, commit, terminal) ## Inicio de Proyecto Crea nuevos proyectos visualmente con una interfaz de panel dividido: configura a la izquierda, vista previa en tiempo real a la derecha. ![Project Boot Light](../images/project-boot-light.png#gh-light-mode-only) ![Project Boot Dark](../images/project-boot-dark.png#gh-dark-mode-only) ### Qué ofrece - **Configuración visual** — selecciona estilo, tema de color, biblioteca de iconos, fuente, radio de borde y más desde menús desplegables; la vista previa se actualiza instantáneamente - **Vista previa en vivo** — visualiza el aspecto elegido renderizado en tiempo real antes de crear nada - **Creación con un clic** — presiona "Crear proyecto" y el launcher ejecuta `shadcn init` con tu preset, plantilla de framework (Next.js / Vite / React Router / Astro / Laravel) y gestor de paquetes (pnpm / npm / yarn / bun) - **Detección de gestores de paquetes** — verifica automáticamente qué gestores están instalados y muestra sus versiones - **Integración fluida** — el proyecto recién creado se abre directamente en el workspace de Codeg Actualmente soporta scaffolding de proyectos **shadcn/ui**, con un diseño basado en pestañas preparado para más tipos de proyectos en el futuro. ## Alcance soportado ### 1) Ingesta de sesiones (sesiones históricas) | Agente | Ruta de variable de entorno | Ruta por defecto en macOS / Linux | Ruta por defecto en Windows | | --- | --- | --- | --- | | Claude Code | `$CLAUDE_CONFIG_DIR/projects` | `~/.claude/projects` | `%USERPROFILE%\\.claude\\projects` | | Codex CLI | `$CODEX_HOME/sessions` | `~/.codex/sessions` | `%USERPROFILE%\\.codex\\sessions` | | OpenCode | `$XDG_DATA_HOME/opencode/opencode.db` | `~/.local/share/opencode/opencode.db` | `%USERPROFILE%\\.local\\share\\opencode\\opencode.db` | | Gemini CLI | `$GEMINI_CLI_HOME/.gemini` | `~/.gemini` | `%USERPROFILE%\\.gemini` | | OpenClaw | — | `~/.openclaw/agents` | `%USERPROFILE%\\.openclaw\\agents` | | Cline | `$CLINE_DIR` | `~/.cline/data/tasks` | `%USERPROFILE%\\.cline\\data\\tasks` | > Nota: las variables de entorno tienen prioridad sobre las rutas de respaldo. ### 2) Sesiones en tiempo real con ACP Actualmente soporta 6 agentes: Claude Code, Codex CLI, Gemini CLI, OpenCode, OpenClaw y Cline. ### 3) Configuración de Skills - Soportados: `Claude Code / Codex / OpenCode / Gemini CLI / OpenClaw / Cline` - Se añadirán más adaptadores progresivamente ### 4) Aplicaciones destino de MCP Destinos de escritura actuales: - Claude Code - Codex - OpenCode ## Inicio rápido ### Requisitos - Node.js `>=22` (recomendado) - pnpm `>=10` - Rust stable (2021 edition) - Dependencias de compilación de Tauri 2 (solo modo escritorio) Ejemplo para Linux (Debian/Ubuntu): ```bash sudo apt-get update sudo apt-get install -y \ libwebkit2gtk-4.1-dev \ libayatana-appindicator3-dev \ librsvg2-dev \ patchelf ``` ### Desarrollo ```bash pnpm install # Exportación estática del frontend a out/ pnpm build # Aplicación de escritorio completa (Tauri + Next.js) pnpm tauri dev # Solo frontend pnpm dev # Compilación de escritorio pnpm tauri build # Servidor independiente (sin Tauri/GUI necesario) pnpm server:dev # Compilar binario de servidor para producción pnpm server:build # Lint pnpm eslint . # Verificaciones de Rust (ejecutar en src-tauri/) cargo check cargo clippy cargo build ``` ## Despliegue del servidor Codeg puede ejecutarse como un servidor web independiente sin dependencias de Tauri ni GUI. ### Opción 1: Binario directo ```bash pnpm server:build ./target/release/codeg-server ``` | Variable | Valor por defecto | Descripción | | --- | --- | --- | | CODEG_PORT | 3080 | Puerto HTTP | | CODEG_HOST | 0.0.0.0 | Dirección de enlace | | CODEG_TOKEN | (aleatorio) | Token de autenticación | | CODEG_DATA_DIR | ~/.local/share/codeg | Directorio de base de datos SQLite | | CODEG_STATIC_DIR | ./web o ./out | Directorio de exportación estática de Next.js | ### Opción 2: Docker ```bash docker compose up ``` ## Arquitectura ```text Next.js 16 (Static Export) + React 19 | | invoke() (desktop) / fetch() + WebSocket (web) v ┌─────────────────────────┐ │ Transport Abstraction │ │ (Tauri IPC or HTTP/WS) │ └─────────────────────────┘ | v ┌─── Tauri Desktop ───┐ ┌─── codeg-server ───┐ │ Tauri 2 Commands │ │ Axum HTTP + WS │ │ (window management) │ │ (standalone mode) │ └──────────┬───────────┘ └──────────┬──────────┘ └──────────┬───────────────┘ v Shared Rust Core |- AppState |- ACP Manager |- Parsers (session ingestion) |- Git / File Tree / Terminal |- MCP marketplace + config |- SeaORM + SQLite | v Local Filesystem / Git Repos ``` ## Restricciones - El frontend usa exportación estática (`output: "export"`) - Sin rutas dinámicas de Next.js (`[param]`); se usan parámetros de consulta en su lugar - Parámetros de comandos Tauri: `camelCase` en frontend, `snake_case` en Rust - TypeScript en modo estricto ## Privacidad y seguridad - Enfoque local por defecto para análisis, almacenamiento y operaciones de proyecto - El acceso a la red solo ocurre mediante acciones iniciadas por el usuario - Soporte de proxy del sistema para entornos empresariales - El modo de servicio web utiliza autenticación basada en tokens ## Licencia Apache-2.0. Ver `LICENSE`.