# Gitea org-struktúra **Végrehajtva 2026-08-15-én.** 6 új org, 30 repo áthelyezve, 44 repo a helyén. Előtte a `tools` org 19 repót tartott hét különböző célra, az `internal`-t pedig csak az fogta össze, hogy privát. A bontásban **az org a rendeltetést jelöli, a titkosságot a repo `private` kapcsolója.** Nyolc org, 44 repo. A régi útvonalak átirányítanak (Gitea `repo_redirect`), tehát a meglévő klónok, CI-hivatkozások és wiki-linkek nem törtek el. ``` git.teletypegames.org/ │ ├── games/ Katalógus-termék: valaki játszik vele. │ │ Szabály: a katalógus status mezője nem "demo". │ ├── blessingofra │ ├── impostor │ ├── realworld (még nincs a katalógusban) │ ├── rabbitroller │ ├── rabbitc64 │ ├── bombexpert │ ├── trickster-tiles │ ├── nyuller (még nincs a katalógusban) │ ├── mranderson (archivált) │ ├── c64-demo ← ma a workspace demos/ mappájában │ └── c64-demo-cpp │ ├── demos/ Egy platformot mutat be, nem önálló termék. │ │ Szabály: a katalógus status mezője "demo". A wikiben │ │ nincs saját projektoldaluk, a motor oldalán szerepelnek. │ ├── bevy-demo │ ├── ebitengine-demo │ ├── love-demo │ ├── phaser-demo │ ├── inkwell-demo │ └── pong ← ma games/, de a katalógusban "demo" │ ├── engines/ Saját motor és könyvtár, amitől más repók függnek. │ │ A wiki sidebar "Engines" fejléce már ma ezeket sorolja. │ ├── warp_engine Rails engine: katalógus + API ← ma tools/ │ ├── rubbs Ruby gem: Telnet BBS keretrendszer ← ma tools/ │ ├── inkwell Go: Point'n'Click DSL ← ma games/ │ ├── gorpg Go: Ebitengine RPG motor ← ma games/ │ └── warpstore Python: a store-motorok közös magja ← új, 2026-08-17 │ ├── bbs/ BBS szerverek és showcase-ek. A keretrendszerük │ │ (rubbs) az engines/ alatt van. │ ├── bbs-server │ ├── sermo-bbs ← ma internal/ │ └── impostor-bbs ← ma games/ │ ├── build/ CI toolchain és builder image. │ │ Ide tartoznak a ma internal/ névtérben publikált │ │ *-builder image-ek és a tic80pro is. │ ├── bevy-tools │ ├── c64-tools │ ├── ebitengine-tools │ ├── godot-tools │ ├── love-tools │ ├── phaser-tools │ └── tic80-tools │ ├── services/ A mi szerverünkön fut. │ ├── teletypegames a publikus oldal monorepója │ ├── statusbot Discord bot │ ├── updater Discord bot │ ├── social-updater YouTube → Facebook/LinkedIn │ ├── blog-writer wiki → Gemini → blog pipeline │ └── redmine-tree Redmine fa nézet │ ├── tools/ Egy ember telepíti és futtatja magának. │ │ A név marad, de kap definíciót és 19 helyett 3 repót │ │ (a store-ok 2026-08-18-án a stores orgba kerültek). │ ├── ttg-marketplace ← ma internal/ │ ├── devarea │ └── tic80-draw-image (vendorolt, GitHub) │ ├── stores/ Store: a katalógust egy gazdaplatform saját │ │ könyvtárformátumába írja. Motor + a rá épülő store-ok. │ │ ← új org, 2026-08-18 │ ├── warp-engine-batocera-store motor: EmulationStation + gamelist.xml │ ├── ttg-batocera-store a mi store-unk rajta │ ├── warp-engine-retroarch-store motor: RetroArch .lpl playlistek │ ├── ttg-retroarch-store a mi store-unk rajta │ ├── warp-engine-desktop-store motor: az OS alkalmazás-menüje │ └── ttg-desktop-store a mi store-unk rajta │ └── infra/ Maga a kiszolgáló-környezet. ├── nginx-conf ← ma internal/ ├── backup-scripts ← ma internal/ └── wiki-pages ← ma internal/ ``` ## Elvégezve - 6 org létrehozva (`demos`, `engines`, `bbs`, `build`, `services`, `infra`), 30 repo áthelyezve. - Mind a 6 új org megkapta a `games` mintájára a megjelenítendő nevet és a `Teletypers` csapatot — azonos jogosultságokkal (`includes_all_repositories`, `can_create_org_repo`, private láthatóság, ugyanaz a `units_map`) és ugyanazzal a négy taggal. - `devarea/scripts/repos.list` — 30 klón-URL átírva; a `check-repos.sh` zölden fut (45 repo, 1 kizárva). - 33 lokális checkout `origin`-ja átállítva, köztük a `warp_engine` régi `git.teletype.hu` hosztja. - `WIKI_CONNECTION.md` — új `Org` oszlop. - **Go modulnevek rendezve** (2026-08-16): `engines/inkwell`, `engines/gorpg` és `demos/inkwell-demo` `go.mod`-ja a mai orgot viszi; a `gorpg`-é korábban `module game` volt. Mindhárom kiadva, lásd `ECOSYSTEM_PLAN.md`. - **Gem git-források rendezve** (2026-08-16): `bbs/bbs-server`, `bbs/sermo-bbs` és `bbs/impostor-bbs` — mindhárom a kanonikus hoszton az `engines/rubbs`-ra mutat, a rögzített revíziók változatlanul. - **Builder image-ek átköltöztetve** (2026-08-16): mind a 8 konténer-csomag a `build` org alá került, a `ci_platforms` és a dokumentáció (7 toolchain README + Dockerfile, 2 wiki-oldal) átírva. Az `internal` org ezzel kiüríthető — ez volt az egyetlen, ami visszatartotta. - **Wiki `engines/` névtér** (2026-08-16): a `warp-engine`, `rubbs` és `inkwell` oldal egy közös `/engines` szekcióba került, a régi URL-ek Grav-átirányítással élnek tovább. - **Három új repó a store-vonalon** (2026-08-17): `engines/warpstore` (a store-motorok kiemelt közös magja — az `engines/` definíciója szerint „könyvtár, amitől más repók függnek"), `warp-engine-retroarch-store` és `ttg-retroarch-store`. A `repos.list` és a `WIKI_CONNECTION.md` táblája követi; a `check-repos.sh` 49 repóval zölden fut. - **`stores` org** (2026-08-18): a négy store-repó a `tools`-ból egy saját orgba került, mert a `tools` definíciója („egy ember telepíti és futtatja magának”) a motorokra már nem állt — azok termékek, amikre más is építhet. Az org a `games` mintájára kapta a megjelenítendő nevet és a `Teletypers` csapatot: ugyanaz a négy tag, azonos `units_map`, `includes_all_repositories`, `can_create_org_repo`, privát csapat-láthatóság. A műveleteket a `tea api` végzi, amit a `tea` alparancsai nem tudnak: `POST /orgs`, `POST /orgs/{org}/teams`, `PUT /teams/{id}/members/{user}`, `POST /repos/{owner}/{repo}/transfer`. **A transzfer megőrzi a Gitea átirányítását** — a régi `tools/...` raw URL-ek 301-gyel a helyükre mutatnak, tehát a már telepített store-ok `curl`-jei nem törtek el; a hivatkozásokat ettől függetlenül mindenhol átírtuk. A `warpstore` az `engines`-ben maradt: könyvtár, nem store. - **Asztali store** (2026-08-18): `stores/warp-engine-desktop-store` és `stores/ttg-desktop-store` — a harmadik motor a közös magon. A `warpstore` ezért kapott két bővítést: a `kind` lehet **lista** (Apple Siliconon `mac_universal` > `mac_arm64` > `mac_x64`, mert az utolsó Rosettát kér), és a rekord viszi az asset katalógus-oldali útját is, mert a `html` build nem letölthető, hanem kiszolgált. Egy ütközés is kiderült és javítva lett: a RetroArch- és az asztali motor ugyanabban a store root-ban él, és a bare `` home-mal osztoztak volna a `config.json`-on és a `state.json`-on — a home mostantól `-`, a RetroArch-telepítő az elsőnél átmozgatja a régit. - **Workspace mappák igazítva** (2026-08-16): a mappa mostantól egy az egyben az org (`bbs/`, `build/`, `demos/`, `engines/`, `games/`, `infra/`, `services/`, `stores/`, `tools/`). Kivétel a `devarea`, ami a gyökérben marad, mert a `clone-repos.sh` a szülőjébe klónoz. ## Nyitott pontok - **Woodpecker** — a `/api/ci/pipelines` tábla hiányos: 10 repót mutat, miközben a Woodpecker 19-et ismer és mind aktív, és a tulajdonos több sorban a költözés előtti orgot mutatja. A szinkron lefuttatása rendbe teszi; addig a `woodpecker-cli repo ls` a mérvadó. ## Ami magától rendben van - **A `/code` oldal** `owner/name` alakban írja ki a repókat, tehát az új org-nevek külön munka nélkül megjelennek rajta. - **A `check-repos.sh`** org-agnosztikus (`tea repo list`-ből olvas), nem kellett hozzányúlni.