Bring your code

A zip in: what goes to the repo, what goes to the Vault, what gets built.

Code you already have, a Lovable export, an old site, any codebase, comes in as a zip: Import a zip on the new-project page, or later in Settings › Code. Your files go into the repo in one commit, as they are.

Before anything is uploaded

The page reads the zip in your browser and shows What goes where:

  1. Website folder: the folder with the website in it, put online. It becomes the folder Vercel builds. No website found means the code goes into the repo and nothing goes online from it.
  2. Keys to the Vault: a .env is never committed. Its keys go into the Vault under the names they had, and a service's known key names turn its row in Connections on by themselves. A keystore, a service account or another key file is kept whole in the Vault, as a file.
  3. Left out: installed packages, git history, build output, and the resource forks a Mac adds when it zips a folder. A .env.example is meant to be committed, and is.

Right-click, Compress on the whole folder is fine: the page sorts it out from the zip's index before a byte is uploaded.

After

A zip with no website in it puts nothing online. A website zip with a folder named app/ is refused while a phone app lives there; move the app's folder first in Settings › Code.

Where next

Start free · Rebuild your website · Docs · FAQ