Files
devarea/REPO_REFACT.md
T
mr.zeroandClaude Opus 5 24ece3cb35 Move the stores into a stores org, and record what it took
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) <noreply@anthropic.com>
2026-08-18 08:33:36 +02:00

7.9 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
│
└── 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.
  • 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.