Import an existing app from GitHub, a .zip or Lovable
In shortOn Projects, open Import and choose GitHub, A .zip or Lovable. MonstarX checks the code in a few seconds and says whether it runs as it is. Press Import and run — the app opens in the preview, and chat, Edit mode, versions and QA all work on your own code. Apps MonstarX cannot run (phone apps, Django, Rails…) can be studied and rebuilt instead.
Already have an app — built by a developer, exported from another AI builder, or sitting in a GitHub repository? Import it. MonstarX checks it first and tells you in a few seconds whether it can run it. Then it runs in the preview exactly as it is, and you keep improving it by chatting, just like an app MonstarX built.
How do I import an app?
Section titled “How do I import an app?”Open Import in the prompt box on Projects and choose where the code is.
-
Choose Import → GitHub.
-
Paste a repository address (like
github.com/acme/shopor justacme/shop) and press Check. If your GitHub account is connected, your repositories are listed to pick from, private ones included. -
Read the verdict. Pick another branch, or another folder if the app lives in one, and it is checked again.
-
Press Import and run.
Any public repository works with its address. For a private one, connect GitHub first from a project’s GitHub menu. See GitHub.
-
Choose Import → A .zip.
-
Drop a .zip of your project folder, or choose one. It is checked on your computer first — nothing is uploaded until you import.
-
Read the verdict and press Import and run. The code creates the project, then its images follow one at a time (Uploading images… 3 of 9).
The zip is unpacked in your browser, so node_modules, build folders and any .env file never leave your computer. A zip can be up to 100 MB; leave node_modules and build folders out to keep it small.
-
Choose Import → Lovable.
-
Paste a workspace API key from Lovable and press Show projects (API keys need a Lovable Business or Enterprise workspace). MonstarX uses the key only to load the list and does not save it.
-
Pick your project. Lovable does not hand over code through its API, so MonstarX asks for the GitHub repository your Lovable project syncs to: in Lovable, open the project’s settings → Git → GitHub, connect it if needed, and paste the repository address.
-
Press Check code, then Import and run.
No API key? Choose Don’t have an API key? Use your synced GitHub repository and paste the repository address directly.
What do the verdicts mean?
Section titled “What do the verdicts mean?”| Badge | Headline | What it means |
|---|---|---|
| Runs as it is | Runs on MonstarX as it is | A Vite app (or a MonstarX export coming home). It runs, is edited and is published on MonstarX. |
| Runs as it is · your host publishes | Runs on MonstarX, published by your host | An app with a server of its own — Next.js, Remix, Astro, Nuxt, SvelteKit, Create React App. It runs and is edited here; you publish it from Publish → Vercel, or keep your current host by saving changes to GitHub. |
| Can’t run here | MonstarX can’t run this — it can rebuild it | A phone or desktop app, a plain HTML site, or a site built with Django, Rails, Laravel, Go and similar. MonstarX can study it and rebuild it as a web app. |
| Can’t be imported yet | for example A library, not an app or Too large to import | Something MonstarX cannot run or rebuild — the sentence says why, and what would change the answer (often: import the folder that holds the app). |
Every verdict lists what the app is built with, its size, and the keys (settings such as VITE_MAPBOX_TOKEN) its example environment file names — never their values. Warnings that do not stop the import are shown in amber: a committed .env file (not copied — its keys belong in Backend → Secrets), services started with Docker Compose, an API server of its own, files in Git LFS, or files over 10 MB that are left out.
What happens after I import?
Section titled “What happens after I import?”The workspace opens with a card about what came in, and the app starts in the preview (the first start installs its packages, which takes a minute or two).
Its keys lists each setting the code reads, sorted by what it really needs: Needed (the part of the app that reads it does not work without it), Optional (the code has a fallback) and Not used. Paste a value and press Add — or Use ”…” when the project’s own example file gives one — and the preview restarts with it. Values are kept encrypted under Backend → Secrets.
No idea what the values are? Press Don’t know the values? Ask where the project was made for a message to paste into the tool the project came from (for a Lovable project, Lovable’s chat), asking it to list every key and where to copy it — without changing any code.
If MonstarX spots a key written straight into the code, the card names its kind and file (never the value), and puts secret ones — a Stripe secret key, an OpenAI key — at the top as a warning.
What works after import?
Section titled “What works after import?”- Preview, chat, Edit mode, versions and QA all work on your code as it is. MonstarX works in the app’s own code and patterns, and adds any package your app needs.
- Publishing — a Vite app publishes on MonstarX like any other. An app with its own server is published by your host: from Publish → Vercel, or by saving to GitHub where your host picks it up. See Other hosts.
- Export gives you the repository as it is, images included.
- MonstarX’s own database and accounts are not added. An imported app keeps using whatever its code uses (Supabase, Firebase, its own API), and Backend → Database says so. The keys it needs go in Backend → Secrets.
What is the monstarx branch?
Section titled “What is the monstarx branch?”When you import from GitHub with your own connected account and you can push to the repository, the project stays linked to it. MonstarX creates a branch called monstarx at the commit you imported and saves its changes there — your default branch never moves. Open a pull request from monstarx whenever you want the changes on your main branch; the project’s GitHub menu links to GitHub’s compare page. Edits pushed to that branch on GitHub come back into MonstarX too. See GitHub.
What if MonstarX can’t run my app?
Section titled “What if MonstarX can’t run my app?”For a phone app (Expo, React Native, Flutter, Swift, Android), a desktop app, or a Django, Rails, Laravel or Go site, the verdict offers Read my code and plan the rebuild.
MonstarX creates a new project, keeps the original code beside it (read-only), studies it, and proposes a Rebuild plan: its screens, its data, the rules in its code, the services it uses and what happens to each (Kept, Replaced or Dropped), what does not come along, and logic carried over as it is. Say what is wrong and the plan is revised; press Build it to build. The original stays one search away for every detail. Apps that do run here offer Rebuild on MonstarX instead, for when you want MonstarX’s own database, accounts and publishing.
How big can an imported app be?
Section titled “How big can an imported app be?”| Limit | Value |
|---|---|
| Code | up to 3,000 files and 12 MB, 400 KB per file |
| Images and other files | up to 100 MB, 10 MB per file |
| A .zip | up to 100 MB |
| A rebuild | up to 1,500 files and 5 MB of code |
Over a limit, the verdict names the number, the limit and the way out — usually importing just the folder that holds the app.
Frequently asked questions
Section titled “Frequently asked questions”Does importing change my GitHub repository?
Not your default branch. With push access, changes go to a monstarx branch; without it, the repository is only read.
Can I import a monorepo?
Yes. MonstarX finds the folder that holds the app and lets you pick another folder from the verdict.
Can I import an app exported from MonstarX?
Yes — it comes back as a full MonstarX project (a new, empty database; the old app's data stays where it is).
Is imported code safe to run?
It runs in its own secure cloud computer, and its packages install with install scripts switched off.
Can I import code someone else wrote?
Only code you have the right to use. The verdict shows the repository's licence, or says none is stated.