Saltar a contenido

Presentando ZDX — Un menú de ayuda para Zsh potenciado por fzf

"Hola a todos los que usan zsh. Estoy haciendo un plugin (gratuito) para mejorar la experiencia de desarrollo (es solo un hobby, no será algo gigante y profesional como ohmyzsh)..."Un guiño al anuncio de Linux por Linus Torvalds en 1991.

ZDX comenzó exactamente así: un hobby personal nacido de la frustración con los flujos de trabajo diarios en la terminal. Como muchos desarrolladores, mi rutina diaria implicaba saltar constantemente entre contenedores Docker, cambiar perfiles de Git para diferentes repositorios, activar/desactivar túneles VPN WireGuard y resolver puertos bloqueados. Me encontraba escribiendo, copiando y memorizando los mismos comandos complejos todos los días.

Para solucionar esto, construí ZDX: un conjunto de utilidades ligeras y modulares para Zsh potenciadas por menús interactivos de fzf. Fue diseñado para hacer una sola cosa: llevarme de la idea a la ejecución en una sola pulsación de tecla. Una vez que empezó a ahorrarme tiempo real, decidí liberarlo como código abierto, esperando que ayude a otros usuarios avanzados de la terminal a optimizar sus flujos de trabajo cotidianos también.


🛠️ ¿Qué puede hacer ZDX?

ZDX se divide en cinco módulos interactivos que puedes activar mediante comandos o atajos de teclado (como Ctrl+G):

  1. Espacio de trabajo Git (git-menu): Cambia de identidad de forma interactiva (personal vs. profesional), automatiza el enrutamiento de llaves GPG/SSH, limpia ramas locales/remotas obsoletas, revisa PRs y visualiza diffs.
  2. Menú de Docker (docker-menu): Administra instantáneamente contenedores, imágenes y volúmenes, y limpia el espacio en disco de forma segura.
  3. Túneles VPN y DNS (vpn-menu): Cambia rápidamente perfiles de WireGuard, valida configuraciones de DNS y aplica parches automáticos para WSL2.
  4. Diagnóstico del sistema (sys-menu): Actualiza todos los entornos de ejecución de desarrollo (Node.js, Rust, uv, pipx, Homebrew) en un solo pipeline, cierra procesos interactivamente y resuelve puertos bloqueados.
  5. Administrador de Plugins (zdx-plugins): Instala, actualiza y gestiona plugins personalizados del usuario de forma segura con protección de espacio de nombres.

🔒 Construido para ser robusto y seguro

Quería que ZDX fuera extremadamente sólido, por lo que implementé:

  • Pruebas Herméticas: Un conjunto de pruebas completo escrito en BATS (Bash Automated Testing System) usando mocks.
  • Linters de calidad estrictos: Verificación en CI mediante shellcheck, actionlint, zizmor (escáner de seguridad para GitHub Actions) y markdownlint.
  • Escaneo de secretos local: Ejecución de gitleaks en pre-commit para asegurar que nunca se preocupe por credenciales expuestas.
  • Releases firmados: Atestaciones respaldadas por procedencia de Sigstore para cada lanzamiento.

🚀 Obtén la Herramienta

Si deseas optimizar tu flujo de trabajo en la línea de comandos y mejorar tu productividad en la terminal, ZDX es completamente gratuito, de código abierto y fácil de instalar.

Instalar ZDX toma menos de 10 segundos:

sh -c "$(curl -fsSL \
  https://raw.githubusercontent.com/landerox/zdx-plugin/main/scripts/install.sh)"

Recarga tu terminal (source ~/.zshrc) y escribe git-menu o sys-menu para comenzar a interactuar.

👉 Repositorio Oficial de ZDX