Yapılandırma

Özel kurallar

Özel kurallar, Bob Shell'in terminal ortamındaki isteklerine nasıl yanıt verdiğini etkiler; çıktıyı spesifik tercihlerinle ve proje gereksinimlerinle hizalar. Kodlama stilini, dokümantasyon yaklaşımını ve karar alma süreçlerini kontrol edebilirsin.

Özel kurallar nedir?

Özel kurallar, Bob Shell'in terminal ortamında çalışırken ihtiyaçlarına uygun şekilde görevlere nasıl yaklaştığını yönlendiren tercihler, kısıtlamalar ve yönergeler tanımlayarak Bob Shell'in varsayılan davranışını genişletir.

Yaygın kullanımlar şunlardır:

  • Kodlama stili tercihleri (girinti, adlandırma kuralları)
  • Dokümantasyon biçimleri ve standartları
  • Test metodolojileri ve gereksinimleri
  • Proje iş akışları ve süreçleri
  • Takıma özgü kurallar

Kural kapsamları

Bob Shell, kurallarının nerede uygulanacağını belirleyen iki kural kapsamını destekler:

  • Global kurallar: Tüm projelerinde otomatik olarak uygulanır
  • Çalışma alanı kuralları: Yalnızca mevcut projende uygulanır

Kişisel veya organizasyon genelindeki standartlar için global kurallar kullan. Projeye özgü gereksinimler için çalışma alanı kurallarını kullan.

Yapılandırma yöntemleri

Bob Shell, IBM Bob IDE ile aynı özel kurallar sistemini kullanır.

Dosya tabanlı yapılandırma

En basit yaklaşım, çalışma alanı kökündeki tek dosyaları kullanır:

  • .bobrules - Genel çalışma alanı kuralları
  • .bobrules-code - Code modu için kurallar
  • .bobrules-{modeSlug} - Herhangi bir mod için kurallar

Bir .bobrules dosyası oluştur:

# Proje kökünde
echo "Use 4 spaces for indentation" > .bobrules

Dizin tabanlı yapılandırma

Daha iyi organizasyon için dizinleri kullan:

Çalışma alanı yapısı:

.bob/
├── rules/              # Genel kurallar
│   └── coding-style.md
└── rules-code/         # Code modu kuralları
    └── typescript.md

Global yapı:

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

Çalışma alanı kuralları oluştur:

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

Global kurallar oluştur:

# 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

Kural önceliği

Bob Shell, birden fazla kaynaktan kuralları şu sırayla birleştirir:

  1. Global kurallar (~/.bob/rules/)
  2. Çalışma alanı kuralları (.bob/rules/)

Her düzeyde moda özgü kurallar, genel kurallardan önce yüklenir. Çalışma alanı kuralları global kuralları geçersiz kılabilir.

Etkili kurallar yazma

Spesifik ve uygulanabilir ol

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

Kaçın: "Use good paths"

Açık yapı kullan

Kuralları konuya göre düzenle:

# 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

Etkili kural örnekleri

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

Gelişmiş yapılandırma

Moda özgü kurallar

Özel dizinlerle belirli modları hedefle:

DizinAmaç
rules/Tüm modlar için genel kurallar
rules-code/Yalnızca Code modu
rules-plan/Yalnızca Plan modu
rules-{mode}/Herhangi bir özel mod

AGENTS.md dosyalarını kullanma

Ekip standardizasyonu için çalışma alanı kökünde bir AGENTS.md dosyası kullanabilirsin:

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

Temel ayrıntılar:

  • Varsayılan olarak otomatik yüklenir
  • Projenle birlikte sürüm kontrolüne al
  • "bob-shell.useAgentRules": false ayarıyla devre dışı bırak
  • Moda özgü kurallardan sonra ancak genel çalışma alanı kurallarından önce yüklenir

Dosya davranışı

  • Özyinelemeli okuma: Bob Shell, alt dizinler dahil kural dizinlerindeki tüm dosyaları okur
  • Alfabetik sıra: Dosyalar dosya adına göre alfabetik sırayla işlenir
  • Otomatik filtreleme: Önbellek dosyalarını dışarıda bırakır (.DS_Store, *.bak, *.cache, *.log, *.tmp, Thumbs.db)
  • Sembolik bağlantılar: Maksimum 5 derinlikle desteklenir
  • Boş dosyalar: Sessizce atlanır

Ekip standardizasyonu

Proje düzeyinde standartlar

Sürüm kontrolü altındaki çalışma alanı .bob/rules/ dizinlerini kullan:

# Sürüm kontrolüne ekle
git add .bob/rules/
git commit -m "Add Bob custom rules"

Bu, belirli projeler için Bob Shell kullanan ekip üyeleri arasında tutarlı davranış sağlar.

Organizasyon genelinde standartlar

Global kuralları ekip üyelerine dağıt:

  1. Paylaşılan bir kurallar repository'si oluştur
  2. Ekip üyeleri ~/.bob/rules/ dizinine clone'lar
  3. Tutarlılık için periyodik olarak güncelle

Hibrit yaklaşım

Her iki yaklaşımı da birleştirebilirsin:

  • Organizasyon standartları için global kurallar
  • Projeye özgü gereksinimler için çalışma alanı kuralları
  • Gerektiğinde çalışma alanı kuralları global kuralları geçersiz kılar
Bu konu nasıl?