Slash commands

Buat custom slash command untuk mengotomasi task yang berulang, jalankan built-in command, dan perluas fungsionalitas Bob dengan file markdown sederhana.

Ikhtisar

Untuk memulai, ketik / di chat untuk melihat semua perintah yang tersedia, atau buat milikmu sendiri dengan menambahkan file markdown ke .bob/commands/ atau ~/.bob/commands/.

Manfaat utama:

  • Otomasi workflow: Ubah proses multi-langkah yang kompleks menjadi perintah tunggal
  • Standarisasi tim: Bagikan perintah di seluruh timmu untuk praktik yang konsisten
  • Pelestarian konteks: Sertakan konteks spesifik proyek di setiap perintah
  • Akses cepat: Fuzzy search dan autocomplete untuk penemuan perintah instan

Built-in commands

Bob menyertakan beberapa built-in command yang menyediakan fungsionalitas inti:

/init

Inisialisasi proyek atau workspace baru dengan Bob. Perintah ini membantu menyiapkan konfigurasi dan struktur yang diperlukan untuk bekerja dengan Bob di proyekmu.

/review

Tinjau perubahan kode dengan analisis komprehensif. Perintah ini bisa digunakan dengan beberapa cara:

  • /review - Tinjau perubahan lokal yang belum di-commit di working directory-mu
  • /review <branch> - Bandingkan branch dengan branch saat ini (HEAD)
  • /review #<issue-number> --issue-coverage - Validasi perubahan lokal terhadap isu GitHub
  • /review <issue-url> --issue-coverage - Validasi perubahan lokal terhadap URL isu GitHub

Perintah review melakukan analisis kode menyeluruh termasuk deteksi bug, pemeriksaan keamanan, masalah performa, dan konsistensi gaya.

/create-pr

Buat pull request dengan deskripsi yang dihasilkan AI. Perintah ini menganalisis perubahanmu dan menghasilkan deskripsi PR komprehensif berdasarkan diff antara branch.

Membuat custom command

Custom command memperluas fungsionalitas Bob dengan menambahkan file markdown ke direktori tertentu:

  • Spesifik proyek: .bob/commands/ di root workspace-mu
  • Global: ~/.bob/commands/ di direktori home-mu

Nama file menjadi nama perintah. Misalnya:

  • review.md/review
  • test-api.md/test-api
  • deploy-check.md/deploy-check

Pemrosesan nama perintah

Ketika membuat perintah melalui UI, nama perintah diproses secara otomatis:

  • Dikonversi ke huruf kecil
  • Spasi diganti dengan tanda hubung
  • Karakter khusus dihapus
  • Tanda hubung di awal/akhir dihapus

Contoh: "My Cool Command!" menjadi my-cool-command

Format perintah dasar

Buat perintah sederhana dengan menambahkan file markdown:

Help me review this code for security issues and suggest improvements.

Perintah lanjutan dengan frontmatter

Tambahkan metadata menggunakan frontmatter untuk fungsionalitas yang ditingkatkan:

---
description: Create a new API endpoint
argument-hint: <endpoint-name> <http-method>
---
Create a new API endpoint called $1 that handles $2 requests.
Include proper error handling and documentation.

Field frontmatter

  • description: Muncul di menu perintah untuk membantu pengguna memahami tujuan perintah
  • argument-hint: Memberikan petunjuk tentang argumen yang diharapkan saat menggunakan perintah

UI manajemen perintah

Bob menyediakan UI khusus untuk mengelola custom command.

Klik ikon commands di panel Bob untuk membuka command manager.

Membuat perintah baru

  1. Ketik nama perintahmu di field input (misalnya, "Sample command name")
  2. Klik tombol + untuk membuat perintah
  3. File baru akan dibuat dan dibuka secara otomatis (misalnya, sample-command-name.md)

Menggunakan slash command

Ketik / di chat untuk melihat menu terpadu yang berisi kedua jenis perintah. Menu menampilkan perintah workflow kustom dan perintah mode-switching di antarmuka yang sama.

  1. Menu terpadu: Perintah kustom dan perintah mode-switching muncul bersama
  2. Autocomplete: Mulai mengetik untuk memfilter perintah (misalnya, /sam menampilkan sample-command-name)
  3. Fuzzy search: Temukan perintah bahkan dengan pencocokan sebagian
  4. Preview deskripsi: Lihat deskripsi perintah di menu
  5. Indikator visual: Perintah mode dibedakan dari perintah kustom dengan ikon khusus

Argument hint

Argument hint memberikan bantuan instan untuk slash command, menunjukkan jenis informasi apa yang perlu diberikan ketika sebuah perintah mengharapkan input tambahan.

