GitHub fetch
Ein Fetch-Durchlauf folgt dem gleichen Prozess für jede GitHub-Aufgabe: Parsen → vorhersehen → abrufen oder auschecken.
Schritte
1. Parsen
Parse owner/repo (ggf. + Issue/PR-Nummer) aus einer URL oder Benutzereingabe.
Erfüllungskriterium: owner/repo identifiziert (oder Benutzer aufgefordert, zu präzisieren).
2. Vorhersehen
Entscheide vor dem Auschecken: Benötigt diese Aufgabe mehr als einen Dateilesevorgang oder eine repo-weite Suche (Grep/Glob)?
- Nein → Fetch-Branch (Schritt 3).
- Ja → Checkout-Branch (Schritt 4).
- Erweiterung während des Durchlaufs → Erneutes Vorhersehen vor dem zweiten Zugriff; ggf. Branch wechseln.
Erfüllungskriterium: Branch ausgewählt und protokolliert (Fetch vs. Checkout).
3. Fetch-Branch
Befolge GH-COMMANDS.md für den URL-Typ. Einzelne Datei: gh api repos/owner/repo/contents/path?ref=branch.
Erfüllungskriterium: Angeforderter Inhalt via gh zurückgegeben; kein Checkout gestartet.
4. Checkout-Branch
Befolge CHECKOUT.md — frage nach lokalem Pfad, verifiziere Remote, klone nur mit Genehmigung.
Erfüllungskriterium: Verifizierter lokaler Pfad in Verwendung oder genehmigter flacher Klon unter einem bekannten absoluten Pfad; Lese/Grep/Glob-Zugriff auf diesen Tree.
Reichweite
Zugriff auf GitHub via gh (Fetch-Branch) oder einem verifizierten Checkout-Pfad. Fehlt gh oder ist es nicht authentifiziert, ist WebFetch die Ausweichlösung.
Erledigt wenn: jeder Zugriff via Fetch oder Checkout entsprechend der Vorhersehen-Entscheidung erfolgte; WebFetch nur bei echtem gh-Fehler verwendet wurde.