Docs
Inicio rápido
En un proyecto compilado, ejecuta un comando. No necesitas cuenta: el sitio dura 6 horas, salvo que inicies sesión y lo reclames.
npx lobsite
La carpeta es el argumento, dir en lobsite.toml, o la primera que exista de dist/, build/, out/, _site/, public/. Solo se suben los archivos cambiados.
Agentes de IA
Los agentes de programación (Claude Code, Cursor, Codex y otros) despliegan con el mismo comando. Bajo un agente, la CLI nunca hace preguntas, y su salida termina con una línea «Tell the user:» con la URL y, para un sitio sin cuenta, el enlace para reclamarlo y conservarlo.
npx -y lobsite --yes
También hay un servidor MCP para agentes de programación, uno remoto para ChatGPT y Claude.ai, y un comando curl para sandbox sin Node. Configura tu agente.
Arrastrar y soltar
Inicia sesión y suelta una carpeta o un zip en cualquier parte del panel. Antes de subir nada se hacen las mismas comprobaciones; los archivos secretos siempre se dejan fuera.
lobsite.toml
site = "quiet-fox-4821"
dir = "dist"
spa = false # true: paths that aren't files open index.html
[[redirects]]
from = "/blog/:slug"
to = "/posts/:slug"
status = 301 # 301 | 302 | 307 | 308
[[headers]]
for = "/assets/*"
[headers.values]
Cache-Control = "public, max-age=31536000, immutable"
[forms.contact]
required = ["email", "message"]
redirect = "/thanks"
Las claves desconocidas son un error, con una sugerencia de la clave válida más parecida. La configuración viaja con cada deploy, así que un rollback la restaura.
Aplicaciones de una sola página
Las apps con enrutado del lado del cliente, como React Router, Vue Router o TanStack Router, tienen un único index.html y dibujan cada página en el navegador. Abrir /dashboard/settings directamente, o recargarla, pide al servidor un archivo que no existe. El modo de una sola página responde a esas rutas con tu index.html, y el router de la app toma el control. Hay tres formas de activarlo:
spa = trueenlobsite.toml. Viaja con cada deploy, así que un rollback lo restaura. Necesita lobsite 0.1.8 o posterior; las versiones antiguas se detienen con «Unknown key».- Aplicación de una sola página en los ajustes del sitio, en el panel. Es la opción para sitios que subes arrastrando, ya que una carpeta soltada no envía
lobsite.toml. Es un ajuste del sitio, así que se mantiene igual entre deploys y rollbacks. - Un
200.htmlen la raíz del sitio. Se sirve en lugar deindex.htmly funciona con cualquier versión de la CLI y con arrastrar y soltar. Así lo hace Surge.
Con Vite (React, Vue, Svelte o Solid), añade el ajuste y despliega dist/ como siempre:
npm run build
npx lobsite
Solo las peticiones de páginas reciben la app: una ruta cuya última parte no tiene extensión (/dashboard, /users/42), o cualquier petición de un navegador que pide HTML (/users/jane.doe). Un archivo que falta, como /assets/index-3f9a.js, recibe un 404 de verdad. Eso importa justo después de un deploy: un visitante que aún tiene abierta la versión antigua recibe un error claro para el script antiguo, no tu HTML en su lugar.
| El sitio tiene | Una página que falta (/dashboard) |
Un archivo que falta (/old.js) |
|---|---|---|
| nada | «Not found» de Lobsite, 404 | «Not found» de Lobsite, 404 |
404.html |
404.html, 404 |
404.html, 404 |
| modo de una sola página | index.html, 200 |
«Not found» de Lobsite, 404 |
modo de una sola página y 404.html |
index.html, 200 |
404.html, 404 |
200.html (con o sin el ajuste) |
200.html, 200 |
404.html si existe; si no, «Not found», 404 |
Si vienes de Netlify, la regla de _redirects /* /index.html 200 equivale a spa = true; si vienes de Vercel, un rewrite de /(.*) a /index.html es lo mismo.
.lobsiteignore
Los archivos que coinciden con un patrón de .lobsiteignore no se despliegan. La sintaxis es la misma que en .gitignore:
drafts/
*.psd
/notes.txt
!keep.psd
El archivo se lee de la carpeta desplegada y de la raíz del proyecto (junto a lobsite.toml); los patrones del archivo de la raíz son relativos a la raíz. .git, node_modules, .DS_Store y el propio .lobsiteignore siempre se dejan fuera.
Los archivos secretos (.env*, claves privadas como *.pem e id_rsa, .npmrc, .netrc y similares) detienen un deploy hasta que se quitan o se ignoran. En una terminal, la CLI ofrece añadirlos a .lobsiteignore y desplegar sin ellos.
Formularios
<form action="/_lobsite/forms/contact" method="POST">
<input name="email" type="email" required>
<textarea name="message" required></textarea>
<button>Send</button>
</form>
Los formularios se detectan al desplegar. La protección contra spam (un campo trampa, control de tiempo y límites de frecuencia) se añade por ti. Los envíos llegan a la página Envíos de tu panel y a tu correo. Más sobre formularios: ejemplos, envío con JavaScript, frameworks y ajustes.
En el plan gratuito, los formularios funcionan en modo limitado: una cuota mensual por sitio, avisos solo al correo de tu cuenta y sin webhooks. El plan Standard añade webhooks, cualquier dirección de aviso verificada y una cuota mayor.
Dominios propios
Los dominios propios vienen con todas las cuentas, incluida la gratuita. lobsite domain add www.example.com imprime el registro que hay que añadir: un CNAME a cname.lobsite.app. Los certificados se emiten y renuevan por ti. Si otra cuenta también añadió el dominio, un registro TXT demuestra que es tuyo.
Vistas previas y rollback
Cada deploy tiene su propia URL, <id>--<site>.lobsite.app. lobsite deploy --preview no toca producción; lobsite rollback y lobsite promote cambian el deploy publicado sin subir nada.
CLI
lobsite [dir] | Desplegar una carpeta (el comando por defecto) |
lobsite deploy --preview | Subir sin cambiar producción |
lobsite deploys | Listar los deploys guardados |
lobsite rollback [id] | Volver a publicar un deploy anterior |
lobsite promote <id> | Publicar cualquier deploy |
lobsite login / logout / whoami | Tu cuenta |
lobsite claim [site] | Conservar un sitio anónimo |
lobsite account [use <email>|me] | Cambiar a una cuenta de la que eres miembro |
lobsite token create|ls|revoke | Tokens de CI para LOBSITE_TOKEN (Standard) |
lobsite ls / open / rm | Tus sitios |
lobsite domain add|status|rm | Dominios propios |
lobsite forms ls / export <name> --csv | Envíos de formularios |
lobsite mcp | Un servidor MCP para agentes de IA |
Límites
| Anónimo | Free | Standard | |
|---|---|---|---|
| Sitios | Sin tope | 1 | 5 |
| Archivos por sitio | 100 | 100 | 10.000 |
| Por archivo | 5 MB | 5 MB | 100 MB |
| Tamaño del sitio | 50 MB | 50 MB | 2 GB |
| Almacenamiento | — | 1 GB | 20 GB |
| Deploys por hora | 10 | 30 | 100 |
| Deploys al día por sitio | 3 | Sin tope | Sin tope |
| Historial de deploys | Live deploy only | 7 days | 30 days |
| Dominios propios por cuenta | — | 1 | 5 |
| Dominios propios por sitio | — | 1 | 1 |
| Ancho de banda | 1 GB | 10 GB | Unlimited, fair use |
| Envíos de formularios al mes | — | 25 | Unlimited |
| Analítica | — | — | Yes |
| Automatizaciones (Zapier, n8n) | — | — | Yes |
| Insignia «Powered by lobsite!» | Yes | Yes | No |
Bandwidth is per month per account (per site lifetime for anonymous sites). At the limit, free and anonymous sites stop serving until the next month; on Standard there's no cap and sites keep serving: past 1 TB a month, we contact you.