Ketika kamu mengetik / untuk membuka menu perintah, perintah yang mengharapkan argumen akan menampilkan petunjuk abu-abu muda di sebelahnya. Petunjuk ini memberitahumu jenis argumen apa yang diharapkan perintah.

Misalnya:

  • /mode <mode_slug> - Petunjuk <mode_slug> menunjukkan kamu harus memberikan nama mode seperti code atau debug
  • /api-endpoint <endpoint-name> <http-method> - Menampilkan bahwa kamu perlu nama endpoint dan HTTP method

Setelah memilih perintah, perintah akan dimasukkan ke input chat diikuti spasi. Petunjuk tidak dimasukkan; hanya panduan visual untuk membantumu tahu apa yang perlu diketik selanjutnya. Kamu kemudian harus mengetik argumen secara manual setelah perintah.

Menambahkan argument hint ke custom command

Kamu bisa menambahkan argument hint ke custom command menggunakan field argument-hint di frontmatter:

---
description: Create a new API endpoint
argument-hint: <endpoint-name> <http-method>
---
Create a new API endpoint called $1 that handles $2 requests.

Ini akan ditampilkan sebagai /api-endpoint <endpoint-name> <http-method> di menu perintah.

Best practice untuk argument hint

  • Jadilah spesifik: Gunakan placeholder deskriptif seperti <file-path> daripada yang generik seperti <arg>
  • Tampilkan beberapa argumen: Jika perintahmu memerlukan beberapa input, tampilkan semuanya: <source> <destination>
  • Gunakan format konsisten: Selalu bungkus placeholder dalam tanda kurung sudut: <placeholder>
  • Tetap singkat: Petunjuk harus singkat dan jelas

Pertanyaan umum

  • "Bagaimana jika saya tidak memberikan argumennya?" Perintah mungkin tidak bekerja sesuai harapan, atau mungkin meminta informasi lebih lanjut. Petunjuk ada untuk membantumu melakukannya dengan benar pertama kali.
  • "Apakah semua perintah memiliki petunjuk?" Tidak, hanya perintah yang dirancang untuk mengambil argumen yang akan memiliki petunjuk. Perintah yang bekerja tanpa input tambahan tidak akan menampilkan petunjuk.
  • "Bisakah saya menggunakan perintah tanpa mengganti petunjuknya?" Teks petunjuk (seperti <mode_slug>) perlu diganti dengan nilai aktual. Membiarkan teks petunjuk kemungkinan akan menyebabkan perintah gagal atau berperilaku tidak terduga.

Best practice

Penamaan perintah

  • Gunakan nama yang deskriptif dan berorientasi aksi
  • Pertahankan nama yang singkat tapi jelas
  • Gunakan tanda hubung untuk perintah multi-kata
  • Hindari nama generik seperti help atau test
  • Catatan: Nama secara otomatis di-slugify (huruf kecil, karakter khusus dihapus)
  • Ekstensi .md ditambahkan/dihapus secara otomatis sesuai kebutuhan

Konten perintah

  • Mulai dengan arahan yang jelas
  • Gunakan format terstruktur (daftar, bagian)
  • Sertakan persyaratan spesifik
  • Referensikan konvensi proyek
  • Pertahankan perintah terfokus pada satu task

Organisasi

  • Kelompokkan perintah terkait di subdirektori
  • Gunakan pola penamaan yang konsisten
  • Dokumentasikan perintah yang kompleks
  • Version control perintahmu
  • Bagikan perintah tim di repository proyek

Troubleshooting

Perintah tidak muncul

  • Periksa lokasi file: Pastikan file custom command ada di .bob/commands/ atau ~/.bob/commands/
  • Verifikasi ekstensi file: Custom command harus berupa file .md

Perintah tidak ditemukan

Ketika slash command tidak ditemukan, LLM akan melihat:

The slash command '/unknown-command' was not found. Please check the command name and try again.

Konflik perintah

  • Custom project command menggantikan custom global command dengan nama yang sama
  • Gunakan nama unik untuk menghindari konflik
  • Ketika membuat nama duplikat melalui UI, angka ditambahkan (misalnya, new-command-1, new-command-2)

Tentang mode command

Menu slash menyertakan perintah mode-switching (seperti /code, /ask) yang secara fundamental mengubah mode operasional AI — perintah ini tidak sekadar menyuntikkan teks tetapi beralih seluruh konteks AI. Mode kustom yang kamu buat juga muncul sebagai slash command (misalnya, mode dengan slug reviewer menjadi /reviewer). Perintah mode ini tidak dapat ditimpa oleh custom workflow command.

Pelajari lebih lanjut di Modes dan Custom modes.

Bagaimana topik ini?