Two entries in REPO_REFACT.md: WarpEngine Client with the unavailable-titles work and the build-time registry address, and the WarpEngine version header with the movable pipeline-software link. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
13 KiB
13 KiB
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
│ └── warp-engine-client Electron kliens a desktop store-hoz
│
└── 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
gamesmintájára a megjelenítendő nevet és aTeletyperscsapatot — azonos jogosultságokkal (includes_all_repositories,can_create_org_repo, private láthatóság, ugyanaz aunits_map) és ugyanazzal a négy taggal. devarea/scripts/repos.list— 30 klón-URL átírva; acheck-repos.shzölden fut (45 repo, 1 kizárva).- 33 lokális checkout
origin-ja átállítva, köztük awarp_enginerégigit.teletype.huhosztja. WIKI_CONNECTION.md— újOrgoszlop.- Go modulnevek rendezve (2026-08-16):
engines/inkwell,engines/gorpgésdemos/inkwell-demogo.mod-ja a mai orgot viszi; agorpg-é korábbanmodule gamevolt. Mindhárom kiadva, lásdECOSYSTEM_PLAN.md. - Gem git-források rendezve (2026-08-16):
bbs/bbs-server,bbs/sermo-bbsésbbs/impostor-bbs— mindhárom a kanonikus hoszton azengines/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
buildorg alá került, aci_platformsés a dokumentáció (7 toolchain README + Dockerfile, 2 wiki-oldal) átírva. Azinternalorg ezzel kiüríthető — ez volt az egyetlen, ami visszatartotta. - Wiki
engines/névtér (2026-08-16): awarp-engine,rubbsésinkwelloldal egy közös/enginesszekció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 — azengines/definíciója szerint „könyvtár, amitől más repók függnek"),warp-engine-retroarch-storeésttg-retroarch-store. Arepos.listés aWIKI_CONNECTION.mdtáblája követi; acheck-repos.sh49 repóval zölden fut. storesorg (2026-08-18): a négy store-repó atools-ból egy saját orgba került, mert atoolsdefiní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 agamesmintájára kapta a megjelenítendő nevet és aTeletyperscsapatot: ugyanaz a négy tag, azonosunits_map,includes_all_repositories,can_create_org_repo, privát csapat-láthatóság. A műveleteket atea apivégzi, amit ateaalparancsai 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égitools/...raw URL-ek 301-gyel a helyükre mutatnak, tehát a már telepített store-okcurl-jei nem törtek el; a hivatkozásokat ettől függetlenül mindenhol átírtuk. Awarpstoreazengines-ben maradt: könyvtár, nem store.- Asztali store (2026-08-18):
stores/warp-engine-desktop-storeésstores/ttg-desktop-store— a harmadik motor a közös magon. Awarpstoreezért kapott két bővítést: akindlehet lista (Apple Silicononmac_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 ahtmlbuild 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<id>home-mal osztoztak volna aconfig.json-on és astate.json-on — a home mostantól<id>-<motor>, a RetroArch-telepítő az elsőnél átmozgatja a régit. - Grafikus kliens (2026-08-18):
stores/warp-engine-client— Electron-ablak a desktop store CLI-hez. A motor ezért kapott--json-t (list,paths,sync,remove,purge), a mag pedigset_log_stream()-et: adat a stdouton, emberi log a stderren. Az app egyben a Windows-telepítő is, mert ott acurl … | shnem létezik: store nélkül letölti a motort, a magot és a configot ugyanabba a home-ba. Terjesztés Gitea release-ben; a macOS-csomag megépítve és a kicsomagolt.appvisszamérve, Windows/Linux artifact CI-t vagy másik gépet kér. Node 22+ kell a telepítéséhez (nem a futtatásához): az Electron saját installere ESM-only, a Node 20require()-je elhal rajta. - A kliens átnevezve (2026-08-18):
stores/warp-engine-desktop-gui→stores/warp-engine-client. A repónév a termékhez (WarpEngine Store) igazodik, nem a „desktop GUI” szerepéhez, és a hosztspecifikus motorok maradnakwarp-engine-<hoszt>-store. Atea api -X PATCH /repos/stores/... -f name=...végzi (atea repoalparancsai nem tudják); a Gitea itt is megőrzi az átirányítást, a release-ek és az 5 tag a repóval együtt költöztek. Átírva: a repó belseje (package.jsonnév és homepage, lockfile, README, User-Agent), a wiki-oldal mappája + fejléce + sitenav + Grav-átirányítás a régi útvonalról, arepos.list, aWIKI_CONNECTION.md, aservices/teletypegamesREADME-je és a/storesfrontend-oldal. - Store-config repó nélkül is működik (2026-08-18): a registry
store_repository_url-je opcionális lett. A motorDEFAULT_CONFIG-ja mindent visz (host→asset leképezés, módok, platformok, viselkedés); ami hiányzik belőle, az az identitás — slug, név, katalógus —, és pont azt hordozza a registry-rekord. Repó nélkül a kliens a katalógus-hostból képzi a slugot (teletypegames.org→teletypegames), és háromszekciós configot ír. A store-config repók megmaradnak: acurl … | shtelepítőút továbbra is azokból jön. - A kliens CI-je (2026-08-18):
stores/warp-engine-clientsaját.woodpecker.yaml-t kapott, nem a/build/configkiterjesztést — az game-platformokat szolgál ki, amik a katalógusba publikálnak, ez viszont alkalmazást épít Gitea release-be. Négy lépés:check(npm ci + typecheck + lint + smoke),linux(AppImage + deb),windows(NSIS + portable, Wine alatt,electronuserland/builder:22-wine),release(csak tagre, ascripts/ci-upload.shagitea_tokensecrettel). macOS marad helyi build, mert az Apple-toolchain és az aláírás csak Macen létezik; egy teljes release tehát egy helyimake release+ ez a pipeline. A képek parancsait előbb helyben, ugyanabban a két konténerben mértem le. - A kliens neve és a katalógus teljessége (2026-08-18): az app WarpEngine Client lett (a „Store" azt nevezte meg, amit megnyit, nem amit futtatsz), a fejlécből kikerült a store-jelvény, és a kliens minden címet listáz — amit ez a gép nem tud telepíteni, azt szürkén, „unsupported platform" jelvénnyel és a motor indoklásával. Ehhez a mag
survey_catalog-ot kapott (warpstore1.4.0), az asztali motor pediginstallable: false-os rekordokat ad a--jsonlistában (1.2.0); aselect_gameskétértékű burkolóként megmaradt, tehát a Batocera- és RetroArch-motor változatlan. A registry címe build-időben is megadható (make dist STORES_API=…, az electron-builderextraMetadata-ján keresztül a csomagpackage.json-jába sülve), futásidőben aSTORES_APItovábbra is felülírja. - WarpEngine verzió-fejléc és pipeline-kapcsolat (2026-08-18): minden WarpEngine API-válasz
WarpEngine-Versionfejlécet visz (abefore_actionmiatt a hibaválaszok is), és egy szoftverhez egy pipeline tartozik, de az átállítható: aki eddig birtokolta, elveszti, az admin pedig kiírja, kitől vette el. Szándékosan callback és nem unique index, mert a sorok soft-delete-esek, és az index a törölt sorokat is számolja. - 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 adevarea, ami a gyökérben marad, mert aclone-repos.sha szülőjébe klónoz.
Nyitott pontok
- Woodpecker — a
/api/ci/pipelinestá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 awoodpecker-cli repo lsa mérvadó.
Ami magától rendben van
- A
/codeoldalowner/namealakban írja ki a repókat, tehát az új org-nevek külön munka nélkül megjelennek rajta. - A
check-repos.shorg-agnosztikus (tea repo list-ből olvas), nem kellett hozzányúlni.