Dev Tools
Immich Photo Manager Gestión de fotos con IA para Immich
DevHunt

crex(cmux-resurrect)

Guarda, restaura y crea plantillas de tus workspaces — para cmux y Ghostty.

Ghostty cmux macOS Licencia MIT Código Abierto v1.13.0

El Problema

Pasaste una hora montando el layout perfecto — tabs, paneles, directorios, procesos corriendo. Tu Mac se reinicia. Todo perdido. Ni cmux ni Ghostty pueden recuperar lo que nunca guardaron.

La Solución

crex save. crex restore. Ya está. Dos comandos, todo tu workspace de vuelta. 16 plantillas, Blueprints en Markdown, auto-guardado. Deja de reconstruir.

crex save my-day — snapshot and restore your terminal layout

Instalar con Homebrew (recomendado)

brew install drolosoft/tap/crex

Eso es todo — tanto crex como cmux-resurrect están listos para usar. No necesitas el toolchain de Go.

Alternativa: instalar con Go (requiere toolchain)
go install github.com/drolosoft/cmux-resurrect/cmd/crex@latest

Primera vez? Ejecuta crex setup

crex setup # configuración guiada interactiva crex setup --defaults # acepta todos los valores por defecto (CI/scripting)

Pruébalo

crex save my-day # guarda tu layout crex save my-day -d "Friday deep work" # con descripción crex restore my-day # recupéralo todo crex tui # shell interactivo
crex setup wizard, save, and list — getting started in seconds
crex interactive shell — help, list, restore, templates, browse mode

Ejecuta crex tui — o simplemente crex cuando la configuración existe — para entrar al shell interactivo. Un prompt crex❯ te da acceso a todos los comandos sin salir de tu terminal.

Tab Completion con 3 niveles

Pulsa Tab para descubrir comandos con iconos y descripciones. Navega con Tab/Shift-Tab/Flechas, retrocede con Escape. Funciona en los 3 niveles: comandos → subcomandos → argumentos. Nombres de layouts, plantillas y entradas de Blueprint se autocompletan.

crex❯ [Tab] ver todos los comandos disponibles crex❯ bp [Tab] explorar subcomandos de bp crex❯ restore [Tab] autocompletar nombres de layout crex❯ use [Tab] listar las 16 plantillas crex❯ settings banner set configurar estilo de banner

Detalles que importan

Los listados muestran elementos numerados — usa el número en cualquier comando siguiente. Las teclas de flecha navegan los listados inline. El shell se adapta al tema claro u oscuro de tu terminal automáticamente.

  • Mensajes de despedida del fénix al salir
  • Diálogos de confirmación para operaciones destructivas
  • Retención inteligente del prompt: los errores mantienen el comando para que corrijas sin reescribir
  • Grupo settings para configurar banner, restore-mode y preferencias desde el shell

Captura Completa del Layout

Tabs, paneles, directorios, estado de fijado y tab activa — todo en un solo archivo TOML.

crex save my-day -d "Friday deep work"

Selector de restauración en dos niveles

Navega layouts con flechas y accede al workspace exacto con →/Tab. Salta directamente a cualquier ítem con las teclas 1-9. Restaura un único workspace sin afectar el resto.

crex restore

Restauración inteligente (sync)

La restauración detecta el estado actual de tus tabs y solo pregunta cuando importa. Desde un terminal limpio, restaura sin preguntar. Con tabs que coinciden, ofrece mantenerlas o recrearlas desde el layout. Sin preguntas innecesarias.

crex restore my-day

Gestión de Blueprints

Tu terminal ideal, declarada en Markdown compatible con Obsidian.

crex bp add webapp ~/projects/webapp --template dev

Galería de Plantillas

16 plantillas integradas — desde splits simples hasta IDEs completos. Previsualiza y personaliza.

crex template use claude ~/projects/my-app

Daemon de Vigilancia

Auto-guardado en background con deduplicación por hash. Cero mantenimiento.

crex watch --daemon

Tab Completion en 3 niveles

Pulsa Tab en el shell interactivo para descubrir comandos, subcomandos y argumentos. Iconos y descripciones en cada opción. Completions cacheadas con 2s TTL.

crex❯ bp [Tab] → add · list · remove · show

Autocompletado de Shell

