Founding Member: $499/mes de por vida
Micare
Calidad de vida

Guardián de respaldo para carpetas en la nube

Hook que, justo antes de que tu asistente escriba o edite un archivo, revisa si ese archivo vive dentro de una carpeta que se sincroniza a la nube (Dropbox, Google Drive, iCloud, Nextcloud, pCloud… las que tú configures). Si es así, crea un respaldo con fecha y hora, PERMITE la edición e inyecta una instrucción para que tu asistente verifique el cambio y luego limpie o restaure el respaldo. Tu botón de "deshacer" antes de que un error se propague solo a todos tus dispositivos. Carpetas vigiladas y ubicación de respaldos, configurables.

HookPremiumCalidad de vidaguardrails personales

🌱 Empieza aquí · Guardián de respaldo para carpetas en la nube

¿Guardas notas o documentos en una carpeta que se sincroniza sola a la nube —Dropbox, Google Drive, iCloud— y trabajas sobre ellos con tu asistente? Entonces ya viviste (o vas a vivir) este susto: un cambio mal hecho no se queda en tu compu, se sincroniza solo a todos tus dispositivos en segundos. Deshacerlo es un dolor.

Esta semilla le pone un cinturón de seguridad a tu asistente. Cada vez que va a editar un archivo que vive en una de esas carpetas, primero saca una copia de respaldo con fecha y hora, deja pasar el cambio, y se recuerda a sí mismo verificar el resultado y después limpiar el respaldo (o restaurarlo si algo salió mal). Sin frenar tu trabajo: solo te cubre las espaldas.

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 técnico 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", "pon a funcionar el guardián de respaldos en la nube", "haz el setup de esto". Te entiende igual.


Para el asistente que siembra 🤖

Instala este hook (gancho de automatización) del evento PreToolUse con matcher Write|Edit. Se dispara justo antes de que escribas o edites un archivo, saca un respaldo si el archivo vive en una carpeta de sincronización en la nube, y deja pasar la operación inyectando un systemMessage con las instrucciones de verificación y limpieza. Sigue estos pasos y no inventes rutas: usa $HOME siempre. Este script necesita jq (procesador de JSON) instalado; si no está, avísale al usuario que lo instale (brew install jq en macOS, apt install jq en Linux). Sin jq, el hook deja pasar sin respaldar, para no frenar el trabajo.

1. Copia el script del kernel (el corazón de la semilla)

Copia kernel/guard-cloud-sync.sh a la carpeta de hooks del usuario y dale permiso de ejecución.

Claude Code / Cowork (macOS o Linux):

mkdir -p "$HOME/.claude/hooks"
cp kernel/guard-cloud-sync.sh "$HOME/.claude/hooks/guard-cloud-sync.sh"
chmod +x "$HOME/.claude/hooks/guard-cloud-sync.sh"

Windows (Git Bash / WSL): misma ruta ~/.claude/hooks/. El script usa bash, jq, grep y date; en Windows nativo sin bash no corre, avisa al usuario que necesita Git Bash o WSL. El script ya normaliza los backslashes de las rutas de Windows.

2. Registra el hook en settings.json

Abre $HOME/.claude/settings.json (créalo si no existe) y agrega esta entrada dentro de hooks.PreToolUse. Si ya hay hooks de PreToolUse, suma este objeto al arreglo existente en lugar de reemplazarlo:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "bash $HOME/.claude/hooks/guard-cloud-sync.sh",
            "timeout": 10
          }
        ]
      }
    ]
  }
}

3. Ajusta las carpetas vigiladas a ESTE usuario (importante)

Los valores por defecto vigilan las carpetas de nube más comunes: Dropbox, Google Drive, Mobile Documents (que es como iCloud Drive aparece en la ruta en macOS), Nextcloud y pCloud. Pregúntale al usuario qué servicio de nube usa y, si falta el suyo o la carpeta se llama distinto, ajústalo. Todo es configurable por variable de entorno; estas son las que entiende el script:

  • CLOUD_SYNC_PATTERNS — nombres de las carpetas raíz de nube a vigilar, separados por | (barra vertical), tal como aparecen en la ruta. Por defecto: Dropbox|Google Drive|Mobile Documents|Nextcloud|pCloud. El nombre debe ser un segmento completo de la ruta (una carpeta), no una subcadena suelta.
  • CLOUD_GUARD_BACKUP_DIR — dónde se guardan los respaldos. Por defecto $HOME/.claude/backups.

La forma más simple para alguien no técnico es cambiar el valor por defecto en la parte superior de guard-cloud-sync.sh (solo agregas el nombre de su carpeta a la lista, separado por |). Si el usuario no sabe cómo se llama su carpeta de nube, pídele que abra su gestor de archivos y te lea el nombre de la carpeta raíz que se sincroniza.

4. Verificación post-siembra (obligatoria)

Corre esta prueba para confirmar que el guardián respalda de verdad. Simula el evento de editar un archivo que vive en una carpeta Dropbox, mandando el respaldo a una carpeta temporal para no ensuciar nada:

mkdir -p /tmp/guard-demo/Dropbox /tmp/guard-demo/backups
printf 'contenido original\n' > /tmp/guard-demo/Dropbox/nota.md
printf '%s' '{"tool_name":"Edit","tool_input":{"file_path":"/tmp/guard-demo/Dropbox/nota.md"}}' \
  | CLOUD_GUARD_BACKUP_DIR=/tmp/guard-demo/backups bash "$HOME/.claude/hooks/guard-cloud-sync.sh"; echo "EXIT=$?"
ls /tmp/guard-demo/backups

Salida esperada: una salida JSON (un objeto de varias líneas) que contiene "systemMessage" con el texto MODO RESPALDO EN LA NUBE activado, seguida de EXIT=0, y un archivo de respaldo con fecha y hora (por ejemplo 20260705_143200_nota.md) listado en la carpeta de backups.

Ahora el caso contrario: un archivo que no vive en una carpeta de nube debe pasar en silencio, sin respaldo y sin mensaje.

printf '%s' '{"tool_name":"Edit","tool_input":{"file_path":"/tmp/guard-demo/local/otra.md"}}' \
  | bash "$HOME/.claude/hooks/guard-cloud-sync.sh"; echo "EXIT=$?"

Salida esperada: ninguna línea de salida y EXIT=0 (pasó de largo).

Por último, confirma que el hook quedó registrado en settings.json:

grep -q 'guard-cloud-sync' "$HOME/.claude/settings.json" && echo 'REGISTRADO'

Salida esperada: REGISTRADO.

Cuando las tres pruebas den lo esperado, borra la carpeta de prueba (rm -rf /tmp/guard-demo), avísale al usuario que ya quedó y explícale en una línea qué gana con esto.


✅ ¿Cómo sé que funcionó?

De ahora en adelante, cada vez que tu asistente vaya a tocar un archivo que vive en tu carpeta de nube, primero saca una copia de seguridad calladamente. Si el cambio quedó bien, borra la copia; si algo salió mal, la usa para regresar el archivo a como estaba. Es una red debajo del trapecio: casi nunca la vas a ver, pero el día que resbales, ahí está.

No tienes que hacer nada especial en el día a día. Solo trabaja tranquilo sabiendo que un error ya no se te sincroniza sin remedio a todos tus dispositivos. Eso es todo. 🌱

¿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