
Packaging a Cursor AI codebase so the converter detects it correctly
Any (React, Next.js, Vue, static)
Cursor projects are ordinary local codebases, which makes them one of the most reliable inputs — as long as the project builds.
Quick answer
Cursor works on a normal local project folder — zip the project (without node_modules) or push it to GitHub and paste the repository URL.
Where do I find the ZIP?
- Open the project folder Cursor is editing on your machine
- Delete or exclude node_modules, .next, dist and .git if you want a smaller upload
- Right-click the folder → Compress / Send to → ZIP
- Or run git push and paste the GitHub repository URL into the converter
What your upload should contain
package.jsonSource folder (src/, app/ or pages/)Framework config filepublic/ assets
Cursor AI troubleshooting
Conversion detects the wrong framework
Keep the framework config file (vite.config, next.config, astro.config) in the ZIP root — detection relies on it.
The ZIP is too large
Exclude node_modules, .git and build caches. A source project is normally under 20 MB.
Monorepo confuses the builder
Zip only the web application package, not the whole workspace.

Best practices before exporting
- Run the production build locally before exporting
- Commit everything so the ZIP or repository matches your working copy
- Delete node_modules, .next, .cache and .git from the ZIP
- Document the build command in package.json scripts
How to export
Method 1 — GitHub repository (best result)
- Push the project to GitHub
- Make the repository public or provide access
- Paste the repository URL into the converter
Method 2 — ZIP the project folder
- Delete node_modules and build caches
- Zip the project root (package.json at the top level)
- Upload the ZIP
Method 3 — Build output
- Run the build command
- Zip dist/, build/ or out/
- Upload for a one-to-one static conversion
Accepted input
- ZIP archive
- GitHub repository
- Static export
- Source project
- Build output
Not recommended
- Old build folders from a previous version of the project
- Incomplete exports that are missing package.json or index.html
- Screenshots, Figma files, PSD files or design mockups
- node_modules — always exclude it, it makes uploads slow and adds nothing
Supported features
- React, Vue, Astro, static HTML
- Client routing
- Tailwind and CSS modules
- Static assets
- SEO meta
Unsupported features
- Server-side rendering at runtime
- API routes
- Database connections
Common mistakes
- Zipping a folder that contains node_modules (hundreds of megabytes)
- Nesting the project several folders deep inside the ZIP
- Forgetting to include public/ assets
Conversion tips
- Add a routes manifest or sitemap so every page is discovered
- Keep the build deterministic — no interactive prompts
Readiness checklist
- Navigation — Use real anchor links with readable labels. Menus built purely from JavaScript state are harder to map to WordPress menu locations.
- Images — Reference images from your project folder (imports or /public). Images loaded from a temporary preview host may not be reachable at conversion time.
- Assets — Fonts, icons and CSS should live inside the project. Locally hosted assets are copied into the theme automatically.
- Forms — Standard form markup is converted to Contact Form 7 or WPForms. Custom JavaScript submit handlers are replaced by the WordPress form handler.
- Routing — Every route you want as a WordPress page must be reachable from the navigation, a sitemap or a route manifest.
- Animations — CSS animations and common libraries survive. Heavy scroll-timeline or canvas effects may render differently in WordPress.
- SEO — Titles, meta descriptions and canonical tags are extracted per page and mapped into the theme and your SEO plugin.
- Responsive — Breakpoints are preserved as-is. Check mobile before exporting — the converter never fixes a layout that was already broken.
Cursor AI FAQ
Can I upload source code?
Yes. Source projects give the best fidelity because we build and render them in a sandbox.
Which export gives the best result?
A GitHub repository, because it always reflects your latest committed state.
Does Cursor have an export button?
No. Cursor edits local files, so you zip the folder yourself or push to GitHub.
Should I include .env?
No. Never upload secrets. Placeholder values are used for the build.
Can I convert a Cursor-built Next.js app?
Yes. Next.js App and Pages Router projects are both supported via static rendering.
Do I need to install anything to convert a Cursor project?
No. Everything runs server-side. You upload a ZIP or paste a repository URL and receive a WordPress theme ZIP plus a live preview in the browser.
Should I remove node_modules before uploading?
Yes, always. node_modules is reinstalled during conversion, so including it only makes the upload slow and can push you over the size limit.
Can I preview the result before paying?
Yes. The WordPress preview is free for every conversion. Payment is only required when you download the theme ZIP.
What happens to my forms?
Standard HTML form markup is mapped to Contact Form 7 or WPForms shortcodes. Custom JavaScript submit handlers are replaced by the WordPress form handler.
Will my SEO titles and meta descriptions survive?
Yes. Titles, meta descriptions and canonical tags are extracted per page and written into the theme templates so your SEO plugin can take over.