Yapılandırma

Özel modlar

Bob'un davranışını uzmanlaşmış roller, araç kısıtlamaları ve ekip iş akışları içeren özel modlar oluşturarak uyarlayın. YAML formatını kullanarak global veya proje bazında yapılandırın.

Neden özel modlar kullanılır

  • Uzmanlaşma: Dokümantasyon yazma, test mühendisliği veya güvenlik incelemeleri gibi belirli görevler için modları optimize edin
  • Güvenlik: Hassas işlemler için komutları veya dosya erişimini kısıtlayın
  • Ekip işbirliği: Ekibiniz genelinde standartlaştırılmış iş akışlarını paylaşın
  • Deney: Diğer modları etkilemeden farklı konfigürasyonları test edin

Mod bileşenleri

BileşenAçıklama
SlugDahili olarak ve moda özel talimat dosyaları için kullanılan benzersiz tanımlayıcı
AdBob arayüzünde gösterilen görünen ad
Rol tanımıBob'un kişiliğini ve davranışını tanımlayan temel kimlik ve uzmanlık
Ne zaman kullanılır(İsteğe bağlı) Bu modun ne zaman kullanılacağına dair rehberlik, görev koordinasyonu için Orchestrator tarafından kullanılır
Kullanılabilir araçlarModun kullanabileceği araç grupları ve dosya erişim izinleri
Özel talimatlar(İsteğe bağlı) Ek davranışsal yönergeler veya kurallar
Açıklama(İsteğe bağlı) Mod seçicide gösterilen kısa özet
İzin verilen alt ajanlar(İsteğe bağlı) Modun kullanabileceği alt ajan ön ayarlarını kısıtlar

Özel modlar nasıl oluşturulur

Ayarlar menüsünü kullanarak veya konfigürasyon dosyalarını manuel olarak düzenleyerek özel modlar oluşturabilirsiniz.

Ayarlar menüsünü kullanın

  1. Ayarları açmak için Bob panelindeki simgesine tıklayın.
  2. Modlar sekmesini seçin.
  3. Yeni bir mod oluşturmak için düğmesine tıklayın.
  4. Ad, Slug, Kayıt Konumu, Rol Tanımı, Ne Zaman Kullanılır (isteğe bağlı), Açıklama (isteğe bağlı), Kullanılabilir Araçlar ve Özel Talimatlar alanlarını doldurun.
  5. Kaydet'e tıklayın.

Bob yeni modu YAML formatında kaydeder. Manuel YAML konfigürasyonu aracılığıyla edit araç grubu için dosya türü kısıtlamaları ekleyebilirsiniz.

Konfigürasyon dosyalarını manuel olarak düzenleyin

Mod konfigürasyon dosyalarını YAML formatında manuel olarak düzenleyebilirsiniz:

  • Global modlar: Ayarlar → Modlar → Global Modları Düzenle aracılığıyla ~/.bob/settings/custom_modes.yaml dosyasını düzenleyin
  • Proje modları: Projenizdeki .bob/custom_modes.yaml dosyasını düzenleyin. Ayarlar → Modlar → Proje Modlarını Düzenle'ye tıklayın

Bu dosyalar YAML formatında bir özel modlar dizisi tanımlar.

Örnek (~/.bob/settings/custom_modes.yaml veya .bob/custom_modes.yaml):

customModes:
  - slug: docs-writer
    name: 📝 Documentation Writer
    description: Markdown dokümantasyonu yazar ve revize eder.
    roleDefinition: You are a technical writer specializing in clear documentation.
    whenToUse: Use this mode for writing and editing documentation.
    customInstructions: Focus on clarity and completeness in documentation.
    groups:
      - read
      - - edit
        - fileRegex: ".*\\.(md|mdx)$"
          description: Markdown files only
      - skill

Mod konfigürasyon özellikleri

Kullanılabilir araç grupları

  • read: Dosyaları ve dizinleri okuyun
  • edit: Dosyaları değiştirin (fileRegex ile kısıtlanabilir)
  • execute: Terminal komutlarını çalıştırın
  • mcp: MCP sunucularına erişin
  • skill: Becerileri yükleyin
  • workflow: Önceden tanımlanmış iş akışları başlatma
  • todo: Görev TODO listelerini güncelleyin
  • subtask: Alt görevler oluşturun
  • subagent: Alt ajanlar oluşturun
  • mode: Başka bir moda geçin

Düzenleme aracı için dosya kısıtlamaları

YAML formatında fileRegex kullanarak bir modun hangi dosyaları düzenleyebileceğini kısıtlayın:

