Yapılandırma

Dosyaları yok sayma

Projenizde bir `.bobignore` dosyası oluşturarak Bob'un hangi dosyalara erişebileceğini kontrol edin.

.bobignore nedir?

  • Amaç: Hassas bilgileri korumak, derleme yapılarına veya büyük varlıklara yanlışlıkla değişiklik yapılmasını önlemek ve genel olarak Bob'un çalışma alanınızdaki operasyonel kapsamını tanımlamak.
  • Nasıl kullanılır: Çalışma alanınızın dizininde .bobignore adlı bir dosya oluşturun. Bob'a hangi dosya ve dizinleri yok sayacağını söylemek için bu dosyada desenler listeleyin.

Bob, .bobignore dosyasını aktif olarak izler. Yaptığınız herhangi bir değişiklik otomatik olarak yeniden yüklenir ve Bob'un her zaman en güncel kuralları kullanmasını sağlar. .bobignore dosyasının kendisi her zaman örtük olarak yok sayılır, bu nedenle Bob kendi erişim kurallarını değiştiremez.

Desen sözdizimi

.bobignore için sözdizimi .gitignore ile aynıdır. İşte yaygın örnekler:

ÖrnekAçıklama
node_modules/Tüm node_modules dizinini yok sayar
*.log.log ile biten tüm dosyaları yok sayar
config/secrets.jsonBelirli bir dosyayı yok sayar
!important.logBir istisna; *.log gibi daha geniş bir desen olsa bile Bob bu belirli dosyayı yok saymaz
build/build dizinini yok sayar
docs/**/*.mddocs dizinindeki ve alt dizinlerindeki tüm Markdown dosyalarını yok sayar

Sözdizimi hakkında bilgi edinmek için .gitignore hakkında resmi Git dokümantasyonuna bakın.

Bob araçları .bobignore ile nasıl etkileşim kurar

.bobignore kuralları Bob'un dosya araçlarında uygulanır:

Okuma ve yazma araçları

Bu araçlar herhangi bir dosya işleminden önce .bobignore'u kontrol eder. Bir dosya yok sayılan bir desenle eşleşirse, işlem engellenir:

  • read_file: Yok sayılan dosyaları okumaz.
  • write_file: Yok sayılan dosyalara yazmaz veya yeni yok sayılan dosyalar oluşturmaz.
  • apply_diff: Yok sayılan dosyalara diff uygulamaz.
  • insert_content: Yok sayılan dosyalara içerik eklemez.
  • search_and_replace: Yok sayılan dosyaları değiştirmez.
  • GetSymbolsOverview: Kod sembolleri için yok sayılan dosyaları ayrıştırmaz.

Dosya keşfi ve listeleme

  • list_files aracı: Yok sayılan dosyalar listelemelerden çıkarılır veya 🔒 sembolü ile işaretlenir (aşağıdaki "Kullanıcı deneyimi"ne bakın).
  • Ortam ayrıntıları: Bob'a sağlanan çalışma alanı bilgileri (açık sekmeler ve proje yapısı gibi) yok sayılan öğeleri hariç tutmak veya işaretlemek için filtrelenir.

Komut yürütme

  • execute_command aracı: Bob, önceden tanımlanmış bir listeden (cat veya grep gibi) bir komutun yok sayılan bir dosyayı hedef alıp almadığını kontrol eder. Hedef alıyorsa komut engellenir. Bu önceden tanımlanmış listenin dışındaki komutlar .bobignore'a karşı kontrol edilmez.

Kısıtlama: .bobignore ve çalışma alanı sandbox ayarı ("Çalışma alanı dışı araç isteklerine izin ver") iki ayrı denetimdir. .bobignore, Bob'un dosya araçlarının çalışma alanı içinde hangi dosyalara erişebileceğini kısıtlar. Çalışma alanı sandbox ayarı, dosya araçlarının çalışma alanı kökü dışında çalışıp çalışamayacağını denetler. Her iki denetim de execute_command'ı rastgele shell işlemleri için kısıtlamaz; bir shell komutu, bu ayarlardan bağımsız olarak işletim sisteminin izin verdiği her yerde dosya oluşturabilir, değiştirebilir veya silebilir.

Temel sınırlamalar ve kapsam

  • Çalışma alanı merkezli: .bobignore kuralları yalnızca mevcut Bob çalışma alanı kökündeki dosyalar ve dizinler için geçerlidir. Bu kapsamın dışındaki dosyalar etkilenmez.
  • execute_command kapsamı: execute_command için .bobignore uygulaması yalnızca önceden tanımlanmış dosya okuma komutlarını kapsar. Rastgele shell komutları .bobignore veya çalışma alanı sandbox ayarı tarafından kısıtlanmaz.
  • Tam bir sandbox değil: .bobignore, Bob'un çalışma alanı içindeki dosya aracı erişimini denetler. Sistem düzeyinde bir sandbox oluşturmaz ve shell komutlarının çalıştırılmasını kısıtlamaz.

Kullanıcı deneyimi ve bildirimler

  • Görsel ipucu (🔒): Dosya listelerinde, .bobignore tarafından yok sayılan dosyalar, showbobignoredFiles ayarına bağlı olarak (varsayılan olarak true) bir kilit sembolü (🔒) ile işaretlenebilir.
  • Hata mesajları: Bir araç işlemi engellenirse, Bob bir hata alır: "[file_path] erişimi .bobignore dosya ayarları tarafından engellendi. Bu dosyayı kullanmadan görevde devam etmeyi denemelisiniz veya kullanıcıdan .bobignore dosyasını güncellemesini istemelisiniz."
  • Sohbet bildirimleri: .bobignore nedeniyle bir eylem engellendiğinde genellikle Bob sohbet arayüzünde bir bildirim görürsünüz.

Bu kılavuz, .bobignore özelliğini, yeteneklerini ve mevcut sınırlamalarını anlamanıza yardımcı olur, böylece Bob'un kod tabanınızla etkileşimini etkili bir şekilde yönetebilirsiniz.

Bu konu nasıl?