ygd-editor

Dale a cada tarea su propia rama y su propio agente de IA, y tenlos todos a la vista.

ygd-editor abre cada tarea en su propio worktree de git, ejecuta dentro un agente de programación (Claude Code, Codex, Gemini CLI y cinco más) y te deja revisar los cambios, hacer commit, push y abrir el pull request sin salir de la ventana. Gratis, para macOS, Windows y Linux.

La consola: worktrees a la izquierda, cambios y diff en el centro, la sesión del agente a la derecha.
La consola: worktrees a la izquierda, cambios y diff en el centro, la sesión del agente a la derecha.

Qué te llevas

Un worktree por tarea

Cada rama tiene su propia carpeta: los agentes nunca se pisan y cambias de tarea sin guardar nada a medias.

Agentes donde está el código

Arranca Claude Code, Codex, Gemini CLI, Cursor, OpenCode u otro agente dentro de un worktree, mira cómo trabaja, responde a sus preguntas y pasa la sesión a otro agente o a otro worktree si cambian los planes.

Revisa y publica sin moverte

Prepara archivos, lee el diff, pide al agente que explique o cambie una selección, haz commit, push y abre el pull request desde la misma pantalla.

Todos tus agentes en un tablero

El Centro de control muestra todas las sesiones de un vistazo, un tablero de tareas da trabajo nuevo a los agentes a medida que quedan huecos libres, y la barra de menús —o tu móvil— te avisa cuando uno te espera.

Pruébalo de varias formas

Lanza una tarea con dos a cuatro agentes o modelos a la vez, cada uno en su worktree, compara lo que hizo cada uno y quédate con el mejor.

Deshaz un turno, no el día

Cada turno del agente muestra lo que cambió y se puede deshacer por separado: tus ediciones y los demás turnos se quedan.

Instalación en un minuto

Tu ordenador te avisará la primera vez. Es lo esperado: nadie ha pagado a Apple ni a Microsoft por un certificado, y el aviso habla de ese papeleo, no de lo que hace la aplicación. Así se pasa, una sola vez.

macOS — Sin el aviso: instálala desde Terminal

Pega esto en Terminal (Aplicaciones › Utilidades). Descarga la última versión para tu Mac, comprueba que sus checksums llevan la firma del proyecto, que la descarga coincide con ellos y que la aplicación está firmada con el certificado del proyecto, y la deja en Aplicaciones. Si falla cualquier comprobación, no instala nada. macOS no pregunta nada, porque nada ha pasado por un navegador. Vuelve a ejecutarlo cuando quieras para reinstalar.

curl -fsSL https://mhguitarte.github.io/ygd-editor/install.sh | bash

macOS

O, con la imagen de disco del botón de arriba:

  1. Abre el .dmg descargado. Una ventana muestra estos pasos en tu idioma —pulsa Continuar— y después arrastra ygd-editor a Aplicaciones.
  2. Ábrela. macOS dice que no ha podido verificar la aplicación y ofrece Trasladar a la Papelera o Aceptar: pulsa Aceptar.
  3. Abre Ajustes del Sistema › Privacidad y seguridad, baja hasta Seguridad y pulsa Abrir de todos modos junto a ygd-editor. Confirma con tu contraseña. Ya está: macOS no volverá a preguntar.
  4. En macOS 14 o anterior, clic derecho en la aplicación › Abrir hace lo mismo en un paso.
  5. ¿No sabes qué Mac tienes? Menú Apple › Acerca de este Mac: «Apple M…» es Apple Silicon; si dice «Intel», es Intel.

Windows

  1. Ejecuta el instalador. Cuando SmartScreen diga «Windows protegió su PC», pulsa Más información y después Ejecutar de todas formas.
  2. El editor que aparece es ygd-editor release signing: somos nosotros. Elige la carpeta si quieres y termina.
  3. La aplicación aparece en el menú Inicio como ygd-editor.

Linux

  1. AppImage: hazlo ejecutable (chmod +x ygd-editor-*.AppImage) y ejecútalo. Si se queja de FUSE, lánzalo con --appimage-extract-and-run.
  2. Debian / Ubuntu: sudo apt install ./ygd-editor-*.deb y búscalo en el menú de aplicaciones.

Qué necesitas

