Document series command namespace

This commit is contained in:
mpabi
2026-04-29 01:02:02 +02:00
parent 2630392186
commit ced825ec8d
2 changed files with 194 additions and 2 deletions
+4 -2
View File
@@ -41,8 +41,9 @@ Sciezki i domyslne ustawienia sa trzymane w `workspace.json`.
2. Listowanie i pobieranie kart pracy
`rvctl` czyta serie i karty z workspace, pomaga wybrac material do pracy
oraz przygotowuje remotes potrzebne do repo odpowiedzi. Szczegoly komend
`list-series`, `list-cards` i `submission` sa w `doc/rvctl.md`.
oraz przygotowuje remotes potrzebne do repo odpowiedzi. Docelowy model
namespace `series` jest w `doc/series.md`; aktualne komendy CLI sa opisane
w `doc/rvctl.md`.
3. Uruchamianie srodowiska programistycznego w kontenerach
@@ -106,6 +107,7 @@ repo, zanim narzedzie cos zmieni.
- `doc/rvctl.md` - komendy CLI, przelaczniki i przyklady uzycia
- `doc/tokens.md` - model tokenow, synchronizacja remote <-> store
- `doc/series.md` - docelowy model komend dla serii i kart pracy
- `doc/tokens.schema.json` - schemat `tokens/tokens.json`
- `doc/workspace.md` - krotki opis konfiguracji workspace
+190
View File
@@ -0,0 +1,190 @@
# Series
Ten dokument opisuje docelowy model komend `rvctl` do pracy z seriami i
kartami pracy.
## Zasada
Komendy kart pracy dzielimy na dwa poziomy:
- `series` - operacje na serii jako calosci
- `series cards` - operacje na kartach w ramach serii
Uzywamy `cards`, a nie `card`, bo namespace opisuje kolekcje kart i jest
spojny z pluralnym `tokens`.
## Szybki Flow
Typowy przeplyw pracy:
```bash
./rvctl tokens compare
./rvctl series list
./rvctl series show inf
./rvctl series fetch inf
./rvctl series cards list inf
./rvctl series cards show inf 03
./rvctl series cards tasks list inf 03
./rvctl series cards tasks show inf 03 task1
./rvctl series cards fetch inf 03
./rvctl series cards submission inf 03 --class 4i --nick u1
```
## Serie
### `series list`
Listuje dostepne serie w workspace.
```bash
./rvctl series list
```
Przykladowy wynik:
```text
series cards workspace
------ ----- -------------------------------
inf 12 ~/dev/workspace/rv/series/inf
```
### `series show SERIES`
Pokazuje informacje o serii jako calosci.
```bash
./rvctl series show inf
```
Typowe pola:
```text
series inf
workspace_path ~/dev/workspace/rv/series/inf
source_path ~/dev/edu/repos/rv/series/inf
cards_count 12
cards 01 02 03 ...
```
### `series fetch SERIES`
Pobiera albo aktualizuje cala serie w workspace.
```bash
./rvctl series fetch inf
```
Ta komenda pracuje na wszystkich kartach w serii. Do pobrania jednej karty
sluzy `series cards fetch`.
## Karty
### `series cards list SERIES`
Listuje karty w wybranej serii.
```bash
./rvctl series cards list inf
```
Przykladowy wynik:
```text
series card repo
------ ---- ------------------------------------
inf 03 lab-rv32i-strlen-bss-data-stack
```
### `series cards show SERIES CARD`
Pokazuje informacje o konkretnej karcie.
```bash
./rvctl series cards show inf 03
```
Typowe pola:
```text
series inf
card 03
workspace_path ~/dev/workspace/rv/series/inf/03
source_path ~/dev/edu/repos/rv/series/inf/03
source_repo edu-inf/lab-rv32i-strlen-bss-data-stack
source_remote r1
answer_remote a1
```
### `series cards fetch SERIES CARD`
Pobiera albo aktualizuje jedna karte w workspace.
```bash
./rvctl series cards fetch inf 03
```
### `series cards submission SERIES CARD`
Pokazuje albo stosuje konfiguracje repo odpowiedzi dla karty.
```bash
./rvctl series cards submission inf 03 --class 4i --nick u1
./rvctl series cards submission inf 03 --class 4i --nick u1 --apply
```
Bez `--apply` komenda tylko pokazuje plan. Z `--apply` ustawia remotes potrzebne
do pracy z repo odpowiedzi.
## Zadania W Karcie
Zadania sa czescia karty, dlatego trzymamy je pod `series cards tasks`.
### `series cards tasks list SERIES CARD`
Listuje zadania dostepne w konkretnej karcie.
```bash
./rvctl series cards tasks list inf 03
```
Przykladowy wynik:
```text
series card task path
------ ---- ----- --------------------------------------
inf 03 task1 ~/dev/workspace/rv/series/inf/03/task1
inf 03 task2 ~/dev/workspace/rv/series/inf/03/task2
```
### `series cards tasks show SERIES CARD TASK`
Pokazuje informacje o konkretnym zadaniu w karcie.
```bash
./rvctl series cards tasks show inf 03 task1
```
Typowe pola:
```text
series inf
card 03
task task1
workspace_path ~/dev/workspace/rv/series/inf/03/task1
card_path ~/dev/workspace/rv/series/inf/03
```
Na tym poziomie nie wprowadzamy osobnego `fetch`: zadania sa pobierane razem z
karta przez `series cards fetch` albo razem z cala seria przez `series fetch`.
## Aliasowanie Starych Komend
Stare komendy mozna zostawic jako aliasy kompatybilnosci:
```text
list-series -> series list
list-cards inf -> series cards list inf
submission inf 03 --class K --nick N -> series cards submission inf 03 --class K --nick N
```
Dokumentacja i nowe przyklady powinny promowac namespace `series`.