https://github.com/cvega/github-migration
Web UI for migrating repositories between GitHub Enterprise Server and GitHub Enterprise Cloud — single & batch migrations, pre-migration org profiling, and live progress.
https://github.com/cvega/github-migration
ghec ghes github migration
Last synced: about 8 hours ago
JSON representation
Web UI for migrating repositories between GitHub Enterprise Server and GitHub Enterprise Cloud — single & batch migrations, pre-migration org profiling, and live progress.
- Host: GitHub
- URL: https://github.com/cvega/github-migration
- Owner: cvega
- Created: 2026-02-15T00:35:32.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-07-01T08:27:14.000Z (4 days ago)
- Last Synced: 2026-07-01T10:18:22.424Z (4 days ago)
- Topics: ghec, ghes, github, migration
- Language: TypeScript
- Homepage:
- Size: 2.51 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
GitHub Migration Workbench
Profile, migrate, and track GitHub repository migrations.
---
## Overview
GitHub Migration Workbench moves repositories into GitHub Enterprise Cloud, from
GitHub Enterprise Server or another Cloud org, one at a time or in batches of up
to 500, running 10 concurrently behind a FIFO queue. Before migrating, it can
profile a whole organization or enterprise to surface the per-repo considerations
an export won't carry over; during a run it streams live progress, with cancel,
restart, and crash recovery built in. Authentication is via PAT or GitHub App,
supplied per request or from the environment.
---
## Quick start
```bash
cp .env.example .env # configure env vars (all optional)
docker compose up -d # app at http://localhost:3000
```
Then open the app, click **New Migration**, and go. Full walkthrough in
[Getting Started](docs/getting-started.md).
---
## Documentation
| Guide | For | What's inside |
|---|---|---|
| [Getting Started](docs/getting-started.md) | Users | Install, run, and migrate your first repo |
| [Configuration](docs/configuration.md) | Operators | Every env var: auth, watchdog, target cleanup, defaults |
| [Architecture](docs/architecture.md) | Developers | Pipeline, queue, SSE, auth modes, GHES/GHEC model, DB schema |
| [API Reference](docs/api.md) | Integrators | REST + SSE endpoints and request shapes |
| [Development](docs/development.md) | Contributors | Dev loop, the gate suite, testing, discovery tooling |
| [Deployment](docs/deployment.md) | Operators | Docker, reverse proxy, `ORIGIN`, volumes, backups |
| [Troubleshooting](docs/troubleshooting.md) | Everyone | Common issues and fixes |
| [Contributing](CONTRIBUTING.md) | Contributors | Workflow, conventions, the verify contract |
---
## At a glance
- **Stack:** [Bun](https://bun.sh) · SvelteKit 2 + Svelte 5 (runes) · TypeScript · `bun:sqlite` · Tailwind v4 · [Biome](https://biomejs.dev)
- **Requirements:** Bun ≥ 1.3.9, Docker/Podman for containerized deployment
- **Quality gates:** `bun run verify` runs typecheck, svelte-check, lint, format, coverage, duplication, dead-code, circular-import, import-boundary, build, and audit — see [Development](docs/development.md)
```bash
bun install # install deps
bun run dev # dev server → http://localhost:5173
bun test # unit suite
bun run verify # full gate suite (CI go/no-go)
```
A ready-to-edit [docker-compose.yml](docker-compose.yml) and
[.env.example](.env.example) cover deployment and configuration.
---
## Screenshots

Dashboard — active & completed migrations, batches

Statistics — success rate, throughput, platform breakdown

Batch detail — per-repo progress & controls

New migration — single & batch request form

Profile — org & enterprise readiness runs

Enterprise profile — per-org rollup & inaccessible-org warnings