Zum Hauptinhalt springen

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​

  1. Dateiorganisation

    • Verwandte Dateien gruppieren
    • Einheitliche Verzeichnisstrukturen verwenden
    • Namenskonventionen folgen
  2. Vorlageneffizienz

    • Vorlagen fokussiert und spezifisch halten
    • Redundanten Code vermeiden
    • Gemeinsame Muster für häufige Elemente verwenden
  3. 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