Vforge Live v0.3.0 · corrida real del 30 ago 2026, 8:53 p.m.

La IA que construye tu app ahora también la ve.

Un teléfono y una computadora digitales donde la IA abre tu app, la usa como humano, graba video, detecta los defectos y repite hasta cero. Independiente de cualquier app: una URL + un guión → { passed, findings, reportPath }.

Ojo · escritorio 1440×900 · app con bugsREC
Login y dashboard · 8 pasos15 hallazgos en 20.3s
0
defectos detectados en la app con bugs → BLOQUEAR
0
defectos bloqueantes en la app corregida → PROMOVER · 3 avisos de headers
0
dispositivos virtuales desktop · iphone
20.3s
de la URL al veredicto, con video y screenshots
CORRIDA REAL · GENERADA EN HETZNER v-forge · SMOKE POST-DEPLOY: OK
Los tres pilares

Unas IAs codean pero no ven. Otras ven pero no arreglan. Esta hace las dos.

Así se entregan apps sin crashes, sin layout roto y sin bugs que solo aparecen cuando un usuario real se queja.

01 · Devices

Navegadores reales, perfiles reales

Chromium con perfiles desktop, iphone, pixel e ipad. La IA toca, escribe y navega de verdad, no simula.

02 · Vision

Video, trace y screenshots de cada corrida

Cada paso queda grabado: video, DOM + red + consola, capturas y un snapshot de accesibilidad. Comparador visual contra el mockup aprobado.

03 · Forge Loop

Corre → clasifica → arregla → repite

Cada hallazgo trae severidad, fingerprint para deduplicar y un prompt de fix listo para pegar. El loop no para hasta defectos == 0, con presupuesto de iteraciones.

Gate de entrega · lo que pruebo = lo que entrego

Misma URL, mismo guión. Dos veredictos.

El gate corre contra el build real y bloquea la promoción a producción si hay defectos por encima del umbral. Esto es una corrida real, no un mock.

Bloquear

App con bugs sembrados

8 defecto(s) ≥ high bloquean la promoción (Excepción no capturada (crash de JS); Excepción no capturada (crash de JS); Error de consola…).

2blocker6high5medium2low
  • blocker crash Excepción no capturada (crash de JS) desktop
  • blocker crash Excepción no capturada (crash de JS) iphone
  • high console Error de consola desktop
  • high timeout Elemento nunca apareció (posible spinner infinito / bloqueo) desktop
  • high functional Aserción del escenario falló desktop
  • high console Error de consola iphone
  • high timeout Elemento nunca apareció (posible spinner infinito / bloqueo) iphone
  • high functional Aserción del escenario falló iphone
  • medium asset Imagen/recurso roto (404) desktop
  • medium network Respuesta HTTP 404 desktop
  • medium asset Imagen/recurso roto (404) iphone
  • medium network Respuesta HTTP 404 iphone
Promover

App corregida

Sin defectos ≥ high. Seguro promover a producción.

0bloqueantes3avisos (headers)3.5sduraciónOKsmoke post-deploy
Estado final de la app corregida en escritorio
Cómo se usa

Una URL, un guión, un veredicto.

SDK para meterlo en el flujo de VForge después de generar cada app, o CLI con exit code para CI/CD.

SDK

import { check, deployGate } from "vforge-live";

const result = await check({
  baseUrl: "https://mi-app-preview.vercel.app",
  scenarios: [login],        // scenario-dsl
  failOn: "high",
});

// antes de promover a prod:
const gate = await deployGate({ baseUrl, scenarios });
if (!gate.promote) throw new Error(gate.reason);

CLI · exit code para CI

# contra una URL desplegada
vforge-live check --url https://mi-app.com --scenario flujo.json

# gate estricto: exit 1 = NO promover
vforge-live gate --url https://preview.app --scenario flujo.json \
  --fail-on blocker --bundle

# después del deploy: exit 1 = deploy roto
vforge-live smoke --url https://mi-app.com --expect-text "Bienvenido"