Skip to main content
Bring your GitHub project into Base44 and keep building it. Everyone on your team can ship real changes, and your repository stays the source of truth.

Build from anywhere

Work on your project from desktop or mobile. Base44 runs it in the cloud, so there is nothing to install.

Bring your team

Teammates can make changes to the codebase with the AI chat, even if they do not run code locally.

Keep your GitHub workflow

Each change saves to a branch in your repository, and you open a pull request when the work is ready.

Multiple AI models

Use any AI model available in Base44, without managing separate subscriptions.

Importing your project

Import a repository from your connected GitHub account or paste a repository URL. Base44 checks it, creates the project, clones the code, configures it, and starts the preview. Connect your GitHub account to save your work.
The plus menu open on the Base44 home page, with Bring your own project under GitHub project

Bringing your GitHub project to Base44

Before you begin:
  • You need to be an owner, admin, or editor in the Base44 workspace where you want to import the project to.
  • Your project runs as a web service on Base44, so your repository must be a web or full-stack app that can be built and run from source in Docker, such as a frontend with an API or a server-rendered site.
  • For private repositories, install the Base44 GitHub App so it can access the repository.
  • Your workspace can limit Editors to importing repositories from approved GitHub organizations. If a repository is not in an approved organization, ask a workspace owner or admin to add it under Settings > Governance > GitHub organizations. Workspace owners and admins can import from any GitHub organization.

From your GitHub account

Import directly from a repository in your connected GitHub account. If you don’t own the project, paste a link instead and Base44 creates a copy you own. To import from your GitHub account:
  1. From the Base44 home page, click the + icon in the prompt box.
  2. Click Bring your own project.
  3. Connect your GitHub account if it is not connected yet.
  4. Choose the repository to import.
  5. Click the Branch drop-down to select a starting branch. Base44 uses your default branch if you don’t choose one.
  6. Click Import.
The Import an existing project dialog with a repository selected and the Branch drop-down set to main

Importing a project from your GitHub account

From a repository URL

Paste a GitHub repository URL to import a repository, public or private. Base44 checks your access to it, then either imports it directly or creates a copy in your GitHub account first. When the original is private, your copy is private too. To import from a repository URL:
  1. From the Base44 home page, click the + icon in the prompt box.
  2. Click Bring your own project.
  3. Click Paste a link.
  4. Paste the link to the GitHub repository.
  5. Choose based on your access:
    • Branch: Select a starting branch if you can push to the repository.
    • Your copy on GitHub: Enter a name for the copy Base44 creates if you can’t push to the repository, then choose its visibility:
      • Fork (public): Linked to the original, so you can send your changes back to it.
      • Private copy: Only you can see and edit it, and it is not linked to the original.
  6. Click Import. If you are creating a copy, click Fork and Import or Copy and Import.
The Paste a link tab of the Import an existing project dialog, with a pasted repository URL, a name for the copy, and Fork (public) selected

Importing a project from a repository URL


Limiting repositories to approved GitHub organizations

Your workspace can restrict which GitHub organizations its repositories come from. When GitHub organizations is on, apps in the workspace can only create or import repositories in the organizations you approve. Apps that are already connected to GitHub aren’t affected.
Before you begin: Only workspace owners and admins can approve organizations, and the policy does not restrict them.
To limit repositories to approved organizations:
  1. Click your workspace name at the bottom left of your account.
  2. Click Settings.
  3. Click Governance.
  4. Turn on the toggle next to GitHub organizations.
  5. Under Allowed organizations, select each organization you want to approve.
The GitHub organizations card in Governance settings, turned on with an approved organization listed under Allowed organizations

Approving GitHub organizations in your workspace Governance settings

Only organizations where you installed the Base44 GitHub App appear under Allowed organizations.
For everyone else in the workspace, the organization pickers show only the approved organizations. If you try to use a repository from an organization that is not on the list, Base44 tells you your workspace limits repositories to approved organizations. Ask an owner or admin to add the organization, then try again.

Working on your project

When your project import is complete, continue building with the AI chat and see your changes in Preview. Switch to Dashboard to browse your files in Code and manage the values your project needs to run in Secrets.
The app editor for an imported project with the Base44 AI chat and the running app in Preview on the right

An imported project running in the app editor

Saving your work

Base44 saves your work as you go. When you import, it creates its own setup branch named base44/setup- followed by a short ID, and runs setup there. From then on, it commits and pushes to the branch you’re working on each time the AI chat finishes a change. Branches you create later get short descriptive names, like dark-mode-toggle. Your default branch is never touched. If you imported a public repository without connecting GitHub, your app runs in local mode. Nothing is committed or pushed, and Create PR is disabled. Edits you make yourself in Code are committed the next time the AI chat finishes a change. An imported project uses the git branches in your repository directly, so git stays the source of truth. Branches work the same as they do in any Base44 app, with a few differences. There is no merge or update from your default branch inside Base44, all branches share one sandbox, and deleting a branch in Base44 leaves the branch on GitHub. See working with branches.

