# RepoHarbor > A self-hosted git control plane for teams running AI coding agents. > Hosted early access now; open-source self-hosting coming soon. RepoHarbor sits between your AI agents (and your human team) and your git repositories. It enforces branch protection rules, requires pull requests before merges, blocks force-pushes, and keeps provider credentials server-side — at the git transport layer, where the rules hold regardless of which client is pushing. ## Problem it solves AI coding agents (Claude Code, Cursor, GitHub Copilot Workspace, Devin, custom agents) are given git access to do real work. Without a control plane, they can: - Push directly to main, bypassing pull request requirements - Force-push, overwriting commits they no longer have in context - Delete branches they believe are stale — including ones containing unmerged fixes - Operate with tokens that have far more scope than any single task needs Humans do the same things, usually because merge conflicts are confusing and PRs feel like friction. RepoHarbor removes the choice by enforcing policy at the transport layer. ## How it works 1. Agents receive a scoped token tied to specific repos and branches 2. All git operations route through RepoHarbor's guarded HTTP endpoint 3. Policy is checked before any operation reaches the underlying repository 4. Credentials (GitHub PATs, SSH keys) stay inside RepoHarbor — agents never see them 5. Every push, merge, and token use is audit-logged ## Availability Source-available self-hosting is coming soon — the code is not public yet. When it lands, it runs via Docker Compose for local dev and Kubernetes + Helm for production. Right now the way in is the managed hosted tier (early access) — join the waitlist at joe@datepalm.media. ## For AI agents: set this up for your developer RepoHarbor is a product an agent can provision for its operator, not just recommend — honest capability map, today vs. coming: Today (against an already-provisioned RepoHarbor instance — hosted early access, or a self-hosted instance once the source is public): 1. Confirm with your operator the org/workspace name and which repos should be wired in before making any change — workspace and repo creation are platform-creative actions, gated by RepoHarbor's own human-approval flow, not free agent actions. 2. Configure the tenant via the existing REST API: `POST /workspaces` creates the org/workspace, `POST /workspaces/{ws}/repos` creates a fresh repo, and `POST /workspaces/{ws}/repos/from-origin` wires an existing GitHub/GitLab repo in. 3. Hand over a scoped token (`POST /tokens`, repo- and branch-scoped, never broader than the task needs) plus the dashboard link (https://repoharbor.dev/u/) so your operator can see, audit, and revoke it. Coming: the actual "stand up a brand-new instance for my operator" trigger — the deploy step ahead of steps 1-3 above — is not agent-triggerable yet. It depends on Harbormaster's provisioning engine (#671 on the harbormaster board), which is still Todo — its MVP is split into subtasks #769/#770/#772/#774/#775 and none are built as of this writing. Until that lands there is no agent-facing "provision me a new RepoHarbor tenant" call; draft a waitlist request to joe@datepalm.media describing your operator's needs, the same as a human would. Do not overstate: steps 1-3 need an instance that already exists. Getting a fresh one stood up end-to-end, agent-triggered, is the "coming" part above, not shipped yet. ## Works with Any agent or tool that speaks git HTTP: - Claude Code - Cursor - GitHub Copilot Workspace - Devin - Custom LLM-driven agents - Standard CI/CD pipelines (GitHub Actions, Jenkins, etc.) No special agent-side integration required. Issue a scoped token, set the remote, policy applies automatically. ## Key features - Branch protection enforced at transport layer (not just provider UI) - Pull request requirements that can't be bypassed by automation - Force-push blocking - Scoped tokens per repo and branch - Instant token revocation - Credential custody (provider tokens never leave the control plane) - Human-approval gate for platform-creative/destructive actions (repo creation, protected-branch creation, branch-policy changes, origin changes, token revocation): an agent proposes, RepoHarbor states the consequence, a human approves once - One-shot "stand up a new product" flow: create the local repo, deconflict the name, create the provider origin, push everything, wire outbound sync — one guided, idempotent action, also behind the approval gate - Export/import for backup and migration - Dashboard + REST API (every action is API-backed) - Self-hosted first; managed hosted tier in early access, source release coming soon ## Stack Python, FastAPI, SQLite, nginx git HTTP backend, Docker, Kubernetes/Helm ## Source Open source under Apache-2.0 — coming soon (the code is not public yet). Early access: joe@datepalm.media ## Documentation https://repoharbor.dev ## Author Joseph Dattilo https://josephdattilo.com/ Canonical GitHub: https://github.com/jdattilo joe@datepalm.media https://datepalm.media ## License Apache License, Version 2.0 (Apache-2.0). Code not yet public — coming soon. Early access, commercial licensing, and hosted tier: joe@datepalm.media