PowerShell / Terminal Workflow & Pager
PowerShell / Terminal Workflow & Pager
Ziel: Einen deterministischen Ablauf für Skriptläufe, Bug-Log-Analyse und Encoding-Stabilität bereitstellen – zwischen Ahoiiiiiiii (menschlicher Kurator) und Geniestreich (KI‑Cokurator/Assistenz / Skript‑Generator).
Ausgangslage
Terminal-Mojibake (ÔÇ– etc.) entstand durch falsche Codepage oder Pager-Fallback. Dieses Kapitel fixiert den Standardablauf.
Profileinstellungen (PowerShell 7)
In $PROFILE:
[Console]::OutputEncoding = [System.Text.UTF8Encoding]::new()
[Console]::InputEncoding = [System.Text.UTF8Encoding]::new()
$env:LESSCHARSET = 'utf-8'
Pager-Optionen
| Option | Konfiguration | Vorteile | Nachteile |
|——–|—————|———-|———–|
| less -R | git config --global core.pager "less -R" | Scroll + Suche | Externe Abhängigkeit |
| cat | git config --global core.pager cat | Einfach, keine Mojibake | Keine Navigation |
| delta | git config --global core.pager delta | Syntax-Highlight, Navigation | Extra Installation |
| none (einzelaufruf) | git -c core.pager=cat show ... | Schneller Vergleich | Manuell je Befehl |
Session-Start Checkliste
git status→ sauber?- Encoding setzen (falls Profil fehlt).
Write-Output "ÄÖÜß → – —"→ visuelle Kontrolle.- Stashes prüfen:
git stash list(alte Work-in-Progress bereinigen). - Phase für Lauf festlegen (0–4).
- Skript ausführen (Parser / Mapping).
- Bug-Log inspizieren (Pager ohne Artefakte).
Mojibake Troubleshooting
| Symptom | Ursache | Sofortmaßnahme |
|———|———|—————-|
| „ÔÇ–“ statt „–“ | falsche Codepage | chcp 65001 + Encoding neu setzen |
| Umlaute falsch | Terminal nicht UTF‑8 | Profil/OutputEncoding setzen |
| Pfeile verschwinden | Font limitiert | Terminal-Font wechseln (Cascadia Code) |
| Bindestrich mischt sich | NB-Hyphen unpassend | Ersetzen durch normales - |
Schnelle Diagnose-Befehle
git config --show-origin --get-all core.pager
git config --show-origin --get-all core.autocrlf
git -c core.pager=cat show HEAD:docs/making-of/00-inhaltsverzeichnis.md
Standard-Abbruchkriterien vor Lauf
- Offene Stash mit relevanten Änderungen → zuerst Triage.
- Nicht commitete Konfigurationsdateien (.editorconfig, .gitattributes) → zuerst committen.
- Pager zeigt Artefakte → auf cat oder delta wechseln.
Integration ins Qualitätsprozess-Modell
- Phase 0–1: cat empfohlen (reiner Inhalt).
- Phase 2+: delta/less für fokussierte Reviews.
- Phase 4 (Freeze): Keine Encoding-Änderungen mehr erlaubt; Monitoring-Skript bestätigt UTF‑8 Reinheit.
Revisionen:
- 2025-11-10 Initialfassung