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

113 lines
7.9 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 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.