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" > .bobrulesVerzeichnisbasierte Konfiguration
Für eine bessere Organisation verwende Verzeichnisse:
Workspace-Struktur:
.bob/
├── rules/ # Allgemeine Regeln
│ └── coding-style.md
└── rules-code/ # Code-Modus-Regeln
└── typescript.mdGlobale Struktur:
Linux/macOS: ~/.bob/rules/
Windows: %USERPROFILE%\.bob\rules\
Workspace-Regeln erstellen:
mkdir -p .bob/rules
echo "# Project standards" > .bob/rules/coding-style.mdGlobale 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.mdRegelpriorität
Bob Shell kombiniert Regeln aus mehreren Quellen in dieser Reihenfolge:
- Globale Regeln (
~/.bob/rules/) - 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 operationsBeispiele 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:
| Verzeichnis | Zweck |
|---|---|
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 changesWichtige Details:
- Wird standardmäßig automatisch geladen
- Mit dem Projekt unter Versionskontrolle stellen
- Mit
"bob-shell.useAgentRules": falsein 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:
- Ein gemeinsames Regel-Repository erstellen
- Teammitglieder klonen nach
~/.bob/rules/ - 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
Tastenkürzel
Alle verfügbaren Kürzel nach Funktion mit plattformspezifischen Variationen, wo zutreffend.
Benutzerdefinierte Modi
Du kannst benutzerdefinierte Modi erstellen, um Bobs Verhalten auf bestimmte Aufgaben oder Workflows anzupassen. Benutzerdefinierte Modi in Bob Shell funktionieren ähnlich wie Bob IDE-Modi.