groups:
  - read
  - - edit
    - fileRegex: ".*\\.(js|ts)$"
      description: Yalnızca JavaScript ve TypeScript dosyaları

Yaygın regex desenleri

DesenEşleşirÖrnek dosyalar
.*\.md$Markdown dosyalarıreadme.md, docs/guide.md
^src/.*src dizinindeki dosyalarsrc/app.js, src/components/button.tsx
`.*.(cssscss)$`CSS ve SCSS dosyaları
`^(?!.*(testspec)).*.(jsts)$`
İpucu:

Regex desenlerini manuel olarak yazmak yerine Bob'dan sizin için oluşturmasını isteyin.

Önemli doğrulama kuralları

  • slug yalnızca harf, rakam ve tire kullanmalıdır.
  • Her slug'ı benzersiz tutun. Yinelenen slug'lar modların doğru yüklenmesini engelleyebilir.
  • Yalnızca desteklenen grup adlarını kullanın. Bilinmeyen grup adları erişim vermez.
  • groups'u atlarsanız, mod gruplandırılmış araçlar almaz.
  • allowedSubagents ayarlarsanız, bu modda yalnızca listelenen alt ajan ön ayarları kullanılabilir.
  • Geçersiz fileRegex değerleri mod dosyasının yüklenmesini engelleyebilir.

Moda özel talimatlar ekleyin

Bir dizin yapısı (tercih edilen) veya tek bir dosya kullanarak moda özel talimatlar ekleyebilirsiniz.

Tercih edilen yöntem (dizin yapısı):

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

Alternatif yöntem (tek dosya):

.bobrules-{mode-slug}

Her ikisi de mevcutsa dizin yöntemi önceliklidir. Dizindeki dosyalar alfabetik olarak yüklenir ve mod konfigürasyonunuzdaki customInstructions özelliği ile birleştirilir.

Moda özel talimatlar eklemek için:

  1. Proje kökünüzde bir .bob/rules-{mode-slug}/ dizini (veya bir .bobrules-{mode-slug} dosyası) oluşturun.
  2. Dizine talimat dosyaları ekleyin (örneğin, 01-style-guide.md ve 02-formatting.txt).

Bob, modu kullandığınızda bu talimatları otomatik olarak yükler.

Varsayılan modlar nasıl geçersiz kılınır

Proje konfigürasyonunuzda aynı slug ile özel bir mod oluşturarak varsayılan Bob modlarını (Agent, Ask veya Plan gibi) geçersiz kılabilirsiniz.

Varsayılan bir modu geçersiz kılmak için:

  1. Ayarları açmak için Bob panelindeki simgesine tıklayın.
  2. Modlar sekmesini seçin.
  3. .bob/custom_modes.yaml dosyasını düzenlemek için Proje Modlarını Düzenle'ye tıklayın.
  4. Geçersiz kılmak istediğiniz varsayılan modun slug'ı ile mod konfigürasyonunuzu ekleyin:
customModes:
  - slug: ask  # Varsayılan Ask moduyla eşleşir
    name: ❓ Ask
    roleDefinition: Bu React ve TypeScript kod tabanı için bilgili bir asistansınız.
    whenToUse: Kod tabanı hakkında sorular sormak için bu modu kullanın.
    customInstructions: Yanıt verirken her zaman ilgili dosyalara başvurun. Kullanıcı değişiklik yapmaya çalışırsa Ask modunu önerin.
    groups:
      - read
      - mcp
      - skill

Projeye özel geçersiz kılmalar, global geçersiz kılmalardan önceliklidir ve global geçersiz kılmalar varsayılanlardan önceliklidir.

YAML formatı

YAML, özel modlar için tercih edilen ve önerilen formattır:

YAML avantajları:

  • Girinti tabanlı yapı ile daha okunabilir
  • Yorumları destekler (#)
  • Daha temiz çok satırlı dize sözdizimi
  • Daha az noktalama işareti gerektirir
  • Düzenlemesi ve bakımı daha kolay

Otomatik geçiş:

  • Global modlar: Başlangıçta eski custom_modes.json dosyasından custom_modes.yaml dosyasına otomatik olarak geçirilir
  • Proje modları: UI üzerinden düzenlendiğinde YAML'ye dönüştürülür

Eski JSON format dosyaları geriye dönük uyumluluk için hala desteklense de, tüm yeni modlar YAML formatında oluşturulmalıdır.

Daha fazla bilgi

Uygulamalı olarak öğren ve özel bir product manager modu oluşturarak Bob'un yeteneklerini genişlet.

Bu konu nasıl?