Founding Member: $499/mes de por vida
Trucos técnicos

Revisar tu sitio tras publicar sin falsas alarmas

Un script que, después de publicar tu sitio, primero espera a que la versión nueva sea visible y solo entonces revisa tus páginas. Así un servidor de caché atrasado no te da un "404" falso.

ScriptPremiumTrucos técnicosgit e infra

🌱 Empieza aquí · Revisar tu sitio tras publicar sin falsas alarmas

Esta semilla le da a tu asistente una herramienta para revisar tu sitio web justo después de publicarlo. Primero espera a que la versión nueva sea visible y solo entonces revisa tus páginas. Así deja de asustarte con errores que en realidad eran copias viejas en caché.

Para instalarla

Abre esta carpeta con Claude Code o Cowork y dile a tu asistente:

"Siembra esta semilla 🌱"

Con eso basta de tu parte. Tu asistente hace todo lo demás y al final te dice cómo comprobar que quedó funcionando. Vas a ver algunas palabras en inglés en la pantalla; ni caso, él te guía.

¿Otras formas de pedírselo? "instala esta semilla", "instala el smoke-fresh", "haz el setup de esto". Te entiende igual.


Para el asistente que siembra 🤖

Este componente es un script (programa de terminal) de bash. No es un hook (gancho de automatización): no lleva entrada en settings.json y no se ejecuta solo. Se instala copiándolo a una carpeta de programas del usuario y se corre a pedido, después de cada publicación (deploy). Necesita bash, curl y grep.

1. Copia el script

Corre estos comandos desde esta carpeta de la semilla.

macOS / Linux / Windows con Git Bash o WSL:

DESTINO="$HOME/.local/bin"
mkdir -p "$DESTINO"
cp kernel/smoke-fresh.sh "$DESTINO/smoke-fresh.sh"
chmod +x "$DESTINO/smoke-fresh.sh"
command -v curl grep bash

El último comando debe listar tres rutas. Si falta curl, instálalo con el gestor de paquetes del sistema antes de seguir.

Si $HOME/.local/bin no está en el PATH (la lista de carpetas donde la terminal busca programas), llama al script con su ruta completa: "$HOME/.local/bin/smoke-fresh.sh". No modifiques archivos de arranque de la terminal sin preguntarle a la persona.

Windows (PowerShell, solo para copiar; el script se corre con Git Bash o WSL):

$Destino = Join-Path $HOME ".local\bin"
New-Item -ItemType Directory -Force -Path $Destino | Out-Null
Copy-Item "kernel\smoke-fresh.sh" (Join-Path $Destino "smoke-fresh.sh")

Esta copia sirve para Git Bash, que comparte la carpeta de usuario de Windows. En WSL la carpeta $HOME es otra: ahí usa el bloque de bash de arriba, desde dentro de WSL.

2. Placeholders a aterrizar con la persona

No hay configuración fija. En cada uso se pasan estos datos:

  • <TU-DOMINIO> → el dominio del sitio de la persona.
  • <URL-DONDE-APARECE> → la página donde se verá el cambio nuevo, sin ? ni parámetros (el script le agrega ?fresh=<número> para esquivar cachés).
  • <TEXTO-NUEVO> → un texto simple, sin símbolos, que solo exista en la versión nueva (se busca como patrón de grep; letras, números y guiones intermedios están bien).
  • Las URLs a revisar en la segunda fase, después de -- (al menos una).

Uso típico tras una publicación:

SITIO="https://<TU-DOMINIO>"
HUELLA_URL="<URL-DONDE-APARECE>"   # por ejemplo "$SITIO/blog"
"$HOME/.local/bin/smoke-fresh.sh" --marker-url "$HUELLA_URL" --marker "<TEXTO-NUEVO>" \
  --timeout 120 --interval 5 -- "$HUELLA_URL" "$SITIO/contacto"
echo "exit=$?"

exit=0 significa huella visible y todas las páginas en 2xx o 3xx. exit=1 es una falla: o la huella no apareció dentro del tiempo límite, o una página falló ya con la huella visible. Repórtale a la persona la línea con 🚨 tal cual. La segunda fase no usa anticaché: si la página que falló es nueva, repite la corrida una vez antes de darla por rota.

3. Verificación post-siembra (obligatoria)

a) El archivo quedó colocado:

ls -la "$HOME/.local/bin/smoke-fresh.sh"; echo "exit=$?"

Salida esperada: una línea que lista el archivo con permisos -rwx y exit=0. Si sale No such file or directory, repite el paso 1.

b) Prueba de comportamiento contra un servidor local (no toca internet; necesita python3). Simula una versión vieja, comprueba que el script avisa la falla, publica la versión "nueva" y comprueba que pasa:

SCRIPT="$HOME/.local/bin/smoke-fresh.sh"
PRUEBA="$(mktemp -d)"
PUERTO=18765
mkdir -p "$PRUEBA/blog"
echo "<html>version vieja</html>" > "$PRUEBA/blog/index.html"
python3 -m http.server "$PUERTO" --bind 127.0.0.1 --directory "$PRUEBA" >/dev/null 2>&1 &
SERVIDOR=$!
sleep 1
"$SCRIPT" --marker-url "http://127.0.0.1:$PUERTO/blog/" --marker "HUELLA-NUEVA" \
  --timeout 3 --interval 1 -- "http://127.0.0.1:$PUERTO/blog/"
echo "exit-senuelo=$?"
echo "<html>HUELLA-NUEVA</html>" > "$PRUEBA/blog/index.html"
"$SCRIPT" --marker-url "http://127.0.0.1:$PUERTO/blog/" --marker "HUELLA-NUEVA" \
  --timeout 10 --interval 1 -- "http://127.0.0.1:$PUERTO/blog/" "http://127.0.0.1:$PUERTO/no-existe/"
echo "exit-pagina-rota=$?"
"$SCRIPT" --marker-url "http://127.0.0.1:$PUERTO/blog/" --marker "HUELLA-NUEVA" \
  --timeout 10 --interval 1 -- "http://127.0.0.1:$PUERTO/blog/"
echo "exit-todo-bien=$?"
kill "$SERVIDOR"
rm -rf "$PRUEBA"

Salida esperada:

  • Primera corrida: 🚨 FALLA REAL: la huella "HUELLA-NUEVA" NO apareció en 3s ... y exit-senuelo=1.
  • Segunda: ✓ deploy fresco confirmado, una palomita para /blog/, una línea 🚨 .../no-existe/ 404 (FALLA REAL — frescura ya confirmada) y exit-pagina-rota=1.
  • Tercera: ✓ smoke fresco completo: 1 checks verdes, cero fantasmas y exit-todo-bien=0.

Si el puerto 18765 está ocupado, cambia PUERTO por otro número libre. Si no hay python3, sáltate esta parte y haz la primera revisión real con el sitio de la persona.

Cuando ambas partes pasen, avísale a la persona en una línea qué gana con esto.


✅ ¿Cómo sé que funcionó?

Después de publicar algo en tu sitio, tu asistente te va a decir primero "deploy fresco confirmado" y luego te dará la lista de páginas con su resultado. Si la huella no aparece, tu asistente te lo dice en vez de darte por buena una página vieja. Si una página sale en rojo con la huella ya visible, vale la pena revisarla; si es una página recién creada, pídele que repita la revisión en un momento.

¿Quieres implementarla con acompañamiento?

Agenda una asesoría directa con JP y aterrízala en tu caso · desde $600 MXN.

Agendar una asesoría