Zum Hauptinhalt springen

Best Practices für MDC-Regeln und Fehlerbehebung

tipp

MDC (Model-Driven Code) Regeln helfen Ihnen, eine konsistente Codequalität zu gewährleisten und repetitive Aufgaben in Cursor zu automatisieren.

MDC-Regeln verstehen

MDC-Regeln sind leistungsstarke Werkzeuge, die es Ihnen ermöglichen:

  • Coding-Standards durchzusetzen
  • Code-Transformationen zu automatisieren
  • Benutzerdefinierte Validierungen zu implementieren
  • Projektspezifische Richtlinien zu erstellen

MDC-Regeln einrichten

Grundlegende Struktur

Erstellen Sie ein .cursor/rules Verzeichnis in Ihrem Projekt:

.cursor/
└── rules/
├── naming.json
├── formatting.json
└── custom-rules.json

Regelkonfiguration

Grundlegende Regelstruktur:

.cursor/rules/naming.json
{
"name": "Namenskonventionen",
"description": "Erzwingt konsistente Benennung im gesamten Projekt",
"rules": [
{
"pattern": "^[A-Z][a-zA-Z]*Component$",
"filePattern": "*.component.ts",
"message": "Komponentennamen müssen PascalCase sein und mit 'Component' enden"
}
]
}

Häufige Regeltypen

1. Namenskonventionen

{
"rules": [
{
"pattern": "^[a-z][a-zA-Z]*Service$",
"filePattern": "*.service.ts",
"message": "Service-Namen müssen camelCase sein und mit 'Service' enden"
},
{
"pattern": "^I[A-Z][a-zA-Z]*$",
"filePattern": "*.interface.ts",
"message": "Interface-Namen müssen mit 'I' beginnen und PascalCase verwenden"
}
]
}

2. Codestruktur

{
"rules": [
{
"pattern": "^import.*from",
"location": "top",
"message": "Imports müssen am Anfang der Datei stehen"
},
{
"maxLines": 300,
"filePattern": "*.ts",
"message": "Dateien sollten 300 Zeilen nicht überschreiten"
}
]
}

3. Dokumentationsanforderungen

{
"rules": [
{
"pattern": "^\\/\\*\\*[\\s\\S]*?\\*\\/",
"filePattern": "*.ts",
"message": "Alle Dateien müssen JSDoc-Dokumentation haben"
}
]
}

Erweiterte Regelkonfiguration

Verwendung von Variablen

{
"variables": {
"COMPONENT_PREFIX": "App",
"MAX_FILE_SIZE": 500
},
"rules": [
{
"pattern": "^${COMPONENT_PREFIX}[A-Z][a-zA-Z]*$",
"filePattern": "*.component.ts",
"message": "Komponenten müssen mit '${COMPONENT_PREFIX}' beginnen"
}
]
}

Verschachtelte Regeln

{
"rules": {
"naming": {
"components": [
{
"pattern": "^[A-Z][a-zA-Z]*Component$",
"severity": "error"
}
],
"services": [
{
"pattern": "^[a-z][a-zA-Z]*Service$",
"severity": "warning"
}
]
}
}
}

Behebung häufiger Probleme

Regel wird nicht ausgelöst

  1. Regelsyntax überprüfen

    {
    "rules": [
    {
    "pattern": "^[A-Z][a-zA-Z]*$", // Gültiges Regex-Muster
    "filePattern": "*.ts", // Gültiges Glob-Muster
    "severity": "error" // Gültiger Schweregrad
    }
    ]
    }
  2. Dateipfad überprüfen

    # Stellen Sie sicher, dass Regeln am richtigen Ort sind
    .cursor/
    └── rules/
    └── your-rule.json

Leistungsprobleme

  1. Muster optimieren

    {
    "rules": [
    {
    "pattern": "^[A-Z]\\w*$", // Effizienter als ^[A-Z][a-zA-Z]*$
    "filePattern": "*.{ts,js}" // Erweiterungen gruppieren
    }
    ]
    }
  2. Ausschlüsse verwenden

    {
    "exclude": [
    "node_modules/**",
    "dist/**",
    "build/**"
    ],
    "rules": [...]
    }

Best Practices

1. Organisation

.cursor/
└── rules/
├── naming/
│ ├── components.json
│ └── services.json
├── formatting/
│ ├── spacing.json
│ └── indentation.json
└── documentation/
└── jsdoc.json

2. Regeldokumentation

{
"name": "Komponentenbenennung",
"description": "Erzwingt konsistente Namenskonventionen für Komponenten",
"version": "1.0.0",
"author": "Ihr Team",
"rules": [...]
}

3. Regeln testen

Testdateien erstellen:

test/rules/naming.test.ts
describe('Namensregeln', () => {
it('sollte Komponentennamen validieren', () => {
// Testimplementierung
});
});

Integration mit CI/CD

GitHub Actions Beispiel

.github/workflows/mdc.yml
name: MDC-Validierung
on: [push, pull_request]

jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: MDC-Validierung ausführen
run: cursor validate-rules

Überwachung und Wartung

Regelstatistiken

cursor rules-stats

Regelmäßige Updates

  1. Wirksamkeit der Regeln überprüfen
  2. Muster basierend auf Feedback aktualisieren
  3. Falsch-positive Ergebnisse überwachen
  4. Schweregrade anpassen
tipp

Führen Sie ein Änderungsprotokoll für Ihre MDC-Regeln, um Änderungen und deren Auswirkungen zu verfolgen.

Verwandte Ressourcen