Files
devarea/REPO_REFACT.md
T
mr.zeroandClaude Opus 5 0f2fe6de62 Work out and build the RetroArch store
RETROARCH_STORE.md is the design, written from measurements rather than
documentation: the format samples, thumbnail layout and core names come from
a real RetroArch install on this machine, the core availability from the
libretro buildbot index, and the CRC32s from the catalog itself.

Three findings shaped it. The playlist folder is not necessarily inside the
RetroArch directory — on the machine measured, playlist_directory is under
~/Documents while cores and thumbnails are under ~/Library — so reading
retroarch.cfg is a requirement, not a nicety. Thumbnails must be PNG, and
one of our covers is a GIF, which no store had cared about before. And a
.lpl entry has nowhere to put a description, so desc and author do not
survive the trip.

Built the same day, in three repositories: engines/warpstore (the shared
core, extracted immediately rather than in the second phase the plan
proposed), tools/warp-engine-retroarch-store and tools/ttg-retroarch-store.
The closing section of the design records what the implementation changed
about it.

MORE_STORES.md item 4 is closed, its "a minta" section now points at the
extracted core, and REPO_REFACT.md carries the three new repos —
check-repos.sh is green at 49.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-17 18:08:59 +02:00

107 lines
6.6 KiB
Markdown

# 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 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
│ ├── ttg-marketplace ← ma internal/
│ ├── devarea
│ └── tic80-draw-image (vendorolt, GitHub)
└── 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"), `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.
## 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.