Import from a repository
Any project in a git repository, or in a folder on your computer, can be imported. That includes what AI app builders make: push the project to GitHub from Lovable, Bolt or v0, or download it, and import that. Import from another host covers what every import does.
From a repository
Section titled “From a repository”forculus import https://github.com/acme/handbook acme/handbookThe repository is cloned with your own git, so a private one works if you can clone it. It goes into a new directory named after the repository, or the one you give as the third argument, which has to be empty. The address can be https://, ssh:// or git@github.com:acme/handbook.git. Plain http:// and git:// aren’t taken, since the code could be changed on its way.
From a folder
Section titled “From a folder”forculus import ./handbook acme/handbookA zip has to be unzipped first.
What’s read
Section titled “What’s read”With no host to ask, everything comes from the code: detection, and any vercel.json, netlify.toml or .replit in it, read as their import guides say. Variables come from those files and from --env-file:
forculus import https://github.com/acme/handbook acme/handbook --env-file handbook.envThe import never reads a .env file in the project, and a deploy stops at one, so keep the file you pass outside the project.
Lovable, Bolt and v0
Section titled “Lovable, Bolt and v0”These builders make a front end, usually Vite or Next.js, often talking to Supabase.
- Supabase’s browser key (
VITE_SUPABASE_ANON_KEYor a publishable key) is meant to be public, and becomes an environment variable. - Supabase’s service key is not set. It bypasses the database’s row rules, so store it as a secret for your project’s host with
forculus secret set <workspace>/<app> SUPABASE_SERVICE_ROLE_KEY --host <ref>.supabase.co --header apikey, and call Supabase from the server side. - A Firebase web config key (
AIza...) is public by design, but we refuse values shaped like one as variables. Put it in the app’s code. - The builder’s own sign-in isn’t needed: everyone signs in through us, and an SDK’s
requireUser()says who.
Make a Lovable app private to your company
Section titled “Make a Lovable app private to your company”A private Lovable app’s viewers sign in with Lovable accounts. Lovable and Forculus compares the two. Moved here, anyone you share it with signs in with a code sent to their address, or with Google or Microsoft, and you can share it with everyone at your company’s domain at once.
-
In Lovable, open Project settings, then Git, then GitHub, and select Connect. Lovable makes a new GitHub repository, private by default, and keeps it in step with the project both ways. On a paid Lovable plan, Download codebase in the same place gives you the code without GitHub. See Lovable’s GitHub guide (read 16 October 2026).
-
Import the repository, or the folder you downloaded:
Terminal window forculus import https://github.com/you/handbook acme/handbook -
If the app calls Supabase with its service key, store that as a secret, as above.
-
Share it with your company’s domain:
Terminal window forculus share acme/handbook @example.com
You can keep building in Lovable. Each change it pushes to GitHub goes live here when you deploy it, or on every push with GitHub Actions.
From the dashboard
Section titled “From the dashboard”In Apps, select Import, then A git repository. It gives the command to run, since the import needs the code.