Konfiguracja

Niestandardowe reguły

Niestandardowe reguły wpływają na to, jak Bob Shell odpowiada na twoje żądania w środowisku terminala, dostosowując wyjście do twoich konkretnych preferencji i wymagań projektu. Możesz kontrolować styl kodowania, podejście do dokumentacji i procesy podejmowania decyzji.

Czym są niestandardowe reguły?

Niestandardowe reguły rozszerzają domyślne zachowanie Bob Shell, definiując preferencje, ograniczenia i wytyczne, które kierują podejściem Bob Shell do zadań, aby dopasować się do twoich potrzeb podczas pracy w środowisku terminala.

Typowe zastosowania obejmują:

  • Preferencje stylu kodowania (wcięcia, konwencje nazewnictwa)
  • Formaty i standardy dokumentacji
  • Metodologie i wymagania testowania
  • Workflow'y i procesy projektowe
  • Konwencje specyficzne dla zespołu

Zakresy reguł

Bob Shell obsługuje dwa zakresy reguł, które określają, gdzie twoje reguły mają zastosowanie:

  • Reguły globalne: Stosują się automatycznie we wszystkich projektach
  • Reguły obszaru roboczego: Stosują się tylko w bieżącym projekcie

Używaj reguł globalnych dla osobistych lub ogólnoorganizacyjnych standardów. Używaj reguł obszaru roboczego dla wymagań specyficznych dla projektu.

Metody konfiguracji

Bob Shell używa tego samego systemu niestandardowych reguł co IBM Bob IDE.

Konfiguracja oparta na plikach

Najprostsze podejście używa pojedynczych plików w katalogu głównym obszaru roboczego:

  • .bobrules - Ogólne reguły obszaru roboczego
  • .bobrules-code - Reguły dla trybu Code
  • .bobrules-{modeSlug} - Reguły dla dowolnego trybu

Utwórz plik .bobrules:

# W katalogu głównym projektu
echo "Use 4 spaces for indentation" > .bobrules

Konfiguracja oparta na katalogach

Dla lepszej organizacji używaj katalogów:

Struktura obszaru roboczego:

.bob/
├── rules/              # Reguły ogólne
│   └── coding-style.md
└── rules-code/         # Reguły trybu Code
    └── typescript.md

Struktura globalna:

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

Utwórz reguły obszaru roboczego:

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

Utwórz reguły globalne:

# 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

Priorytet reguł

Bob Shell łączy reguły z wielu źródeł w następującej kolejności:

  1. Reguły globalne (~/.bob/rules/)
  2. Reguły obszaru roboczego (.bob/rules/)

W każdym poziomie reguły specyficzne dla trybu ładują się przed ogólnymi. Reguły obszaru roboczego mogą zastępować reguły globalne.

Pisanie efektywnych reguł

Bądź konkretny i wykonalny

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

Unikaj: "Use good paths"

Używaj przejrzystej struktury

Organizuj reguły tematycznie:

# 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

Przykłady efektywnych reguł

  • "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"

Zaawansowana konfiguracja

Reguły specyficzne dla trybu

Kieruj reguły do konkretnych trybów za pomocą dedykowanych katalogów:

KatalogCel
rules/Ogólne reguły dla wszystkich trybów
rules-code/Tylko tryb Code
rules-plan/Tylko tryb Plan
rules-{mode}/Dowolny niestandardowy tryb

Używanie plików AGENTS.md

Do standaryzacji zespołu możesz używać pliku AGENTS.md w katalogu głównym obszaru roboczego:

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

Kluczowe szczegóły:

  • Ładowany automatycznie domyślnie
  • Umieszczaj pod kontrolą wersji razem z projektem
  • Wyłącz ustawieniem "bob-shell.useAgentRules": false w ustawieniach
  • Ładowany po regułach specyficznych dla trybu, ale przed ogólnymi regułami obszaru roboczego

Zachowanie plików

  • Rekurencyjne odczytywanie: Bob Shell odczytuje wszystkie pliki w katalogach reguł, w tym podkatalogi
  • Kolejność alfabetyczna: Pliki są przetwarzane w kolejności alfabetycznej według nazwy pliku
  • Automatyczne filtrowanie: Wyklucza pliki pamięci podręcznej (.DS_Store, *.bak, *.cache, *.log, *.tmp, Thumbs.db)
  • Dowiązania symboliczne: Obsługiwane z maksymalną głębokością 5
  • Puste pliki: Cicho pomijane

Standaryzacja zespołu

Standardy na poziomie projektu

Używaj katalogów .bob/rules/ obszaru roboczego pod kontrolą wersji:

# Dodaj do kontroli wersji
git add .bob/rules/
git commit -m "Add Bob custom rules"

Zapewnia to spójne zachowanie wśród członków zespołu używających Bob Shell dla konkretnych projektów.

Standardy ogólnoorganizacyjne

Dystrybuuj reguły globalne do członków zespołu:

  1. Utwórz współdzielone repozytorium reguł
  2. Członkowie zespołu klonują do ~/.bob/rules/
  3. Aktualizuj okresowo dla zachowania spójności

Podejście hybrydowe

Możesz łączyć oba podejścia:

  • Reguły globalne dla standardów organizacyjnych
  • Reguły obszaru roboczego dla wymagań specyficznych dla projektu
  • Reguły obszaru roboczego zastępują reguły globalne w razie potrzeby
Jak oceniasz ten temat?