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

# GitHub

> This guide explains how to connect Qodo Context Engine to Github SaaS and Github Enterprise.

To enable Qodo Context Engine to index your repositories, you’ll need to create and configure a **GitHub App**.

<Note>
  These steps must be completed by a GitHub organization administrator.
</Note>

## 1. GitHub App setup

<Steps>
  <Step title="Go to your GitHub Organization Settings">
    * Click your profile picture on the top right, then select **Your Organizations**.
    * Select your organization then go to **Settings**.
  </Step>

  <Step title="Navigate to GitHub Apps">
    * In the left sidebar, click **Developer settings** → **GitHub Apps**
    * Click **New GitHub App**.
  </Step>

  <Step title="Configure a new GitHub App">
    Fill in the following details:

    * **GitHub App name:** `Qodo RAG Indexer`
    * **Homepage URL:** `https://qodo.ai`
    * **Webhook:** leave unchecked
    * **Permissions (Read-only):**
      * Actions: Read-only
      * Checks: Read-only
      * Metadata: Read-only
      * Contents: Read-only
      * Discussions: Read-only
      * Issues: Read-only
      * Pull requests: Read-only
    * Under **Where can this GitHub App be installed?** select **Any Account**
  </Step>

  <Step title="Click Create GitHub App" />

  <Step title="Save the generated App ID" />
</Steps>

## 2. Install GitHub App

<Steps>
  <Step title="Generate a private key and store it somewhere safe." />

  <Step title="Go to the GitHub App you've setup before, and click Install App." />

  <Step title="Choose the relevant organization." />

  <Step title="When prompted to select repositories:">
    * Select **only the repositories** that should be indexed
    * Do **not** choose “All repositories”
  </Step>

  <Step title="Click Install." />

  <Step title="Note the installation ID from the URL.">
    For example, in `https://github.com/organizations/YOUR_ORG/settings/installations/2`, the installation ID is **2**.
  </Step>
</Steps>

## 3. Send relevant information to Qodo

After the setup, share the following credentials with the Qodo team:

```powershell theme={null}
[github_app]
private_key="""\
... private key goes here...
PRIVATE_KEY
"""
app_id = ""
installation_id = ""
```

## 4. (Optional) Set a custom certificate bundle

If your self-hosted Git server uses a custom CA SSL certificate, share your ca-certificate.pem file with the Qodo team.
