How to Deploy a Cursor-Built Website on EZLaunch
Cursor is an editor, so the website you built with it is already a folder on your computer. Deploying is one of two moves: if it is plain HTML, run ezlaunch deploy in the folder or drag a ZIP onto the EZLaunch dashboard. If it is a Vite, Astro, or Next.js project, build it first and deploy the output folder. Custom domain, SSL, forms, and analytics are included on every plan.
Figure out which kind of project you have
- Plain HTML:
index.htmlsits at the top of the folder and there is nopackage.json. Deploy the folder as is. - Framework project: there is a
package.jsonwith abuildscript and asrcfolder. Build first, deploy the output (distfor Vite and Astro,outfor Next.js static export). - App with a server (API routes, a database, Express): EZLaunch hosts the front end only. Ask Cursor to split the site into a static front end, or host the server elsewhere.
For new sites, tell Cursor's agent up front: "Build this as a static site: plain HTML, CSS, and JavaScript, index.html at the root, no build tools." You get a folder that deploys anywhere in seconds and never needs a build step.
Option 1: Deploy from Cursor's terminal
Open Cursor's built-in terminal (Ctrl+` or Cmd+`) in the project and run:
npm install -g ezlaunch
ezlaunch login
ezlaunch deploy
For framework projects run npm run build first and cd into the output folder before ezlaunch deploy. The CLI prints the live URL. Run it again after every change.
Option 2: ZIP and drag
Zip the contents of the site folder so index.html is at the top level of the ZIP, then drag it onto New site at app.ezlaunch.app. Leave out node_modules, .git, .env, and .cursor; everything you upload is served publicly. Free plan limit is 50 MB, which is plenty for any site without video.
Option 3: Connect the GitHub repo
If the project is a plain HTML site in a public GitHub repository, EZLaunch can pull it directly: choose GitHub when creating the site, give it the repo URL and branch. After you push changes, click Redeploy in the dashboard. This route copies files as they are, so it suits plain HTML sites, not projects that need a build.
The routing gotcha
React apps built with React Router use browser-history URLs like /pricing that only exist inside the running JavaScript. On a static host, opening or refreshing that URL directly asks the server for a file named pricing, and EZLaunch, like most static hosts, returns 404 rather than falling back to index.html. Before you build, ask the tool to switch to HashRouter (URLs become /#/pricing and always work), or keep the site to a single route.
Custom domain and forms
Domain: in the site's Settings → Custom Domain enter your domain, add an A record at your DNS provider pointing to 87.99.143.176, click Check DNS. A Let's Encrypt certificate is issued automatically, usually within two minutes.
Forms: add data-ezlaunch name="contact" to any <form> tag and redeploy. EZLaunch injects the endpoint, filters spam with a honeypot, and shows submissions in the dashboard on paid plans.
A clean Cursor workflow
Keep a .cursorrules or project rule that says the site is static and must keep index.html at the root. Ask Cursor for changes, preview with a local server or by opening the file, commit, and run ezlaunch deploy. For agencies, each client site is its own folder and its own EZLaunch site on its own domain. The prompt library has ready prompts for landing pages, SEO passes, and forms.
Common questions
Cursor made a Vite React app. Do I upload the src folder?
No. Run npm run build and upload the contents of dist.
Fonts or images are broken after deploy.
Check for absolute paths that pointed at your local machine, and make sure the ZIP has index.html at the top level rather than inside a folder.
Can I deploy a subfolder of a bigger repo?
Yes: cd into it and run ezlaunch deploy, or zip just that folder's contents.
More deploy guides
Overview of every option: Deploying sites built by ChatGPT, Claude, Bolt, Lovable, and Replit.
EZLaunch is a product I build. Menu names and features in Cursor change; check its documentation for current specifics.