Both were written into the workspace root, which is not a git repo, so they were versioned nowhere: one `rm` and they were gone, and nobody else on the team could see them. They belong next to WIKI_CONNECTION.md — all three describe the estate rather than any single repo. The references in the ttg-ops skills follow in the marketplace repo. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
3.2 KiB
3.2 KiB
devarea
Workspace management repo for TTG: use it to clone the whole workspace in
its category-folder structure, and to verify that the clone list is in sync
with the Gitea server (git.teletypegames.org).
Quick start
On a fresh machine:
mkdir TTG && cd TTG
git clone ssh://git@git.teletypegames.org:2222/tools/devarea
cd devarea
make setup # install tea + clone all repos + check
Repos are cloned into the parent directory of the devarea checkout (the
workspace root). To use a different target: make clone ROOT=/path/to/workspace.
Make targets
| Target | What it does |
|---|---|
make help |
List available targets (default) |
make tea |
Install tea (Gitea CLI) via Homebrew if missing, and verify the login |
make clone |
Clone all repos based on scripts/repos.list; existing ones are skipped |
make check |
Compare the clone list against the server (tea repo list --output json) |
make setup |
All three in one: tea + clone + check |
Scripts
All scripts live under scripts/ and can also be run standalone:
install-tea.sh— installs tea and verifies the login. Without a login it prints the setup command (tea login add --name ttg --url https://git.teletypegames.org).clone-repos.sh [target-dir]— clones every line ofrepos.listinto the given structure. Idempotent: existing clones are skipped.check-repos.sh— checks in both directions: repos that exist on the server but are missing from the list (MISSING), and repos listed as Gitea repos but absent from the server (STALE). Exits with 1 on any hit, so it is CI-friendly.
Data files
scripts/repos.list— the repos to clone, one per line in<workspace-relative path>|<clone URL>form. New repo on the server → add it here (make checkwill complain if it is missing). Non-Gitea repos (GitHub) may also appear; the check skips those.scripts/repos.ignore— repos that exist on the server but are intentionally not cloned (<owner>/<name>); the check does not report these as missing.
Workspace structure
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)
Estate documentation
These describe the estate as a whole, which is why they live here rather than in any single repo:
- WIKI_CONNECTION.md — which repo is documented by which wiki page, and which Gitea org each repo belongs to.
- REPO_REFACT.md — the Gitea org structure: what each org is for and what it contains.
- ECOSYSTEM_PLAN.md — what we have per org towards a complete game development lifecycle, and what is still missing.
The ttg-ops plugin in ttg-marketplace reads these rather than carrying its
own copy of the rules.