Files
devarea/README.md
T
2026-08-01 17:21:37 +02:00

73 lines
2.8 KiB
Markdown

# devarea
A TTG workspace kezelő repója: innen klónozható le a teljes workspace a
kategória-mappás struktúrában, és itt ellenőrizhető, hogy a klón lista
szinkronban van-e a Gitea szerverrel (`git.teletypegames.org`).
## Gyors start
Új gépen:
```sh
mkdir TTG && cd TTG
git clone ssh://git@git.teletypegames.org:2222/tools/devarea
cd devarea
make setup # tea telepítés + összes repo klónozása + ellenőrzés
```
A repók a devarea szülőkönyvtárába (a workspace gyökerébe) kerülnek. Más
célmappa: `make clone ROOT=/path/to/workspace`.
## Make targetek
| Target | Mit csinál |
|---|---|
| `make help` | Elérhető targetek listája (alapértelmezett) |
| `make tea` | tea (Gitea CLI) telepítése Homebrew-val, ha hiányzik, és a login ellenőrzése |
| `make clone` | Az összes repo klónozása a `scripts/repos.list` alapján; a már létezőket kihagyja |
| `make check` | A klón lista összevetése a szerverrel (`tea repo list --output json`) |
| `make setup` | Mindhárom egyben: tea + clone + check |
## Scriptek
Minden script a `scripts/` alatt van, és önállóan is futtatható:
- **`install-tea.sh`** — tea telepítés + login ellenőrzés. Login nélkül
kiírja a beállító parancsot (`tea login add --name ttg --url
https://git.teletypegames.org`).
- **`clone-repos.sh [cél-mappa]`** — a `repos.list` minden sorát leklónozza
a megadott struktúrában. Idempotens: a már létező klónokat kihagyja.
- **`check-repos.sh`** — két irányban ellenőriz: ami a szerveren van, de a
listából hiányzik (**HIÁNYZIK**), és ami a listában Gitea repóként
szerepel, de a szerveren nincs (**FELESLEG**). Bármelyik találat esetén
1-gyel lép ki, így CI-ban is használható.
## Adatfájlok
- **`scripts/repos.list`** — a klónozandó repók, soronként
`<workspace-relatív út>|<clone URL>` formában. Új repó a szerveren →
ide kell felvenni (a `make check` szól, ha kimaradt). Nem-Gitea repók
(GitHub) is szerepelhetnek benne, azokat a check kihagyja.
- **`scripts/repos.ignore`** — szerveren létező, de szándékosan nem
klónozott repók (`<owner>/<name>`), ezeket a check nem jelzi hiányzóként.
## Workspace struktúra
```
TTG/
├── devarea/ # ez a repo
├── teletypegames/ # public site monorepo (GitHub)
├── wiki-pages/ # wiki mirror (Grav)
├── archive/ # lezárt projektek
├── demos/ # engine-demók, kísérletek
├── games/ # játékok
├── media/ # asset-ek, képek (nem git)
├── tools/ # önálló toolok, infra
├── tools_bbs/ # BBS-es cuccok
├── tools_build/ # engine/build toolchainek (*-tools)
└── tools_libs/ # saját libek (inkwell, rubbs, gorpg)
```
A repók és a wiki oldalak kapcsolatát a [WIKI_CONNECTION.md](WIKI_CONNECTION.md)
írja le.