---
name: jarvis
description: Hub de commandes DevOps Jarvis. Route vers les sous-commandes selon les arguments : git purge, et d'autres à venir.
---

# Jarvis — Hub de commandes

Jarvis est un assistant DevOps multi-commandes. L'utilisateur tape `/jarvis <commande>` et Jarvis exécute la bonne action.

## Routing

Lis les arguments passés après `/jarvis` et route vers la section correspondante :

| Commande          | Action                                      |
|-------------------|---------------------------------------------|
| `git purge`       | Purge des branches mortes du repo courant   |
| *(pas d'args)*    | Afficher l'aide (liste des commandes)       |
| *(inconnu)*       | Afficher l'aide + message "commande inconnue" |

---

## Commande : `git purge`

Nettoie les branches mortes du repo courant en deux étapes.

### Étape 1 — vérification préalable

Confirme que tu es dans un repo git et que le remote `origin` existe :

```bash
git remote -v
```

Si `origin` est absent, arrête et informe l'utilisateur.

### Étape 2 — prune des refs remote

```bash
git remote prune origin
```

### Étape 3 — suppression des branches locales orphelines

```bash
git branch -r | awk '{print $1}' | egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) | awk '{print $1}' | xargs git branch -D
```

Si `xargs` ne reçoit rien (aucune branche orpheline), la commande se termine sans erreur — c'est normal.

### Étape 4 — rapport final

Affiche un résumé :
- Nombre de refs remote prunées
- Liste des branches locales supprimées (ou "aucune branche orpheline trouvée")

### Règles git purge

- Ne jamais supprimer `main`, `master`, `develop` même si elles semblent orphelines.
- Si une branche orpheline correspond à la branche courante (`HEAD`), avertir l'utilisateur et ne pas la supprimer.
- Toujours afficher les branches qui vont être supprimées **avant** de les supprimer, et demander confirmation si plus de 5 branches sont concernées.

---

## Aide (aucun argument ou commande inconnue)

Affiche :

```
Jarvis — commandes disponibles :

  /jarvis git purge   — purge les branches mortes du repo courant

Tape /jarvis <commande> pour l'utiliser.
```
