git-parsec — desde crear un worktree hasta hacer merge del PR con un solo ticket
(github.com/erishforG)Es una herramienta CLI que automatiza un flujo de trabajo de desarrollo en paralelo basado en Git worktree.
Problema que resuelve
Cuando trabajas en varios tickets al mismo tiempo sin cambiar de rama, git worktree es una muy buena opción.
Pero para usarlo en el trabajo diario, hay muchas tareas repetitivas:
- Crear el worktree y nombrar la rama → en una sola línea con
parsec start PROJ-123 - Hacer push, crear el PR y adjuntar el enlace del ticket → en una sola línea con
parsec ship PROJ-123 - Revisar CI, hacer merge y limpiar el worktree → en una sola línea con
parsec merge PROJ-123
Las tareas repetitivas de siempre se reducen a un solo comando por cada paso.
Flujo de trabajo principal
parsec start PROJ-123 # worktree + rama + integración con ticket de Jira
# ... programando ...
parsec ship PROJ-123 # push → creación de PR (incluye automáticamente título/enlace del ticket)
parsec ci PROJ-123 # muestra una tabla con el estado de CI
parsec merge PROJ-123 # espera CI → squash merge → limpieza automática del worktree
Funciones principales
Integración con trackers
- Jira / GitHub Issues — refleja automáticamente el título del ticket, transición de estado, vista de tablero, inbox
parsec ticket— consulta los detalles del ticket desde la terminalparsec board— revisa el tablero de sprint de Jira desde la CLI
Gestión de worktrees
- Integración con shell — cambio automático con
cdentre worktrees usandoparsec switch - Stacked PRs — construye cadenas de PR con la opción
--on, rebase en lote constack sync - Undo — recupera de una vez incluso worktrees limpiados por error
Automatización
- Release — generación automática de tag + merge + GitHub Release + changelog
- Modos de salida Human / JSON / Quiet — fácil integración con scripts de CI
- 27 subcomandos — start, list, status, ship, merge, ci, diff, sync, adopt, rename y más
Instalación
cargo install git-parsec
O también puedes descargar binarios para macOS / Linux desde GitHub Releases.
A quién le puede servir
- Quienes trabajan con varios tickets al mismo tiempo (desarrollo en paralelo basado en worktree)
- Quienes están cansados de las tareas repetitivas entre Jira y Git
- Quienes quieren reducir el costo del cambio de contexto en un monorepo
- Quienes quieren dar entornos de trabajo independientes a agentes de IA (como Claude Code)
Enlaces
- GitHub: https://github.com/erishforG/git-parsec
- Instalación:
cargo install git-parsec
Está hecho en Rust, es ligero y se puede aplicar de inmediato a repositorios git existentes.
¡Se agradecen comentarios o preguntas!
6 comentarios
Hace poco vi una entrada de blog técnico sobre worktrees en paralelo y me interesó, pero me dio pena no poder ver cómo estaba implementado; ¡con este proyecto open source sí que habría que explorarlo a fondo!
Abajo está la entrada de blog que vi.
https://medium.com/ajd-tech/…
¡Gracias! Incluso viéndolo por encima, el contenido que escribiste en el blog está realmente muy bien hecho.
Si se da la oportunidad, échale un vistazo y, si hay algo que no te convenza o que te gustaría mejorar, no dudes en abrir un issue o mandar un PR.
Creo que los
worktreeen paralelo siguen un enfoque de pasar de un work dirty a un clean nicely,y pienso que esta será la forma principal de desarrollo en el futuro.
Parece un muy buen repo.
Gracias :) Expresaste muy bien lo que yo tenía en mente.
Es llamativo el enfoque de forzar el trabajo en paralelo basado en
worktree.Yo también, cuando manejo varios tickets al mismo tiempo,
he estado trabajando con una combinación de
tmux+ varias branches para separar cada entorno de trabajo,pero al final siempre tuve el problema de que la gestión del estado terminaba enredándose.
Agrupar el lifecycle como
start/ship/merge, como hace parsec,parece que más bien podría ir en la dirección de reducir errores.
Tengo una duda:
cuando hay varios PR abiertos al mismo tiempo y cambia el orden de merge
o se da una situación en la que hace falta hacer rebase, ¿cómo funciona
stack syncen ese caso?¡Gracias por el interés!
stack syncrealiza el rebase en orden topológico según la relación padre-hijo.Cómo funciona