github-to-forgejolisted
Install: claude install-skill agigante80/forge-kit
<!-- github-to-forgejo-version: 8 -->
# github-to-forgejo
Move a repo from GitHub to a self-hosted Forgejo: git hosting, governance, and
(optionally) CI. Built on forge-kit's `forge-host` adapter. **Portable:** anything
specific to the *target host* (runner registration, slow-storage tuning) is delegated to
that project's infra reference; this skill is the stack-agnostic playbook.
Draft origin: distilled from a real end-to-end migration (repo + self-hosted CI + a
docker-compose e2e job to green + a downstream consumer cutover). The non-obvious steps
below (esp. Phases 3 to 4) are the ones that actually bit.
## When to use
- "migrate <repo> to Forgejo", "move this project off GitHub to my Forgejo",
"self-host this repo's git and CI".
## Prerequisites
- A reachable Forgejo instance, and either shell/Docker access to it or admin in its UI
(to mint a token).
- forge-kit's `forge-host` skill. If missing, `/forge-kit-adapt:adapt` installs it.
## Phase 0: Preflight
- Reachable? `curl -fsS "$FORGE_API_URL/api/v1/version"` (private instances need a token).
- **Mint a token.** Self-hosted with Docker access (password-free):
```sh
docker exec -u git <forgejo-container> forgejo admin user \
generate-access-token --username <you> --scopes write:issue,write:repository --raw
```
Otherwise: Web UI → Settings → Applications → Generate Token.
**Store it machine-globally so every project gets it**: the recommended default is the
`env` block of `~/.claude/settings.json`