3.4 KiB
3.4 KiB
Consistance des Scopes GitHub
⚠️ IMPORTANT: Source de Vérité Unique
Pour garantir la cohérence des scopes GitHub demandés, UNE SEULE source de vérité existe:
📍 Fichier de Référence
scripts/gh_auth_setup.sh
Array REQUIRED_SCOPES ligne ~4-10:
REQUIRED_SCOPES=(
"repo" # Accès complet aux repos (PRs, commits, etc.)
"read:org" # Lecture infos organisation
"read:project" # Lecture projets GitHub
"project" # Écriture/assignation aux projets
"gist" # Gestion des gists
)
🔒 Règles Strictes
DO ✅
- Modifier uniquement
gh_auth_setup.shpour ajouter/retirer des scopes - Utiliser systématiquement
bash gh_auth_setup.shpour renouveler l'auth - Vérifier les scopes à chaque début de workflow (Étape 1.5 dans SKILL.md)
- Documenter dans ce fichier toute modification de scopes
DON'T ❌
- ❌ NE JAMAIS utiliser
gh auth refresh -s <scope>manuellement sans passer par le script - ❌ NE JAMAIS hard-coder les scopes dans SKILL.md ou ailleurs
- ❌ NE JAMAIS supposer qu'un scope est présent sans vérification
📋 Checklist Modification Scopes
Si ajout/retrait de scope nécessaire:
- Modifier
REQUIRED_SCOPESdansscripts/gh_auth_setup.sh - Mettre à jour section "Scopes Requis" dans
SKILL.md - Mettre à jour tableau dans
README.md - Documenter dans ce fichier (section Historique)
- Tester avec
bash scripts/gh_auth_setup.sh - Vérifier avec
gh auth status - Tester le workflow complet
📜 Historique des Modifications
2025-11-05 - Initialisation
Scopes définis: repo, read:org, read:project, project, gist
Contexte: Création du système de consistance suite à oubli intermittent de scopes lors des renouvellements d'authentification.
Changements:
- Création
scripts/gh_auth_setup.sh(script centralisant TOUS les scopes) - Ajout Étape 1.5 dans
SKILL.md(vérification automatique scopes) - Création
README.md(documentation complète) - Création
.scope-consistency.md(ce fichier - règles de cohérence)
Impact: Garantit qu'aucun scope ne sera oublié lors des futurs renouvellements.
Template Modification Future
### YYYY-MM-DD - [Titre Modification]
**Scopes modifiés**: `scope1`, `scope2`
**Contexte**: [Raison de la modification]
**Changements**:
- [Détail changement 1]
- [Détail changement 2]
**Impact**: [Impact sur le workflow]
🔍 Débogage
Symptôme: "Scopes manquants" malgré renouvellement récent
Diagnostic:
# 1. Vérifier scopes actuels
gh auth status | grep "Token scopes"
# 2. Comparer avec REQUIRED_SCOPES
cat scripts/gh_auth_setup.sh | grep -A 10 "REQUIRED_SCOPES"
Solution:
# Re-run le script de setup
bash scripts/gh_auth_setup.sh
Symptôme: Script fonctionne mais assignation projet échoue
Diagnostic:
# Vérifier que 'project' ET pas seulement 'read:project'
gh auth status | grep -o "project"
Cause Probable: Token ancien avec seulement read:project
Solution:
# Logout complet puis re-setup
gh auth logout
bash scripts/gh_auth_setup.sh
📚 Références
- Script source:
scripts/gh_auth_setup.sh - Workflow:
SKILL.md(Étape 1.5) - Documentation:
README.md - GitHub Scopes Doc: https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps