Files
devarea/REPO_REFACT.md
T
mr.zeroandClaude Opus 5 30e9a5a6e2 Close the desktop store item, and fix a check that had started lying
MORE_STORES item 2 is done: stores/warp-engine-desktop-store and
stores/ttg-desktop-store. The write-up records what the implementation changed
about the plan — chiefly that the `html` asset is not a downloadable archive but a
hosted directory, so a browser title becomes a menu entry that opens its page
rather than an offline install.

Separately: `check-repos.sh` reported `infra/wiki-pages` as STALE while the repo
was plainly there. Gitea caps a page at 50 items whatever `--limit` says, so
`tea repo list --limit 1000` had been quietly returning the first 50 — invisible
until today, when the estate reached 51 repos. The check now pages through, and
fails loudly if the server returns nothing at all rather than declaring the whole
workspace stale.

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

8.7 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
│
└── 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 <id> home-mal osztoztak volna a config.json-on és a state.json-on — a home mostantól <id>-<motor>, 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.