← Blog
2026-08-235 min read

How to publish a project built in Cursor

Cursor is the odd one on this list: there is no download button because the project is already on your disk, in the folder you opened. What you have to work out is not how to get it out, but which part of it is your site.

The trap: publishing src/

This is the most repeated mistake. Inside your project there is a src/ folder with your components, and it looks like the site — the copy is there, the colors, everything you recognize. It is not your site: it is the recipe.

A browser does not understand .jsx or .tsx. What it understands is the result of building that code: plain HTML, CSS and JavaScript, which show up in a different folder — usually dist/ or build/ — and only after you run the build.

  • src/ — your source code. Not published.
  • dist/ or build/ — the built result. That is your site.
  • If you never ran the build, that folder does not exist yet, which is why you cannot find it.

Two routes, one shorter

You can build it yourself (npm install, then npm run build) and publish whatever lands in dist. Or you can upload the whole project folder and let the platform detect the stack and build it for you. The second one skips the step where most people get stuck: the Node version, the missing dependency, the wrong command.

Do not upload node_modules

If you are zipping the folder by hand, take node_modules out first: it is tens of thousands of files that get reinstalled during the build anyway, and all they do is turn a ten-second upload into a ten-minute one. Your package.json already says what the project needs.

And check the .env

Projects that grow in a local editor almost always have a .env file with keys inside — the database, a mail service, the API you were testing. That file sits next to the code, so if you upload the whole folder, it goes up with it.

There is an important difference between that file being in your project and it ending up downloadable from your published site: the first is normal, the second means anyone can read it right now. FluentOps checks both on every deploy and flags them at different severity, on every plan.

Publishing it

  1. Leave the project folder as it is (minus node_modules).
  2. Drag it into FluentOps. It detects whether it is Vite, React or plain HTML.
  3. Dependencies get installed and the project gets built — without you running anything.
  4. Get your public URL with SSL.

If the project you opened in Cursor came from another tool, read the guide to all six tools too: what each one handed you changes what is sitting on your disk.

Publish your project free →

Try it with your own project.

Drag your folder or paste your repo. We detect your stack, build it and hand you a public URL — free, no card, and your site is never paused.

Start free
Read next
How to add a form to a static site without a backend