Help/Publishing

Publishing from a GitHub repo (including Lovable sites)

For a site built from a repo: each finished page goes in as a file and your site deploys it. Connecting the GitHub app, choosing the folder, Lovable's extra step, and every error.

Where it is: Your site's Publishing page, under For developers: a repo or your own server, then GitHub.

If your site is built from a GitHub repo (Next.js, Astro, or a Lovable project synced to GitHub), each finished page can go in as a file, and your site deploys it like any other change. If your site is on Lovable, connecting Lovable itself is usually simpler: it builds the page into the site styled like your other posts.

Connecting

  1. On the Publishing page, open For developers, then press Connect next to GitHub.
  2. GitHub asks you to install our app. Choose the repo the site is built from. It asks to read and write the repo's contents, and nothing else.
  3. Back in the tracker, check the three settings we guessed from the repo: Folder (where page files go), Address on your site (how a file's name becomes its address) and File type (.mdx or .md).
  4. Press the button that reads Publish your site's pages to your repo.

We only ever add files. We never change or delete a file we didn't write.

On a Lovable project

We spot a Lovable project and set the folder and file type for it. Lovable also has to be told once how to show those files: the setup gives you a message to paste into Lovable's chat (Copy the request). Send it before your first page.

Publishing

Pressing Publish commits one file to the repo's main branch. There are no drafts: publish when it's ready. Publishing the same page again updates our own file and keeps its date.

The page goes live when your site deploys:

  • Vercel, Netlify and similar deploy on their own, usually in one to three minutes.
  • Lovable waits for you: click Publish, then Publish changes, for every page.

The question board moves when we find the page live on your site, not when the file is committed. The Publish tab watches for it for half an hour; after that our daily check finds it.

When something fails

  • Our GitHub app can't see that repo, or can't see any repos yet. In GitHub, add the repo to the app's repositories.
  • Our GitHub app can't write to the repo. Check the app is still installed on it.
  • A file with that name already exists and isn't one we published. Change the page's address in the editor so it gets its own file.
  • This page wouldn't build on your site. Nothing was committed. The message says what's wrong.
  • No address, or no meta description, and your site needs one on every page. Add it in the editor.
  • The connection is incomplete, or the link expired. Connect GitHub again.

Disconnecting

On the Publishing page, press Disconnect. That removes our connection; the app stays installed in GitHub until you uninstall it there, under your account's installed GitHub Apps.

Did this answer it?

Updated October 19, 2026