# SPEC.md — F-037 Seed Data

## 1. Problem

La base de datos está vacía — todas las tablas tienen 0 filas. El frontend no muestra productos, categorías ni marcas.

## 2. Goal

Un script de seed `project/scripts/seed.js` que populate la DB con datos realistas de prueba para poder desarrollar y ver el frontend funcionando.

## 3. Non-Goals

- No es un script de producción
- No limpia datos existentes (append, no truncate)
- No genera datos fake masivos (faker)

## 4. Datos a seedear

### Categorías
| name | slug | parent |
|---|---|---|
| Alimentación | alimentacion | null |
| Suplementos | suplementos | null |
| Cosmética Natural | cosmetica-natural | null |
| Limpieza Ecológica | limpieza-ecologica | null |
| Frutos Secos | frutos-secos | alimentacion |
| Aceites | aceites | alimentacion |
| Hierbas e Infusiones | hierbas-infusiones | alimentacion |
| Vitaminas | vitaminas | suplementos |
| Proteínas | proteínas | suplementos |
| Cremas | cremas | cosmetica-natural |
| Jabones | jabones | cosmetica-natural |

### Marcas
| name | slug |
|---|---|
| EcoVida | ecovida |
| NaturGreen | naturgreen |
| BioSana | biosana |
| VerdePura | verdapura |
| TierraNatural | tierranatural |
| SolNatural | solnatural |

### Productos (variantes con precios)
12 productos (2 por categoría), 1 variante cada uno con precio.

### Shipping zones + methods
1 zona España, 1 método estándar (5€).

## 5. Aceptación

- [ ] `node scripts/seed.js` inserta filas en todas las tablas
- [ ] Categorías aparecen en `/categories/tree`
- [ ] Productos aparecen en `/products/search`
- [ ] Marcas aparecen en `/brands`
- [ ] Shipping disponible para checkout
- [ ] No duplica datos si se corre dos veces ( upsert / ON CONFLICT)
