> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nometria.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect via GitHub

> Deploy directly from a GitHub repository — the fastest path to production.

Connecting via GitHub is the recommended approach when your vibe coder supports native GitHub export (Lovable, Replit) or when you're deploying an existing repository.

## Prerequisites

* A GitHub account
* Your app's code in a GitHub repository (public or private)
* An Nometria account

## Connect your repository

<Steps>
  <Step title="Open New Migration">
    Go to [nometria.com/dashboard](https://nometria.com/dashboard) and click **New Migration**.
  </Step>

  <Step title="Select GitHub">
    Choose **Connect via GitHub** from the connection method screen.
  </Step>

  <Step title="Authorize Nometria">
    Click **Authorize with GitHub**. You'll be redirected to GitHub to grant Nometria access.

    Nometria requests:

    * **Read access** to your repository contents and metadata
    * **Write access** to create branches and commit (for two-way sync)
    * **Pull request** permissions (for two-way sync merge flow)

    <Info>You can grant access to all repositories or only selected ones. Selecting specific repositories is recommended.</Info>
  </Step>

  <Step title="Pick your repo and branch">
    Select the repository from the dropdown. Choose the branch to deploy from — typically `main` or `master`.
  </Step>
</Steps>

## What Nometria reads from your repo

Nometria auto-detects your stack by inspecting:

| File                                  | What it detects                                      |
| ------------------------------------- | ---------------------------------------------------- |
| `package.json`                        | Framework (React, Next.js, Vite, etc.), Node version |
| `requirements.txt` / `pyproject.toml` | Python backend                                       |
| `Dockerfile`                          | Custom container build                               |
| `.env.example`                        | Expected environment variables                       |
| `next.config.js`                      | Next.js configuration                                |
| `vite.config.js`                      | Vite configuration                                   |

If detection is wrong, you can override it on the configuration screen.

## Monorepos

If your repository is a monorepo (e.g. `apps/frontend` + `apps/backend`):

1. On the configuration screen, set the **App root** to your frontend package path (e.g. `apps/frontend`)
2. Set the **API root** if your backend is in a separate folder (e.g. `apps/backend`)
3. Nometria deploys both and wires the API proxy automatically

## Two-way sync with GitHub

Once connected, you can enable [two-way sync](/sync/overview) so changes from your vibe coder are automatically pushed back to the same repository and deployed.

<Card title="Two-Way Sync overview" icon="arrows-rotate" href="/sync/overview" horizontal>
  Learn how builder changes and developer changes coexist in the same repo.
</Card>

## Permissions and security

Nometria uses a GitHub App (not OAuth tokens) for repository access. This means:

* Access is scoped per-repository, not account-wide
* You can revoke access at any time from GitHub Settings → Applications
* Credentials are never stored — all operations use short-lived installation tokens

To revoke access: **GitHub Settings → Applications → Nometria → Revoke**.
