Cursor es el caso raro de esta lista: no hay botón de descarga porque el proyecto ya está en tu disco, en la carpeta que abriste. Lo que hay que resolver no es cómo sacarlo, sino qué parte de él es tu sitio.
La trampa: publicar src/
Es el error que más se repite. Dentro de tu proyecto hay una carpeta src/ con tus componentes, y se ve como si fuera el sitio — están ahí los textos, los colores, todo lo que reconoces. No es tu sitio: es la receta.
Un navegador no entiende .jsx ni .tsx. Lo que entiende es el resultado de construir ese código: HTML, CSS y JavaScript planos, que aparecen en una carpeta distinta —normalmente dist/ o build/— y sólo después de correr el build.
src/— tu código fuente. No se publica.dist/obuild/— el resultado construido. Eso es tu sitio.- Si nunca corriste el build, esa carpeta no existe todavía, y por eso no la encuentras.
Dos caminos, y uno es más corto
Puedes construirlo tú (npm install, luego npm run build) y publicar lo que salga en dist. O puedes subir la carpeta del proyecto completa y dejar que la plataforma detecte el stack y haga el build por ti. Lo segundo evita el paso donde más gente se atora: la versión de Node, las dependencias que faltan, el comando que no era.
No subas node_modules
Si vas a comprimir la carpeta a mano, saca node_modules antes: son decenas de miles de archivos que se reinstalan solos en el build y que sólo sirven para que la subida tarde diez minutos en vez de diez segundos. Tu package.json ya dice qué necesita el proyecto.
Y revisa el .env
Los proyectos que crecen en un editor local casi siempre tienen un archivo .env con llaves adentro — de la base de datos, de un servicio de correo, de la API que estabas probando. Ese archivo vive junto al código, así que si subes la carpeta completa, sube con ella.
Hay una diferencia importante entre que ese archivo esté en tu proyecto y que termine descargable desde tu sitio publicado: lo primero es normal, lo segundo es que cualquiera puede leerlo ahora mismo. FluentOps revisa las dos cosas en cada deploy y las marca con severidad distinta, en todos los planes.
Publicarlo
- Deja la carpeta del proyecto como está (sin
node_modules). - Arrástrala a FluentOps. Detecta si es Vite, React o HTML plano.
- Se instalan las dependencias y se construye — sin que corras nada.
- Recibe tu URL pública con SSL.
Si el proyecto que abriste en Cursor vino de otra herramienta, mira también la guía de las seis herramientas: lo que te entregó cada una cambia lo que tienes en el disco.