Both skills spelled out where the wiki content lives, and both said `infra/`. The repo moved to `services`, so the paths they hand to the next agent would have missed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
72 lines
3.9 KiB
Markdown
72 lines
3.9 KiB
Markdown
---
|
|
name: ttg-new-repo
|
|
description: Create a repo on the TTG forge in the right org and register it everywhere it has to appear — clone list, wiki page, WIKI_CONNECTION table, and CI if it builds something. Use when the user wants a new repository, project or tool ("új repo", "create repo", "kezdjünk egy új projektet").
|
|
allowed-tools: Bash, Read, Edit, Write, Grep, Glob
|
|
---
|
|
|
|
# ttg-new-repo
|
|
|
|
Új repo létrehozása úgy, hogy ne maradjon árván. A tapasztalat szerint a repo elkészül, a nyilvántartásból meg kimarad — ez a skill ezt előzi meg.
|
|
|
|
## 1. Melyik org
|
|
|
|
Az org a repo **rendeltetését** jelöli; a titkosságot a repo `private` kapcsolója adja, nem az org. A mai kiosztás és az egymondatos definíciók a `devarea/REPO_REFACT.md`-ben vannak. Röviden:
|
|
|
|
| Org | Mi kerül bele |
|
|
|---|---|
|
|
| `games` | katalógus-termék, amivel valaki játszik |
|
|
| `demos` | platformbemutató (katalógus-státusz `demo`) |
|
|
| `engines` | újrafelhasználható motor/könyvtár, amitől más repók függnek |
|
|
| `bbs` | BBS szerverek és showcase-ek |
|
|
| `build` | CI toolchain és builder image |
|
|
| `services` | ami a mi szerverünkön fut |
|
|
| `tools` | amit egy ember telepít és futtat magának |
|
|
| `infra` | maga a kiszolgáló-környezet |
|
|
|
|
Ha a besorolás vitatható, **kérdezd meg a felhasználót** — a rossz org később org-váltást és utókövetést jelent.
|
|
|
|
## 2. Létrehozás
|
|
|
|
```sh
|
|
tea api --login ttg -X POST -d '{"name":"<repo>","private":false,"auto_init":false}' /orgs/<org>/repos
|
|
```
|
|
|
|
A `private` a tartalom érzékenységéről szóljon, ne az orgról.
|
|
|
|
## 3. Nyilvántartásba vétel
|
|
|
|
- **`devarea/scripts/repos.list`** — új sor `<org>/<repo>|ssh://git@git.teletypegames.org:2222/<org>/<repo>` alakban, az org blokkjába, ábécérendben. A workspace-mappa 2026-08-16 óta **egy az egyben az org**, tehát az útvonal az orgból következik. Egyetlen kivétel a `devarea`, ami a gyökérben marad, mert a `clone-repos.sh` a szülőkönyvtárába klónoz.
|
|
- **`devarea/scripts/check-repos.sh`** — futtasd. Ha zöld, a lista fedi a szervert. Ez a lépés fogja el a „elkészült, de sehol nincs nyilvántartva" hibát.
|
|
- **`devarea/WIKI_CONNECTION.md`** — ha lesz wiki-oldala, új sor a táblázatba (`Folder`, `Org`, `Title`, `Wiki file`, `URL`). Ha nem lesz, vedd fel a „Folders without a wiki page" felsorolásba.
|
|
|
|
## 4. Wiki-oldal
|
|
|
|
Ha a repo dokumentálást érdemel, hozz létre `services/wiki-pages/pages/<szekció>/<repo>/default.md`-t. Szekció-választás a rendeltetés szerint: `development/` platformok, `engines/` saját motorok és könyvtárak, `infrastructure/` kiszolgáló, `others/` eszközök, `projects/` termékek.
|
|
|
|
A frontmatter kötelező mezői: `title`, `visible`, `id`, `description`, `date`, `locale`, `repo`, `taxonomy.tag`. **Az `id` legyen egyedi** — ellenőrizd (`grep -rh "^id:" pages/ | sort | uniq -d`), a legnagyobb használt fölött adj újat. A `config/sitenav.yaml`-ba is kerüljön bejegyzés, ha a menüben a helye.
|
|
|
|
## 5. CI
|
|
|
|
Ha a repo buildel valamit, futtasd a `ttg-ci-enroll` skillt.
|
|
|
|
## 6. Kezdő tartalom
|
|
|
|
Legyen `README.md` az első committól. Ha a repo egy meglévő minta rokona (pl. új `*-tools` vagy új store), nézd meg a testvért, és kövesd a szerkezetét — ne találj ki újat.
|
|
|
|
## Ha új orgot kell létrehozni
|
|
|
|
Nem elég a puszta org: adj neki **megjelenítendő nevet és `Teletypers` csapatot** a `games` mintájára, különben kilóg a sorból.
|
|
|
|
```sh
|
|
tea api --login ttg -X POST -d '{"username":"<org>","visibility":"public"}' /orgs
|
|
tea api --login ttg -X PATCH -d '{"full_name":"Teletype Games <Név>","description":"<egy mondat>"}' /orgs/<org>
|
|
```
|
|
|
|
A csapat konfigurációját **ne gépeld be** — olvasd ki a mintából és másold:
|
|
```sh
|
|
tea api --login ttg /orgs/games/teams # a Teletypers csapat units_map-je és beállításai
|
|
tea api --login ttg /teams/<id>/members # a tagok
|
|
tea api --login ttg -X POST -d '<spec>' /orgs/<org>/teams
|
|
tea api --login ttg -X PUT /teams/<új-id>/members/<login>
|
|
```
|