Una CLI para macOS que guarda y restaura espacios de trabajo de cmux y Ghostty, incluidos diseños, directorios de trabajo y sesiones de programación con IA.
joshmedeski/sesh
Una CLI en Go para crear y cambiar rápidamente entre sesiones de tmux, yendo a proyectos por medio de zoxide, repositorios git y archivos de configuración.
- Estrellas
- 2,922
- Forks
- 139
- Issues abiertos
- 52
- Último commit
- hace 20 horas
¿Qué es?
Sesh es una herramienta de línea de comandos para gestionar sesiones de tmux. Asigna automáticamente a las sesiones nuevas el nombre de un repositorio git, un remoto git o un directorio, y permite ir a proyectos usados con frecuencia que registra zoxide. Al ejecutar `sesh connect`, crea la sesión si aún no existe y luego se conecta a ella.
La configuración de las sesiones puede definirse para cada proyecto en un archivo `sesh.toml`. Cada entrada permite configurar comandos de inicio, ventanas y comandos de vista previa; además, los patrones comodín pueden aplicar los mismos ajustes a todos los directorios que coincidan. Sesh también incluye un selector interactivo integrado y se puede controlar desde fzf, television o gum.
Otros comandos permiten clonar un repositorio git y conectarse a él, crear un directorio y conectarse, cambiar entre las dos sesiones más recientes e ir a la raíz de un worktree o repositorio git. Incluye completado de comandos para Bash, Zsh, Fish y PowerShell.
Funciones clave
- 01Asigna automáticamente nombres a las sesiones a partir de un repositorio git, un remoto o un directorio.
- 02Permite ir a directorios usados con frecuencia mediante la integración con zoxide.
- 03Define comandos de inicio y ventanas para cada proyecto en `sesh.toml`, con patrones comodín.
- 04Incluye un selector integrado o integración con fzf, television y gum.
- 05Permite cambiar entre las dos sesiones más recientes e ir a las raíces de worktrees de git.
Casos de uso
- Cambiar entre varios repositorios de proyectos, cada uno en su propia sesión de tmux.
- Asignar un selector emergente a una tecla de tmux para elegir sesiones rápidamente.
- Iniciar un proyecto siempre con ventanas y comandos predefinidos.
- Clonar un repositorio o crear un directorio y abrirlo en tmux en un solo paso.
Inicio rápido
- 1
Instala sesh con Homebrew
brew install sesh - 2
Asegúrate de configurar tmux y zoxide primero
- 3
Conéctate a una sesión o crea una
sesh connect {session}
Antes de usarlo
- Es necesario instalar y configurar tmux y zoxide primero.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es sesh?
- Una CLI en Go para crear y cambiar rápidamente entre sesiones de tmux, yendo a proyectos por medio de zoxide, repositorios git y archivos de configuración. Sesh es una herramienta de línea de comandos para gestionar sesiones de tmux. Asigna automáticamente a las sesiones nuevas el nombre de un repositorio git, un remoto git o un directorio, y permite ir a proyectos usados con frecuencia que registra zoxide. Al ejecutar `sesh connect`, crea la sesión si aún no existe y luego se conecta a ella.
- ¿sesh es gratuito? ¿Qué licencia tiene?
- sesh es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿sesh sigue mantenido?
- Mantenimiento activo. El último commit de sesh fue el 5 nov 2026.
- ¿Para qué puedo usar sesh?
- Cambiar entre varios repositorios de proyectos, cada uno en su propia sesión de tmux. Asignar un selector emergente a una tecla de tmux para elegir sesiones rápidamente. Iniciar un proyecto siempre con ventanas y comandos predefinidos. Clonar un repositorio o crear un directorio y abrirlo en tmux en un solo paso.
- ¿Cómo se instala sesh?
- Instala sesh con Homebrew: brew install sesh Asegúrate de configurar tmux y zoxide primero Conéctate a una sesión o crea una: sesh connect {session}
- ¿Dónde consigo sesh?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/joshmedeski/sesh
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Configuración de tmux autónoma y personalizable, con una barra de estado estilo Powerline, modo de mouse, integración con el portapapeles y compatibilidad con plugins de TPM.
Multiplexor de terminal nativo para Windows, escrito en Rust, que lleva los comandos de tmux y la compatibilidad con .tmux.conf a PowerShell y cmd.exe.
Motor multiplataforma de multiplexación de terminal escrito en Rust, con SDK tipados para Rust, Python y TypeScript que permiten controlar CLI y aplicaciones TUI mediante código.
CLI de Go para tmux que guarda sesiones, ventanas, paneles y comandos, y luego los restaura de forma selectiva desde un selector TUI.
Multiplexor de terminal al estilo de tmux, con un servidor en segundo plano que se controla mediante comandos CLI en JSON desde scripts y agentes de programación.