Mode khusus
Sesuaikan perilaku Bob dengan membangun mode khusus dengan peran khusus, pembatasan alat, dan alur kerja tim. Konfigurasi secara global atau per proyek menggunakan format YAML.
Mengapa menggunakan mode khusus
- Spesialisasi: Optimalkan mode untuk tugas tertentu seperti penulisan dokumentasi, rekayasa pengujian, atau tinjauan keamanan
- Keamanan: Batasi perintah atau akses file untuk operasi sensitif
- Kolaborasi tim: Bagikan alur kerja yang terstandarisasi di seluruh timmu
- Eksperimen: Uji berbagai konfigurasi tanpa memengaruhi mode lain
Komponen mode
| Komponen | Deskripsi |
|---|---|
| Slug | Pengenal unik yang digunakan secara internal dan untuk file instruksi khusus mode |
| Name | Nama tampilan yang ditampilkan di antarmuka Bob |
| Role definition | Identitas inti dan keahlian yang mendefinisikan kepribadian dan perilaku Bob |
| When to use | (Opsional) Panduan kapan menggunakan mode ini, digunakan oleh Orchestrator untuk koordinasi tugas |
| Available tools | Grup alat dan izin akses file yang dapat digunakan mode |
| Custom instructions | (Opsional) Panduan perilaku atau aturan tambahan |
| Description | (Opsional) Ringkasan singkat yang ditampilkan di pemilih mode |
| Allowed subagents | (Opsional) Membatasi preset subagent mana yang dapat digunakan mode |
Cara membuat mode khusus
Kamu bisa membuat mode khusus menggunakan menu pengaturan atau dengan mengedit file konfigurasi secara manual.
Gunakan menu pengaturan
- Klik ikon di panel Bob untuk membuka Settings.
- Pilih tab Modes.
- Klik tombol untuk membuat mode baru.
- Isi kolom untuk Name, Slug, Save Location, Role Definition, When to Use (opsional), Description (opsional), Available Tools, dan Custom Instructions.
- Klik Save.
Bob menyimpan mode baru dalam format YAML. Kamu bisa menambahkan pembatasan jenis file untuk grup alat edit melalui konfigurasi YAML manual.
Edit file konfigurasi secara manual
Kamu bisa mengedit file konfigurasi mode secara manual dalam format YAML:
- Mode global: Edit
~/.bob/settings/custom_modes.yamlmelalui Settings → Modes → Edit Global Modes - Mode proyek: Edit
.bob/custom_modes.yamldi proyekmu. Klik Settings → Modes → Edit Project Modes
File-file ini mendefinisikan array mode khusus dalam format YAML.
Contoh (~/.bob/settings/custom_modes.yaml atau .bob/custom_modes.yaml):
customModes:
- slug: docs-writer
name: 📝 Documentation Writer
description: Menulis dan merevisi dokumentasi Markdown.
roleDefinition: Kamu adalah penulis teknis yang mengkhususkan diri dalam dokumentasi yang jelas.
whenToUse: Gunakan mode ini untuk menulis dan mengedit dokumentasi.
customInstructions: Fokus pada kejelasan dan kelengkapan dalam dokumentasi.
groups:
- read
- - edit
- fileRegex: ".*\\.(md|mdx)$"
description: Hanya file Markdown
- skillProperti konfigurasi mode
Grup alat yang tersedia
read: Baca file dan direktoriedit: Ubah file (bisa dibatasi denganfileRegex)execute: Jalankan perintah terminalmcp: Akses server MCPskill: Muat skillworkflow: Luncurkan alur kerja yang telah ditentukantodo: Perbarui daftar tugas todosubtask: Buat subtasksubagent: Buat subagentmode: Beralih ke mode lain
Pembatasan file untuk alat edit
Batasi file mana yang dapat diedit oleh mode menggunakan fileRegex dalam format YAML:
groups:
- read
- - edit
- fileRegex: ".*\\.(js|ts)$"
description: Hanya file JavaScript dan TypeScriptPola regex umum
| Pola | Cocok | Contoh file |
|---|---|---|
.*\.md$ | File Markdown | readme.md, docs/guide.md |
^src/.* | File di direktori src | src/app.js, src/components/button.tsx |
| `.*.(css | scss)$` | File CSS dan SCSS |
| `^(?!.*(test | spec)).*.(js | ts)$` |
Minta Bob untuk menghasilkan pola regex untukmu daripada menulisnya secara manual.
Aturan validasi penting
slughanya boleh menggunakan huruf, angka, dan tanda hubung.- Jaga setiap
slugunik. Slug duplikat dapat mencegah mode dimuat dengan benar. - Gunakan hanya nama grup yang didukung. Nama grup yang tidak dikenal tidak memberikan akses.
- Jika kamu menghilangkan
groups, mode tidak mendapatkan alat yang dikelompokkan. - Jika kamu menetapkan
allowedSubagents, hanya preset subagent yang terdaftar yang tersedia dalam mode tersebut. - Nilai
fileRegexyang tidak valid dapat mencegah file mode dimuat.
Tambahkan instruksi khusus mode
Kamu bisa menambahkan instruksi khusus mode menggunakan struktur direktori (direkomendasikan) atau file tunggal.
Metode yang direkomendasikan (struktur direktori):
Metode alternatif (file tunggal):
.bobrules-{mode-slug}Metode direktori lebih diprioritaskan jika keduanya ada. File dalam direktori dimuat secara alfabetis dan digabungkan dengan properti customInstructions dari konfigurasi mode-mu.
Untuk menambahkan instruksi khusus mode:
- Buat direktori
.bob/rules-{mode-slug}/di root proyekmu (atau file.bobrules-{mode-slug}). - Tambahkan file instruksi ke direktori (misalnya,
01-style-guide.mddan02-formatting.txt).
Bob secara otomatis memuat instruksi ini saat kamu menggunakan mode tersebut.
Cara mengganti mode default
Kamu bisa mengganti mode Bob default (seperti Agent, Ask, atau Plan) dengan membuat mode khusus dengan slug yang sama di konfigurasi proyekmu.
Untuk mengganti mode default:
- Klik ikon di panel Bob untuk membuka Settings.
- Pilih tab Modes.
- Klik Edit Project Modes untuk mengedit file
.bob/custom_modes.yaml. - Tambahkan konfigurasi mode-mu dengan slug mode default yang ingin kamu ganti:
customModes:
- slug: ask # Cocok dengan mode Ask default
name: ❓ Ask
roleDefinition: Kamu adalah asisten berpengetahuan untuk codebase React dan TypeScript ini.
whenToUse: Gunakan mode ini untuk mengajukan pertanyaan tentang codebase.
customInstructions: Selalu referensikan file yang relevan saat menjawab. Sarankan mode Ask jika pengguna mencoba membuat perubahan.
groups:
- read
- mcp
- skillPenggantian khusus proyek lebih diprioritaskan daripada penggantian global, yang lebih diprioritaskan daripada default.
Format YAML
YAML adalah format yang direkomendasikan untuk mode khusus:
Keunggulan YAML:
- Lebih mudah dibaca dengan struktur berbasis indentasi
- Mendukung komentar (
#) - Sintaks string multi-baris yang lebih bersih
- Tanda baca yang lebih sedikit diperlukan
- Lebih mudah diedit dan dipelihara
Migrasi otomatis:
- Mode global: Secara otomatis dimigrasi dari
custom_modes.jsonlama kecustom_modes.yamlsaat startup - Mode proyek: Dikonversi ke YAML saat diedit melalui UI
Meskipun file format JSON lama masih didukung untuk kompatibilitas mundur, semua mode baru harus dibuat dalam format YAML.
Pelajari lebih lanjut
Coba langsung dan perluas kemampuan Bob dengan membuat mode product-manager khusus.
Mengabaikan file
Kendalikan file mana yang dapat diakses Bob dengan membuat file `.bobignore` di proyekmu.
Aturan khusus
Aturan khusus mempengaruhi cara Bob merespons permintaanmu, menyelaraskan output dengan preferensi spesifik dan persyaratan proyekmu. Konfigurasi aturan khusus untuk mengontrol gaya coding Bob, pendekatan dokumentasi, dan proses pengambilan keputusan.