From 24ece3cb3519a4db52a5ed41d9f9e8ad1b439fec Mon Sep 17 00:00:00 2001 From: Zsolt Tasnadi Date: Tue, 18 Aug 2026 08:33:36 +0200 Subject: [PATCH] Move the stores into a stores org, and record what it took MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `tools` definition — "one person installs and runs it for themselves" — stopped describing the store engines: they are products other people can build on. So the four store repositories left `tools` for a `stores` org of their own, and the org map, the clone list, the wiki table and the ecosystem plan follow. `check-repos.sh` is green at 49. Worth writing down for the next org change: `tea` has no transfer subcommand, but `tea api` makes authenticated calls with tea's own credentials, which is enough for all of it — POST /orgs, POST /orgs/{org}/teams, PUT /teams/{id}/members/{user}, POST /repos/{owner}/{repo}/transfer. And the transfer keeps Gitea's redirect: the old `tools/...` raw URLs answer 301, so the installers on already-configured boxes did not break. That is why this was a transfer and not a migrate-and-delete. `warpstore` stayed in `engines`: it is a library other repos depend on, which is what that org is for. The launcher gap moved out of the tools chapter of ECOSYSTEM_PLAN into the new stores one, where it belongs. Co-Authored-By: Claude Opus 5 (1M context) --- ECOSYSTEM_PLAN.md | 17 +++++++++++++---- MORE_STORES.md | 4 ++-- REPO_REFACT.md | 20 +++++++++++++------- RETROARCH_STORE.md | 8 ++++---- WIKI_CONNECTION.md | 10 +++++----- scripts/repos.list | 9 +++++---- 6 files changed, 42 insertions(+), 26 deletions(-) diff --git a/ECOSYSTEM_PLAN.md b/ECOSYSTEM_PLAN.md index 777cace..930c7ae 100644 --- a/ECOSYSTEM_PLAN.md +++ b/ECOSYSTEM_PLAN.md @@ -88,14 +88,23 @@ A mérce a saját folyamatunk, a wiki [PDLC](https://wiki.teletypegames.org/team --- -## `tools` — amit az ember magának telepít +## `stores` — a katalógus a gazdaplatform könyvtárformátumában -**Van:** `warp-engine-batocera-store` (általános engine bármely WarpEngine-es oldalhoz) + `ttg-batocera-store` (a mi store-unk), `ttg-marketplace` (Claude plugin marketplace), `devarea` (workspace-kezelés). +**Van:** `warpstore` (a közös mag, az `engines` alatt) + két motor és a rájuk épülő két store-unk: `warp-engine-batocera-store` / `ttg-batocera-store` (EmulationStation, ROM-mappák, gamelist.xml) és `warp-engine-retroarch-store` / `ttg-retroarch-store` (RetroArch `.lpl` playlistek, borítóképek). 2026-08-18-ig a `tools` orgban voltak. -**Erősség:** a Batocera store a mintapélda arra, hogyan válik egy belső eszközből általánosan használható termék — bárki felhúzhat saját store-t a saját katalógusára. +**Erősség:** a Batocera store a mintapélda arra, hogyan válik egy belső eszközből általánosan használható termék — bárki felhúzhat saját store-t a saját katalógusára. A második motor ezt igazolta: a közös rész kiemelése után egy új gazdaplatform egy adapter plusz egy konfiguráció, nem új program. + +**Hiányzik:** +- **Nincs asztali launcher.** A két store emulátorra telepít, tehát a katalógus cartridge-felét viszi. A natív buildeket Batocerán Ports-ként fel tudjuk tenni, hétköznapi PC-re viszont semmilyen utunk nincs — ez a `MORE_STORES.md` 2. pontja. +- **A webes buildeket egyik store sem fogyasztja**, pedig az a legelterjedtebb assetünk. + +--- + +## `tools` — amit az ember magának telepít + +**Van:** `ttg-marketplace` (Claude plugin marketplace), `devarea` (workspace-kezelés), `tic80-draw-image` (vendorolt). **Hiányzik:** -- **Nincs asztali/webes launcher.** A Batocera-doboz le van fedve, a hétköznapi PC nincs. - **Nincs projekt-scaffolder.** A `devarea` a workspace-t kezeli, de nincs `ttg new game --platform godot` jellegű parancs, ami a demót, a Makefile-t, a `.woodpecker.yaml`-t és a Redmine-projektet együtt felhúzza. Ez az egyetlen eszköz, ami a `build` és a `games` közti szakadékot áthidalná. - **Nincs helyi fejlesztői környezet dobozolva.** A builder image-ek CI-re valók; lokálisan mindenki maga rakja össze a toolchaint. diff --git a/MORE_STORES.md b/MORE_STORES.md index 651f4a0..f86f222 100644 --- a/MORE_STORES.md +++ b/MORE_STORES.md @@ -93,8 +93,8 @@ A `shortcuts.vdf`-be írva a játékaink megjelennek a Steam könyvtárban borí `.lpl` JSON playlist platformonként. A cartridge-eket sokkal nagyobb közönségnek adja, mint a Batocera: Android, asztali gépek, konzolok. Kis formátum, kevés munka. **Kész (2026-08-17).** Terv és mérések: `RETROARCH_STORE.md`. Három repó: -`engines/warpstore` (a kiemelt közös mag), `tools/warp-engine-retroarch-store` -(motor), `tools/ttg-retroarch-store` (a mi store-unk). A Batocera-motor ugyanabban +`engines/warpstore` (a kiemelt közös mag), `stores/warp-engine-retroarch-store` +(motor), `stores/ttg-retroarch-store` (a mi store-unk). A Batocera-motor ugyanabban a körben átült a közös magra. **Hátra van:** valódi gépen kipróbálni, hogy a VICE-mag magától indítja-e a `.prg`-t, és hogy az Android `adb push` útvonalai állnak-e. Ott mérve: mind a két mag (`vice_x64`, `tic80`) elérhető minden célon, Androidon is; a playlist-könyvtár nem feltétlenül a RetroArch alapkönyvtárában van, tehát a `retroarch.cfg` kötelező olvasmány; a borító csak PNG lehet, amin az `impostor` GIF-je ma elhasal; leírást a `.lpl` nem tud. A motor egyetlen valódi új képessége az út-átírás (`stage_root` / `target_prefix`), ami az Androidot és a 2. pont asztali store-ját egyszerre szolgálja. diff --git a/REPO_REFACT.md b/REPO_REFACT.md index d01f515..09f664c 100644 --- a/REPO_REFACT.md +++ b/REPO_REFACT.md @@ -67,15 +67,20 @@ git.teletypegames.org/ │ └── 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 5 repót. -│ ├── warp-engine-batocera-store -│ ├── ttg-batocera-store -│ ├── warp-engine-retroarch-store ← új, 2026-08-17 -│ ├── ttg-retroarch-store ← új, 2026-08-17 +│ │ 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 +│ └── infra/ Maga a kiszolgáló-környezet. ├── nginx-conf ← ma internal/ ├── backup-scripts ← ma internal/ @@ -93,8 +98,9 @@ git.teletypegames.org/ - **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"), `tools/warp-engine-retroarch-store` és `tools/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. A `tools/` ezzel 5 helyett 7 repó. -- **Workspace mappák igazítva** (2026-08-16): a mappa mostantól egy az egyben az org (`bbs/`, `build/`, `demos/`, `engines/`, `games/`, `infra/`, `services/`, `tools/`). Kivétel a `devarea`, ami a gyökérben marad, mert a `clone-repos.sh` a szülőjébe klónoz. +- **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. +- **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 diff --git a/RETROARCH_STORE.md b/RETROARCH_STORE.md index 9aa957f..747d1dc 100644 --- a/RETROARCH_STORE.md +++ b/RETROARCH_STORE.md @@ -7,8 +7,8 @@ pedig a libretro buildbot indexéből. > **Megvalósítva ugyanaznap.** Három repó: > [`engines/warpstore`](https://git.teletypegames.org/engines/warpstore) (közös mag), -> [`tools/warp-engine-retroarch-store`](https://git.teletypegames.org/tools/warp-engine-retroarch-store) (motor), -> [`tools/ttg-retroarch-store`](https://git.teletypegames.org/tools/ttg-retroarch-store) (a mi store-unk). +> [`stores/warp-engine-retroarch-store`](https://git.teletypegames.org/stores/warp-engine-retroarch-store) (motor), +> [`stores/ttg-retroarch-store`](https://git.teletypegames.org/stores/ttg-retroarch-store) (a mi store-unk). > A 11. pont javaslatával szemben a közös rész **azonnal** kiemelve — lásd az > „Amit a megvalósítás megváltoztatott" szakaszt a végén. Wiki: > [warpstore](https://wiki.teletypegames.org/engines/warpstore), @@ -143,10 +143,10 @@ libretrodb-formátum, külső eszközlánccal — ez a terven kívül, külön f A Batocera-store bevált kettéosztását követi, ugyanazokkal a nevekkel: ``` -tools/warp-engine-retroarch-store a motor: retroarch_store.py, install.sh +stores/warp-engine-retroarch-store a motor: retroarch_store.py, install.sh ▲ │ config.json -tools/ttg-retroarch-store a mi store-unk: config + wrapper installer +stores/ttg-retroarch-store a mi store-unk: config + wrapper installer ``` Amit telepít: diff --git a/WIKI_CONNECTION.md b/WIKI_CONNECTION.md index fff2409..1be7bd4 100644 --- a/WIKI_CONNECTION.md +++ b/WIKI_CONNECTION.md @@ -38,10 +38,10 @@ This file lives in the `devarea` repo (`tools/devarea`). The repo's `scripts/` f | `services/statusbot` | `services` | Discord Thread Scheduler | `infra/wiki-pages/pages/others/statusbot/default.md` | https://wiki.teletypegames.org/others/statusbot | | `services/teletypegames` | `services` | Public site | `infra/wiki-pages/pages/infrastructure/public-site/default.md` | https://wiki.teletypegames.org/infrastructure/public-site | | `services/updater` | `services` | Discord Updater Bot | `infra/wiki-pages/pages/others/updater/default.md` | https://wiki.teletypegames.org/others/updater | -| `tools/ttg-batocera-store` | `tools` | TTG Batocera Store | `infra/wiki-pages/pages/others/ttg-batocera-store/default.md` | https://wiki.teletypegames.org/others/ttg-batocera-store | -| `tools/ttg-retroarch-store` | `tools` | TTG RetroArch Store | `infra/wiki-pages/pages/others/ttg-retroarch-store/default.md` | https://wiki.teletypegames.org/others/ttg-retroarch-store | -| `tools/warp-engine-batocera-store` | `tools` | WarpEngine Batocera Store | `infra/wiki-pages/pages/others/warp-engine-batocera-store/default.md` | https://wiki.teletypegames.org/others/warp-engine-batocera-store | -| `tools/warp-engine-retroarch-store` | `tools` | WarpEngine RetroArch Store | `infra/wiki-pages/pages/others/warp-engine-retroarch-store/default.md` | https://wiki.teletypegames.org/others/warp-engine-retroarch-store | +| `stores/ttg-batocera-store` | `stores` | TTG Batocera Store | `infra/wiki-pages/pages/stores/ttg-batocera-store/default.md` | https://wiki.teletypegames.org/stores/ttg-batocera-store | +| `stores/ttg-retroarch-store` | `stores` | TTG RetroArch Store | `infra/wiki-pages/pages/stores/ttg-retroarch-store/default.md` | https://wiki.teletypegames.org/stores/ttg-retroarch-store | +| `stores/warp-engine-batocera-store` | `stores` | WarpEngine Batocera Store | `infra/wiki-pages/pages/stores/warp-engine-batocera-store/default.md` | https://wiki.teletypegames.org/stores/warp-engine-batocera-store | +| `stores/warp-engine-retroarch-store` | `stores` | WarpEngine RetroArch Store | `infra/wiki-pages/pages/stores/warp-engine-retroarch-store/default.md` | https://wiki.teletypegames.org/stores/warp-engine-retroarch-store | ## Notes @@ -61,7 +61,7 @@ This file lives in the `devarea` repo (`tools/devarea`). The repo's `scripts/` f - `rabbitc64` is the C64 port of `rabbitroller`; both have their own project pages with cross-references. - The `wiki-pages` repo (the wiki itself: Grav + fetcher + BBS front-end) documents itself on the `infrastructure/wiki-site` page. - The `tools/warp_engine` repo (in `repos.list`, 2026-08-04) is a **read-only split mirror**: development happens in the `teletypegames` monorepo (`libs/ruby/warp_engine`), CI republishes the mirror on every change. The `infrastructure/warp-engine` page documents the engine as a standalone product (mountable Rails engine: catalog, CI-callable updater, JSON API, optional ActiveAdmin); the monorepo itself remains documented by `infrastructure/public-site`. -- The Batocera store (2026-08-10) was split in two on 2026-08-15: `tools/warp-engine-batocera-store` is the reusable engine (the former `tools/batocera-store` repo, renamed), and `tools/ttg-batocera-store` is our store on top of it — a `config.json` plus a wrapper installer. Each has its own page, and the old `others/batocera-store` page became `others/ttg-batocera-store` (id 233 kept); the engine page is new (id 235). Both appear in the sidebar's Others section (`config/sitenav.yaml`). The engine speaks the WarpEngine API, so `infrastructure/warp-engine` is the catalog-side counterpart of both. +- The Batocera store (2026-08-10) was split in two on 2026-08-15: `warp-engine-batocera-store` is the reusable engine (the former `tools/batocera-store` repo, renamed), and `ttg-batocera-store` is our store on top of it — a `config.json` plus a wrapper installer. Each has its own page, and the old `others/batocera-store` page became `others/ttg-batocera-store` (id 233 kept); the engine page is new (id 235). Both appear in the sidebar (`config/sitenav.yaml`). The engine speaks the WarpEngine API, so `infrastructure/warp-engine` is the catalog-side counterpart of both. The RetroArch store joined them on 2026-08-17 with the same two-repo shape and a shared core (`engines/warpstore`), and on 2026-08-18 all four repos moved from `tools` to their own `stores` org, the four wiki pages with them: `pages/others/` → `pages/stores/`, with a `Stores` sidebar section of its own and a Grav redirect per page in `config/site.yaml`, so the old `/others/...` URLs still resolve. - The `bevy-tools` / `bevy-demo` and `phaser-tools` / `phaser-demo` repos (2026-07-31) are documented by the engine-wide `development/bevy` and `development/phaser` pages — the demos have no separate project pages, following the inkwell/inkwell-demo pattern. Both pages appear in the sidebar's Development section (`config/sitenav.yaml`). - `demos/ebitengine-demo` is a borderline case: the `development/bevy` and `development/phaser` pages reference it ("the same demo"), and it is also the example project of the `development/ebitengine` page (`ebitenginedemo`), but that page has no reference-project section presenting the demo like the bevy/phaser pages do. - The `games/nyuller` repo was cloned from Gitea (`games/nyuller`) on 2026-08-01; it has no wiki page. diff --git a/scripts/repos.list b/scripts/repos.list index cdaf9ab..5c6f6d3 100644 --- a/scripts/repos.list +++ b/scripts/repos.list @@ -55,9 +55,10 @@ services/statusbot|ssh://git@git.teletypegames.org:2222/services/statusbot services/teletypegames|ssh://git@git.teletypegames.org:2222/services/teletypegames services/teletype-orbit|ssh://git@git.teletypegames.org:2222/services/teletype-orbit services/updater|ssh://git@git.teletypegames.org:2222/services/updater + +stores/ttg-batocera-store|ssh://git@git.teletypegames.org:2222/stores/ttg-batocera-store +stores/ttg-retroarch-store|ssh://git@git.teletypegames.org:2222/stores/ttg-retroarch-store +stores/warp-engine-batocera-store|ssh://git@git.teletypegames.org:2222/stores/warp-engine-batocera-store +stores/warp-engine-retroarch-store|ssh://git@git.teletypegames.org:2222/stores/warp-engine-retroarch-store tools/tic80-draw-image|https://github.com/cxong/tic80-draw-image.git -tools/ttg-batocera-store|ssh://git@git.teletypegames.org:2222/tools/ttg-batocera-store tools/ttg-marketplace|ssh://git@git.teletypegames.org:2222/tools/ttg-marketplace -tools/ttg-retroarch-store|ssh://git@git.teletypegames.org:2222/tools/ttg-retroarch-store -tools/warp-engine-batocera-store|ssh://git@git.teletypegames.org:2222/tools/warp-engine-batocera-store -tools/warp-engine-retroarch-store|ssh://git@git.teletypegames.org:2222/tools/warp-engine-retroarch-store