Récupérer le contenu d'une issue GitHub - Mode AUTO (Phase 0)
Retrieves a GitHub issue by number and validates it for automated workflow processing.
/plugin marketplace add atournayre/claude-marketplace/plugin install dev@atournayre-claude-plugin-marketplaceclaude-haiku-4-5-20251001auto/Phase 0 (Initialisation) du workflow automatisé : récupérer la specification depuis une issue GitHub.
Exécuté au démarrage du workflow avant Phase 1.
issue_number=$ARGUMENTS
if ! [[ "$issue_number" =~ ^[0-9]+$ ]]; then
echo "❌ Erreur : l'argument doit être un numéro d'issue GitHub"
echo "Usage: /dev:auto:feature 123"
exit 1
fi
Utiliser gh issue view pour récupérer le contenu :
issue_data=$(gh issue view "$issue_number" --json title,body,labels,state)
issue_exists=$?
if [ $issue_exists -ne 0 ]; then
echo "❌ Issue #$issue_number non trouvée"
echo "Vérifie que :"
echo " 1. Le numéro est correct"
echo " 2. Tu es authentifié sur GitHub (gh auth login)"
echo " 3. L'issue existe dans le repo courant"
exit 1
fi
Extraire les champs nécessaires :
# Utiliser jq pour parser
issue_title=$(echo "$issue_data" | jq -r '.title')
issue_body=$(echo "$issue_data" | jq -r '.body')
issue_state=$(echo "$issue_data" | jq -r '.state')
issue_labels=$(echo "$issue_data" | jq -r '.labels | map(.name) | join(", ")')
if [ "$issue_state" != "OPEN" ]; then
echo "❌ Issue #$issue_number n'est pas ouverte (state: $issue_state)"
exit 1
fi
if [ -z "$issue_body" ] || [ "$issue_body" == "null" ]; then
echo "⚠️ Issue #$issue_number : description vide"
echo "Ajoute une description détaillée avant de relancer le workflow"
exit 1
fi
🔗 Issue GitHub récupérée
#$issue_number : $issue_title
État : $issue_state
Labels : $issue_labels
Description :
───────────────────────────────
$issue_body
───────────────────────────────
Déterminer le chemin :
issue_number=$ARGUMENTS
workflow_state_file=".claude/data/workflows/issue-${issue_number}-dev-workflow-state.json"
mkdir -p ".claude/data/workflows"
Créer le fichier .dev-workflow-state.json :
{
"mode": "auto",
"issue": {
"number": $issue_number,
"title": "$issue_title",
"description": "$issue_body",
"labels": "$issue_labels",
"state": "$issue_state",
"fetchedAt": "{ISO timestamp}"
},
"feature": "$issue_title",
"status": "in_progress",
"startedAt": "{ISO timestamp}",
"currentPhase": 0,
"phases": {
"0": {
"status": "completed",
"completedAt": "{ISO timestamp}",
"durationMs": {durée}
}
}
}
Passer la spec de l'issue à discover.md en paramètre :
spec="Issue #$issue_number: $issue_title\n\n$issue_body"
# Cette spec sera utilisée dans Phase 1 (Discover)
❌ Issue #123 non trouvée
Vérifie que :
1. Le numéro est correct
2. Tu es authentifié sur GitHub (gh auth login)
3. L'issue existe dans le repo courant
❌ Issue #123 n'est pas ouverte (state: CLOSED)
⚠️ Issue #123 : description vide
Ajoute une description détaillée avant de relancer le workflow
gh CLI installé et authentifié (gh auth login)