Resolving sync conflicts

If your repository and your Base44 app both change the same file, the sync leaves a conflict. The AI chat raises a card for it, reads every conflicted file, and rewrites each one so both sides’ changes survive, then pushes the result back to your repository as a merge commit. Where the two versions genuinely disagree, such as when each side implemented the same feature differently, the AI asks you which behavior you want before it writes anything.

Approving writes to your repository

When the AI needs to write files straight to your connected repository, it asks you to approve first rather than pushing on its own. Review what it plans to do, then approve or reject it in the chat.

Adding secrets

When your project needs an API key or other secret to run, the AI chat asks you for it. Give it the value, and Base44 stores it encrypted and applies it every time your project starts, including after a rebuild. It is never committed to your repository, and it is shared across all branches, so you enter each one only once. You can also add and manage secrets in your app’s dashboard. To add a secret:
  1. Go to your app’s dashboard.
  2. Click Secrets.
  3. Click Add Secret.
  4. Enter the Secret Name and Secret Value, then click Add Secret.
To add secrets in bulk, click Import .env, then upload or paste your file. Each KEY=VALUE line becomes a secret, and any existing secret with the same name is overwritten.

Shipping your work

Every change is committed by base44-builder[bot]. A shared branch produces one pull request for the whole team, and separate branches each get their own. Teammates with editor access share the project and its secrets.

Opening a pull request

The pull request goes from your working branch into the branch it was created from, with a note crediting Base44 and a link back to your project. The setup pull request always goes into the branch you imported. Once the pull request is open, your changes keep saving to the same branch so reviewers always see your latest work and any checks run again on each push. To open a pull request:
  1. Click Create PR at the top of the editor.
  2. Enter a Title and a Description (optional).
  3. Click Create PR.
You can also ask the AI chat for a pull request, and it drafts the title and description for you.
If you haven’t granted permissions yet, click Review permissions on GitHub and have an account owner approve it.

Answering review comments

Handle your reviewers’ feedback from the AI chat, without leaving Base44. Ask the AI chat for the review comments on your pull request, and it lists each unresolved thread with the file and line it points at. Tell it what to change, and it drafts a change and a reply for each one. Nothing is posted to GitHub until you approve that specific draft. Resolving the thread is a separate step you ask for. You can also ask it to comment on the pull request itself. Everything it posts appears as base44-builder[bot]. Merging happens on GitHub, exactly as it does today.

FAQs

Click a question below to learn more about importing and working on a GitHub project.
No. Base44 pushes to the branch you’re working on, never to your default branch. Opening a pull request is the only way your changes reach your default branch.
Your project pauses when you stop working, and picks up where it left off when you return. If it needs rebuilding, Base44 clones your repository again and restarts from your latest commit.
Yes, unless your workspace limits imports to approved GitHub organizations. When you only have read access, Base44 creates a copy in your personal GitHub account. Restricted workspaces block that copy because it belongs to your personal account rather than an approved organization. Ask for push access to the original repository instead.
Your workspace does not allow imports from this repository’s GitHub organization. Ask a workspace owner or admin to add the organization under Settings > Governance > GitHub organizations, then try again.
You can when the app at the root of the repository is a web or full-stack app. Base44 looks at the root to decide what your project is.
No. Base44 runs web and full-stack projects only. You get a message as soon as you import, and nothing is created in your account. A repository with a web app at its root still works even if it contains a mobile app in a subfolder.
No. Importing a Base44 app is not supported, and it will not run correctly. Your app already runs in Base44, and the GitHub integration keeps it in sync with your repository in both directions.
No. An imported project has no Base44 pages, entities, built-in login, or SDK. It keeps its own database, authentication, and routing, and Base44 does not replace them.
Yes. Ask the AI chat and Base44 writes the code in your repository, the same way it makes any other change. You are building on your own stack, not on Base44 pages, entities, or login, so point your project at your own database or service and add the connection string or API key as a secret. Whatever you add ships through your repository like the rest of your work.
No. Selecting an element in the preview to edit it is not available on imported projects. Tell the AI chat what you want to change instead. It can see the page you are looking at.
The GitHub integration syncs an app you built in Base44 with a repository. Importing works the other way around, starting from a repository that already exists. To move a project from another platform such as Shopify or Lovable, see migrating a project to Base44. To link a local Base44 backend project with the CLI instead, see linking an existing project.