--- 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":"","private":false,"auto_init":false}' /orgs//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 `/|ssh://git@git.teletypegames.org:2222//` 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///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":"","visibility":"public"}' /orgs tea api --login ttg -X PATCH -d '{"full_name":"Teletype Games ","description":""}' /orgs/ ``` 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//members # a tagok tea api --login ttg -X POST -d '' /orgs//teams tea api --login ttg -X PUT /teams/<új-id>/members/ ```