Files
stem-launcher/doc/usage.md
T
2026-04-26 09:11:23 +02:00

203 lines
3.5 KiB
Markdown

# RV Launcher CLI
Plik opisuje przelaczniki i liste komend skryptu `workspace.py`.
## Pobranie repo i przelaczenie galezi
Jesli trzymasz tool repo pod:
```bash
~/dev/workspace/rv/tools/rv-launcher
```
to podstawowy bootstrap wyglada tak:
```bash
mkdir -p ~/dev/workspace/rv/tools
cd ~/dev/workspace/rv/tools
git clone http://77.90.8.171:3001/edu-tools/rv-launcher.git
cd rv-launcher
```
Jesli w Twoim workspace narzedzia sa poza `rv/`, analogiczny katalog to:
```bash
~/dev/workspace/tools/rv-launcher
```
### Najpierw token
Przed operacjami wymagajacymi autoryzacji dodaj lokalny token do:
```bash
~/dev/workspace/rv/tokens/gitea_tokens.json
```
Minimalny format pliku:
```json
{
"users": {
"u1": {
"tokens": {
"t1": "TU_WSTAW_TOKEN"
}
}
}
}
```
Ten plik powinien byc lokalny, niewersjonowany i miec prawa `600`.
Przyklad:
```bash
mkdir -p ~/dev/workspace/rv/tokens
chmod 700 ~/dev/workspace/rv/tokens
chmod 600 ~/dev/workspace/rv/tokens/gitea_tokens.json
```
### Fetch i switch
Domyslna galaz launchera to `main`.
Po sklonowaniu:
```bash
git fetch origin main
git switch main
git pull --ff-only
```
Jesli chcesz wejsc na inna galaz, na przyklad `feat/x`, uzyj:
```bash
git fetch origin feat/x
git switch --track -c feat/x origin/feat/x
```
## Wywolanie glowne
```bash
python3 workspace.py [--config PATH] <komenda> [opcje]
```
Globalne przelaczniki:
- `--config PATH`
Uzywa innego pliku `workspace.json`.
Komendy:
- `show-config`
- `list-series`
- `list-cards [series]`
- `tmux-container [series] [card]`
## `show-config`
Wypisuje rozwiazane sciezki z konfiguracji.
Typowy format:
```text
config_path<TAB>...
workspace_root<TAB>...
series_root<TAB>...
socket_root<TAB>...
tools_root<TAB>...
tools_root_candidates
...
```
Przyklad:
```bash
python3 workspace.py show-config
```
## `list-series`
Listuje katalogi serii znalezione w `series_root`.
Kazda linia ma format:
```text
<series_id><TAB><liczba_kart><TAB><pelna_sciezka>
```
Przyklad:
```bash
python3 workspace.py list-series
```
## `list-cards [series]`
Listuje karty z wybranej serii.
Argumenty:
- `series`
Opcjonalne id serii, na przyklad `inf`.
Jesli go brak, brana jest domyslna seria z `workspace.json`.
Format wyjscia:
```text
<card_no><TAB><tytul_z_README><TAB><pelna_sciezka>
```
Jesli `README.md` nie ma naglowka `#`, skrypt wypisuje:
```text
<card_no><TAB><pelna_sciezka>
```
Przyklady:
```bash
python3 workspace.py list-cards
python3 workspace.py list-cards inf
```
## `tmux-container [series] [card]`
Tworzy nowa sesje `tmux` i uruchamia kontener w `pane 0`.
Argumenty pozycyjne:
- `series`
Id serii albo pelny selector, na przyklad `inf` albo `inf/03`.
- `card`
Numer karty, na przyklad `03`.
Przelaczniki:
- `--session NAME`
Nadpisuje nazwe sesji `tmux`.
- `--window NAME`
Nadpisuje nazwe okna `tmux`.
- `--instance NAME`
Ustawia `RV_INSTANCE` dla wrappera `rv`.
- `--attach`
Po utworzeniu sesji robi `tmux attach`.
- `--dry-run`
Nie uruchamia `tmux`; wypisuje selector, sciezki i koncowa komende.
Reguly wyboru karty:
- `tmux-container inf 03` -> seria `inf`, karta `03`
- `tmux-container inf/03` -> pelny selector
- `tmux-container 03` -> domyslna seria + karta `03`
- `tmux-container inf` -> seria `inf` + domyslna karta
- bez argumentow -> domyslna seria i domyslna karta
Przyklady:
```bash
python3 workspace.py tmux-container 03 --dry-run
python3 workspace.py tmux-container inf 03 --session rv-inf03
python3 workspace.py tmux-container inf/03 --attach
```