# Git Providers

## Forgejo (built-in, default)

**Forgejo** is the default and recommended Git provider for every new tenant — it's self-hosted inside your namespace, needs zero setup, and is ready to push to the moment your tenant finishes provisioning. It's a lightweight, open-source Git server (a GitHub-style web UI, repos, issues, pull requests) included free at every tier.

For built-in Forgejo, the default is one CompactHive token for MCP and HTTPS Git;
see **Connect Your AI Agent** for access levels and the one-time credential setup.
Repository-scoped Forgejo tokens remain an Advanced / CI option in Settings → Git access.

## GitHub (beta)

GitHub can be connected instead of, or alongside, Forgejo:

1. Open **Settings → Git Provider** in the portal.
2. Connect through the **CompactHive GitHub App** and grant access to the repositories you want to use.
3. Use **Set Up** on a connected repository to configure its CI pipeline.

Today, GitHub support is **beta** and covers manual repository connection plus CI setup only. Not yet available for GitHub:

- **Automatic shipping** — CompactHive doesn't yet auto-detect and wire up a GitHub repo end-to-end the way it does for a Forgejo repo.
- **MCP project scaffolding** (`setup_project`) — your own AI agent (see **Connect Your AI Agent**) can only scaffold a brand-new project on Forgejo today.
- **Hive Code sessions against a GitHub repo** — the in-portal coding agent works against Forgejo repositories only; for a GitHub-connected tenant, build and push manually and let the normal CI/CD pipeline take over.

These are on the roadmap, gated on demand from early design partners rather than a fixed date.

## Switching providers

You can switch your tenant's Git provider in **Settings → Git Provider** at any time. Switching is destructive for the provider you're leaving — for example, moving away from Forgejo deletes your Forgejo repositories and their history, and moving away from GitHub clears the GitHub App connection — so the portal shows a clear warning and asks you to confirm before starting the switch. Your CI pipeline (Woodpecker) is automatically reconnected to the new provider once the switch completes.