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

Renombrar un término en masa sin romper nada

Un método (workflow) para cambiar un término viejo por uno nuevo en cientos o miles de archivos de golpe, sin romper nada: previsualiza antes de tocar disco, protege tu historial y tus originales, y verifica que no quedó ni un rastro del término viejo.

WorkflowPremiumTrucos técnicosgit e infra

🌱 Empieza aquí · Renombrar un término en masa sin romper nada

Esta semilla le enseña a tu asistente un método seguro para cambiar un nombre o término viejo por uno nuevo en cientos o miles de archivos a la vez (por ejemplo, cuando una marca, un producto o un proyecto cambia de nombre). La gracia es que lo hace sin desastres: primero te muestra qué va a cambiar sin tocar nada, protege tu historial y tus archivos originales, y al final revisa que no quedó ni un rastro del término viejo.

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 el resto y al final te dice cómo comprobar que quedó lista. 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 método de renombrado seguro", "haz el setup de esto". Te entiende igual.


Para el asistente que siembra 🤖

Esta semilla es un workflow (método de trabajo) acompañado de una herramienta en Python. No es un hook (gancho de automatización): no lleva entrada en settings.json y no se ejecuta sola. Se "siembra" colocando el método y la herramienta donde el usuario los pueda usar, y dejándote el método como instrucción de referencia.

El kernel trae tres archivos:

  • kernel/rename-seguro-en-masa.md — el método (las 4 fases y la red de seguridad triple). Es el corazón: léelo antes de correr nada.
  • kernel/rename-seguro.py — la herramienta que ejecuta el método. Solo usa Python 3 estándar (no instala nada) y corre en cualquier sistema operativo.
  • kernel/skip-patterns.ejemplo.txt — una plantilla para blindar lo que NO debe tocarse (historial, originales, tus propias carpetas).

1. Coloca el método y la herramienta

Claude Code (macOS / Linux / Windows con Git Bash):

mkdir -p "$HOME/.claude/rules" "$HOME/.claude/tools/rename-seguro"
cp kernel/rename-seguro-en-masa.md "$HOME/.claude/rules/rename-seguro-en-masa.md"
cp kernel/rename-seguro.py "$HOME/.claude/tools/rename-seguro/rename-seguro.py"
cp kernel/skip-patterns.ejemplo.txt "$HOME/.claude/tools/rename-seguro/skip-patterns.ejemplo.txt"

Windows (PowerShell, sin Git Bash):

New-Item -ItemType Directory -Force "$HOME\.claude\rules" | Out-Null
New-Item -ItemType Directory -Force "$HOME\.claude\tools\rename-seguro" | Out-Null
Copy-Item kernel\rename-seguro-en-masa.md "$HOME\.claude\rules\rename-seguro-en-masa.md"
Copy-Item kernel\rename-seguro.py "$HOME\.claude\tools\rename-seguro\rename-seguro.py"
Copy-Item kernel\skip-patterns.ejemplo.txt "$HOME\.claude\tools\rename-seguro\skip-patterns.ejemplo.txt"

Los archivos dentro de ~/.claude/rules/ se cargan solos al inicio de cada sesión, así el método queda siempre a la mano. La herramienta y la plantilla viven aparte porque no son una regla.

Cowork: usa la misma carpeta de reglas si tu proyecto la soporta (.claude/rules/). Si no, coloca rename-seguro-en-masa.md dentro del proyecto y agrega una línea en el archivo de instrucciones (el CLAUDE.md) que apunte a él. La herramienta rename-seguro.py va donde el proyecto guarde sus scripts.

Codex: Codex lee su archivo de instrucciones AGENTS.md. Pega el contenido de rename-seguro-en-masa.md dentro de AGENTS.md (o agrégale un puntero) y guarda rename-seguro.py en el proyecto.

2. Personaliza qué se blinda (recomendado)

Copia la plantilla a un archivo real y ajústala a las carpetas del usuario (historial, bitácoras, originales de marca):

cp "$HOME/.claude/tools/rename-seguro/skip-patterns.ejemplo.txt" "$HOME/.claude/tools/rename-seguro/skip-patterns.txt"

