just-bash, o "solo Bash", es una filosofía de ingeniería que aboga por la simplicidad y la ubicuidad de Bash y las utilidades POSIX estándar (como `grep`, `awk`, `sed`, `curl`, `jq`, `rsync`, `ssh`) para la automatización de operaciones, despliegues y gestión de sistemas. En lugar de introducir lenguajes de scripting más complejos (Python, Ruby, Go) o herramientas de orquestación sofisticadas (Ansible, Terraform, Kubernetes para tareas simples), just-bash se enfoca en construir soluciones robustas y transparentes directamente con las herramientas disponibles en casi cualquier entorno Unix-like. Su objetivo es minimizar la "cadena de herramientas" y las dependencias, facilitando la depuración y el mantenimiento.
En el mundo real, just-bash se manifiesta en diversas formas. Proyectos de código abierto como `homebrew` (aunque usa Ruby, su filosofía de scripts simples es similar) o `nvm` (Node Version Manager) son ejemplos donde scripts Bash gestionan la instalación y el versionado de software. En entornos de infraestructura, es común ver scripts just-bash para automatizar tareas de CI/CD en Jenkins o GitLab CI/CD, realizar despliegues de aplicaciones monolíticas o microservicios a máquinas virtuales o contenedores, gestionar copias de seguridad con `rsync` y `ssh`, o monitorear servicios con `curl` y `grep`. Incluso en sistemas distribuidos, scripts Bash pueden orquestar la inicialización de nodos, la configuración de servicios o la ejecución de comandos remotos a través de SSH para tareas ad-hoc o de emergencia.
Para un Arquitecto de Sistemas, just-bash importa por varios motivos estratégicos. Ofrece una alta "auditabilidad" y transparencia, ya que los scripts son fáciles de leer y entender, lo que reduce la curva de aprendizaje y facilita la depuración. Minimiza la superficie de ataque al reducir las dependencias de terceros y los tiempos de arranque. Sin embargo, presenta trade-offs importantes: la complejidad de los scripts Bash puede volverse inmanejable para lógicas muy elaboradas, carece de tipado fuerte y estructuras de datos avanzadas, y puede ser menos portable entre sistemas operativos no-Unix. Un arquitecto debe sopesar la simplicidad y ubicuidad de just-bash para tareas de bajo a medio nivel de complejidad frente a la necesidad de lenguajes o herramientas más estructuradas para sistemas de orquestación a gran escala o lógica de negocio compleja, donde la mantenibilidad a largo plazo y la colaboración en equipos grandes son críticas.