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.
This commit is contained in:
137
Blackboard/Rules_optimal.md
Normal file
137
Blackboard/Rules_optimal.md
Normal file
@@ -0,0 +1,137 @@
|
|||||||
|
# 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
|
||||||
Reference in New Issue
Block a user