Récupération GitHub
Une exécution de fetch suit le même processus à chaque tâche GitHub : analyser → prévoir → récupérer ou cloner.
Étapes
1. Analyser
Analyser owner/repo (+ numéro d'issue/PR si présent) à partir d'une URL ou du texte de l'utilisateur.
Critère d'achèvement : owner/repo identifié (ou l'utilisateur invité à clarifier).
2. Prévoir
Avant le clonage, décider : cette tâche nécessitera-t-elle plus d'une lecture de fichier ou une recherche dans tout le dépôt (Grep/Glob) ?
- Non → récupérer la branche (étape 3).
- Oui → cloner la branche (étape 4).
- La tâche s'étend en cours d'exécution → re-prévoir avant le second accès ; changer de branche si nécessaire.
Critère d'achèvement : branche choisie et enregistrée (récupération vs clonage).
3. Récupérer la branche
Suivre GH-COMMANDS.md selon le type d'URL. Fichier unique : gh api repos/owner/repo/contents/path?ref=branch.
Critère d'achèvement : contenu demandé retourné via gh ; aucun clonage démarré.
4. Cloner la branche
Suivre CHECKOUT.md — demander le chemin local, vérifier le dépôt distant, cloner uniquement avec approbation.
Critère d'achèvement : chemin local vérifié en cours d'utilisation, ou clone superficiel approuvé à un chemin absolu connu ; cibler cet arbre avec Read/Grep/Glob.
Portée
Accéder à GitHub via gh (récupération de branche) ou un chemin de clonage vérifié. Si gh est manquant ou non authentifié, WebFetch est le recours.
Terminé lorsque : chaque accès est passé par récupération ou clonage conformément à la porte de prévision ; WebFetch utilisé uniquement en cas d'échec réel de gh.