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.
The page reads the zip in your browser and shows What goes where:
.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..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.
GITHUB_TOKEN, VERCEL_TOKEN and VERCEL_TEAM_ID, if the .env had them, are kept as PROJECT_… keys, so FlexOS keeps building with its own.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.