Preview & deploy

GitHub sync

Pushing your project to a repository you own.

Updated 21 Sept 2026

Your code belongs to you. GitHub sync puts it in a repository under your GitHub account, where you can clone it, review history, open pull requests or take it anywhere else.

Connecting

The first time you sync, Qyant asks you to authorise it with GitHub for repository access. You can revoke that at any time from GitHub's application settings; syncing will simply stop working until you authorise again.

If you signed up with GitHub, the connection is already there.

Syncing

Project menu → Sync to GitHub. On first sync Qyant creates a repository (private by default) named after the project and pushes the current version to main. Later syncs push a new commit with the changes since the last one.

The project header shows the linked repository. The repository name and default branch are visible on the project card.

What is pushed

Every project file except .env. Secrets never leave Qyant this way. A .gitignore is part of the template so node_modules and build output stay out too.

What is not synced back

Sync runs both ways. Qyant pushes your changes up, and commits made anywhere else are pulled back down automatically — see Pulling from GitHub below.

Running the project elsewhere

The repository is a standard Next.js app:

git clone git@github.com:you/your-app.git
cd your-app
cp .env.example .env   # set DATABASE_URL to a Postgres you own
npm install
npm run dev

Nothing in the generated code depends on Qyant.

Pulling from GitHub

Sync runs both ways. While a project is open, Qyant watches the branch it is connected to. When a commit lands that did not come from Qyant — a teammate, the GitHub web editor, you on another machine — it is pulled in automatically and the preview updates to match. The commit appears in the builder with its message, author and short SHA.

Pulling replaces the project's files with what is in that commit, and is saved as a new version. Whatever the project looked like before stays in history, so the version menu above the preview is always a way back.

Two things it will not do: it never pulls while Qyant is mid-answer, because replacing files the model is editing would produce a tree neither side intended; and it tries a given commit once, so a failure is reported rather than retried every thirty seconds.

.env is never pulled or pushed — it holds your sandbox's own database credentials and does not belong in a repository.