Luego edita skip-patterns.txt con la persona. Si no sabe qué blindar, deja los valores por defecto; el método sigue funcionando.

3. Verificación post-siembra (obligatoria)

a) Los archivos quedaron colocados (ejemplo Claude Code):

ls -la "$HOME/.claude/rules/rename-seguro-en-masa.md" "$HOME/.claude/tools/rename-seguro/rename-seguro.py"; echo "exit=$?"

Salida esperada: las dos rutas listadas (con su tamaño) y exit=0. Si sale No such file or directory, la copia no se hizo; repite el paso 1.

b) La herramienta funciona de verdad (prueba de comportamiento). Arma un mini-caso de prueba y confirma las dos cosas clave: que la previsualización no toca disco, y que el cambio real sí reemplaza.

macOS / Linux / Windows con Git Bash:

mkdir -p /tmp/prueba-rename/docs
printf 'Hola TerminoViejo, adios TerminoViejo\n' > /tmp/prueba-rename/docs/a.txt

# Previsualizacion: NO debe escribir nada
python3 "$HOME/.claude/tools/rename-seguro/rename-seguro.py" --scope /tmp/prueba-rename --old "TerminoViejo" --new "TerminoNuevo" --report /tmp/rep-dry.json
grep -q "TerminoNuevo" /tmp/prueba-rename/docs/a.txt && echo "MAL: escribio en dry-run" || echo "OK: dry-run no toco disco"

# Cambio real: ahora si reemplaza
python3 "$HOME/.claude/tools/rename-seguro/rename-seguro.py" --scope /tmp/prueba-rename --old "TerminoViejo" --new "TerminoNuevo" --confirm --report /tmp/rep-exec.json
grep -q "TerminoNuevo" /tmp/prueba-rename/docs/a.txt && echo "OK: cambio real aplicado" || echo "MAL: no reemplazo"

# Verificacion final: cero rastro del termino viejo
grep -rn "TerminoViejo" /tmp/prueba-rename && echo "MAL: quedo rastro" || echo "OK: cero rastro"

Windows (PowerShell, sin Git Bash): misma prueba con cmdlets nativos (usa python; si no responde, prueba py o python3):

$P = "$env:TEMP\prueba-rename\docs"
New-Item -ItemType Directory -Force $P | Out-Null
Set-Content "$P\a.txt" "Hola TerminoViejo, adios TerminoViejo"

# Previsualizacion: NO debe escribir nada
python "$HOME\.claude\tools\rename-seguro\rename-seguro.py" --scope "$env:TEMP\prueba-rename" --old "TerminoViejo" --new "TerminoNuevo" --report "$env:TEMP\rep-dry.json"
if (Select-String -Path "$P\a.txt" -Pattern "TerminoNuevo" -Quiet) { "MAL: escribio en dry-run" } else { "OK: dry-run no toco disco" }

# Cambio real: ahora si reemplaza
python "$HOME\.claude\tools\rename-seguro\rename-seguro.py" --scope "$env:TEMP\prueba-rename" --old "TerminoViejo" --new "TerminoNuevo" --confirm --report "$env:TEMP\rep-exec.json"
if (Select-String -Path "$P\a.txt" -Pattern "TerminoNuevo" -Quiet) { "OK: cambio real aplicado" } else { "MAL: no reemplazo" }

# Verificacion final: cero rastro del termino viejo
if (Get-ChildItem "$env:TEMP\prueba-rename" -Recurse -File | Select-String -Pattern "TerminoViejo" -Quiet) { "MAL: quedo rastro" } else { "OK: cero rastro" }

Salida esperada (en cualquiera de las dos): OK: dry-run no toco disco, luego OK: cambio real aplicado, y al final OK: cero rastro. Con eso, la herramienta está viva.

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


✅ ¿Cómo sé que funcionó?

La próxima vez que algo cambie de nombre y ese nombre viejo esté regado por muchos archivos, tu asistente ya no va a hacer un "buscar y reemplazar" a lo loco. Va a seguir el método: te muestra el cambio antes de aplicarlo, respeta tu historial y tus originales, te pide el visto bueno antes de tocar disco, y al final te confirma que no quedó ni un rastro del término viejo. Renombrar en masa deja de dar miedo. 🌱

¿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