#!/usr/bin/env bash
# Minka — genera un artefacto desplegable para Namecheap Stellar (sin Composer ni SSH en servidor).
# ESTADO: NO VERIFICADO (requiere el proyecto Laravel ya creado). Ejecutar desde la raíz del proyecto.
set -euo pipefail

VERSION="${1:-$(date +%Y%m%d%H%M)}"
OUT="build/minka-$VERSION"
rm -rf "$OUT" && mkdir -p "$OUT"

composer install --no-dev --optimize-autoloader --no-interaction
[ -f package.json ] && npm ci && npm run build

# Copiar todo salvo lo que NO debe viajar
rsync -a \
  --exclude '.git' --exclude '.github' --exclude 'build' --exclude 'node_modules' \
  --exclude 'tests' --exclude '.env' --exclude 'storage/logs/*' --exclude 'docs/brand/preview.template.html' \
  ./ "$OUT"/

# Reportar inodos del artefacto (límite de cuenta Stellar: 300.000)
echo "Archivos en el artefacto: $(find "$OUT" -type f | wc -l)"
( cd build && zip -qr "minka-$VERSION.zip" "minka-$VERSION" )
echo "Artefacto: build/minka-$VERSION.zip"
echo "Recordatorio: subir FUERA de public_html, apuntar el document root a <app>/public y NO incluir .env."
