El accidente más aterrador en AI Coding no siempre es código incorrecto. A veces son archivos borrados.
Herramientas como Codex, Claude Code y Cursor pueden leer y escribir archivos, ejecutar comandos, refactorizar en lote y mover directorios. Si entienden mal el contexto o tienen permisos demasiado amplios, pueden borrar archivos, sobrescribir configuración, limpiar artefactos generados o eliminar trabajo sin commit.
Por eso la primera regla no es “hacer la IA más inteligente”, sino: no darle oportunidad de hacer operaciones destructivas en el alcance equivocado.
Este artículo resume un flujo práctico para reducir el riesgo de borrado accidental y recuperarse rápido si ocurre.
Quick Answer
No confíes solo en “no borres archivos”. Usa varias capas:
| Capa | Qué hacer | Qué resuelve |
|---|---|---|
| Workspace Git | Revisar git status antes; commits pequeños |
Recuperación tras borrado |
| Aislamiento | Limitar la IA al repo o rama temporal | Evitar archivos ajenos |
| Confirmación de comandos peligrosos | Confirmar borrado, overwrite o movimientos masivos | Evitar destrucción automática |
| Revisión read-only | Analizar impacto antes de editar | Reducir errores amplios |
| Reglas ignore | Excluir cache, build, secretos, data | Evitar archivos indebidos |
| Recuperación | Preparar git restore, papelera, backups, snapshots |
No entrar en pánico |
Lo más importante: antes de permitir edición, el proyecto debe poder recuperarse.
Situaciones típicas de borrado
1. “Clean up the project”
La IA puede interpretarlo como borrar archivos no referenciados, componentes viejos, scripts duplicados, Markdown antiguo o limpiar tmp, dist, build, public.
Pero “parece no usado” no equivale a “no se usa”. Puede estar referenciado por CI, scripts de deploy, imports dinámicos, plugins o docs.
Prompt más seguro:
|
|
2. Refactorizar estructura de directorios
Mover archivos afecta imports, assets, convenciones de frameworks, CI/CD, enlaces de docs, contenido multilingüe y artefactos de despliegue.
Flujo seguro:
- Crear plan de migración.
- Listar archivos que se moverán.
- Listar referencias que se actualizarán.
- Ejecutar en lotes pequeños.
- Verificar después de cada lote.
- Borrar rutas antiguas solo tras confirmación.
3. “Borra todo lo que no se use”
“No usado” necesita criterio. Sin evidencia, la IA puede adivinar por nombre, fecha o búsqueda.
|
|
Luego pregunta:
|
|
Paso 1: revisar Git antes de editar
Antes de que la IA toque archivos:
|
|
Si ya hay muchos cambios sin commit, el riesgo sube. Después de un borrado será difícil saber qué hizo la IA y qué estaba antes.
Reglas:
- Workspace limpio: más seguro.
- Pocos cambios conocidos: continuar, pero marcar archivos prohibidos.
- Muchos cambios sin commit: commit, stash o backup.
- Archivos importantes sin trackear: añadirlos a Git o respaldarlos.
Los untracked son peligrosos:
|
|
Si se borran, git restore no los recupera.
Paso 2: crear puntos de recuperación
Antes de un cambio grande:
|
|
O stash con untracked:
|
|
El -u incluye archivos sin trackear. En trabajo diario, los commits pequeños suelen ser más claros que depender mucho de stash.
Paso 3: limitar el directorio
No ejecutes AI coding tools desde home, Downloads o Desktop root.
|
|
Y explícitalo:
|
|
Para temporales:
|
|
Para cambios de alto riesgo, usa worktree:
|
|
Paso 4: confirmar comandos peligrosos
Vigila:
|
|
No están siempre prohibidos, pero deben tener ruta objetivo, impacto y recuperación claros.
En PowerShell:
|
|
Regla segura:
|
|
Paso 5: revisar antes de borrar
La IA puede listar candidatos, pero no decidir sola.
| Archivo | Motivo de IA | Riesgo | ¿Borrar? |
|---|---|---|---|
old-script.js |
Sin referencia estática | Medio | Requiere confirmación |
dist/ |
Build output | Bajo | Si se puede regenerar |
legacy-config.json |
Parece antiguo | Alto | No borrar directamente |
Después, pide revisar config, CI, deploy scripts, dynamic imports y docs.
Si usas Claude Code subagents, crea un cleanup-reviewer read-only que solo liste candidatos. Ver: /es/2026/07/10/claude-code-subagent-project-fit-guide/.
Paso 6: escribir reglas para la IA
Añade reglas a AGENTS.md, CLAUDE.md u otro archivo de instrucciones:
|
|
En proyectos chinos también puedes escribir reglas en chino:
|
|
No garantiza perfección, pero reduce decisiones unilaterales.
Si mantienes memoria de proyecto, guarda qué directorios no tocar, qué comandos requieren confirmación y qué archivos son generados. Relacionado: /es/2026/07/08/claude-code-multi-project-memory-team-workflow/.
Paso 7: distinguir fuente, generados y datos
Muchos borrados ocurren porque la naturaleza del archivo no está clara.
| Tipo | Ejemplos | ¿Puede borrar la IA? |
|---|---|---|
| Fuente | src/, app/, content/ |
No directamente |
| Config | .env.example, config/, package.json |
Alto riesgo |
| Generados | dist/, build/, public/ |
Solo si se regeneran |
| Cache | .cache/, .next/cache/ |
Normalmente sí |
| Datos de usuario | uploads/, data/, notes/ |
Por defecto no |
| Secretos locales | .env, *.key, secrets/ |
No leer ni modificar |
Notas útiles:
|
|
Paso 8: saber recuperar
Si algo se borra, detén cambios amplios.
Archivos trackeados:
|
|
Desde historial:
|
|
Si era untracked, revisa:
- historial local del editor;
- Papelera de Windows;
- historial de OneDrive, Dropbox o Syncthing;
- snapshots o backups;
- herramientas de recuperación;
- historial de conversación con IA.
Por eso importa hacer commit o git stash push -u antes de cambios grandes.
Paso 9: exigir diff antes de borrar
Antes del borrado:
|
|
La IA debe explicar:
- qué se borrará;
- qué se moverá;
- qué solo se modificará;
- qué está sin trackear;
- cómo recuperar.
Cuidado con:
|
|
D es borrado de archivo trackeado. ?? es untracked y Git no lo restaura automáticamente.
Después de los cambios, revisa otra vez:
|
|
Notas por herramienta
Codex
- Revisar
git statusal inicio. - Prohibir explícitamente borrar untracked.
- Pedir plan antes de cambios grandes.
- Detenerse antes de
Remove-Item,rm -rf,git clean,git reset. - Informar archivos realmente cambiados.
Claude Code
- Escribir reglas en
CLAUDE.md. - Usar subagents read-only para review.
- Evitar hooks destructivos automáticos.
- Marcar comandos que requieren confirmación humana.
Cursor / IDE
- No aceptar borrados masivos de una vez.
- Mirar cambios del árbol de archivos.
- Confirmar archivos borrados uno por uno.
- Para proyectos importantes, confiar en Git más que en undo del IDE.
Plantilla segura
Para limpieza, refactor o migración:
|
|
Para ejecutar:
|
|
Cierre
AI Coding no significa no borrar nunca. Los proyectos necesitan limpiar componentes viejos, scripts obsoletos, recursos duplicados, docs caducados y caches.
La clave es que el borrado tenga evidencia, lista, confirmación, verificación y recuperación. Git, commits pequeños, revisión read-only, confirmación de permisos, reglas de proyecto y backups convierten el borrado accidental de desastre a incidente recuperable.
Si tu AI Agent ejecuta tareas largas, registra estado, alcance de cambios y punto de recuperación en cada fase. Así reduces el riesgo de repetir comandos peligrosos tras una interrupción. Ver: /es/2026/07/10/ai-agent-long-task-resume-guide/.