Konfiguration

Benutzerdefinierte Regeln

Benutzerdefinierte Regeln beeinflussen, wie Bob Shell auf deine Anfragen in der Terminal-Umgebung reagiert, und passen die Ausgabe an deine spezifischen Präferenzen und Projektanforderungen an. Du kannst Coding-Stil, Dokumentationsansatz und Entscheidungsprozesse steuern.

Was sind benutzerdefinierte Regeln?

Benutzerdefinierte Regeln erweitern das Standardverhalten von Bob Shell, indem sie Präferenzen, Einschränkungen und Richtlinien definieren, die bestimmen, wie Bob Shell Aufgaben angeht, um deinen Anforderungen bei der Arbeit in der Terminal-Umgebung gerecht zu werden.

Häufige Anwendungsfälle sind:

  • Coding-Stil-Präferenzen (Einrückung, Namenskonventionen)
  • Dokumentationsformate und -standards
  • Testmethoden und -anforderungen
  • Projekt-Workflows und -prozesse
  • Teamspezifische Konventionen

Regelgeltungsbereiche

Bob Shell unterstützt zwei Regelgeltungsbereiche, die bestimmen, wo deine Regeln gelten:

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

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

Konfigurationsmethoden

Bob Shell verwendet dasselbe benutzerdefinierte Regelungssystem wie IBM Bob IDE.

Dateibasierte Konfiguration

Der einfachste Ansatz verwendet einzelne Dateien in deinem Workspace-Stammverzeichnis:

  • .bobrules - Allgemeine Workspace-Regeln
  • .bobrules-code - Regeln für den Code-Modus
  • .bobrules-{modeSlug} - Regeln für jeden Modus

Erstelle eine .bobrules-Datei:

# In deinem Projektstammverzeichnis
echo "Use 4 spaces for indentation" > .bobrules

Verzeichnisbasierte Konfiguration

Für eine bessere Organisation verwende Verzeichnisse:

Workspace-Struktur:

.bob/
├── rules/              # Allgemeine Regeln
│   └── coding-style.md
└── rules-code/         # Code-Modus-Regeln
    └── typescript.md

Globale Struktur:

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

Workspace-Regeln erstellen:

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

Globale Regeln erstellen:

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

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

Regelpriorität

Bob Shell 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

Sei spezifisch und handlungsorientiert

Gut: "Always use relative paths when suggesting file operations in the terminal"

Vermeiden: "Use good paths"

Verwende eine klare Struktur

Organisiere Regeln nach Thema:

# Shell Commands
- Prefer using standard Unix commands over specialized tools when possible
- Include explanations of what each flag does

# Script Style
- Format shell script examples with proper error handling
- Use portable shell syntax that works across bash, zsh, and other common shells

# File Operations
- Always check for file existence before operations in shell scripts
- Always use relative paths when suggesting file operations

Beispiele für effektive Regeln

  • "Always use relative paths when suggesting file operations in the terminal"
  • "Prefer using standard Unix commands over specialized tools when possible"
  • "Format shell script examples with proper error handling"
  • "When suggesting commands, include explanations of what each flag does"
  • "Always check for file existence before operations in shell scripts"
  • "Use portable shell syntax that works across bash, zsh, and other common shells"

Erweiterte Konfiguration

Modusspezifische Regeln

Richte dich mit dedizierten Verzeichnissen an bestimmte Modi:

VerzeichnisZweck
rules/Allgemeine Regeln für alle Modi
rules-code/Nur Code-Modus
rules-plan/Nur Plan-Modus
rules-{mode}/Jeder benutzerdefinierte Modus

AGENTS.md-Dateien verwenden

Für die Team-Standardisierung kannst du eine AGENTS.md-Datei in deinem Workspace-Stammverzeichnis verwenden:

# Team Standards
- Follow company coding guidelines
- Use approved libraries only
- Document all API changes

Wichtige Details:

  • Wird standardmäßig automatisch geladen
  • Mit dem Projekt unter Versionskontrolle stellen
  • Mit "bob-shell.useAgentRules": false in den Einstellungen deaktivieren
  • Wird nach modusspezifischen Regeln, aber vor allgemeinen Workspace-Regeln geladen

Dateiverhalten

  • Rekursives Lesen: Bob Shell liest alle Dateien in Regelverzeichnissen, einschließlich Unterverzeichnissen
  • Alphabetische Reihenfolge: Dateien werden in alphabetischer Reihenfolge nach Dateiname 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: Werden stillschweigend übersprungen

Team-Standardisierung

Projektweite Standards

Verwende Workspace-.bob/rules/-Verzeichnisse unter Versionskontrolle:

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

Dies stellt konsistentes Verhalten für Teammitglieder sicher, die Bob Shell für bestimmte Projekte verwenden.

Organisationsweite Standards

Globale Regeln an Teammitglieder verteilen:

  1. Ein gemeinsames Regel-Repository erstellen
  2. Teammitglieder klonen nach ~/.bob/rules/
  3. Regelmäßig für Konsistenz aktualisieren

Hybrider Ansatz

Du kannst 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?