Konfigurasi

Mengabaikan file

Kendalikan file mana yang dapat diakses Bob dengan membuat file `.bobignore` di proyekmu.

Apa itu .bobignore?

  • Tujuan: Untuk melindungi informasi sensitif, mencegah perubahan yang tidak disengaja pada artefak build atau aset besar, dan secara umum mendefinisikan cakupan operasional Bob di dalam workspace-mu.
  • Cara menggunakan: Buat file bernama .bobignore di direktori workspace-mu. Daftarkan pola di file ini untuk memberi tahu Bob file dan direktori mana yang harus diabaikan.

Bob secara aktif memantau file .bobignore. Perubahan apa pun yang kamu buat dimuat ulang secara otomatis, memastikan Bob selalu menggunakan aturan terbaru. File .bobignore itu sendiri selalu diabaikan secara implisit, sehingga Bob tidak bisa mengubah aturan aksesnya sendiri.

Sintaks pola

Sintaks untuk .bobignore identik dengan .gitignore. Berikut contoh-contoh umum:

ContohDeskripsi
node_modules/Mengabaikan seluruh direktori node_modules
*.logMengabaikan semua file yang berakhiran .log
config/secrets.jsonMengabaikan file tertentu
!important.logPengecualian; Bob tidak akan mengabaikan file ini, meskipun ada pola yang lebih luas seperti *.log
build/Mengabaikan direktori build
docs/**/*.mdMengabaikan semua file Markdown di direktori docs dan subdirektorinya

Untuk mempelajari sintaks, lihat dokumentasi Git resmi tentang .gitignore.

Cara alat Bob berinteraksi dengan .bobignore

Aturan .bobignore diberlakukan di alat file Bob:

Alat baca dan tulis

Alat-alat ini memeriksa .bobignore sebelum operasi file apa pun. Jika file cocok dengan pola yang diabaikan, operasi diblokir:

  • read_file: Tidak membaca file yang diabaikan.
  • write_file: Tidak menulis ke atau membuat file yang diabaikan.
  • apply_diff: Tidak menerapkan diff ke file yang diabaikan.
  • insert_content: Tidak menyisipkan konten ke file yang diabaikan.
  • search_and_replace: Tidak memodifikasi file yang diabaikan.
  • GetSymbolsOverview: Tidak mengurai file yang diabaikan untuk simbol kode.

Penemuan dan daftar file

  • Alat list_files: File yang diabaikan dihilangkan dari daftar atau ditandai dengan simbol 🔒 (lihat "Pengalaman pengguna" di bawah).
  • Detail lingkungan: Informasi workspace yang diberikan kepada Bob, seperti tab yang terbuka dan struktur proyek, difilter untuk mengecualikan atau menandai item yang diabaikan.

Eksekusi perintah

  • Alat execute_command: Bob memeriksa apakah perintah dari daftar yang telah ditentukan (seperti cat atau grep) menargetkan file yang diabaikan. Jika ya, perintah diblokir. Perintah di luar daftar yang telah ditentukan ini tidak diperiksa terhadap .bobignore.

Pembatasan: .bobignore dan pengaturan sandbox workspace ("Allow outside workspace tool requests") adalah dua kontrol yang terpisah. .bobignore membatasi file mana yang bisa diakses oleh alat file Bob di dalam workspace. Pengaturan sandbox workspace mengontrol apakah alat file dapat beroperasi di luar root workspace. Tidak satu pun dari kontrol ini membatasi execute_command untuk operasi shell sewenang-wenang; perintah shell tetap dapat membuat, memodifikasi, atau menghapus file di mana saja yang diizinkan sistem operasi, terlepas dari pengaturan ini.

Keterbatasan dan cakupan utama

  • Berpusat pada workspace: Aturan .bobignore berlaku hanya untuk file dan direktori di dalam root workspace Bob saat ini. File di luar cakupan ini tidak terpengaruh.
  • Cakupan execute_command: Penegakan .bobignore untuk execute_command hanya mencakup daftar perintah baca file yang telah ditentukan. Perintah shell sewenang-wenang tidak dibatasi oleh .bobignore atau pengaturan sandbox workspace.
  • Bukan sandbox penuh: .bobignore mengendalikan akses alat file Bob di dalam workspace. Ini tidak menciptakan sandbox tingkat sistem dan tidak membatasi eksekusi perintah shell.

Pengalaman pengguna dan notifikasi

  • Isyarat visual (🔒): Dalam daftar file, file yang diabaikan oleh .bobignore mungkin ditandai dengan simbol gembok (🔒), tergantung pada pengaturan showbobignoredFiles (default-nya true).
  • Pesan error: Jika operasi alat diblokir, Bob menerima error: "Akses ke [file_path] diblokir oleh pengaturan file .bobignore. Kamu harus mencoba melanjutkan tugas tanpa menggunakan file ini, atau meminta pengguna untuk memperbarui file .bobignore."
  • Notifikasi chat: Kamu biasanya akan melihat notifikasi di antarmuka chat Bob ketika tindakan diblokir karena .bobignore.

Panduan ini membantu kamu memahami fitur .bobignore, kemampuannya, dan keterbatasannya saat ini, sehingga kamu dapat mengelola interaksi Bob dengan codebase-mu secara efektif.

Bagaimana topik ini?