GitHub
Repository indexing, PR tracking, and code sync via the Enhance GitHub App.
The GitHub integration connects your repositories to Enhance for code intelligence, indexing, and semantic search. It uses a GitHub App for secure, scoped access.
Setup
- Go to Workspace Settings > Integrations > GitHub
- Click Install GitHub App — this redirects to GitHub
- Select your organization and choose which repositories to grant access to
- GitHub redirects back to Enhance with the installation confirmed
Repository selection
During GitHub App installation, you can choose:
- All repositories — Enhance can access every repo in the organization
- Selected repositories — Only specific repos are accessible (recommended)
You can change this selection later in your GitHub App settings.
What gets synced
| Data | Direction | Description |
|---|---|---|
| Repository metadata | Inbound | Name, URL, default branch, language |
| Source code | Inbound | Files are shallow-cloned for indexing |
GitHub is a repository integration only — it provides code access for indexing. Issue tracking uses separate integrations (Linear, Jira, etc.).
How indexing works
When a repository is connected to a project:
- Enhance clones the repository using a short-lived installation token
- The indexing pipeline runs (parse, resolve, summarize, embed)
- Code intelligence features become available (semantic search, codebase maps, impact analysis)
Re-indexing is incremental — only changed files are reprocessed.
Authentication
The GitHub App uses private key authentication. Installation tokens are generated per-request and are short-lived. No long-term tokens are stored.
Required environment variables
| Variable | Description |
|---|---|
GITHUB_APP_ID | Your GitHub App's ID |
GITHUB_APP_PRIVATE_KEY_BASE64 | Base64-encoded private key |
GITHUB_APP_WEBHOOK_SECRET | Webhook signature verification secret |
GITHUB_CLIENT_ID | OAuth client ID (for user sign-in) |
GITHUB_CLIENT_SECRET | OAuth client secret |
Connecting repos to projects
After installing the GitHub App:
- Open a project's Settings > Repositories
- Your accessible GitHub repos are listed
- Click Connect next to each repo you want to index
- Indexing starts automatically
Connected repos appear at the top of the list for easy management.