Autocompletado dinámico para tu shell (bash, zsh, fish). Zero-config con Homebrew.

crex restore <TAB> → my-day production autosave

Previsualización Dry-Run

Inspecciona cada comando antes de ejecutar — cmux CLI o Ghostty AppleScript.

crex restore my-day --dry-run

Asistente de Configuración

Configuración guiada. Detecta tu backend, crea config y arranca en segundos.

crex setup

Tema Adaptativo

Detecta fondo claro u oscuro. Tres estilos de banner: flame, classic, plain.

CREX_BANNER=flame crex

Descripciones de Layout

Anota cada layout — contexto para equipos que comparten sesiones.

crex save api -d "backend API — reads postgres"

Paneles de Navegador

Guarda y restaura paneles de navegador con sus URLs. En cmux se crean como paneles nativos; en Ghostty se abre la URL en el navegador del sistema.

crex show my-day → 🌐 https://localhost:3000

Detección de Comandos

Detecta automáticamente el proceso en primer plano de cada panel — npm run dev, nvim, htop, make watch y más. Los comandos se guardan y restauran sin configuración manual. No contaminan tu historial de shell.

crex save my-day → npm run dev · nvim · 🌐 localhost:3000

Sesión AI Auto-Detectada

Detecta sesiones de Claude Code, OpenCode y Codex automáticamente. Cada sesión se reanuda exactamente donde la dejaste, con el ID de sesión correcto. Las sesiones con CWD coincidente tienen prioridad.

crex save → claude --resume 90d6d97b...

¿Por qué crex?

tmux-resurrect demostró que la persistencia de sesiones es esencial. Todo multiplexor acaba teniendo uno — crex es esa herramienta para cmux y Ghostty.

tmux-resurrect crex
Guarda/restaura sesiones tmux Guarda/restaura sesiones cmux y Ghostty
Solo tmux cmux + Ghostty — detección automática, sin configuración
Solo CLI Shell interactivo con Tab Completion — crex❯ REPL
Configuración por plugin Blueprint — archivos Markdown, compatible con Obsidian
Recreación manual de paneles 16 plantillas integradas — layouts + workflows + Blueprints
Solo paneles de terminal Paneles de navegador — guarda y restaura URLs
Sin detección de procesos Detección de comandos — npm, nvim, htop, make...
Sin soporte AI Reanudación de sesión AI — Claude, OpenCode, Codex
N/A Previsualizaciones con diagramas ASCII en terminal
Configuración manual crex template use <nombre> — workspace instantáneo
Restauración destructiva Sync inteligente — mantiene tabs que coinciden, crea las que faltan
Guardado manual Daemon de auto-guardado — deduplicado, cero mantenimiento
Editar archivos de config crex template customize — fork de cualquier plantilla
Editar archivos de config CLI — add, remove, toggle desde terminal

Backends Soportados

crex detecta tu terminal automáticamente — sin flags, sin configuración.

cmux

cmux.dev

Soporte completo desde v1.0

Save, restore, templates, Blueprint, watch, dry-run

Ghostty

NUEVO ghostty.org

Soporte completo desde v1.3

Save, restore, templates, Blueprint, watch, dry-run

crex detecta automáticamente tu terminal — sin flags, sin configuración. El mismo comando funciona en cmux o Ghostty.

16 Plantillas de Workspace Listas para Usar

Desde splits de dos paneles hasta layouts IDE completos. Explora, previsualiza y crea workspaces en segundos. Inspirado en shadcn: cópialo, es tuyo.

crex template list — 16 templates grouped by Layouts and Workflows

Geometría pura de paneles — sin comandos, agnóstico al lenguaje

