Files
pmomusic/Blackboard/Rules_optimal.md
Eric Coissac d98bc357b9 Ajout des règles LLM pour le projet PMOMusic
Ajout du fichier Rules_optimal.md contenant les règles strictes pour l'interaction avec l'LLM dans le projet PMOMusic. Ce fichier définit les interdictions, le workflow à suivre ainsi que les templates à utiliser pour les rapports et les tâches terminées.
2026-01-31 12:54:06 +01:00

138 lines
3.5 KiB
Markdown

# PMOMusic - Règles LLM (IMPÉRATIF)
## 🎯 Projet
Audio HiFi UPnP/DLNA. Backend Rust, Frontend Vue.js/TypeScript.
**Environnement** : `source .claude-env` (racine projet) AVANT toute commande.
---
## ⛔ INTERDICTIONS (0 EXCEPTION)
1. **JAMAIS déplacer/créer fichiers** dans `Blackboard/` (seul humain décide)
2. **JAMAIS commencer** sans crates explicites dans `Todo/{nom}.md` → REFUSER
3. **JAMAIS compiler/tester** (`cargo`, `npm`) → TOUJOURS demander à humain
4. **JAMAIS détailler** implémentation dans discussion → UN message : "Tâche terminée. Voir `Report/{nom}.md`..."
---
## 📋 WORKFLOW (STRICT)
```
1. LIRE Todo/{nom}.md
Crates spécifiées ? NON → ARRÊTER, demander | OUI → Continuer
2. IMPLÉMENTER
Patterns Architecture/ si référencés
DEMANDER compilation : "Compilez `cargo build -p {crate}`, renvoyez erreurs"
Erreurs ? OUI → Corriger, redemander | NON → Continuer
3. CRÉER Report/{nom}.md
- Résumé (2-3 phrases, SANS code/détails techniques)
- Fichiers modifiés (chemins complets)
- Modifications SÉMANTIQUES (concepts, PAS lignes code)
ÉCRIRE dans chat : "Tâche terminée. Voir `Report/{nom}.md`..."
ARRÊTER (ne rien déplacer)
4. SI humain déplace Todo/{nom}.md → Done/{nom}.md
ALORS écrire synthèse COMPLÈTE dans Done/{nom}.md
```
---
## 🔧 RÈGLES TECHNIQUES
**Dépendances** : TOUJOURS workspace (`Cargo.toml` racine) sauf exception justifiée
```toml
# ✅ workspace.dependencies puis { workspace = true }
# ❌ version directe dans crate
```
---
## 📂 BLACKBOARD
| Dossier | LLM crée | LLM déplace | Humain déplace |
|---------|----------|-------------|----------------|
| `Todo/` | ❌ | ❌ | ✅ → Done/ToDiscuss |
| `Report/` | ✅ | ❌ | ❌ |
| `Done/` | ❌ (écrit après déplacement) | ❌ | ✅ |
| `ToDiscuss/` | ❌ | ❌ | ✅ |
---
## ✅ CHECKLIST
**Avant** :
- [ ] `source .claude-env`
- [ ] Crates dans `Todo/{nom}.md` ? NON → ARRÊTER
**Pendant** :
- [ ] Patterns existants
- [ ] Workspace dependencies
- [ ] NE PAS compiler
**Après** :
- [ ] `Report/{nom}.md` : résumé court + fichiers + modifs sémantiques (SANS code)
- [ ] Chat : "Tâche terminée. Voir `Report/{nom}.md`..." (RIEN d'autre)
- [ ] NE PAS déplacer `Todo/{nom}.md`
---
## 📝 TEMPLATES
### Report/{nom}.md
```markdown
# Rapport : {titre}
## Résumé
{2-3 phrases SANS code}
## Fichiers modifiés
1. `chemin/fichier.rs`
- {Modification sémantique 1}
- {Modification sémantique 2}
```
**Modif sémantique** = concept (ex: "Ajout cache"), PAS ligne code (ex: ❌ "Ajout `let x = 5;`")
### Discussion
```
Tâche terminée. Voir `Report/{nom}.md` pour la liste des modifications.
```
### Done/{nom}.md (après déplacement humain)
```markdown
# {Titre}
## Spécification
{Copie Todo/ complète}
## Implémentation
{Détails complets par fichier}
## Tests/Validation
## Conclusion
```
---
## 🎯 6 RÈGLES D'OR
1. JAMAIS déplacer fichiers Blackboard
2. EXIGER crates dans Todo/ (sinon REFUSER)
3. JAMAIS compiler (demander humain)
4. Report court SANS code/détails
5. Discussion : 1 ligne après implémentation
6. Done/ : écrire APRÈS déplacement humain
---
## 🔍 AUTO-VÉRIF (chaque message)
- [ ] Déplacé fichier ? → ERREUR
- [ ] >2 lignes chat après implémentation ? → ERREUR
- [ ] Commencé sans vérif crates ? → ERREUR
- [ ] Compilé moi-même ? → ERREUR
- [ ] Créé Done/ ? → ERREUR
- [ ] Supposé code compile ? → ERREUR
**ERREUR détectée** → ARRÊTER immédiatement