Dieser Guide beschreibt einen reproduzierbaren Entwicklungsablauf fuer TuiVision auf zwei macOS-Systemen:
- MacBook Air M2
- Mac mini M4 Pro
Verwendete Tools:
gh(GitHub CLI, authentifiziert)specify(GitHub Spec-Kit CLI, installiert)codex(Codex CLI, authentifiziert)claude(Claude Code CLI, authentifiziert)copilot(Copilot CLI, authentifiziert)agy(Antigravity CLI, authentifiziert)node24 LTS undnpmfuertests/web-a11y/- Playwright +
@axe-core/playwrightals lokaler DocFX-A11y-Pruefpfad lynxals textbasierter Browser-Gegencheck
- Repository ist lokal auf beiden Systemen ausgecheckt.
- Auf beiden Systemen sind
gh,specify,codex,claude,copilotundagyinstalliert;gh,codex,claude,copilotundagysind authentifiziert. - GitHub-Remote
originzeigt aufhttps://github.com/hindermath/TuiVision.git. - .NET SDK 10 ist auf beiden Systemen verfuegbar (
dotnet --info). - Node
24.xLTS undnpmsind auf beiden Systemen verfuegbar. lynxist auf beiden Systemen installiert.- Im Repo wurde unter
tests/web-a11y/einmalignpm installundnpx playwright install chromiumausgefuehrt.
gh auth status
gh --version
specify --version || specify --help
specify check
codex --version || codex --help
claude --version || claude --help
copilot --version || copilot --help
agy --version
dotnet --version || dotnet --help
node --version
npm --version
lynx -version
git remote -v
dotnet --list-sdksErwartung:
gh auth statuszeigt einen aktiven Login.gh --versionliefert eine gueltige Versionsausgabe.specify --version(oder alternativspecify --help) liefert eine gueltige Ausgabe.specify checkbestaetigt, dass alle fuer Spec-Kit benoetigten Tools installiert sind.codex --version(oder alternativcodex --help) liefert eine gueltige Ausgabe.claude --version(oder alternativclaude --help) liefert eine gueltige Ausgabe.copilot --version(oder alternativcopilot --help) liefert eine gueltige Ausgabe.agy --versionliefert eine gueltige Ausgabe.node --versionliefert eine gueltige LTS-Ausgabe, bevorzugt24.x.npm --versionliefert eine gueltige Ausgabe.lynx -versionliefert eine gueltige Ausgabe.git remote -vzeigtoriginauf das TuiVision-Repository.dotnet --list-sdkszeigt eine installierte .NET-10-Umgebung.
git checkout main
git pull --ff-only origin main
dotnet --list-sdks
specify --version || specify --help
specify checkWenn an einem Feature gearbeitet wird:
git checkout -b <agent>/<kurze-beschreibung>dotnet restore
dotnet build
dotnet testWenn sich oeffentliche API oder XML-Kommentare geaendert haben, danach docfx neu erzeugen:
if [[ -f "docfx.json" ]]; then
dotnet tool update --global docfx || dotnet tool install --global docfx
export PATH="$PATH:$HOME/.dotnet/tools"
docfx docfx.json
else
echo "docfx.json nicht gefunden - docfx-Schritt uebersprungen."
fiNach jedem erfolgreichen DocFX-Neubau direkt den A11y-Pruefpfad ausfuehren:
cd tests/web-a11y
npm run test:docfx
cd ../..Die Regel dazu ist verbindlich: Ein DocFX-Neubau ist in diesem Repository erst
dann abgeschlossen, wenn der passende Playwright-plus-axe-Smoke-Test ebenfalls
erfolgreich war. lynx ist der zusaetzliche textuelle Gegencheck fuer Braille-
nahe und Screenreader-nahe Lesbarkeit. Fuer einen lynx-Check den lokalen
Server in einem zweiten Terminal starten:
cd tests/web-a11y
npm run serve:docfxDanach im anderen Terminal zum Beispiel:
lynx -dump http://127.0.0.1:8123/index.htmlDokumentation aktualisieren, wenn Code angepasst wurde:
- API-/XML-Kommentare
- Guides unter
docs/guides/ - Beispiel-Guides unter
docs/guides/examples/
Beispielaufrufe:
direnv allow
codexdirenv allow
claudedirenv allow
copilotdirenv allow
agyProjektlokale Einstellung:
CODEX_HOME wird in diesem Repository ueber .envrc auf ./.codex gesetzt.
Wenn direnv nicht verwendet wird, starte Codex stattdessen ueber
./scripts/codex-local.sh.
Spec-Kit-Voraussetzung:
specify muss auf beiden Macs installiert sein, damit specify-Laeufe und
Spec-Kit-Updates auf beiden Systemen ohne Umwege moeglich bleiben. Vor
Spec-Kit-Arbeiten sollte specify check bestaetigen, dass alle benoetigten
Tools installiert sind.
Installation oder Update von specify:
# Erstinstallation aus dem aktuellen main-Stand
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
# Upgrade auf einen konkreten Release-Tag
uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git@vX.Y.ZDen aktuellen Release-Tag vor einem gezielten Upgrade unter
https://github.com/github/spec-kit/releases pruefen.
Project-local setting:
CODEX_HOME is set in this repository via .envrc to ./.codex.
If direnv is not in use, start Codex through ./scripts/codex-local.sh
instead.
Empfehlung fuer Sessions:
- Vor Session-Beginn
git statuspruefen. - Aufgabenbezug klar in der Session formulieren (Datei/Abschnitt/Testziel).
- Wenn die Session Spec-Kit-Artefakte oder Workflow-Updates betrifft:
specify --version || specify --helpundspecify checkausfuehren. - Nach Session:
dotnet buildunddotnet testausfuehren. - Wenn API-/XML-Kommentare geaendert wurden: den obigen docfx-Schritt ausfuehren.
- Nach jedem docfx-Neubau den A11y-Smoke-Test unter
tests/web-a11y/ausfuehren; optionallynx-Dump pruefen. - Ergebnis + Doku in denselben Commit aufnehmen.
git status
git add -A
git commit -m "Kurzbeschreibung der Aenderung"
git push -u origin <agent>/<kurze-beschreibung>gh pr create --fill
gh pr view --webNach Review-Anpassungen:
git add -A
git commit -m "Review-Feedback umgesetzt"
git pushVor dem Wechsel (auf System A):
git status
git pushNach dem Wechsel (auf System B):
git fetch origin
git checkout <agent>/<kurze-beschreibung>
git pull --ff-only origin <agent>/<kurze-beschreibung>dotnet builderfolgreich.dotnet testerfolgreich.- Bei Spec-Kit-Arbeiten:
specify --versionoderspecify --helpsowiespecify checkauf dem verwendeten Mac erfolgreich. - Bei API-/XML-Kommentar-Aenderungen: docfx-Schritt erfolgreich (falls
docfx.jsonim Projektwurzelverzeichnis vorhanden). - Nach jedem erfolgreichen DocFX-Neubau:
cd tests/web-a11y && npm run test:docfxerfolgreich. lynx-Gegencheck bei relevanten Doku-/Navigationsaenderungen mit betrachtet.- Doku aktualisiert (API, Guides, Beispiel-Guide, falls betroffen).
- PR erstellt oder aktualisiert.
- Branch ist auf
origingepusht.
Die folgenden Schritte werden einmal pro Mac benoetigt, damit die HTML-Doku
nach Programmierung #include<everyone> reproduzierbar geprueft werden kann.
The following steps are needed once per Mac so the HTML documentation can be
checked reproducibly according to Programmierung #include<everyone>.
brew install node@24
brew install lynx
echo 'export PATH="/opt/homebrew/opt/node@24/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
node --version
lynx -versioncd /pfad/zu/TuiVision/tests/web-a11y
npm install
npx playwright install chromiumcd /pfad/zu/TuiVision
docfx docfx.json
cd tests/web-a11y
npm run test:docfxKurz gesagt:
docfxerzeugt die HTML-Doku neu.npm run test:docfxprueft die erzeugten Seiten mit Playwright und@axe-core/playwright.lynxbleibt der zweite, rein textuelle Blick fuer sehbehinderte Lernende und fuer textorientierte Review-Pfade.
Dieser Abschnitt dokumentiert die fuer M-07 erforderlichen Kompatibilitaetspruefungen fuer
die drei Zielumgebungen zusaetzlich zum primaeren Multi-Mac-Workflow.
(This section documents the M-07 required compatibility checks for the three target environments in addition to the primary Multi-Mac workflow.)
Auf jeder Zielumgebung ausfuehren / Execute on each target environment:
dotnet restore
dotnet build --configuration Release
dotnet test tests/TuiVision.Drivers.Tests/ --configuration Release
dotnet test --configuration Release
dotnet format --verify-no-changes| Umgebung / Environment | Validierungsmodus | Befehle / Commands | Ergebnis / Result |
|---|---|---|---|
| MacBook Air M2 | lokal / local | Vollstaendiger Pruefbefehlssatz | PASS — primaere Entwicklungsumgebung |
| Mac mini M4 Pro | lokal / local | Vollstaendiger Pruefbefehlssatz | PASS — sekundaere Entwicklungsumgebung |
| Linux (Ubuntu 24.04 / WSL) | manuell / manual | dotnet build --configuration Release && dotnet test tests/TuiVision.Drivers.Tests/ |
PASS — manuell ausgefuehrt; noch kein CI-Gate |
| Windows/WSL (Ubuntu 24.04) | manuell / manual | dotnet build --configuration Release && dotnet test tests/TuiVision.Drivers.Tests/ |
PASS — manuell ausgefuehrt; noch kein CI-Gate |
# Ubuntu 24.04 (nativ oder WSL)
sudo apt-get update
sudo apt-get install -y dotnet-sdk-10.0
git clone https://github.com/hindermath/TuiVision.git
cd TuiVision
git checkout 005-driver-consolidation-m07
dotnet restore
dotnet build --configuration Release
dotnet test tests/TuiVision.Drivers.Tests/ --configuration ReleaseErwartetes Ergebnis: Alle Treibertests bestehen ohne plattformspezifische Fehler. (Expected result: All driver tests pass without platform-specific failures.)
Dieser Abschnitt haelt fest, wie die Kompatibilitaetsfrage fuer das
Eingangstor-Closure-Paket von 006-close-phase8-gate bewertet wurde.
(This section records how compatibility was evaluated for the entrance-gate
closure package of 006-close-phase8-gate.)
| Umgebung / Environment | Status fuer das Closure-Paket | Begruendung / Rationale |
|---|---|---|
| MacBook Air M2 | Primaere Multi-Mac-Baseline | Der repo-weite Gate-Befehlssatz (build, test, format, bedingtes docfx, getrennte Coverage-Laeufe) bleibt auf der primaeren macOS-Entwicklungsumgebung der massgebliche Ablauf. |
| Mac mini M4 Pro | Sekundaere Multi-Mac-Baseline | Dieselbe Managed-.NET-10-Befehlsfolge bleibt ohne Plattformsplit reproduzierbar; das Closure-Paket fuehrt keinen neuen macOS-spezifischen Codepfad ein. |
| Linux (Ubuntu 24.04 / WSL) | Kein zusaetzlicher Rerun erforderlich | Fuer die Aufgaben T022 bis T034 wurden nur Coverage-, Build/Test-, Format-, Doku- und Proof-Artefakte finalisiert; die letzte runtime-nahe Linux-Evidence bleibt der dokumentierte Phase-7-PASS. |
| Windows/WSL (Ubuntu 24.04) | Kein zusaetzlicher Rerun erforderlich | Gleiche Begruendung wie fuer Linux: kein neuer plattformspezifischer Runtime- oder Terminalpfad in der Gate-Abschlussarbeit nach T021. |
- Fuer das eigentliche Eingangstor sind die repo-weiten Qualitaetsnachweise
(
dotnet build --configuration Release,dotnet test,dotnet format --verify-no-changes,docfx docfx.json, Coverlet je Gate-Assembly) die autoritativen Artefakte. - Linux- und Windows/WSL-Ausfuehrungen bleiben fuer spaetere runtime-/portabilitaetswirksame Aenderungen verpflichtend, wurden fuer die reinen Gate-Abschlussaufgaben dieses Pakets aber reviewbar als nicht zusaetzlich erforderlich dokumentiert.
# Windows-Vorbereitung: WSL mit Ubuntu 24.04 installieren
wsl --install -d Ubuntu-24.04# In WSL-Shell / In WSL shell
sudo apt-get update
sudo apt-get install -y dotnet-sdk-10.0
git clone https://github.com/hindermath/TuiVision.git
cd TuiVision
git checkout 005-driver-consolidation-m07
dotnet restore
dotnet build --configuration Release
dotnet test tests/TuiVision.Drivers.Tests/ --configuration ReleaseErwartetes Ergebnis: Alle Treibertests bestehen. WSL vermittelt Linux-Kompatibilitaet fuer den
Windows-Nachweis. Native Windows-Konsolen-APIs werden im verwalteten Modell durch
System.Console abstrahiert.
(Expected result: All driver tests pass. WSL provides Linux compatibility for the Windows proof. Native Windows Console APIs are abstracted by System.Console in the managed model.)
- DOS-, QNX4-, QNXrtp-, WinGR- und X11-Plattformen werden bewusst nicht unterstuetzt;
dies ist in
docs/porting-status.mddokumentiert. - Mauseingabe auf Linux/WSL benoetigt einen kompatiblen Terminal-Emulator mit Mausereignis-Unterstuetzung; Testlaeuf ueber CI ohne Display-Server schliessen diesen Pfad explizit aus.
- Farb- und Unicode-Ausgabe haengt vom Host-Terminal ab; funktionale Tests validieren Pufferzustand statt Terminal-spezifisches Rendering.
(DOS, QNX4, QNXrtp, WinGR, and X11 platforms are consciously not supported; documented in docs/porting-status.md. Mouse input on Linux/WSL requires a compatible terminal emulator with mouse-event support; CI runs without a display server explicitly exclude this path.)
Dieser Abschnitt haelt fest, wie die vier Wave-1-Beispiele auf den unterstuetzten
Plattformen bewertet wurden (Branch 007-port-wave1-examples, 2026-03-28).
(This section records how the four Wave-1 examples were evaluated on supported
platforms — branch 007-port-wave1-examples, 2026-03-28.)
| Umgebung / Environment | Status | Begruendung / Rationale |
|---|---|---|
| MacBook Air M2 | Primaere Multi-Mac-Baseline | dotnet build --configuration Release, dotnet test tests/TuiVision.Examples.SmokeTests/ (41 Tests), dotnet test (314 Tests gesamt) und dotnet format --verify-no-changes auf dem primaeren Entwicklungssystem fehlerfrei. |
| Mac mini M4 Pro | Sekundaere Multi-Mac-Baseline | Dieselbe Managed-.NET-10-Befehlsfolge reproduzierbar; kein neuer plattformspezifischer Codepfad in den Wave-1-Beispielen. |
| Linux (Ubuntu 24.04 / WSL) | Kein zusaetzlicher Rerun erforderlich | Die Wave-1-Implementierung nutzt ausschliesslich System.Console und Framework-Abstraktionen; videomode erkennt fehlende SetWindowSize-Unterstuetzung auf Linux und zeigt den dokumentierten sichtbaren Fallback. |
| Windows/WSL (Ubuntu 24.04) | Kein zusaetzlicher Rerun erforderlich | Gleiche Begruendung wie fuer Linux; videomode wuerde unter nativem Windows SetWindowSize aufrufen koennen, setzt aber nicht voraus, dass die Aktion gelingt. |
videomode erkennt zur Laufzeit, ob Console.SetWindowSize() auf dem aktuellen
Terminal unterstuetzt wird:
- Echte Groessenaenderung (
RealTransition): Wird ausgefuehrt, wenn das Terminal die API unterstuetzt (typischerweise native Windows-Konsole oder kompatible Emulatoren). - Sichtbarer Fallback (
VisibleFallback): Wird angezeigt, wenn die Groessenaenderung nicht moeglich ist (macOS Terminal, Linux-Terminals, WSL, CI-Umgebungen).
(The videomode example detects at runtime whether Console.SetWindowSize() is supported:
real transition executes when the API works; a visible fallback is shown otherwise — this
is documented behaviour and not an error.)
dotnet test tests/TuiVision.Examples.SmokeTests/ --configuration ReleaseErwartetes Ergebnis: 41 Tests bestanden, 0 Fehler, 0 uebersprungen. (Expected result: 41 tests passed, 0 failed, 0 skipped.)
Dieser Abschnitt haelt fest, wie die Controls-Revision auf den unterstuetzten
Plattformen bewertet wurde (Branch 008-controls-revision, 2026-03-29).
(This section records how the Controls revision was evaluated on supported
platforms — branch 008-controls-revision, 2026-03-29.)
| Umgebung / Environment | Status | Begruendung / Rationale |
|---|---|---|
| MacBook Air M2 | Primaere Baseline | dotnet build --configuration Release (0 Fehler, 0 Warnungen), dotnet test (342 Tests gesamt, 0 Fehler), dotnet format --verify-no-changes (sauber), docfx docfx.json (0 Fehler) ausgefuehrt; TuiVision.Controls-Zeilenabdeckung 84,4 %. |
| Mac mini M4 Pro | Sekundaere Multi-Mac-Baseline | Dieselbe Managed-.NET-10-Befehlsfolge reproduzierbar; kein neuer plattformspezifischer Codepfad in der Controls-Revision. |
| Linux (Ubuntu 24.04 / WSL) | Kein gesonderter Rerun erforderlich | Die Controls-Revision greift ausschliesslich auf verwaltete .NET-Typen zu; kein P/Invoke, keine nativen Abhaengigkeiten, kein plattformspezifischer Verhaltenszweig eingefuehrt. |
| Windows/WSL (Ubuntu 24.04) | Kein gesonderter Rerun erforderlich | Gleiche Begruendung wie fuer Linux. |
Die folgenden Szenarien wurden durch MSTest-Abdeckung in tests/TuiVision.Controls.Tests/ bestaetigt:
- Top-Level-Wraparound (links vom ersten Eintrag → letzter Eintrag).
- Untermenü-Wraparound (unten vom letzten Untermenü-Eintrag → erster Eintrag).
- Deaktivierte Eintraege und Trennzeilen werden beim Navigieren uebersprungen.
- Fokussierter Eintrag wird visuell hervorgehoben (Weiss auf Blau).
- Enter bestaetigt und sendet den Befehl.
- Escape schliesst das Menue ohne Befehl.
- Erste passende
TStatusDef-Definition gewinnt bei ueberlappenden Bereichen. - Neutraler Leer-Zustand wenn keine Definition zum aktuellen Kontext passt.
- Fokuswechsel aktualisiert die Statuszeile auf die neue Kontextdefinition.
- Kompatibilitaets-Fallback auf
GetStatusHints()wenn keine Definitionen konfiguriert.
- Schliess-Affordanz (×) sichtbar bei
WindowFlags.Close. - Ctrl+W schliesst das Fenster.
- Escape schliesst nur wenn kein Kind-View das Ereignis verbraucht hat (bewachtes Escape).
- Ctrl+F5 startet den Verschiebe-Modus; Pfeiltasten zeigen Vorschauposition.
- Enter uebernimmt die neue Position.
- Escape stellt die Ausgangsposition wieder her.
Valid(ushort command)blockiert Schliessen wennfalse.- Akzeptierte Schliessanfragen liefern das modale Ergebnis.
Die folgenden Szenarien wurden in 20 aufeinanderfolgenden dotnet test-Durchlaeufen
auf dem MacBook Air M2 ohne eine einzige Fehlerausnahme bestaetigt:
| Szenario | Durchlaeufe | Erste-Versuch-Erfolgsrate |
|---|---|---|
| TWindow_CtrlW_ClosesWindow | 20 / 20 | 100 % |
| TWindow_Escape_ClosesWhenNotConsumedByChild | 20 / 20 | 100 % |
| TWindow_Escape_DoesNotCloseWhenConsumedByChild | 20 / 20 | 100 % |
| TWindow_CtrlF5_EntersMoveMode | 20 / 20 | 100 % |
| TWindow_MoveMode_EscapeRestoresOriginalPosition | 20 / 20 | 100 % |
(All five SC-003 close/move scenarios passed in every one of 20 consecutive dotnet test runs on MacBook Air M2.)
Die folgenden Szenarien wurden in 20 aufeinanderfolgenden dotnet test-Durchlaeufen
auf dem MacBook Air M2 ohne eine einzige Fehlerausnahme bestaetigt:
| Szenario | Durchlaeufe | Erste-Versuch-Erfolgsrate |
|---|---|---|
| WidgetAcceptance_ListViewer_FocusNavigation | 20 / 20 | 100 % |
| WidgetAcceptance_ComboBox_DropDownCycle | 20 / 20 | 100 % |
| WidgetAcceptance_ProgressBar_StateTransition | 20 / 20 | 100 % |
| WidgetAcceptance_ParamText_ValueRefresh | 20 / 20 | 100 % |
| WidgetAcceptance_ManagedClipboard_CutAndPaste | 20 / 20 | 100 % |
| WidgetAcceptance_History_SessionRecall | 20 / 20 | 100 % |
| WidgetAcceptance_AllWidgets_FirstRedraw | 20 / 20 | 100 % |
(All seven widget/collection acceptance scenarios passed in every one of 20 consecutive dotnet test runs on MacBook Air M2.)
dotnet test tests/TuiVision.Controls.Tests/ --filter "FullyQualifiedName~WidgetAcceptance" --configuration ReleaseErwartetes Ergebnis: 7 Tests bestanden, 0 Fehler, 0 uebersprungen. (Expected result: 7 tests passed, 0 failed, 0 skipped.)
Dieser Abschnitt dokumentiert die Laufzeitnachweise fuer 009-controls-widgets-and-collections
auf den unterstuetzten Plattformen (Branch 009-controls-widgets-and-collections, 2026-03-30).
(This section documents the runtime evidence for 009-controls-widgets-and-collections
on supported platforms — branch 009-controls-widgets-and-collections, 2026-03-30.)
| Host | Build | Tests | Coverage | Notes |
|---|---|---|---|---|
| MacBook Air M2 | PASS | 268 PASS, 0 FAIL | 84.78 % (Controls) | Primary path |
| Mac mini M4 Pro | pending | pending | pending | Secondary Mac |
| Linux / WSL Ubuntu 24.04 | pending | pending | pending | Supplemental |
| Windows 10/11 WSL2 | pending | pending | pending | Supplemental |
Validation to be recorded when quality gates run in T024/T025.
(Validierung wird aufgezeichnet, sobald die Qualitaetstore in T024/T025 durchlaufen werden.)
Dieser Abschnitt dokumentiert die lokalen Nachweise fuer
010-standard-dialogs-designer auf dem primaeren Multi-Mac-Pfad am
2026-05-02.
This section documents local evidence for 010-standard-dialogs-designer on
the primary Multi-Mac path on 2026-05-02.
| Host | Build | Controls | Serialization | Notes |
|---|---|---|---|---|
| MacBook Air M2 | PASS (dotnet build --configuration Release) |
PASS, 281 Tests | PASS, 18 Tests | Keyboard-only, text-first, non-destructive file decisions, persisted-input rejection |
| Mac mini M4 Pro | pending | pending | pending | Secondary Mac |
| Linux / WSL Ubuntu 24.04 | pending | pending | pending | Supplemental |
| Windows 10/11 WSL2 | pending | pending | pending | Supplemental |
Additional MacBook Air M2 evidence: dotnet test passed with 439 tests, the
gate-relevant Cobertura files reported Core 89.11 %, Controls 82.85 %,
Serialization 87.00 %, Compatibility 80.95 %, and Drivers.Console
76.76 % line coverage, docfx docfx.json passed, and npm run test:docfx
passed with 2/2 Playwright/axe smoke tests. dotnet format --verify-no-changes passed after the repository line-ending rule was aligned
to LF and the five MSTest settings files were normalized to UTF-8 without BOM.
A11Y proof: standard-dialog flow tests assert keyboard reachability through
StandardDialogFlowState.KeyboardReachable; validation and fallback states are
plain text (StandardDialogValidationMessage, FallbackMessage,
FallbackReason). No mouse-only acceptance path was added.
Security proof: file dialogs return caller-visible decisions only and do not perform file content I/O. Persisted dialog descriptions reject truncated, trailing, unsupported-version, runtime-state, and semantic invalid input before runtime dialog creation.
gh auth loginif [[ -f "docfx.json" ]]; then
dotnet tool update --global docfx || dotnet tool install --global docfx
export PATH="$PATH:$HOME/.dotnet/tools"
docfx docfx.json
else
echo "docfx.json nicht gefunden."
fispecify --helpWenn der Befehl nicht aufloest, GitHub Spec-Kit CLI auf dem betroffenen Mac installieren oder die lokale Shell-/PATH-Konfiguration korrigieren:
uv tool install specify-cli --from git+https://github.com/github/spec-kit.gitspecify checkFehlende Abhaengigkeiten auf dem betroffenen Mac nachinstallieren und den Check
erneut ausfuehren, bis alle erforderlichen Tools als verfuegbar gemeldet werden.
Wenn zusaetzlich ein CLI-Update noetig ist, den passenden Release-Tag unter
https://github.com/github/spec-kit/releases pruefen und danach zum Beispiel:
uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git@vX.Y.Zgit fetch origin
git status
git pull --ff-onlygit status
git diffDann bewusst entscheiden: committen, stashen oder verwerfen.