Konfigurasi

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

KomponenDeskripsi
SlugPengenal unik yang digunakan secara internal dan untuk file instruksi khusus mode
NameNama tampilan yang ditampilkan di antarmuka Bob
Role definitionIdentitas 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 toolsGrup 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

  1. Klik ikon di panel Bob untuk membuka Settings.
  2. Pilih tab Modes.
  3. Klik tombol untuk membuat mode baru.
  4. Isi kolom untuk Name, Slug, Save Location, Role Definition, When to Use (opsional), Description (opsional), Available Tools, dan Custom Instructions.
  5. 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.yaml melalui Settings → Modes → Edit Global Modes
  • Mode proyek: Edit .bob/custom_modes.yaml di 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
      - skill

Properti konfigurasi mode

Grup alat yang tersedia

  • read: Baca file dan direktori
  • edit: Ubah file (bisa dibatasi dengan fileRegex)
  • execute: Jalankan perintah terminal
  • mcp: Akses server MCP
  • skill: Muat skill
  • workflow: Luncurkan alur kerja yang telah ditentukan
  • todo: Perbarui daftar tugas todo
  • subtask: Buat subtask
  • subagent: Buat subagent
  • mode: 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 TypeScript

Pola regex umum

PolaCocokContoh file
.*\.md$File Markdownreadme.md, docs/guide.md
^src/.*File di direktori srcsrc/app.js, src/components/button.tsx
`.*.(cssscss)$`File CSS dan SCSS
`^(?!.*(testspec)).*.(jsts)$`
Tips:

Minta Bob untuk menghasilkan pola regex untukmu daripada menulisnya secara manual.

Aturan validasi penting

  • slug hanya boleh menggunakan huruf, angka, dan tanda hubung.
  • Jaga setiap slug unik. 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 fileRegex yang 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):

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

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:

  1. Buat direktori .bob/rules-{mode-slug}/ di root proyekmu (atau file .bobrules-{mode-slug}).
  2. Tambahkan file instruksi ke direktori (misalnya, 01-style-guide.md dan 02-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:

  1. Klik ikon di panel Bob untuk membuka Settings.
  2. Pilih tab Modes.
  3. Klik Edit Project Modes untuk mengedit file .bob/custom_modes.yaml.
  4. 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
      - skill

Penggantian 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.json lama ke custom_modes.yaml saat 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.

Bagaimana topik ini?