From de86f7b62cba34e393d10c04f2a36c587e7d2f5c Mon Sep 17 00:00:00 2001 From: Zsolt Tasnadi Date: Tue, 18 Aug 2026 08:46:56 +0200 Subject: [PATCH] Describe the workspace as it actually is MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The README's layout block was two reorganisations out of date: it still had `tools_bbs/`, `tools_build/`, `tools_libs/`, an `archive/`, and the public site and wiki at the workspace root. Since 2026-08-16 every folder is a Gitea org, one to one — which is the reason a path in `repos.list` is just `/` — so the block now says that, names the exceptions (`devarea` itself, plus `media/` and `memory/`, which are not repos), and includes `stores/`. `clone-repos.sh` needed no change: it makes the parent of each path, so a fresh machine gets the org folders from the list alone. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 34 +++++++++++++++++++++++----------- WIKI_CONNECTION.md | 2 +- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 0beb21e..f56fb3a 100644 --- a/README.md +++ b/README.md @@ -54,21 +54,33 @@ All scripts live under `scripts/` and can also be run standalone: ## Workspace structure +Every folder is a Gitea org, one to one — that is the rule since 2026-08-16, and +it is why a repo's path in `repos.list` is simply `/`: + ``` TTG/ -├── devarea/ # this repo -├── teletypegames/ # public site monorepo (GitHub) -├── wiki-pages/ # wiki mirror (Grav) -├── archive/ # retired projects -├── demos/ # engine demos, experiments -├── games/ # games -├── media/ # assets, images (not git) -├── tools/ # standalone tools, infra -├── tools_bbs/ # BBS-related repos -├── tools_build/ # engine/build toolchains (*-tools) -└── tools_libs/ # own libraries (inkwell, rubbs, gorpg) +├── devarea/ # this repo — has to sit here, clone-repos.sh clones into its parent +├── bbs/ # BBS servers and showcases +├── build/ # CI toolchains and builder images (*-tools) +├── demos/ # one per engine: shows a platform, not a product +├── engines/ # own engines and libraries other repos depend on +├── games/ # catalog products +├── infra/ # the server environment itself (nginx, backups, wiki-pages) +├── services/ # what runs on our server (public site, bots) +├── stores/ # store engines and the stores built on them +├── tools/ # what one person installs and runs for themselves +├── media/ # reference images and documents — not git repos +└── memory/ # working agreements the assistants read (not a git repo) ``` +Two exceptions to the one-to-one rule: `devarea` itself, which stays at the +workspace root because `clone-repos.sh` clones into its parent directory, and +`media/` + `memory/`, which are not repos at all. `repos.ignore` lists the +server-side repos that are deliberately not cloned. + +The org taxonomy — what each org is for, and why a repo belongs to one rather +than another — is in [REPO_REFACT.md](REPO_REFACT.md). + ## Estate documentation These describe the estate as a whole, which is why they live here rather than in diff --git a/WIKI_CONNECTION.md b/WIKI_CONNECTION.md index 1be7bd4..6ca7217 100644 --- a/WIKI_CONNECTION.md +++ b/WIKI_CONNECTION.md @@ -61,7 +61,7 @@ This file lives in the `devarea` repo (`tools/devarea`). The repo's `scripts/` f - `rabbitc64` is the C64 port of `rabbitroller`; both have their own project pages with cross-references. - The `wiki-pages` repo (the wiki itself: Grav + fetcher + BBS front-end) documents itself on the `infrastructure/wiki-site` page. - The `tools/warp_engine` repo (in `repos.list`, 2026-08-04) is a **read-only split mirror**: development happens in the `teletypegames` monorepo (`libs/ruby/warp_engine`), CI republishes the mirror on every change. The `infrastructure/warp-engine` page documents the engine as a standalone product (mountable Rails engine: catalog, CI-callable updater, JSON API, optional ActiveAdmin); the monorepo itself remains documented by `infrastructure/public-site`. -- The Batocera store (2026-08-10) was split in two on 2026-08-15: `warp-engine-batocera-store` is the reusable engine (the former `tools/batocera-store` repo, renamed), and `ttg-batocera-store` is our store on top of it — a `config.json` plus a wrapper installer. Each has its own page, and the old `others/batocera-store` page became `others/ttg-batocera-store` (id 233 kept); the engine page is new (id 235). Both appear in the sidebar (`config/sitenav.yaml`). The engine speaks the WarpEngine API, so `infrastructure/warp-engine` is the catalog-side counterpart of both. The RetroArch store joined them on 2026-08-17 with the same two-repo shape and a shared core (`engines/warpstore`), and on 2026-08-18 all four repos moved from `tools` to their own `stores` org, the four wiki pages with them: `pages/others/` → `pages/stores/`, with a `Stores` sidebar section of its own and a Grav redirect per page in `config/site.yaml`, so the old `/others/...` URLs still resolve. +- The Batocera store (2026-08-10) was split in two on 2026-08-15: `warp-engine-batocera-store` is the reusable engine (the former `tools/batocera-store` repo, renamed), and `ttg-batocera-store` is our store on top of it — a `config.json` plus a wrapper installer. Each has its own page, and the old `others/batocera-store` page became `others/ttg-batocera-store` (id 233 kept); the engine page is new (id 235). Each has its own page in the sidebar's Stores section — see below. The engine speaks the WarpEngine API, so `infrastructure/warp-engine` is the catalog-side counterpart of both. The RetroArch store joined them on 2026-08-17 with the same two-repo shape and a shared core (`engines/warpstore`), and on 2026-08-18 all four repos moved from `tools` to their own `stores` org, the four wiki pages with them: `pages/others/` → `pages/stores/`, with a `Stores` sidebar section of its own and a Grav redirect per page in `config/site.yaml`, so the old `/others/...` URLs still resolve. The sidebar lists only the two **engines** plus `All stores`: our own two stores are configs on top of them, and the `/stores` section index (`child_index: true`) lists all four, so nothing is out of reach. - The `bevy-tools` / `bevy-demo` and `phaser-tools` / `phaser-demo` repos (2026-07-31) are documented by the engine-wide `development/bevy` and `development/phaser` pages — the demos have no separate project pages, following the inkwell/inkwell-demo pattern. Both pages appear in the sidebar's Development section (`config/sitenav.yaml`). - `demos/ebitengine-demo` is a borderline case: the `development/bevy` and `development/phaser` pages reference it ("the same demo"), and it is also the example project of the `development/ebitengine` page (`ebitenginedemo`), but that page has no reference-project section presenting the demo like the bevy/phaser pages do. - The `games/nyuller` repo was cloned from Gitea (`games/nyuller`) on 2026-08-01; it has no wiki page.