Files
gh-atournayre-claude-market…/skills/git-pr/.scope-consistency.md
2025-11-29 17:58:54 +08:00

128 lines
3.4 KiB
Markdown

# 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:
```bash
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 ✅
1. **Modifier uniquement `gh_auth_setup.sh`** pour ajouter/retirer des scopes
2. **Utiliser systématiquement** `bash gh_auth_setup.sh` pour renouveler l'auth
3. **Vérifier les scopes** à chaque début de workflow (Étape 1.5 dans SKILL.md)
4. **Documenter** dans ce fichier toute modification de scopes
### DON'T ❌
1.**NE JAMAIS** utiliser `gh auth refresh -s <scope>` manuellement sans passer par le script
2.**NE JAMAIS** hard-coder les scopes dans SKILL.md ou ailleurs
3.**NE JAMAIS** supposer qu'un scope est présent sans vérification
## 📋 Checklist Modification Scopes
Si ajout/retrait de scope nécessaire:
- [ ] Modifier `REQUIRED_SCOPES` dans `scripts/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
```markdown
### 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**:
```bash
# 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**:
```bash
# Re-run le script de setup
bash scripts/gh_auth_setup.sh
```
### Symptôme: Script fonctionne mais assignation projet échoue
**Diagnostic**:
```bash
# Vérifier que 'project' ET pas seulement 'read:project'
gh auth status | grep -o "project"
```
**Cause Probable**: Token ancien avec seulement `read:project`
**Solution**:
```bash
# 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