---
description: "Vérifie et corrige le code avant commit (Pint + build frontend)"
---

# /finalize — Vérification avant commit

Exécute les vérifications de qualité de code avant de commiter.

## Étapes

### 1. Pint (fichiers modifiés)

```bash
ddev exec vendor/bin/pint --dirty
```

Corrige automatiquement le style des fichiers PHP modifiés.

### 2. Build frontend (si nécessaire)

Vérifier si des fichiers dans `web/app/themes/ebook-viewer/resources/` ont été modifiés (convention Sage 11) :

```bash
git diff --name-only HEAD | grep -q "web/app/themes/ebook-viewer/resources/"
```

Si oui, lancer le build :

```bash
ddev exec npm --prefix web/app/themes/ebook-viewer run build
```

Si le build échoue :
- Analyser l'erreur
- Tenter de corriger
- Relancer le build
- Maximum **3 tentatives**

### 3. Cohérence Composer (si composer.json modifié)

Si `composer.json` apparaît dans `git diff --name-only HEAD` :

```bash
diff composer.json composer-prod.json
```

Le diff DOIT être vide. Si non vide → **STOP** : indiquer que `composer.json` n'est pas en mode prod, suggérer de relancer `/update-premium` au lieu de continuer.

### 4. Pint final

```bash
ddev exec vendor/bin/pint --test
```

Vérification finale que tout le code respecte les conventions PER.

## En cas d'échec

- Si Pint échoue après correction : afficher les fichiers problématiques
- Si le build échoue après 3 tentatives : afficher l'erreur et arrêter
- Si `composer.json` n'est pas en mode prod : arrêter, suggérer `/update-premium`
- Ne jamais suggérer `/commit` si une étape échoue

## Résultat

Si tout passe :
```
Vérifications terminées avec succès. Lancer /commit pour commiter.
```
