# 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] [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... workspace_root... series_root... socket_root... tools_root... tools_root_candidates ... ``` Przyklad: ```bash python3 workspace.py show-config ``` ## `list-series` Listuje katalogi serii znalezione w `series_root`. Kazda linia ma format: ```text ``` 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 ``` Jesli `README.md` nie ma naglowka `#`, skrypt wypisuje: ```text ``` 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 ```