Meilleures pratiques et dépannage des règles MDC
Les règles MDC (Model-Driven Code) vous aident à maintenir une qualité de code cohérente et à automatiser les tâches répétitives dans Cursor.
Comprendre les règles MDC
Les règles MDC sont des outils puissants qui vous permettent de :
- Automatiser les revues de code et le formatage
- Appliquer les standards de codage de l'équipe
- Détecter et corriger les problèmes courants
- Améliorer la qualité et la cohérence du code
Types de règles
-
Règles syntaxiques
- Formatage du code
- Conventions de nommage
- Structure des fichiers
-
Règles sémantiques
- Complexité du code
- Vérification des bonnes pratiques
- Détection des vulnérabilités de sécurité
-
Règles personnalisées
- Exigences spécifiques au projet
- Conventions d'équipe
- Validation de la logique métier
Configuration des règles
Configuration de base
Créez un répertoire .cursor/rules
à la racine du projet :
mkdir -p .cursor/rules
Définition des règles
Créez un fichier de règles :
{
"name": "Convention de nommage",
"description": "Applique un style de nommage cohérent",
"patterns": [
{
"type": "variable",
"style": "camelCase",
"exceptions": ["CONSTANTS"]
}
]
}
Priorité des règles
Définissez la priorité des règles selon leur importance :
{
"priority": {
"security": 1,
"formatting": 2,
"naming": 3
}
}
Problèmes courants et solutions
Règles non appliquées
Si les règles ne sont pas appliquées :
-
Vérifier la configuration
# Valider le fichier de règles
cat .cursor/rules/config.json
# Vérifier les erreurs de syntaxe
jsonlint .cursor/rules/*.json -
Actualiser le cache des règles
- Redémarrer Cursor
- Effacer le cache des règles
- Recharger le projet
Conflits de règles
Gérer les conflits de règles :
{
"conflicts": {
"rule1": {
"priority": "high",
"override": ["rule2", "rule3"]
}
}
}
Problèmes de performance
Optimiser l'exécution des règles :
-
Limiter la portée
{
"include": ["src/**/*.ts"],
"exclude": ["**/*.test.ts"]
} -
Validation par lots
{
"batch": {
"size": 100,
"concurrent": true
}
}
Meilleures pratiques
1. Organisation des règles
- Classer les règles par fonction
- Utiliser des noms clairs
- Garder les règles simples
2. Gestion des versions
- Inclure les règles dans le contrôle de version
- Documenter les changements de règles
- Maintenir la documentation des règles
3. Collaboration d'équipe
- Discuter des règles avec l'équipe
- Recueillir les retours
- Réviser et mettre à jour régulièrement
Fonctionnalités avancées
Validateur personnalisé
Créer un validateur spécifique au projet :
module.exports = {
validate: (code, context) => {
// Logique de validation personnalisée
return {
valid: true,
messages: []
};
}
};
Correction automatique
Implémenter la correction automatique :
module.exports = {
fix: (code, issues) => {
// Logique de correction automatique
return fixedCode;
}
};
Tests d'intégration
Ajouter des tests pour les règles :
describe('Tests des règles MDC', () => {
test('Convention de nommage', () => {
// Logique de test des règles
});
});
Outils de débogage
Diagnostic des règles
Activer la journalisation détaillée :
{
"mdc.rules.debug": true,
"mdc.rules.logLevel": "verbose"
}
Analyse des performances
Surveiller l'exécution des règles :
# Analyser les performances des règles
cursor analyze-rules
# Générer un rapport de performance
cursor rules-report
Scénarios courants
1. Revue de code
Automatiser le processus de revue de code :
{
"review": {
"autoFix": true,
"blockOnError": true,
"notifyReviewer": true
}
}
2. Intégration CI/CD
Utiliser les règles dans l'intégration continue :
steps:
- name: Vérifier les règles MDC
run: cursor check-rules
3. Intégration IDE
Configurer l'intégration de l'éditeur :
{
"cursor.rules.enableFormatting": true,
"cursor.rules.showInlineHints": true
}