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 }.
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.
Navegadores reales, perfiles reales
Chromium con perfiles desktop, iphone, pixel e ipad. La IA toca, escribe y navega de verdad, no simula.
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.
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.
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.
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…).
- 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
App corregida
Sin defectos ≥ high. Seguro promover a producción.
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"
