← Contextes /
prompts-ia-taches-dev.md 131 lignes · 4.3 KB
Personnaliser Télécharger
# CLAUDE.md — Prompts IA pour tâches de développement

## Section 1 : Structure universelle

Chaque prompt de code efficace contient 4 éléments :

```
Stack: [langage + version + framework + contexte projet]
Tâche: [instruction précise avec verbe d'action]
Contraintes: [ce qu'il ne faut PAS toucher ou faire]
Format de sortie: [diff / code complet / explication / liste de problèmes]
```

**Règle d'or** : code et fichiers EN PREMIER, instruction à la FIN. Améliore la précision de ~30% sur les gros contextes.

**Pour les gros prompts**, structurer avec des balises XML :
```xml
<contexte>PHP 8.1, Laravel 10</contexte>
<tache>Ajouter la pagination</tache>
<contraintes>Ne pas toucher getFilteredProducts()</contraintes>
<code>[fichiers]</code>
```

---

## Section 2 : Bug fix

```
Stack: [langage + version + framework]
Comportement actuel: [symptôme exact — message d'erreur, valeur retournée, condition de déclenchement]
Comportement attendu: [ce que le code devrait faire]
J'ai déjà essayé: [tentatives précédentes et pourquoi elles ont échoué]
Code: [code minimal qui reproduit le bug]
```

**Point critique** : "J'ai déjà essayé" est obligatoire. Sans cette ligne, l'IA re-suggère exactement ce qui a déjà été tenté.

**Exemple** :
```
Stack: PHP 8.1 + PDO, Laravel 10.
Comportement actuel: Call to a member function fetch() on bool — uniquement quand l'ID n'existe pas.
Comportement attendu: Retourner null si l'utilisateur n'existe pas.
J'ai déjà essayé: isset($result) avant fetch() — même erreur.
Code: [fonction getUserById]
```

---

## Section 3 : Nouvelle feature

```
Stack: [contexte technique]
Contexte d'intégration: [composants existants à utiliser, patterns du projet]
Tâche: [description précise]
Critères d'acceptance:
  - [comportement 1]
  - [comportement 2]
Hors scope:
  - [ce qu'on ne veut PAS maintenant]
Fichiers concernés: [liste des fichiers]
```

**Point critique** : le hors scope. Dire ce qu'on ne veut PAS est aussi important que ce qu'on veut — sinon l'IA sur-engineer ou invente des contraintes.

---

## Section 4 : Refactoring

```
Problème concret: [impact réel — pas "c'est sale" mais pourquoi c'est un vrai problème]
Objectif: [ce qu'on veut obtenir]
Contraintes absolues:
  - Comportement observable inchangé (les tests existants doivent passer sans modification)
  - Ne pas modifier les signatures des méthodes publiques
  - [autres contraintes spécifiques]
Scope: [ce qui est IN — ce qui est OUT]
Code: [le code à refactorer]
```

**Point critique** : "les tests existants doivent passer sans modification" est non-négociable. Sans ça, l'IA change l'API publique.

---

## Section 5 : Code review

```
Contexte: [type d'endpoint, données en entrée, auth en place, qui appelle ce code]
Focus: [un seul angle : sécurité / performance / logique métier / architecture]
Décisions intentionnelles (ne pas signaler):
  - [décision 1]
  - [décision 2]
Format de sortie: [gravité + description + fix avec code / liste simple]
Code: [code à reviewer]
```

**Point critique** : "décisions intentionnelles" réduit le bruit de signal de moitié. L'IA ne signale pas ce qu'on sait déjà.

**Angles disponibles** :
- Sécurité : injection, path traversal, IDOR, upload malveillant, auth bypass
- Performance : N+1 queries, allocations inutiles, index manquants, cache
- Logique métier : edge cases, états incohérents, invariants violés
- Architecture : couplage, responsabilités, contrats d'interface

---

## Section 6 : Techniques transversales

### Deux passes pour les tâches complexes

**Passe 1** : "Qu'est-ce qui ne va pas ? Liste les problèmes sans les corriger."
**Passe 2** : "Maintenant corrige les problèmes 1, 2 et 4. Ignore le 3."

Résultats de la passe 2 significativement plus précis qu'une demande tout-en-un.

### Verbes d'action (Claude 4.x)

Claude 4.x est littéral :
- "Suggère des changements" → liste de suggestions, ne modifie rien
- "Modifie cette fonction" → modification directe

Utiliser des verbes d'action : **Modifie, Corrige, Extrais, Renomme, Supprime, Refactorise**.

### Scoring de référence

| Type de prompt | Score typique |
|----------------|---------------|
| Vague ("fix this") | 2–3/10 |
| Avec stack + erreur | 5–6/10 |
| Template complet (4 éléments) | 8–9/10 |
| Template + XML + two-pass | 9–10/10 |