# 🚀 Cómo arrancar Innovium en 5 minutos

> Esta guía te lleva paso a paso desde "carpeta vacía" hasta "Claude Code trabajando en Fase 0".

## Prerequisitos (verificar antes de empezar)

Tienes instalado en tu máquina:

- **PHP 8.2+** → verifica con `php -v`
- **Composer 2+** → verifica con `composer --version`
- **Node 20+** → verifica con `node -v`
- **MySQL 8+ o MariaDB 10.6+** local (puede ser MAMP, XAMPP, Docker, etc.)
- **Git** → verifica con `git --version`
- **Claude Code** instalado y funcionando → verifica con `claude --version`

Si te falta alguno, instálalo primero. Sin estos no podemos arrancar.

---

## Paso 1 · Crear el repo del proyecto

Abre la terminal y ejecuta:

```bash
mkdir innovium-v2
cd innovium-v2
git init
```

---

## Paso 2 · Descomprimir el design-kit acá adentro

El zip `innovium-design-kit.zip` que te pasé tiene la carpeta `design-kit/` dentro. Descomprimirla en la raíz del proyecto:

```bash
# Asumiendo que el zip está en ~/Downloads
unzip ~/Downloads/innovium-design-kit.zip -d .

# Verifica que quedó así:
ls
# Debería mostrar: design-kit/
```

---

## Paso 3 · Copiar los archivos de Fase 0

Yo te dejo en este zip (`innovium-fase0.zip`) cinco archivos extra que van en la raíz del proyecto:

```bash
unzip ~/Downloads/innovium-fase0.zip -d .

# Verifica:
ls -la
# Debería mostrar (entre otros):
# CLAUDE.md
# .env.example
# .gitignore
# PROMPT_FASE0.md
# docs/ARQUITECTURA.md
# design-kit/  (del paso anterior)
```

---

## Paso 4 · Abrir Claude Code

En la raíz del proyecto:

```bash
claude
```

(o `claude code` según tu instalación)

---

## Paso 5 · Pegar el prompt de Fase 0

1. Abre `PROMPT_FASE0.md` en cualquier editor.
2. Copia **todo el contenido desde la línea `---` hasta el final del archivo**.
3. Pégalo como tu primer mensaje en Claude Code.

Claude Code va a:

1. Leer `CLAUDE.md` y `docs/ARQUITECTURA.md` (que copiaste).
2. Leer todo el `design-kit/` (mockups incluidos).
3. Pedirte confirmar 4 puntos antes de empezar a tocar archivos.
4. Después de tu confirmación, ejecutar las 10 tareas de Fase 0 una por una.

---

## ¿Y después de Fase 0?

Cuando Claude Code termine y tú valides que la welcome page se ve bien (wordmark Innovium con gradient sobre dark mode con mesh), haces commit y volvemos acá a planificar Fase 1.

**Fase 1 es donde se pone interesante:** TenantResolver, BD maestra, primer tenant de prueba, Storage gateway con R2.

---

## Si algo no funciona

- **`composer install` falla** → verifica versión PHP. Innovium requiere 8.2 mínimo.
- **`npm run build` falla** → verifica versión Node 20+. Borra `node_modules/` y reinstala.
- **Welcome page se ve sin estilos** → verifica que `public/assets/css/app.css` existe y tiene contenido. Si está vacío, `npm run build` no corrió bien.
- **Claude Code no encuentra archivos** → asegúrate de estar parado en la raíz del proyecto (`pwd` debe mostrar `.../innovium-v2`).
- **Errores raros que no entiendes** → pega el error en Claude Code y pregunta. No improvises.

---

## Estado del proyecto al final de Fase 0

```
innovium-v2/
├── app/
│   ├── Core/           ← clases mínimas (Router, Container, Request, etc.)
│   ├── Controllers/
│   ├── Models/
│   └── Views/          ← welcome.php
├── public/
│   ├── index.php       ← front controller
│   └── assets/css/app.css  ← Tailwind compilado
├── resources/
│   ├── css/input.css
│   └── js/
├── database/migrations/
│   ├── master/
│   └── tenant/
├── design-kit/         ← inmutable, source of truth visual
├── docs/
│   ├── ARQUITECTURA.md
│   └── ...
├── scripts/innovium    ← CLI ejecutable
├── storage/
├── tests/
├── vendor/             ← gitignored
├── node_modules/       ← gitignored
├── .env                ← gitignored
├── .env.example
├── .gitignore
├── CLAUDE.md
├── README.md
├── composer.json
├── package.json
├── tailwind.config.js
├── postcss.config.js
└── bootstrap.php
```

`http://localhost:8000` → muestra Innovium welcome page en dark mode con mesh gradient. Todo funciona.

---

¿Listo? Vamos. Cualquier duda, vuelves acá. 💜

— Vene
