Konfiguration

Benutzerdefinierte Regeln

Benutzerdefinierte Regeln beeinflussen, wie Bob auf Ihre Anfragen reagiert, und richten die Ausgabe an Ihren spezifischen Präferenzen und Projektanforderungen aus. Konfigurieren Sie benutzerdefinierte Regeln, um Bobs Codierungsstil, Dokumentationsansatz und Entscheidungsprozesse zu steuern.

Was sind benutzerdefinierte Regeln?

Benutzerdefinierte Regeln erweitern Bobs Standardverhalten, indem sie Präferenzen, Einschränkungen und Richtlinien definieren, die bestimmen, wie Bob Aufgaben angeht, um Ihren Bedürfnissen zu entsprechen.

Häufige Verwendungen umfassen:

  • Codierungsstil-Präferenzen (Einrückung, Namenskonventionen)
  • Dokumentationsformate und -standards
  • Testmethodologien und -anforderungen
  • Projekt-Workflows und -Prozesse
  • Teamspezifische Konventionen

Benutzerdefinierte Regeln für einen Modus hinzufügen

Sie können benutzerdefinierte Regeln auf zwei Arten zu Modi hinzufügen:

Über die Benutzeroberfläche

Konfigurieren Sie Regeln, die für alle Ihre Projekte gelten:

  1. Klicken Sie auf die drei Punkte in der oberen rechten Ecke der Bob-Seitenleiste.
  2. Klicken Sie auf Modi.
  3. Wählen Sie den Modus aus, für den Sie Regeln bearbeiten möchten.
  4. Klicken Sie auf Bearbeiten.
  5. Scrollen Sie zu Modusspezifische benutzerdefinierte Anweisungen (optional).
  6. Geben Sie Ihre Regeln ein.
  7. Klicken Sie auf Speichern.

Über modusspezifische Regeldateien

Modi können auch zusätzliche Regeldateien haben, die in Verzeichnissen unter .bob/rules-{mode-slug}/ gespeichert sind:

01-style-guide.md
02-formatting.txt

Dateien im Verzeichnis werden alphabetisch geladen und mit der customInstructions-Eigenschaft aus Ihrer Moduskonfiguration kombiniert. Weitere Details finden Sie unter Benutzerdefinierte Modi.

Erfahren Sie mehr über die Standardisierung von Bobs Verhalten mit projektweiten Regeln.

Regelbereiche

Bob unterstützt zwei Regelbereiche, die bestimmen, wo Ihre Regeln gelten:

  • Globale Regeln: Gelten automatisch für alle Ihre Projekte
  • Workspace-Regeln: Gelten nur innerhalb Ihres aktuellen Projekts

Verwenden Sie globale Regeln für persönliche oder organisationsweite Standards. Verwenden Sie Workspace-Regeln für projektspezifische Anforderungen.

Konfigurationsmethoden

Verzeichnisbasierte Konfiguration

Verwenden Sie Verzeichnisse unter .bob/ in Ihrem Workspace-Stamm:

Workspace-Struktur:

coding-style.md
typescript.md
  • rules/ - Allgemeine Regeln für alle Modi
  • rules-agent/ - Agent-Modus-spezifische Regeln

Globale Struktur:

Linux/macOS: ~/.bob/rules/ Windows: %USERPROFILE%\.bob\rules\

Workspace-Regeln erstellen:

mkdir -p .bob/rules
echo "# Projektstandards" > .bob/rules/coding-style.md

Globale Regeln erstellen:

# Linux/macOS
mkdir -p ~/.bob/rules
echo "# Globale Standards" > ~/.bob/rules/coding-standards.md

# Windows
mkdir %USERPROFILE%\.bob\rules
echo # Globale Standards > %USERPROFILE%\.bob\rules\coding-standards.md

Regelpriorität

Bob kombiniert Regeln aus mehreren Quellen in dieser Reihenfolge:

  1. Globale Regeln (~/.bob/rules/)
  2. Workspace-Regeln (.bob/rules/)

