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>
116 lines
8.7 KiB
Markdown
116 lines
8.7 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
|
|
│ ├── 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.
|