expandir todo · contraer todo
cols 2 Columnas lado a lado
┌──────────┬───────────────────────┐
│          │                       │
│  main *  │  shell                │
│          │                       │
└──────────┴───────────────────────┘
main → right
rows 2 Filas apiladas
┌──────────────────────────────────┐
│  main *                          │
├──────────────────────────────────┤
│  shell                           │
└──────────────────────────────────┘
main → down
sidebar 2 Área principal con barra lateral
┌──────┬───────────────────────────┐
│      │                           │
│ side │  main *                    │
│      │                           │
└──────┴───────────────────────────┘
main → right
shelf 3 Grande arriba, dos abajo
┌──────────────────────────────────┐
│  main *                          │
│                                  │
├────────────────┬─────────────────┤
│  shell         │  shell          │
└────────────────┴─────────────────┘
main → down → right
aside 3 Grande izquierda, dos apilados derecha
┌──────────┬───────────────────────┐
│          │  shell                │
│  main *  │                       │
│          ├───────────────────────┤
│          │  shell                │
└──────────┴───────────────────────┘
main → right → down
triple 3 Tres columnas
┌──────────┬──────────┬──────────┐
│          │          │          │
│  main *  │  shell   │  shell   │
│          │          │          │
└──────────┴──────────┴──────────┘
main → right → right
quad 4 Cuadrícula 2x2
┌────────────────┬─────────────────┐
│  main *        │  shell          │
├────────────────┼─────────────────┤
│  shell         │  shell          │
└────────────────┴─────────────────┘
main → right → down → down
dashboard 4 Grande arriba, tres abajo
┌──────────────────────────────────┐
│  main *                          │
│                                  │
├──────────┬──────────┬──────────┤
│  shell   │  shell   │  shell   │
└──────────┴──────────┴──────────┘
main → down → right → right
ide 4 Layout IDE completo
┌────────┬─────────────────────────┐
│        │  shell *                │
│  main  │                         │
│        ├────────────┬────────────┤
│        │  shell     │  shell     │
└────────┴────────────┴────────────┘
main → right → down → right
crex template show dashboard — ASCII diagram preview of a 4-pane layout

Combinaciones de herramientas para actividades comunes de terminal

expandir todo · contraer todo
🤖 claude 3 Programación en pareja con Claude Code
┌──────────┬───────────────────────┐
│          │  claude *             │
│  lazygit │                       │
│          ├───────────────────────┤
│          │  shell                │
└──────────┴───────────────────────┘
main → right → down · ai, git, development
💻 code 3 Workspace de codificación general
┌──────────┬───────────────────────┐
│          │  lazygit              │
│  main *  │                       │
│          ├───────────────────────┤
│          │  watch -n 5 'ls...'   │
└──────────┴───────────────────────┘
main → right → down · git, development
🔭 explore 2 Navegar y entender un codebase
┌──────────┬───────────────────────┐
│          │                       │
│  main *  │  git log --oneline... │
│          │                       │
└──────────┴───────────────────────┘
main → right · git, discovery
📊 system 2 Monitorizar estado del sistema
┌──────────┬───────────────────────┐
│          │                       │
│  htop    │  df -h                │
│          │                       │
└──────────┴───────────────────────┘
main → right · monitoring, sysadmin
📜 logs 3 Seguir múltiples logs en paralelo
┌──────────┬──────────┬──────────┐
│          │          │          │
│  syslog* │  dmesg   │  shell   │
│          │          │          │
└──────────┴──────────┴──────────┘
main → right → right · monitoring, debugging
🌐 network 2 Depurar conectividad y APIs
┌──────────┬───────────────────────┐
│          │                       │
│  main *  │  curl -s ifconfig.me  │
│          │                       │
└──────────┴───────────────────────┘
main → right · networking, debugging
📟 single 1 Terminal mínima de un panel
┌──────────────────────────────────┐
│                                  │
│  main *                          │
│                                  │
└──────────────────────────────────┘
main · basic
crex template show code — workflow template with lazygit and watch commands
# Explora la galeria crex template list # Previsualiza con diagrama ASCII crex template show claude # Crea un workspace al instante crex template use claude ~/projects/my-app # Personaliza (fork-on-write) crex template customize claude

Blueprints

Los Blueprints son documentos Markdown con dos secciones — Projects y Templates. Compatibles con Obsidian y cualquier editor Markdown. Los checkboxes controlan qué entradas se crean. Las plantillas definen layouts de paneles reutilizables.

📄 workspaces.md
## Projects **Icon | Name | Template | Pin | Path** - [x] | 🚀 | Homepage | fullstack | yes | ~/projects/webapp | - [x] | ⚙ | API Server | dev | yes | ~/projects/api | - [ ] | 📓 | notes | single | no | ~/documents/notes | ## Templates ### fullstack - [x] main terminal: `npm run dev` (focused) - [x] split right browser: `http://localhost:3000` - [x] split down: `nvim CLAUDE.md` ### dev - [x] main terminal (focused) - [x] split right: `npm run dev` - [x] split right: `lazygit`
crex import-from-md # crea tabs/workspaces desde Blueprint crex export-to-md # captura estado actual a Blueprint
crex import-from-md exitoso — 9 workspaces creados desde un Blueprint

