--- name: ttg-audit-forge description: Audit the TTG estate for drift between the forge, the clone list, the wiki, the catalog and CI — repos missing from the clone list, stale git URLs, repos with build config but no pipeline, catalog entries whose repo name differs, duplicate checkouts and leftover remotes. Reports findings; fixes only what the user approves. Use for a health check ("nézd át", "audit", "mi van elcsúszva", "konzisztencia"). allowed-tools: Bash, Read, Grep, Glob --- # ttg-audit-forge Konzisztencia-ellenőrzés a forge, a klónlista, a wiki, a katalógus és a CI között. **Először jelents, ne javíts** — a találatok egy része szándékos, és a felhasználónak kell eldöntenie. ## Adatforrások | Mi | Honnan | |---|---| | repók | `tea api --login ttg "/user/repos?limit=50&page=N"` (lapozz) | | orgok, csapatok | `tea api --login ttg /user/orgs`, `/orgs//teams` | | csomagok | `tea api --login ttg "/packages/?limit=50"` | | klónlista | `devarea/scripts/repos.list` + `check-repos.sh` | | wiki-leképezés | `devarea/WIKI_CONNECTION.md` | | katalógus | `https://teletypegames.org/api/software` | | CI | `https://teletypegames.org/api/ci/pipelines` | ## Ellenőrzések **1. Klónlista ↔ szerver.** `devarea/scripts/check-repos.sh`. MISSING = a szerveren van, a listán nincs; STALE = fordítva. A `repos.ignore`-ban lévők szándékosan kimaradnak. **2. Elavult git URL-ek.** A workspace-ben, a wikiben és a publikus oldalon: ```sh grep -rn "git\.teletype\.hu" --exclude-dir=.git # legacy hoszt, sosem helyes grep -rnoE "git\.teletypegames\.org(:[0-9]+)?/[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+" ``` Az orgot vesd össze a repo *mai* tulajdonosával. **Ne jelentsd hibának:** az `internal/-builder` és `internal/tic80pro` (csomagnévtér, nem költözik), az `api/packages/...` (registry-út), és a szándékos placeholderek (`games/example`). **3. Go modulnevek.** Minden `go.mod` első sora egyezzen a repo mai `/` útjával. A Gitea átirányítása **nem fedi** a modulneveket, tehát az eltérés valódi törés. Nézd a fogyasztók `require`/`replace` sorait is: a `replace ... => ../` CI-ben mindig bukik. **4. Gem- és csomaghivatkozások.** `Gemfile`, `Gemfile.lock`, `*.gemspec` — hoszt és org. A gemspec `allowed_push_host`-ja egyezzen a publikáló pipeline `--host` értékével. **5. CI-lefedettség.** Vesd össze háromfelé: van-e `.woodpecker.yaml` **vagy** `.woodpecker.yml`, szerepel-e a repo a `/api/ci/pipelines`-ban, és van-e katalógus-bejegyzése. A tipikus hiba: konfig megvan, regisztráció nincs — ilyenkor a build csendben nem fut. Nézd a `last_pipeline_status` mezőt is. **6. Katalógus ↔ repo.** A katalógus szoftverneve és a repo neve eltérhet (`bevydemo` vs `bevy-demo`). Ez önmagában nem hiba, de a wikiben és az oldalon linkként **elszáll**, ha a szoftvernevet használják repo-útként. **7. Org-higiénia.** Minden orgnak legyen megjelenítendő neve és `Teletypers` csapata a `games` mintájára (azonos `units_map`, `includes_all_repositories`, tagok). Üres orgnál nézd meg a csomagjait, mielőtt bárki törölné. **8. Workspace-higiénia.** Duplikált checkout (ugyanaz a repo két mappában, eltérő állapotban), `origin`-on kívüli elfekvő remote, és olyan branch, aminek az upstreamje nem `origin/...` — ebből egy sima `git push` rossz helyre megy. ## Jelentés Csoportosítsd a találatokat aszerint, hogy **valódi törés**, **elcsúszás** vagy **szándékos**. Minden találathoz add meg a fájlt és a sort. A javításra kérj jóváhagyást; ha a felhasználó kéri, a repo-mozgatáshoz a `ttg-move-repo`, a dokumentációhoz a `ttg-update-docs` skill való.