Files

72 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Bash · Console Tools — plan kart
Status: L01L08 gotowe; seria zakończona i odbierana w profilu
`native-amd64` przez `stemctl`.
Seria przygotowuje warsztat przed FPGA, assemblerem i C. Nazwa obejmuje pracę
w powłoce i terminalu; BusyBox może udostępniać `ash`, więc nie utożsamiamy
każdego appletu BusyBox z implementacją Bash.
```text
Bash · Console Tools
├── L01 · BusyBox — the Swiss Army Knife
├── L02 · Tmux — sessions, windows and panes
├── L03 · Neovim — navigation and editing
├── L04 · Git Basics I — status, add and commit
├── L05 · Git Basics II — log, diff and restore
├── L06 · Git Branching I — branch, switch and merge
├── L07 · Git Branching II — rebase and conflicts
└── L08 · Docker Fundamentals
```
Każda karta zawiera trzy wykonywalne taski. Repozytorium karty dostarcza
kontrakt `stem-card.yaml`, testy stanu, wygenerowany widok React, dwustronicowy
PDF A4 oraz akcje `build`, `test`, `run` i `debug`. Debug zapisuje
`trace.log` w katalogu artefaktów tasku.
## Stan odbioru serii — 2026-07-21
| Karta | Dowód końcowy |
| --- | --- |
| L01 BusyBox | dispatch multicall, operacje plikowe, proces i host |
| L02 Tmux | sesja, okna i panele, zachowanie stanu po detach/attach |
| L03 Neovim | nawigacja, search/edit/save, undo/redo |
| L04 Git Basics I | init, status/add, pierwszy commit i clean |
| L05 Git Basics II | log, diff staged/worktree, bezpieczne restore |
| L06 Git Branching I | branch/switch, rozbieżność, merge commit |
| L07 Git Branching II | rebase, rzeczywisty konflikt UU, liniowa historia |
| L08 Docker | specyfikacja image, lifecycle, volume i bind mount |
Wszystkie 24 taski przechodzą w kontenerze `native-amd64`. Każdy task pracuje
w izolowanym katalogu tymczasowym i raportuje mierzalny komunikat `PASS`.
### Granice środowiska
Obraz `native-amd64` nie zawiera BusyBox. L01 używa więc audytowalnego
fixture C implementującego wyłącznie ćwiczony mechanizm multicall, wykrywa
prawdziwy BusyBox, gdy jest dostępny, i zawsze raportuje użyty backend. Fixture
nie jest przedstawiany jako binarka BusyBox.
Profil ucznia nie otrzymuje socketu Docker/Podman. L08 używa jawnego modelu
stanów offline do sprawdzenia semantyki image/container/storage. Jego `PASS`
nie oznacza uruchomienia prawdziwego silnika. Powtórzenie ćwiczenia z realnym
CLI należy wykonać na kontrolowanej maszynie operatorskiej, najlepiej z
rootless Podmanem albo Dockerem, bez montowania socketu do kontenera ucznia.
### Sposób uruchamiania
```bash
stemctl series show console-bash
stemctl list-cards console-bash
stemctl card use console-bash L01
stemctl test native-amd64 console-bash L01 1
stemctl debug native-amd64 console-bash L01 3
```
Numer karty i tasku można podmienić na dowolne L01L08 i 13. Identyfikatory,
repozytoria i kolejność kart są zapisane w `series/console-bash.json`, a stan
realizacji w `catalog/console-bash.json`.
Pierwotne ustalenia znajdują się również w
`series/inf/lab-rv32i-c-pointers-arrays/guidelines/console-series.md`.