Innerhalb jeder Ebene werden modusspezifische Regeln vor allgemeinen Regeln geladen. Workspace-Regeln können globale Regeln überschreiben.

Effektive Regeln schreiben

Seien Sie spezifisch und umsetzbar

Gut: "Verwenden Sie 4 Leerzeichen für die Einrückung in JavaScript-Dateien"

Vermeiden: "Formatieren Sie Code schön"

Verwenden Sie eine klare Struktur

Organisieren Sie Regeln nach Thema:

# Code-Stil
- Verwenden Sie camelCase für Variablen
- Verwenden Sie PascalCase für Klassen

# Testen
- Schreiben Sie Unit-Tests für alle öffentlichen Funktionen
- Verwenden Sie Jest als Test-Framework

# Dokumentation
- Fügen Sie JSDoc-Kommentare für öffentliche APIs hinzu

Beispiele für effektive Regeln

  • "Verwenden Sie immer Leerzeichen für die Einrückung mit einer Breite von 4 Leerzeichen"
  • "Verwenden Sie camelCase für Variablennamen"
  • "Schreiben Sie Unit-Tests für alle neuen Funktionen"
  • "Erklären Sie Ihre Überlegungen, bevor Sie Code bereitstellen"
  • "Stellen Sie beim Hinzufügen von Funktionen zu Websites sicher, dass sie responsiv und barrierefrei sind"

Erweiterte Konfiguration

Modusspezifische Regeln

Zielen Sie auf bestimmte Modi mit dedizierten Verzeichnissen ab:

VerzeichnisZweck
rules/Allgemeine Regeln für alle Modi
rules-agent/Nur Agent-Modus
rules-plan/Nur Plan-Modus
rules-ask/Nur Ask-Modus
rules-{mode}/Jeder benutzerdefinierte Modus

Verwendung von AGENTS.md-Dateien

Für Team-Standardisierung können Sie eine AGENTS.md-Datei in Ihrem Workspace-Stamm verwenden:

# Team-Standards
- Befolgen Sie Unternehmens-Codierungsrichtlinien
- Verwenden Sie nur genehmigte Bibliotheken
- Dokumentieren Sie alle API-Änderungen

Wichtige Details:

  • Standardmäßig automatisch geladen
  • Versionskontrolle mit Ihrem Projekt
  • Deaktivieren mit "bob-code.useAgentRules": false in den Einstellungen
  • Geladen nach modusspezifischen Regeln, aber vor allgemeinen Workspace-Regeln

Dateiverhalten

  • Rekursives Lesen: Bob liest alle Dateien in Regelverzeichnissen, einschließlich Unterverzeichnissen
  • Alphabetische Reihenfolge: Dateien werden in alphabetischer Reihenfolge nach Dateinamen verarbeitet
  • Automatische Filterung: Schließt Cache-Dateien aus (.DS_Store, *.bak, *.cache, *.log, *.tmp, Thumbs.db)
  • Symbolische Links: Unterstützt mit maximaler Tiefe von 5
  • Leere Dateien: Stillschweigend übersprungen

Team-Standardisierung

Projektebenen-Standards

Verwenden Sie Workspace-.bob/rules/-Verzeichnisse unter Versionskontrolle:

# Zur Versionskontrolle hinzufügen
git add .bob/rules/
git commit -m "Bob-benutzerdefinierte Regeln hinzufügen"

Dies gewährleistet konsistentes Verhalten über Teammitglieder hinweg für bestimmte Projekte.

Organisationsweite Standards

Verteilen Sie globale Regeln an Teammitglieder:

  1. Erstellen Sie ein gemeinsames Regel-Repository
  2. Teammitglieder klonen nach ~/.bob/rules/
  3. Aktualisieren Sie regelmäßig für Konsistenz

Hybrid-Ansatz

Sie können beide Ansätze kombinieren:

  • Globale Regeln für Organisationsstandards
  • Workspace-Regeln für projektspezifische Anforderungen
  • Workspace-Regeln überschreiben globale Regeln bei Bedarf
Wie ist dieses Thema?