Git en tu ordenador y una cuenta en al menos un proveedor. Codex y Gemini CLI no van dentro del instalador —por eso ocupa poco—: la aplicación descarga el que elijas la primera vez que lo pidas (unos 130–150 MB para Codex, 20 MB para Gemini CLI) y lo comprueba contra la versión con la que se hizo esta release antes de ejecutarlo; para Claude Code, cuya licencia no permite incluirlo, Ajustes › Proveedores de IA ofrece un clic que ejecuta por ti el instalador oficial de Anthropic, y lo mismo hace con Antigravity, Cursor CLI, OpenCode, Qwen Code y GitHub Copilot CLI con el instalador de cada fabricante. Conectar un proveedor abre su página de inicio de sesión en tu navegador. Para los pull requests, gh de GitHub o glab de GitLab. La aplicación funciona en Windows 10 u 11 de 64 bits y en Linux x86-64 con glibc 2.34 o posterior (Ubuntu 22.04, Debian 12, Fedora 35 y posteriores).

Las actualizaciones se cuidan solas

Poco después de arrancar, y cada seis horas mientras sigue abierta, la aplicación busca una versión nueva y te avisa cuando la hay. Un clic la descarga, y tú eliges cuándo se instala: reiniciando ahora o la próxima vez que salgas. Una actualización solo se instala si las sumas de comprobación de la versión llevan la firma del proyecto; cualquier otra se rechaza. Ajustes › Acerca de y actualizaciones tiene un botón «Buscar actualizaciones» y puede descargar las versiones nuevas por sí sola. Tras actualizar, «Novedades» muestra qué ha cambiado sin salir de la aplicación. Para probar las versiones nuevas antes que nadie, cambia el canal de actualizaciones a Beta.

¿Primera vez?

La guía de uso recorre los primeros diez minutos: abrir un repositorio, crear un worktree, arrancar un agente, revisar y publicar el resultado.

¿Mi descarga es auténtica?

Dos comprobaciones independientes, y ninguna se basa en confiar en un nombre. No hace falta hacerlas; están aquí para quien quiera.

¿Mi descarga es auténtica? — los detalles técnicos

Checksums firmados. Cada versión desde la 0.17.2 incluye SHA256SUMS.txt y su firma, SHA256SUMS.txt.sig, hecha con la clave del proyecto: la que hay detrás de su certificado, release-signing.pem. Pon los dos junto a tu descarga y compara primero la huella del certificado con esta: es el paso que demuestra todo lo demás, porque quien pudiera sustituir un instalador podría sustituir también el certificado que tiene al lado. La firma avala entonces los checksums, y los checksums cada archivo. Solo hace falta openssl (macOS y Linux lo traen; en Windows, usa Git Bash). Debe salir Verified OK y después OK para tu archivo:

SHA-256 46:C5:62:27:2A:5C:22:9E:D7:85:E1:A3:0D:47:2A:A3:5B:CE:AC:F0:7D:E4:D8:A3:49:23:C9:7B:D3:74:C3:AB
curl -fsSLO https://mhguitarte.github.io/ygd-editor/release-signing.pem
openssl x509 -in release-signing.pem -noout -fingerprint -sha256   # 46:C5:62:…:74:C3:AB
openssl x509 -in release-signing.pem -pubkey -noout > release-signing.pub
openssl dgst -sha256 -verify release-signing.pub -signature SHA256SUMS.txt.sig SHA256SUMS.txt   # Verified OK
sha256sum --check --ignore-missing SHA256SUMS.txt   # macOS: shasum -a 256 -c --ignore-missing SHA256SUMS.txt

Versiones anteriores. De la 0.6.0 a la 0.17.1 incluyen un SHA256SUMS.txt sin firmar, y lo que las avala es la firma de código de abajo. De la 0.1.0 a la 0.4.0 las compiló el flujo de publicación del proyecto en GitHub y traen en su lugar su firma de Sigstore, SHA256SUMS.txt.sigstore.json. Con cosign instalado:

cosign verify-blob --bundle SHA256SUMS.txt.sigstore.json \
  --certificate-identity-regexp '^https://github.com/MHGuitarte/ygd-editor(-app)?/\.github/workflows/release\.yml@refs/tags/v' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com SHA256SUMS.txt
sha256sum --check --ignore-missing SHA256SUMS.txt   # macOS: shasum -a 256 -c --ignore-missing SHA256SUMS.txt

Firma de código. La aplicación de macOS y el instalador de Windows están firmados con el certificado del proyecto (clave pública). Compara la huella, no el nombre: cualquiera puede llamar a un certificado como quiera.

SHA-1 (macOS codesign · Windows thumbprint) 79A40643BDFE500AB6730154B03B336C1809C57C
# macOS
codesign --verify --deep --strict /Applications/ygd-editor.app && codesign -dvv /Applications/ygd-editor.app 2>&1 | grep Authority
# Windows (PowerShell)
(Get-AuthenticodeSignature .\ygd-editor-*-setup.exe).SignerCertificate.Thumbprint