Sh0
All Sh0 articles.
Un comando para desplegar: cómo construimos sh0 push
Cómo construimos sh0 push -- un solo comando que detecta tu stack, empaqueta archivos, los sube, construye y devuelve una URL en vivo en menos de 40 segundos.
De 10 comandos a 30: el sprint de ergonomía para desarrolladores
Cómo agregamos sh0 init, link, open y config -- cuatro comandos que hacen que el CLI de sh0 se sienta como una parte nativa del flujo del desarrollador, no una idea tardía.
16 comandos en un día: la historia completa del CLI
Cómo construimos 16 comandos CLI, 2 endpoints de servidor y un sistema de streaming WebSocket -- auditados a través de 6 sesiones independientes -- en un solo día de desarrollo asistido por IA.
Ciclo de vida de aplicaciones desde la terminal
Cómo construimos sh0 restart, stop, start, delete y domains -- cinco comandos CLI para gestionar el ciclo de vida de aplicaciones con patrones de confirmación orientados a la seguridad.
Documentación como producto
Cómo documentamos 30 comandos CLI en una página de marketing, una página de dashboard y 4 páginas de documentación en 5 idiomas -- tratando la documentación como funcionalidad del producto, no como idea tardía.
El auditor encontró lo que el constructor pasó por alto
Cómo sesiones de auditoría IA independientes encontraron 5 Críticos, 12 Importantes y 19 Menores en 3.200 líneas de código Rust CLI -- y por qué el constructor nunca los habría detectado.
Modo watch y streaming WebSocket
Cómo construimos sh0 watch para auto-despliegue al cambiar archivos y actualizamos el streaming de logs de build de polling HTTP a WebSocket -- con fallback elegante.
Terminal web y explorador de archivos en un PaaS autoalojado
Cómo construimos un terminal basado en navegador (xterm.js + WebSocket + Docker exec) y un explorador de archivos estilo Docker Desktop con mkdir, edición y eliminación -- funciones que la mayoría de PaaS autoalojados no ofrecen.
Logs en tiempo real: streaming WebSocket desde contenedores Docker
Cómo construimos streaming de logs en tiempo real desde contenedores Docker al navegador usando WebSocket, con autenticación JWT, reconexión automática y un visor estilo terminal.
Docker Compose en un PaaS: parsing, validación y despliegue
Cómo añadimos soporte para Docker Compose a sh0 -- parseando YAML de Compose v3, validando dependencias, detectando referencias circulares y desplegando stacks multi-servicio.
Motor de respaldos: AES-256-GCM, 13 proveedores de almacenamiento y pesadillas FTP
Construyendo un motor de respaldos con almacenamiento conectable, cifrado AES-256-GCM, 13 proveedores de almacenamiento vía OpenDAL -- y el bug de FTP IPv6 que nos obligó a escribir nuestro propio cliente.
Autoescalado en Rust: umbrales de CPU, enfriamientos y balanceo de carga
Cómo construimos escalado horizontal con balanceo de carga Caddy, gestión de contenedores réplica y un autoescalador que evalúa umbrales de CPU/memoria con enfriamientos configurables.