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.
3.5 KiB
3.5 KiB
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)
- JAMAIS déplacer/créer fichiers dans
Blackboard/(seul humain décide) - JAMAIS commencer sans crates explicites dans
Todo/{nom}.md→ REFUSER - JAMAIS compiler/tester (
cargo,npm) → TOUJOURS demander à humain - 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
# ✅ 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
# 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)
# {Titre}
## Spécification
{Copie Todo/ complète}
## Implémentation
{Détails complets par fichier}
## Tests/Validation
## Conclusion
🎯 6 RÈGLES D'OR
- JAMAIS déplacer fichiers Blackboard
- EXIGER crates dans Todo/ (sinon REFUSER)
- JAMAIS compiler (demander humain)
- Report court SANS code/détails
- Discussion : 1 ligne après implémentation
- 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