Saltar al contenido
supastack
Explorar la documentación
WebNext.js

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /es/docs/web/updating-the-kit.md (or send Accept: text/markdown).

Actualiza tu copia cuando el kit mejore

Trae las mejoras del repositorio de origen a tu copia — anota tu punto de partida, descarga la nueva revisión, fusiónala en una rama y verifica antes de desplegar.

1. Anota desde dónde partiste

Trata una actualización como un pequeño proyecto, no como un pegado: comparas la revisión del kit que tienes con la más nueva, trasladas los cambios y pruebas en una rama antes de desplegar. Esto funciona tanto si tu proyecto es un fork de un repositorio del kit — una copia que GitHub mantiene conectada al origen — como si es código que copiaste a tu propia aplicación.

Antes que nada, escribe una nota en tu proyecto con tres cosas: el commit del kit desde el que partiste — el SHA, el código corto de Git que identifica una versión exacta — el repositorio que recibiste (supastack-web, supastack-mobile, supastack-desktop o el monorepo All Platforms) y los cambios que ya hiciste por tu cuenta.

Los repositorios del kit y el monorepo tienen historiales distintos, así que nunca fusiones una rama de uno en un fork del otro. Si nunca anotaste un SHA de partida, encuentra la versión compartida más cercana con git merge-base en un fork, o identifica los últimos archivos y pruebas que copiaste en una adopción selectiva — y revisa un diff más amplio cuando la base exacta sea incierta.

2. Descarga y fusiona la nueva revisión

Ejecuta los comandos de abajo en una terminal dentro de la carpeta de tu proyecto, con tu trabajo guardado y confirmado — un árbol de trabajo limpio, para que nada a medias se mezcle en la fusión. Las palabras entre corchetes angulares son plantillas de reemplazo: sustituye tus propios valores en lugar de todo el <thing>. La dirección de GitHub mostrada es un marcador; usa la dirección del repositorio del que hiciste fork.

Qué hace cada línea: git remote add le enseña a tu copia una segunda dirección llamada kit-upstream — el repositorio del kit — y git fetch descarga su estado más reciente sin tocar tus archivos. git switch -c crea una rama de actualización separada para que tu rama principal quede intacta mientras revisas. git log lista los commits que estás a punto de traer y git diff --stat resume qué archivos cambiaron; lee el diff completo de los módulos que usas, no solo los títulos de los commits. git merge trae el código nuevo a la rama de actualización.

Si Git informa de que el remoto kit-upstream ya existe, salta la línea remote add y continúa con git fetch. <previous-kit-sha> es el SHA de partida que anotaste en el paso 1.

# Upstream is the platform repository you forked — substitute its real URL
# (supastack-web shown; use supastack-mobile or supastack-desktop as fits).
git remote add kit-upstream https://github.com/<org>/supastack-web.git
git fetch kit-upstream
git switch -c upgrade/kit-update
git log --oneline <previous-kit-sha>..kit-upstream/main
git diff --stat <previous-kit-sha>..kit-upstream/main
git merge kit-upstream/main

3. Resuelve conflictos sin perder tu trabajo

Un conflicto significa que ambos lados cambiaron las mismas líneas: el kit avanzó y tú personalizaste el mismo lugar. Git pausa la fusión y marca el archivo — te está pidiendo elegir, no informando de un daño.

Abre cada archivo marcado en tu editor y decide línea a línea: conserva los textos, nombres y ajustes propios de tu producto, y toma las correcciones y los cambios estructurales del kit. Nunca resuelvas un conflicto reemplazando un archivo que personalizaste con la versión nueva completa del kit — eso borra tu trabajo. Resuelve dentro de la rama de actualización y ejecuta las pruebas de cada área resuelta antes de continuar.

Si la fusión sale mal, git merge --abort devuelve la rama a su estado anterior a la fusión. Nada de este flujo cambia tu rama principal ni tu despliegue hasta que tú mismo fusiones la rama de actualización.

4. Actualiza datos y despliega en el orden correcto

Las nuevas revisiones del kit pueden cambiar la base de datos. Lee los archivos nuevos en packages/db/drizzle/ — la carpeta de migraciones — y haz una copia de seguridad de los datos de producción antes de aplicar migraciones; pruébalas primero contra una copia desechable. Despliega los cambios de esquema compatibles antes que el código que los necesita: si una migración elimina o remodela datos, revertir solo el código de la aplicación no puede restaurar el esquema anterior.

Compara el nuevo .env.example con tus propios ajustes y añade los valores recién requeridos en el panel de tu hosting. Los archivos .env llevan secretos y nunca se confirman en Git — los recreas a mano en cada máquina y despliegue, y se mantienen fuera de los valores NEXT_PUBLIC_ y EXPO_PUBLIC_.

Antes de desplegar, ejecuta las propias verificaciones del kit. En el monorepo All Platforms, corepack pnpm check:local corre lint, typecheck, las pruebas unitarias y una comprobación de formato sin credenciales de pago; corepack pnpm verify:local añade la build de producción y las suites de pruebas de navegador. En un fork de una sola superficie, ejecuta los comandos de prueba y build propios de ese repositorio. Después haz una pasada de humo en staging: inicia sesión, prueba un segundo workspace y recorre el flujo principal de tu producto.

