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>
This commit is contained in:
2026-08-16 11:07:39 +02:00
co-authored by Claude Opus 5
parent e25cc494d2
commit 4192fc366e
9 changed files with 405 additions and 2 deletions
@@ -0,0 +1,80 @@
---
name: ttg-update-docs
description: After a change has been made, update every place that documents it — the README of the repo that changed, the wiki page in wiki-pages, and the public site in teletypegames (Vue page plus both locale files). Finds the affected documents from the actual diff rather than guessing. Use after finishing a change ("frissítsd a doksit", "update docs", "vezesd át a dokumentációba").
allowed-tools: Bash, Read, Edit, Write, Grep, Glob
---
# ttg-update-docs
Egy elvégzett módosítás átvezetése a dokumentációba. Három célpont van, és **nem mindig mind a három érintett** — a skill első fele annak a kiderítése, melyik.
## 1. Mi változott
Ne emlékezetből dolgozz. Nézd meg a tényleges diffet:
```sh
git -C <repo> status --short
git -C <repo> diff --stat HEAD
git -C <repo> log --oneline -10
```
Ha több repót érintett a munka, mindegyikre. Írd össze konkrétan: **mi lett más a felhasználó szemszögéből** — új parancs, megváltozott útvonal, új konfigkulcs, átnevezett dolog, megszűnt lépés. Ami csak belső refaktor, azt ne dokumentáld.
## 2. README — abban a repóban, ahol a változás történt
A legközelebbi és leggyakrabban elfelejtett célpont. Nézd át:
- Telepítési és használati parancsok — ha útvonal vagy parancsnév változott, itt is változik.
- Konfigurációs táblázatok — új vagy átnevezett kulcs.
- Könyvtárszerkezet-ábrák.
- Repo-URL-ek, ha a repo költözött.
Ha a változás egy **mintát** érint, ami több repóban ismétlődik (pl. egy `build/*-tools` sablon vagy egy store-minta), nézd meg a testvéreket is — a minta és a példány ne csússzon szét.
## 3. Wiki — a `wiki-pages` repo
A wiki **Grav CMS**, a tartalom `wiki-pages/pages/<útvonal>/default.md`. Az oldal nem CMS-ben, hanem fájlban él, tehát szerkeszthető.
**Melyik oldal tartozik a repóhoz:** a `devarea/WIKI_CONNECTION.md` táblázata mondja meg (`Folder``Wiki file`). Ha nincs benne, vagy `grep -rl "<repo>" wiki-pages/pages/`.
Amire figyelj:
- **Frontmatter.** A `repo:` mező URL-je is elavulhat. Az `id` egyedi legyen (`grep -rh "^id:" pages/ | sort | uniq -d`).
- **Mindkét irány.** Ha egy oldal átnevezésre vagy kettévágásra kerül, a `config/sitenav.yaml` bejegyzését is vezesd át, és a **másik két célpontban** lévő wiki-linkeket is (a publikus oldal `CONFIG.wikiBase`-re épülő URL-jét is beleértve).
- **Nem csak `pages/`.** A `wiki-pages` repóban van `README.md`, `bbs/` (Gemfile is!), `fetcher/` — ezekben is lehet érintett hivatkozás.
- **Commit-konvenció.** A `wiki-pages` repónak saját `git-commit` skillje van, és a konvenciója szerint **nem kerül trailer az üzenetbe** (se `Co-Authored-By`, se generált aláírás). Kövesd.
## 4. Publikus oldal — a `teletypegames` repo
A publikus oldal **Vue 3 SPA**, nem CMS. A tartalom három helyen van, és **mindhármat együtt kell módosítani**:
| Mi | Hol |
|---|---|
| oldalszerkezet, linkek, kódrészletek | `apps/frontend/src/page/<szekció>/<Név>Page.vue` |
| minden megjelenő szöveg | `apps/frontend/src/i18n/locales/en.ts` **és** `hu.ts` |
| útvonal | `apps/frontend/src/router/<szekció>.router.ts` |
**A szövegek nem a `.vue`-ban vannak**, hanem a locale fájlokban, `t('szekció.kulcs')` hivatkozással. Új szöveghez új kulcs kell **mindkét nyelvben**, azonos szerkezetben. Az `en` a fallback.
Ami tipikusan a `.vue`-ban marad hardkódolva, és ezért elavul: repo-URL-ek, telepítő egysorosok, CLI-részletek, külső linkek.
**Ellenőrzés — ezt ne hagyd ki:**
```sh
cd apps/frontend
npm run build # vue-tsc típusellenőrzés + vite build
npm run lint
npm test
```
A lintben és a tesztekben lehetnek korábbról meglévő figyelmeztetések/hibák; ha ilyet látsz, `git stash`-sel ellenőrizd, hogy a te változtatásod okozta-e, és mondd meg a felhasználónak, melyik volt már ott.
## 5. Ami a három célponton kívül esik
Ha a változás a repo-állományt vagy az ökoszisztéma állapotát érinti, ezek is naplót kérnek:
- `devarea/scripts/repos.list` és `devarea/WIKI_CONNECTION.md` — új, átnevezett vagy áthelyezett repo.
- Workspace gyökér `REPO_REFACT.md` — org-struktúra változás.
- Workspace gyökér `ECOSYSTEM_PLAN.md` — ha egy hiányosság megszűnt vagy egy javasolt lépés elkészült, a státuszát vezesd át.
## 6. Zárás
Repónként külön commit, mindegyik a saját konvenciója szerint. A végén foglald össze a felhasználónak **repónként**, mi változott és mi maradt szándékosan érintetlenül — és ha valamit nem tudtál ellenőrizni (pl. böngészőben renderelni), azt mondd ki, ne hallgasd el.