RETROARCH_STORE.md is the design, written from measurements rather than documentation: the format samples, thumbnail layout and core names come from a real RetroArch install on this machine, the core availability from the libretro buildbot index, and the CRC32s from the catalog itself. Three findings shaped it. The playlist folder is not necessarily inside the RetroArch directory — on the machine measured, playlist_directory is under ~/Documents while cores and thumbnails are under ~/Library — so reading retroarch.cfg is a requirement, not a nicety. Thumbnails must be PNG, and one of our covers is a GIF, which no store had cared about before. And a .lpl entry has nowhere to put a description, so desc and author do not survive the trip. Built the same day, in three repositories: engines/warpstore (the shared core, extracted immediately rather than in the second phase the plan proposed), tools/warp-engine-retroarch-store and tools/ttg-retroarch-store. The closing section of the design records what the implementation changed about it. MORE_STORES.md item 4 is closed, its "a minta" section now points at the extracted core, and REPO_REFACT.md carries the three new repos — check-repos.sh is green at 49. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
69 lines
12 KiB
Markdown
69 lines
12 KiB
Markdown
# Wiki Connections
|
|
|
|
Folders (repos) in this workspace that **already have** a wiki page in the `wiki-pages` mirror. The wiki runs on **Grav CMS**; the content schema is `infra/wiki-pages/pages/<path>/default.md`. Wiki base URL: `https://wiki.teletypegames.org/` (without the `/en/` prefix, based on the pages' internal links).
|
|
|
|
The workspace folder layout mirrors the Gitea orgs one-to-one since 2026-08-16: `bbs/`, `build/`, `demos/`, `engines/`, `games/`, `infra/`, `services/`, `tools/` — so a repo's path is `<org>/<name>`, and the first two columns of the table agree by construction. Two things sit outside that: `devarea` itself, which has to stay at the workspace root because `clone-repos.sh` clones into its parent, and `media/`, which holds reference images rather than repos. The org taxonomy is described in `REPO_REFACT.md` next to this file.
|
|
|
|
This file lives in the `devarea` repo (`tools/devarea`). The repo's `scripts/` folder holds the workspace management scripts (`clone-repos.sh` — clones the whole workspace in this structure based on `repos.list`; `check-repos.sh` — compares the list against the Gitea server; `install-tea.sh` — tea CLI installation), tied together by the `Makefile` in the root (`make help`). Paths in the table are relative to the workspace root (the parent directory of `devarea`).
|
|
|
|
| Folder | Org | Title | Wiki file | URL |
|
|
|---|---|---|---|---|
|
|
| `bbs/bbs-server` | `bbs` | BBS Server | `infra/wiki-pages/pages/infrastructure/bbs/default.md` | https://wiki.teletypegames.org/infrastructure/bbs |
|
|
| `bbs/impostor-bbs` | `bbs` | BBS (Game 1.5) | `infra/wiki-pages/pages/projects/neumatronic-universe/arcs/norman-arc/games/015-bbs/default.md` | https://wiki.teletypegames.org/projects/neumatronic-universe/arcs/norman-arc/games/015-bbs |
|
|
| `bbs/sermo-bbs` | `bbs` | Sermo OS Showcase | `infra/wiki-pages/pages/projects/neumatronic-universe/scratchpad/sermo-os/default.md` | https://wiki.teletypegames.org/projects/neumatronic-universe/scratchpad/sermo-os |
|
|
| `build/bevy-tools` | `build` | Bevy | `infra/wiki-pages/pages/development/bevy/default.md` | https://wiki.teletypegames.org/development/bevy |
|
|
| `build/c64-tools` | `build` | Commodore 64 | `infra/wiki-pages/pages/development/c64/default.md` | https://wiki.teletypegames.org/development/c64 |
|
|
| `build/ebitengine-tools` | `build` | Ebitengine | `infra/wiki-pages/pages/development/ebitengine/default.md` | https://wiki.teletypegames.org/development/ebitengine |
|
|
| `build/godot-tools` | `build` | Godot | `infra/wiki-pages/pages/development/godot/default.md` | https://wiki.teletypegames.org/development/godot |
|
|
| `build/love-tools` | `build` | Löve | `infra/wiki-pages/pages/development/love/default.md` | https://wiki.teletypegames.org/development/love |
|
|
| `build/phaser-tools` | `build` | Phaser | `infra/wiki-pages/pages/development/phaser/default.md` | https://wiki.teletypegames.org/development/phaser |
|
|
| `build/tic80-tools` | `build` | TIC-80 | `infra/wiki-pages/pages/development/tic80/default.md` | https://wiki.teletypegames.org/development/tic80 |
|
|
| `build/tic80pro-dockerfile` | `github` | TIC-80 | `infra/wiki-pages/pages/development/tic80/default.md` | https://wiki.teletypegames.org/development/tic80 |
|
|
| `demos/bevy-demo` | `demos` | Bevy | `infra/wiki-pages/pages/development/bevy/default.md` | https://wiki.teletypegames.org/development/bevy |
|
|
| `demos/inkwell-demo` | `demos` | inkwell | `infra/wiki-pages/pages/engines/inkwell/default.md` | https://wiki.teletypegames.org/engines/inkwell |
|
|
| `demos/phaser-demo` | `demos` | Phaser | `infra/wiki-pages/pages/development/phaser/default.md` | https://wiki.teletypegames.org/development/phaser |
|
|
| `engines/inkwell` | `engines` | inkwell | `infra/wiki-pages/pages/engines/inkwell/default.md` | https://wiki.teletypegames.org/engines/inkwell |
|
|
| `engines/rubbs` | `engines` | rubbs | `infra/wiki-pages/pages/engines/rubbs/default.md` | https://wiki.teletypegames.org/engines/rubbs |
|
|
| `engines/warp_engine` | `engines` | WarpEngine | `infra/wiki-pages/pages/engines/warp-engine/default.md` | https://wiki.teletypegames.org/engines/warp-engine |
|
|
| `engines/warpstore` | `engines` | warpstore | `infra/wiki-pages/pages/engines/warpstore/default.md` | https://wiki.teletypegames.org/engines/warpstore |
|
|
| `games/blessingofra` | `games` | Blessing of Ra | `infra/wiki-pages/pages/projects/blessingofra/default.md` | https://wiki.teletypegames.org/projects/blessingofra |
|
|
| `games/c64-demo` | `games` | Teletype Games C64 Demo | `infra/wiki-pages/pages/projects/c64-demo/default.md` | https://wiki.teletypegames.org/projects/c64-demo |
|
|
| `games/impostor` | `games` | Definitely Not an Impostor | `infra/wiki-pages/pages/projects/impostor/default.md` | https://wiki.teletypegames.org/projects/impostor |
|
|
| `games/rabbitc64` | `games` | Rabbit Scooter — C64 | `infra/wiki-pages/pages/projects/rabbitc64/default.md` | https://wiki.teletypegames.org/projects/rabbitc64 |
|
|
| `games/rabbitroller` | `games` | Rabbit Roller | `infra/wiki-pages/pages/projects/rabbitroller/default.md` | https://wiki.teletypegames.org/projects/rabbitroller |
|
|
| `games/realworld` | `games` | Real World | `infra/wiki-pages/pages/projects/realworld/default.md` | https://wiki.teletypegames.org/projects/realworld |
|
|
| `infra/backup-scripts` | `infra` | Backup scripts | `infra/wiki-pages/pages/infrastructure/backup/default.md` | https://wiki.teletypegames.org/infrastructure/backup |
|
|
| `infra/wiki-pages` | `infra` | Wiki Site | `infra/wiki-pages/pages/infrastructure/wiki-site/default.md` | https://wiki.teletypegames.org/infrastructure/wiki-site |
|
|
| `media/nokiapunk` | — | Nokia-Punk | `infra/wiki-pages/pages/projects/neumatronic-universe/universe/nokia-punk/default.md` | https://wiki.teletypegames.org/projects/neumatronic-universe/universe/nokia-punk |
|
|
| `services/statusbot` | `services` | Discord Thread Scheduler | `infra/wiki-pages/pages/others/statusbot/default.md` | https://wiki.teletypegames.org/others/statusbot |
|
|
| `services/teletypegames` | `services` | Public site | `infra/wiki-pages/pages/infrastructure/public-site/default.md` | https://wiki.teletypegames.org/infrastructure/public-site |
|
|
| `services/updater` | `services` | Discord Updater Bot | `infra/wiki-pages/pages/others/updater/default.md` | https://wiki.teletypegames.org/others/updater |
|
|
| `tools/ttg-batocera-store` | `tools` | TTG Batocera Store | `infra/wiki-pages/pages/others/ttg-batocera-store/default.md` | https://wiki.teletypegames.org/others/ttg-batocera-store |
|
|
| `tools/ttg-retroarch-store` | `tools` | TTG RetroArch Store | `infra/wiki-pages/pages/others/ttg-retroarch-store/default.md` | https://wiki.teletypegames.org/others/ttg-retroarch-store |
|
|
| `tools/warp-engine-batocera-store` | `tools` | WarpEngine Batocera Store | `infra/wiki-pages/pages/others/warp-engine-batocera-store/default.md` | https://wiki.teletypegames.org/others/warp-engine-batocera-store |
|
|
| `tools/warp-engine-retroarch-store` | `tools` | WarpEngine RetroArch Store | `infra/wiki-pages/pages/others/warp-engine-retroarch-store/default.md` | https://wiki.teletypegames.org/others/warp-engine-retroarch-store |
|
|
|
|
## Notes
|
|
|
|
- **Structure change**: instead of the former Wiki.js mirror (`wiki-pages/wiki/<path>.md`), the wiki now runs on Grav CMS with the `infra/wiki-pages/pages/<path>/default.md` schema. Each page's wiki path is also stored in the `wikipath` frontmatter field.
|
|
- **pncdsl → inkwell rename**: the former `pncdsl` repo lives on as `inkwell` (`tools_libs/inkwell`), and `pncdsl-demo` as `inkwell-demo` (`demos/inkwell-demo`). The wiki page moved too: `development/ebitengine/pncdsl` → `development/ebitengine/inkwell` (both repos are documented by the same page: framework intro + companion demo).
|
|
- For `games/realworld`, the `projects/realworld` page (tree) is the developer/project doc (login-protected, subpages: catalog, entities, story); there is also a NU lore page: `projects/neumatronic-universe/arcs/norman-arc/games/02-realworld`.
|
|
- The former separate `pipeline.md` + `makefile.md` pages of the `*-tools` repos were **merged** into the engine-wide pages (`development/ebitengine`, `development/love`, `development/tic80`): a single page holds the engine intro, the Makefile docs and the CI pipeline.
|
|
- The `tic80pro-dockerfile` repo no longer has a standalone `builder-image` page; the TIC-80 Pro builder image (`git.teletypegames.org/build/tic80pro`) is documented in the pipeline/export section of the TIC-80 page.
|
|
- For the `impostor` repo, the developer doc is the `projects/impostor` page (tree) (fact sheet: git repo, Redmine, Woodpecker + subordinate howto/design pages); there is also a Neumatronic Universe **lore page**: `projects/neumatronic-universe/arcs/norman-arc/games/01-definitely-not-an-impostor`.
|
|
- For `impostor-bbs`, the wiki page is still the NU lore page (Game 1.5), not classic repo documentation.
|
|
- For the `sermo-bbs` repo (rubbs-based SERMO-DOS telnet simulator), the related page is the Sermo OS Showcase design/lore doc (its sibling page is `scratchpad/sermo-os2`), not classic repo documentation.
|
|
- The `media/nokiapunk` folder contains real reference photos for the Nokia-Punk page (Apple II, ThinkPad, Nokia Communicator, etc.); the page references these devices.
|
|
- The `teletypegames` repo is a monorepo (`apps/api`: Rails 8 Catalog API + ActiveAdmin, `apps/frontend`: Vue 3 SPA), described by the `infrastructure/public-site` page.
|
|
- The former page of the `blog-writer` repo (`others/blog-writer`) is **gone** — it currently has no wiki page.
|
|
- The project pages of the `c64-demo`, `rabbitc64`, `rabbitroller` and `blessingofra` repos were created on 2026-07-28 (fact sheet + overview + controls + build, in the format of the `impostor`/`realworld` pages). The project pages are login-protected and also appear in the sidebar's Projects section (`config/sitenav.yaml`).
|
|
- The `c64-tools` repo is documented by the `development/c64` page (ACME + VICE toolchain, shared Makefile, CI pipeline) — following the engine pages' pattern; the page also links to the three C64 projects.
|
|
- `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: `tools/warp-engine-batocera-store` is the reusable engine (the former `tools/batocera-store` repo, renamed), and `tools/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's Others section (`config/sitenav.yaml`). The engine speaks the WarpEngine API, so `infrastructure/warp-engine` is the catalog-side counterpart of both.
|
|
- 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.
|
|
- **Folders without a wiki page** (not in the table): `devarea`; `bbs/` — none; `demos/escoria-demo-game-main`, `demos/love-demo`, `demos/new-game-wireframe`; `engines/gorpg`; `games/bombexpert`, `games/c64-demo-cpp`, `games/mranderson`, `games/nyuller`, `games/pong`, `games/trickster-tiles`; `media/impostor-info`; `services/blog-writer`, `services/redmine-tree`, `services/social-updater`; `tools/tic80-draw-image`, `tools/ttg-marketplace`; and `teletype-orbit`, a local repo that has no remote yet.
|