Beste Praktiken für .cursor/rules
.cursor/rules
ist eine leistungsstarke Funktion, die Teams dabei hilft, einheitliche Codierungsstandards zu pflegen und die Zusammenarbeit zu verbessern. Dieser Leitfaden behandelt die besten Praktiken für die effektive Einrichtung und Verwaltung von Regeln.
.cursor/rules verstehen
.cursor/rules
ist ein Konfigurationssystem, das:
- Projektweite Codierungsstandards definiert
- Codeorganisation automatisiert
- Einheitliche Muster durchsetzt
- Die Teamzusammenarbeit verbessert
Grundeinrichtung
Regeldatei erstellen
Erstellen Sie eine .cursor/rules
Datei im Projektstamm:
mkdir .cursor
touch .cursor/rules
Grundstruktur
Eine typische Regeldateistruktur:
version: 1.0
rules:
- name: "Komponentenstruktur"
pattern: "src/components/**/*.{ts,tsx}"
template: |
import React from 'react'
interface ${ComponentName}Props {
// Props
}
export const ${ComponentName}: React.FC<${ComponentName}Props> = () => {
return (
<div>
{/* Komponenteninhalt */}
</div>
)
}
- name: "Service-Schicht"
pattern: "src/services/**/*.ts"
template: |
import { ApiClient } from '../utils/apiClient'
export class ${ServiceName}Service {
private client: ApiClient
constructor() {
this.client = new ApiClient()
}
// Service-Methoden
}
Beste Praktiken
1. Einheitliche Namenskonventionen
Verwenden Sie klare, beschreibende Namen für Regeln:
rules:
- name: "React-Komponente"
description: "Standard React-Komponentenstruktur"
pattern: "src/components/**/*.tsx"
- name: "API-Service"
description: "REST-API-Service-Vorlage"
pattern: "src/services/**/*.ts"
2. Modulare Organisation
Gruppieren Sie verwandte Regeln:
rules:
# Komponenten-Regeln
- name: "Komponente/Funktional"
pattern: "src/components/**/*.tsx"
- name: "Komponente/Klasse"
pattern: "src/components/**/*.class.tsx"
# Service-Regeln
- name: "Service/REST"
pattern: "src/services/rest/**/*.ts"
- name: "Service/GraphQL"
pattern: "src/services/graphql/**/*.ts"
3. Vorlagenvariablen
Verwenden Sie beschreibende Vorlagenvariablen:
rules:
- name: "Komponenten-Vorlage"
pattern: "src/components/**/*.tsx"
template: |
interface ${ComponentName}Props {
${PropName}: ${PropType}
}
export const ${ComponentName} = ({
${PropName}
}: ${ComponentName}Props) => {
return (
<div>
{${PropName}}
</div>
)
}
4. Dokumentation
Fügen Sie klare Dokumentation in Regeln ein:
rules:
- name: "API-Service"
description: |
Vorlage für API-Service-Klassen.
Enthält Standard-CRUD-Operationen und Fehlerbehandlung.
pattern: "src/services/**/*.ts"
template: |
/**
* ${ServiceName} Service
* Verarbeitet ${ServiceDescription}
*/
export class ${ServiceName}Service {
// Implementierung
}
5. Fehlerbehandlung
Fügen Sie Fehlerbehandlungsmuster ein:
rules:
- name: "Service-Fehlerbehandlung"
pattern: "src/services/**/*.ts"
template: |
try {
// Service-Logik
} catch (error) {
if (error instanceof ApiError) {
// API-Fehler behandeln
} else {
// Andere Fehler behandeln
}
throw error
}
Fortgeschrittene Muster
1. Bedingte Vorlagen
Verwenden Sie Bedingungen in Vorlagen:
rules:
- name: "Komponente mit Props"
pattern: "src/components/**/*.tsx"
template: |
${HasProps ? `
interface ${ComponentName}Props {
// Props
}
` : ''}
export const ${ComponentName}${HasProps ? ': React.FC<${ComponentName}Props>' : ''} = () => {
// Implementierung
}
2. Gemeinsame Muster
Definieren Sie wiederverwendbare Muster:
patterns:
typescript-header: |
/**
* @file ${FileName}
* @description ${FileDescription}
* @created ${Date}
*/
rules:
- name: "Komponente"
pattern: "src/components/**/*.tsx"
template: |
${patterns.typescript-header}
// Komponenten-Implementierung
Optimierungstipps
-
Dateiorganisation
- Verwandte Dateien gruppieren
- Einheitliche Verzeichnisstrukturen verwenden
- Namenskonventionen folgen
-
Vorlageneffizienz
- Vorlagen fokussiert und spezifisch halten
- Redundanten Code vermeiden
- Gemeinsame Muster für häufige Elemente verwenden
-
Leistungsüberlegungen
- Musterkomplexität begrenzen
- Spezifische Dateimuster verwenden
- Zu breite Übereinstimmungen vermeiden
Häufige Muster
React-Komponenten
rules:
- name: "React-Funktionskomponente"
pattern: "src/components/**/*.tsx"
template: |
import React from 'react'
import styles from './${ComponentName}.module.css'
export interface ${ComponentName}Props {
// Props
}
Zusammenfassung
Die effektive Nutzung von .cursor/rules
kann die Codequalität und Teamproduktivität erheblich verbessern. Durch die Befolgung dieser besten Praktiken können Teams:
- Konsistenten Code pflegen
- Die Entwicklungsgeschwindigkeit erhöhen
- Die Codequalität verbessern
- Die Teamzusammenarbeit stärken