Comandos

Comando Alias Descripción
crex tuicrexLanzar shell interactivo (también: solo escribe crex)
crex setupAsistente de configuración guiada para el primer uso
crex save [name]Capturar el layout actual en TOML
crex restore [name]Recrear pestañas, disposiciones de paneles y comandos
crex listlsListar layouts guardados con conteo de pestañas/workspaces
crex show <name>Mostrar detalles del layout (--raw para TOML)
crex edit <name>Abrir layout en $EDITOR
crex delete <name>rmEliminar un layout guardado
crex import-from-mdCrear entradas desde un archivo Blueprint Markdown
crex export-to-mdExportar estado live de terminal a Blueprint Markdown
crex watchDaemon de auto-guardado con gestión start/stop/status
crex blueprint addbp addAñadir entrada al Blueprint
crex blueprint removebp rmEliminar entrada del Blueprint
crex blueprint listbp lsListar entradas del Blueprint
crex blueprint togglebp toggleActivar/desactivar una entrada del Blueprint
crex template listtpl lsListar plantillas disponibles
crex template show <name>tpl showPrevisualizar plantilla con diagrama ASCII
crex template use <name> [path]tpl useCrear pestaña/workspace desde una plantilla
crex template customize <name>tpl editBifurcar una plantilla para personalización
crex completion [bash|zsh|fish]Genera script de autocompletado para tu shell
crex settings restore-mode set <mode>Establece el modo de restauración: ask, replace o add
crex settings restore-mode getMuestra el modo de restauración actual
crex settings restore-mode listLista todos los modos de restauración disponibles
crex versionImprimir versión, commit, fecha de compilación

Configuración

Todo funciona sin configuración por defecto — el estilo de banner se autodetecta, los colores se adaptan y el fondo del terminal se detecta vía OSC 11. Ajústalo si quieres:

# ~/.config/crex/config.toml banner_style = "flame" # o "classic" o "plain" restore_mode = "ask" # o "replace" (sobreescribir) o "add" (añadir)

Dos variables de entorno anulan la detección cuando necesitas determinismo (passthrough de tmux, CI, capturas):

CREX_THEME=light|dark # fuerza detección de fondo del terminal CREX_BANNER=flame|classic|plain # anula el modo de renderizado del banner

Autocompletado en Acción

Los completados se instalan automáticamente con Homebrew. Los nombres de layout provienen de tus sesiones guardadas reales — no de una lista estática.

crex res<TAB> → restore crex restore <TAB> → my-day production autosave crex save --<TAB> → --force --quiet --verbose
crex template use — shell completion dropdown with all 16 templates

Documentación

Guías detalladas, creación de plantillas y referencia completa de comandos.

Compatibilidad de Plataforma

crex funciona donde funcione cmux o Ghostty. Detecta tu terminal automáticamente — sin flags, sin configuración, sin sorpresas de compatibilidad.

Plataforma Arquitectura Status
macOS (Apple Silicon)M1, M2, M3, M4✅ Probado
macOS (Intel)x86_64✅ Probado
Linuxx86_64 / ARM64⚪ Compila (sin backend disponible aún)

Construido Con

crex es un binario Go único sin dependencias de ejecución.

  • Go 1.26 — Compilación rápida, binario único
  • Cobra — Framework CLI para comandos y flags
  • go-toml/v2 — Análisis de archivos de configuración
  • Lipgloss — Salida CLI con estilos y colores
  • Bubble Tea + Huh — Shell interactivo, componentes TUI, modo browse
  • 387 tests — Suite de pruebas exhaustiva con cobertura unitaria, wiring y E2E
Gimme a coffee 😋
Buy Me A Coffee

Construyo las herramientas que me faltan, y las regalo.
Si alguna te ahorró tiempo, un café mantiene la siguiente en camino.

Buy Me A Coffee QR

¿Listo para guardar tus workspaces?

crex es gratuito, código abierto y listo para usar.

42 Or gimme a star 🤗