# 📋 Resumen: Archivos Protegidos Durante Actualizaciones

**Versión:** 1.0  
**Fecha:** Diciembre 2024

---

## 🎯 Objetivo

Identificar y proteger archivos específicos del proyecto que NO deben sobrescribirse durante actualizaciones desde el template (cd-system).

---

## 📁 Lista Rápida de Archivos Protegidos

### ✅ Configuración
- `config/site.php` - Identidad completa del proyecto
- `config/cd-system.php` - Configuración del sistema (puede tener personalizaciones)

### ✅ Assets / Identidad Visual
- `public/cd-project/img/logos/` - Logos del proyecto
- `public/cd-project/img/favicon/` - Favicons del proyecto
- `public/cd-project/assets/` - Assets temporales/backup
- `public/cd-project/img/meta-tags/` - Imágenes OG/Twitter
- `public/cd-project/img/about/` - Imágenes de about
- `public/cd-project/img/banner/` - Banners del proyecto
- `public/cd-project/img/blog/` - Imágenes de blog del proyecto
- `public/cd-project/img/contact/` - Imágenes de contacto
- `public/cd-project/img/homepage/` - Imágenes de homepage
- `public/cd-project/img/portfolio-logos/` - Logos de portfolio
- `public/cd-project/img/products/` - Imágenes de productos
- `public/cd-project/img/testimonials/` - Testimonios

### ✅ Datos del Proyecto
- `database/seeders/project-data/` - Todos los JSON con datos del proyecto

### ✅ Entorno
- `.env` - Variables de entorno (normalmente en .gitignore)

### ✅ Storage y Cache
- `storage/` - Archivos subidos y logs (normalmente en .gitignore)
- `bootstrap/cache/` - Cache de Laravel (normalmente en .gitignore)

### ✅ Personalizaciones
- `scripts/project-specific/` - Scripts específicos
- `docs/project-specific/` - Documentación específica

---

## ⚠️ Archivos que NO se Protegen

- `public/cd-project/img/demos/` - Imágenes de demos (son del template)
- `public/template/` - Todo el template (debe actualizarse)
- `resources/views/` - Vistas del template (deben actualizarse)
- `app/` - Código de la aplicación (debe actualizarse)
- `config/` (excepto site.php y cd-system.php) - Otras configuraciones del sistema

---

## 🚀 Uso Rápido

### Método 1: Git (Recomendado)

1. **Copiar `.gitattributes.example` a `.gitattributes`** en el proyecto
2. **Ajustar según necesidad** (descomentar líneas si aplican)
3. **Commitear y pushear**:
```bash
git add .gitattributes
git commit -m "chore: Configurar protecciones de archivos"
git push origin cd-system
```

4. **Hacer pull** (las protecciones funcionan automáticamente):
```bash
git pull origin cd-system
```

### Método 2: Manual (Temporal)

1. **Crear backup**:
```bash
./scripts/backup-protected-files.sh
```

2. **Hacer pull**:
```bash
git pull origin cd-system
```

3. **Restaurar archivos**:
```bash
./scripts/restore-protected-files.sh
```

---

## 📚 Documentación Completa

Ver `docs/ARCHIVOS-PROTEGIDOS-ACTUALIZACIONES.md` para:
- Explicación detallada de cada archivo
- Configuración completa de `.gitattributes`
- Procesos paso a paso
- Troubleshooting
- Checklist completo

---

**Última actualización:** Diciembre 2024