Cuando todo pase, anota el SHA de destino aceptado y los conflictos que resolviste — esa nota es la base de partida para la próxima actualización.

corepack pnpm check:local
# fuller gate: adds the production build and browser suites
corepack pnpm verify:local

5. Si copiaste piezas en lugar de hacer fork

Una adopción selectiva — copiar módulos del kit en una aplicación existente — no comparte historial de Git con el kit, así que git merge no puede ayudar. Compara en su lugar el SHA de origen antiguo con el SHA de origen de destino, y traslada solo los cambios que tocan tu parte adoptada.

Revisa como una sola unidad los tipos públicos del módulo, el esquema de persistencia y las migraciones, el llamador del servidor, la configuración, las pruebas y la documentación — un cambio dentro de un paquete puede requerir una ruta o un cambio de entorno correspondiente en otro lugar, y copiar un solo helper puede dejar el resto en un contrato desactualizado. Guarda una nota breve de adaptación — qué archivos del kit tomaste, cuáles saltaste, qué cambiaste — para que la próxima actualización pueda repetir tus decisiones.

Si una actualización rompe algo en tu copia en ejecución, recorre la guía de solución de problemas antes de deshacer tus propios cambios.

Preguntas frecuentes

14 preguntas

¿Qué es supastack?

supastack es una base modular para construir productos SaaS con IA. Reúne la infraestructura común para que puedas centrarte en las funciones propias de tu producto.

¿Soporta web y móvil?

Sí. supastack incluye apps Next.js y Expo como puntos de partida para experiencias web y móviles.

¿Qué autenticación incluye?

Better Auth cubre correo/contraseña, OTP e inicio social. Los espacios de trabajo personales se aprovisionan con la cuenta para que los registros permanezcan delimitados desde el primer día.

¿Cómo se soporta la IA?

supastack incluye IA multi-proveedor configurable, seguimiento de uso, presupuestos y soporte cifrado de claves propias (BYOK).

¿Cómo se gestionan las suscripciones?

Para productos construidos sobre el kit, la facturación Stripe, las suscripciones y los permisos forman la base del acceso de pago. Los secretos de proveedor permanecen en el servidor.

¿Dónde vive el código propio de mi producto?

Las funciones propias del producto permanecen en un codebase separado, mientras el producto configura e integra los módulos base de supastack.

¿Cómo funciona el precio de supastack?

El kit es una compra única con actualizaciones de por vida: Un framework a 249 $ (precio de lanzamiento temporal — 100 $ de descuento sobre el precio habitual de 349 $) o Todos los frameworks (Next.js, iOS, Android) a 499 $ (precio de lanzamiento temporal — 100 $ de descuento sobre el precio habitual de 599 $), más 75 $ por plaza de desarrollador adicional. Sin suscripción al kit. El pago en este sitio entrega tu clave de licencia por correo, con acceso al repositorio por invitación de GitHub.

¿Cómo delimitan los espacios de trabajo mis datos?

Los registros del usuario se delimitan por workspaceId. Identidad, permisos, uso de IA, eventos de facturación y entradas de auditoría permanecen dentro del límite del espacio personal.

¿Cómo funcionan los jobs en segundo plano?

Trigger.dev es el runtime de jobs explícito. El contrato JobRunner solo promete enqueue, status y cancel — la semántica de workflow sigue siendo específica y explícita de Trigger.dev.

¿En qué se diferencia el email de la divulgación?

El email transaccional cubre flujos de producto como avisos de finalización de tareas. La divulgación en frío y las campañas pertenecen al producto, fuera del módulo de email de este kit.

¿Cómo funcionan las compras móviles?

La app móvil incluye compras nativas y restauración con RevenueCat, con acceso verificado por tu servidor. Configura las cuentas de las tiendas y completa las pruebas en dispositivos antes de publicar. La facturación web es independiente.

¿Dónde residen las claves de los proveedores de IA?

Las credenciales BYOK están cifradas y permanecen en el servidor. Las claves se saneen en los logs; el uso y los presupuestos siguen visibles a nivel de espacio de trabajo.

¿Qué métodos de pago acepta el checkout?

El checkout alojado en Stripe acepta tarjetas y, una vez activadas las billeteras en la cuenta de Stripe, también puede ofrecer Alipay y WeChat Pay — muy útil para compradores en China. Las autorizaciones de billetera se confirman de forma asíncrona, por lo que la página de la licencia se actualiza en cuanto se liquida el pago.

¿Puedo obtener un reembolso?

Una vez que tienes acceso al repositorio, supastack es tuyo para siempre, por lo que no se puede reembolsar. Pero no te preocupes: obtienes el código fuente completo con actualizaciones de por vida para crear y lanzar productos ilimitados para ti o tus clientes. Solo no puedes revender el código ni redistribuir el repositorio como plantilla o starter kit.

ES
Tema