Automatisation¶
Du workflow manuel vu précédemment vers une chaîne de développement complète.
Le pipeline complet¶
Claude Code n'est pas un assistant isolé : il s'insère dans une chaîne qui va de l'issue jusqu'au merge, avec des outils qui objectivent la qualité et la sécurité.
sequenceDiagram
actor U as Vous
participant C as Claude Code
participant G as Git / Gitea
participant CI as CI (Trivy, Sonar)
participant R as Renovate
U->>C: Issue / demande
C->>C: /superpowers:brainstorming
C->>U: Intent + cas limites
U->>C: Validation
C->>G: Crée branche + worktree
C->>C: /superpowers:writing-plans
C->>G: Commit plan (superpowers/plans/)
C->>G: Push → PR ouverte
loop Exécution par étapes
U->>G: Commentaire PR "étape N"
G->>C: Webhook
C->>C: /superpowers:executing-plans
C->>G: Commit + push
G->>CI: Tests + Trivy + Sonar
CI->>G: Rapports
end
R->>G: PRs de mise à jour (déps)
C->>C: /superpowers:requesting-code-review<br/>(lit les rapports CI)
C->>U: Review consolidée
U->>G: Merge
C->>G: /clean_gone Chaque étape a d'abord été exécutée manuellement dans Premier projet et Bonnes pratiques. Les sections qui suivent automatisent chacune d'elles.
Du manuel à l'automatique¶
| Étape du pipeline | Version manuelle (ch. 4-5) | Version automatisée (ici) |
|---|---|---|
| Issue → intent | Prompt d'ouverture Claude | /from-issue → brainstorming |
| Validation → branche + plan | Demande au développeur | Hook Stop crée branche/worktree + commit plan |
| Exécution étape par étape | Un prompt par feature | Commentaires PR → executing-plans via webhook |
| Qualité / sécurité | Relecture humaine | Trivy + Sonar sur chaque push |
| Mise à jour dépendances | npm outdated à la main | Renovate self-hosted, PRs automatiques |
| Code review | Lecture du diff | /review enrichi par les rapports CI |
| Cleanup | git branch -D manuel | /clean_gone après merge |
Hooks d'orchestration¶
Les hooks (.claude/settings.json) rendent déterministes les transitions qui, autrement, dépendraient de la vigilance du développeur.
Événements disponibles¶
| Événement | Quand | Usage dans le pipeline |
|---|---|---|
PostToolUse | Après un Edit/Write | Formatting, validation schéma |
Stop | Fin du tour de Claude | Crée branche + commit plan, run tests |
PreToolUse | Avant un outil | Garde-fou (bloquer edits hors worktree) |
Exemple : formater après chaque édition¶
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{ "command": "prettier --write $CLAUDE_FILE_PATH" }
]
}
]
}
}
Exemple : créer branche + worktree + plan après validation du brainstorming¶
{
"hooks": {
"Stop": [
{
"matcher": "brainstorming-validated",
"hooks": [
{ "command": ".claude/scripts/branch-and-plan.sh" }
]
}
]
}
}
Le script branch-and-plan.sh :
- Dérive le nom de branche depuis le titre validé (
feat/auth-magic-link) - Crée un worktree isolé (
git worktree add ../projet-feat-auth ...) - Y déclenche
/superpowers:writing-planspour écrire le plan danssuperpowers/plans/ - Commit le plan, push, ouvre une PR via l'API Gitea
Hooks vs CLAUDE.md vs CI
- Hook = déterministe, 100 % du temps
- CLAUDE.md = consultatif, ~80 % du temps
- CI = tiers indépendant, bloquant sur la PR
Chaque couche pour ce qu'elle fait de mieux.
CI : Trivy, SonarQube, Renovate¶
La CI est la couche objective : elle n'a pas de biais de confirmation, contrairement à Claude ou au développeur.
Trivy — sécurité¶
Scan des vulnérabilités dans les dépendances et les images conteneurs. Sortie SARIF consommable par Claude.
# .gitea/workflows/trivy.yml
- uses: aquasecurity/trivy-action@master
with:
scan-type: fs
format: sarif
output: trivy.sarif
Le rapport trivy.sarif est lu par /review pour intégrer les CVE à la code review.
SonarQube — qualité¶
Quality gate bloquante : code smells, duplication, couverture, complexité. Les commentaires Sonar postés sur la PR sont lus par Claude au moment de la review.
Renovate — dépendances¶
Renovate self-hosted (workflow .gitea/workflows/renovate.yml du dépôt) ouvre des PRs de mise à jour horaires. Claude traite ces PRs avec le même workflow que les features : brainstorming court (compat ?), plan si migration, exécution, review enrichie par la CI.
Commandes personnalisées¶
Chaque fichier .md dans .claude/commands/ devient une commande / invocable. $ARGUMENTS est remplacé par ce que vous tapez après.
/from-issue¶
Fichier : .claude/commands/from-issue.md
Lis l'issue Gitea #$ARGUMENTS via l'API.
Invoque /superpowers:brainstorming pour explorer l'intent,
les cas limites, les contraintes non-dites.
À la validation, appelle .claude/scripts/branch-and-plan.sh
pour créer la branche, committer le plan et ouvrir la PR.
Usage : /from-issue 42
/next-plan-step¶
Fichier : .claude/commands/next-plan-step.md
Lis le plan dans superpowers/plans/ correspondant à la branche courante.
Identifie la prochaine tâche non cochée.
Invoque /superpowers:executing-plans sur cette tâche seule.
Commit + push à la fin.
Usage : typiquement déclenchée par un commentaire de PR via webhook.
/review enrichi¶
Fichier : .claude/commands/review.md
Fais une code review consolidée :
1. Lis les rapports CI du dernier run :
- trivy.sarif (vulnérabilités)
- sonar-report.json (qualité, couverture)
- test-results.xml (tests)
2. Invoque /superpowers:requesting-code-review sur le diff
vs la branche de base.
3. Consolide : classer les problèmes par sévérité
(CVE critique > quality gate > smells > stylistique).
4. Verdict final : merge / changements requis / blocage.
Usage : /review
/ci-report¶
Fichier : .claude/commands/ci-report.md
Récupère les rapports CI du dernier run sur la branche courante.
Résume en 5 lignes max : tests, vulnérabilités Trivy,
quality gate Sonar, couverture. Liste les actions requises.
Usage : /ci-report
Créer vos propres commandes¶
Usage : /ma-commande mon-argument