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ı çeşitli Bob araçlarında uygulanır:

Katı uygulama (okuma ve yazma)

Bu araçlar herhangi bir dosya işleminden önce .bobignore'u doğrudan kontrol eder. Bir dosya yok sayılırsa, 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.
  • GetSymbolsOverview: Kod sembolleri için yok sayılan dosyaları ayrıştırmaz.

Dosya düzenleme araçları (potansiyel yazma atlaması)

insert_content ve search_and_replace araçları, değişiklikleri yönetmek için dahili bir bileşen kullanır. Önemli: Şu anda, bu araçlar tarafından gerçekleştirilen son yazma işlemi .bobignore kurallarını atlayabilir. İlk okuma denemeleri engellenebilirken, kaydetme eyleminin kendisinde açık bir kontrol yoktur.

Dosya keşfi ve listeleme

  • list_files aracı: Bob dosyaları listelediğinde, yok sayılan dosyalar genellikle atlanı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ınız hakkındaki bilgiler (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ı: Bu araç, bir komutun (cat veya grep gibi önceden tanımlanmış bir listeden) yok sayılan bir dosyayı hedef alıp almadığını kontrol eder. Öyleyse, komutu çalıştırmak engellenir.

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 özgüllüğü: execute_command için koruma, önceden tanımlanmış bir dosya okuma komutları listesiyle sınırlıdır. Özel betikler veya yaygın olmayan yardımcı programlar yakalanmayabilir.
  • insert_content ve search_and_replace aracılığıyla yazma işlemleri: Belirtildiği gibi, bu araçlar kaydetme mekanizmalarındaki mevcut sınırlamalar nedeniyle yok sayılan dosyalara yazabilir.
  • Tam bir sandbox değil: .bobignore, Bob'un araçları aracılığıyla dosya erişimini kontrol etmek için güçlü bir araçtır, ancak sistem düzeyinde bir sandbox oluşturmaz.

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?