Einrichten von Cursorregeln, damit die KI Ihren Codebasisstil nicht mehr beeinträchtigt
Das .cursor/rules-Setup, das ich in einem Team-Repo verwende: eine globale Datei, eine Datei pro Verzeichnis und die drei Regeln, die 90 % meiner Style-Fix-Commits entfernt haben.
In meinem ersten Monat mit Cursor funktionierte jede Agentenbearbeitung und fühlte sich immer noch falsch an – Tabulatoren, bei denen mein Repo Leerzeichen verwendet, Standardexporte in einer Codebasis mit benannten Elementen, Tests, die in einem Stil geschrieben wurden, den unser CI ablehnt. Der Fix war keine bessere Eingabeaufforderung. Es handelte sich um Regeldateien, die ordnungsgemäß eingerichtet waren.
Cursor liest Regeln aus .cursor/rules in Ihrem Repo. Beginnen Sie mit einer Regeldatei auf Projektebene, die die nicht verhandelbaren Dinge abdeckt: Paketmanager, Importreihenfolge, Namenskonventionen und die zwei oder drei Muster, die Ihre Codebasis verwendet und die von den allgemeinen Standardwerten abweichen. Halten Sie es unter etwa 50 Zeilen – eine Regeldatei, die niemand pflegt, wird zu Rauschen, das das Modell zu ignorieren lernt.
Die unterschätzte Funktion sind verzeichnisspezifische Regeln. Unser Komponentenverzeichnis erhält eine Regel: nur Funktionskomponenten, inline eingegebene Requisiten, kein Standardexport. Unser Serververzeichnis erhält ein anderes: keine clientseitigen Importe, jeder Handler validiert die Eingabe. Diese Aufteilung hat mehr zur Ausgabequalität beigetragen als alles, was ich in der globalen Datei geschrieben habe, da das Modell nur die Regeln sieht, die für die Dateien gelten, die es berührt.
Drei Regeln haben ihren Platz durch reine Wiederholung verdient. Erstens: „Führen Sie nach der Bearbeitung den vorhandenen Lint-Befehl aus und beheben Sie alle Fehler, die Sie verursacht haben.“ Zweitens: „Übereinstimmen Sie den Importstil der Datei, die Sie bearbeiten, nicht den Stil, den Sie bevorzugen.“ Drittens: „Wenn eine Änderung eine neue Abhängigkeit erfordert, halten Sie inne und fragen Sie nach, anstatt zu installieren.“ Das letzte kam, nachdem ich fünf neue Pakete in einem Diff gefunden hatte, die eines brauchten.
Was ich aufgehört habe: Stilanweisungen in jeder Chat-Nachricht zu wiederholen. Wenn die Regeln vorhanden sind, beschreiben meine Eingabeaufforderungen die Absicht – was gebaut und was vermieden werden soll – und die Regeldatei regelt den Hausstil. Die Eingabeaufforderung wurde kürzer und die Ausgabe konsistenter, was dem gesamten Spiel entspricht.
Eine Wartungsgewohnheit: Wenn der Agent wiederholt denselben Fehler macht, fügen Sie eine Regel hinzu, anstatt ihn im Chat zu beschimpfen. Chat-Korrekturen sterben mit der Konversation; Regeldateien zusammengesetzt. Meine Regeldatei ist pro Woche um etwa zwei Zeilen gewachsen und jede Zeile enthält eine Fehlerbehebung.
Häufig gestellte Fragen:
F: Verlangsamen Regeldateien den Cursor?
A: Nicht merklich. Sie werden zusammen mit Ihrer Eingabeaufforderung in den Kontext eingefügt. Die wahren Kosten sind eine aufgeblähte Regeldatei, die die Aufmerksamkeit verwässert, weshalb ich meine Regeln begrenze und lösche, aus denen die Codebasis herausgewachsen ist.
F: Sollten Regeln für das Repo festgelegt werden?
A: Ja, wenn Sie möchten, dass das gesamte Team davon profitiert, behandeln Sie es wie eine Linter-Konfiguration. Behalten Sie persönliche Einstellungen in den Regeln auf Benutzerebene statt in der Projektdatei bei.
F: Wie unterscheiden sich Regeln vom bloßen Schreiben einer guten Systemaufforderung?
A: Regeln gelten automatisch für jede Anfrage in ihrem Bereich, bleiben sitzungsübergreifend bestehen und werden mit dem Code versioniert. Eine Systemaufforderung in Ihrem Kopf nützt niemandem außer Ihnen und verschwindet jedes Mal, wenn Sie einen neuen Chat starten.
