Files
ttg-marketplace/plugins/ttg-ops/skills/ttg-move-repo/SKILL.md
T
mr.zeroandClaude Opus 5 4192fc366e Add the ttg-ops plugin: six skills for the forge estate
The marketplace held only MCP servers so far. These are skills for the
work that keeps costing manual effort and quietly breaking:

- ttg-publish-module — releasing a library, and verifying from a clean
  external project that the release is actually fetchable. Encodes the
  trap that cost the most: Gitea redirects old repo paths, but not Go
  module paths, so a repo can be reachable while `go get` fails.
- ttg-move-repo — moving a repo and following it through every place
  that names it, including the ones redirects do not cover.
- ttg-new-repo — creating one in the right org and registering it, so
  it cannot end up absent from the clone list the way batocera-store did.
- ttg-ci-enroll — wiring a repo into the build, and the usual failure
  where the config exists but the repo was never registered.
- ttg-audit-forge — the drift check between forge, clone list, wiki,
  catalog and CI.
- ttg-update-docs — README, wiki page and the public site (Vue page plus
  both locale files) after a change.

The rules stay in REPO_REFACT.md, WIKI_CONNECTION.md and
ECOSYSTEM_PLAN.md; the skills read them instead of carrying a second
copy that drifts.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-16 11:07:39 +02:00

3.9 KiB

name, description, allowed-tools
name description allowed-tools
ttg-move-repo Move or rename a repo on the TTG forge and follow the change through everywhere it is referenced — clone list, local remotes, wiki links, Go module paths, Gemfiles, CI config and the docs. Knows what Gitea's redirect covers and what it silently does not. Use when a repo changes org or name ("tedd át a X orgba", "nevezd át", "move repo", "rename repo"). Bash, Read, Edit, Write, Grep, Glob

ttg-move-repo

Egy repo áthelyezése vagy átnevezése a forge-on, és — ami a munka nagyobbik fele — az utókövetés.

Mit fed az átirányítás és mit nem

A Gitea az átnevezés/áthelyezés után is kiszolgálja a régi owner/repo utat (repo_redirect), ugyanarra a SHA-ra. Ezért túléli: a meglévő klónok pull/push-a, a wiki szövegbeli linkjei, a repos.list régi URL-jei, a HTTPS böngészőlinkek (301).

Amit nem fed — ezeket kézzel kell:

Mi Hol keresd
Go modulnév go.mod első sora + minden belső import + a fogyasztók require/replace sorai
Konténer-csomag útvonalak git.teletypegames.org/internal/<név> — a csomagnévtér nem költözik a repóval
Gem registry névtér api/packages/<org>/rubygems a gemspecben és a pipeline-ban
CI push URL a mirror/publikáló pipeline git push sora
Woodpecker repo-kötés az új tulajdonos alatt újra kell regisztrálni

Lépések

  1. Cél eldöntése. Az org a repo rendeltetését jelöli, nem a titkosságát (azt a repo private kapcsolója). A besorolási szabályok és a mai kiosztás a workspace gyökér REPO_REFACT.md-jében. Ha a besorolás nem egyértelmű, kérdezz, ne tippelj.

  2. Áthelyezés.

    tea api --login ttg -X POST -d '{"new_owner":"<org>"}' /repos/<owner>/<repo>/transfer
    

    Átnevezéshez -X PATCH -d '{"name":"<új-név>"}' /repos/<owner>/<repo>. Ha a cél org még nincs: tea api --login ttg -X POST -d '{"username":"<org>","visibility":"public"}' /orgs — és utána add meg neki a nevet és a Teletypers csapatot a games mintájára (lásd ttg-new-repo).

  3. Átirányítás ellenőrzése, mielőtt bármi másba kezdesz:

    git ls-remote ssh://git@git.teletypegames.org:2222/<régi>/<repo> HEAD
    git ls-remote ssh://git@git.teletypegames.org:2222/<új>/<repo> HEAD
    

    Azonos SHA = működik.

  4. devarea/scripts/repos.list — írd át az érintett sor URL-jét, majd devarea/scripts/check-repos.sh. A szkript org-agnosztikus (tea repo list-ből olvas owner/name-et), nem kell hozzányúlni. Zöld futás = a lista és a szerver fedik egymást.

  5. Lokális remote-ok. A workspace-checkoutok origin-ja a régi URL-en marad. Állítsd át git remote set-url origin <új URL>. Söpörd végig a többi repót is elfekvő remote-ért (git remote ≠ csak origin, vagy az upstream nem origin/...) — volt már régi hosztra mutató alias, amire egy sima git push ment volna.

  6. Hivatkozások. Keress a wiki-pages és a teletypegames repóban, meg a workspace többi részében:

    grep -rn "<régi-org>/<repo>" --exclude-dir=.git
    

    Ne feledd a linkszövegeket sem (`internal/wiki-pages`), ne csak az URL-eket. Óvatosan az általános szabályokkal: a bbs/session.rb alakú backtickes hivatkozások forrásfájlok, nem org-utak.

  7. Dokumentáció. Futtasd a ttg-update-docs skillt — az intézi a README-t, a wikit és a publikus oldalt. A devarea/WIKI_CONNECTION.md Org oszlopát is frissíteni kell.

  8. Ellenőrzés. Az átírt URL-eket kérd le élesben (HTTP HEAD). A 404 nem mindig hiba: privát repo névtelenül 404, és a placeholder URL-ek (games/example) szándékosak.

Ha org szűnne meg

Mielőtt kiürült orgot törölnél, nézd meg a csomagjait:

tea api --login ttg "/packages/<org>?limit=50"

Az internal org nulla repóval is él, mert nyolc builder image-et tart — a törlése minden buildet megölne.