Dropstone Docs

Alat

Kelola alat yang dapat digunakan LLM.

Alat memungkinkan LLM melakukan tindakan di codebase Anda. Dropstone dilengkapi dengan serangkaian alat bawaan, tetapi Anda dapat memperluas dengan alat khusus atau server MCP.

Secara default, semua alat diaktifkan dan tidak memerlukan izin untuk dijalankan. Anda dapat mengontrol perilaku alat melalui permissions.


Konfigurasi

Gunakan field permission untuk mengontrol perilaku alat. Anda dapat mengizinkan, menolak, atau memerlukan persetujuan untuk setiap alat.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "edit": "deny",
    "bash": "ask",
    "webfetch": "allow"
  }
}

Anda juga dapat menggunakan wildcard untuk mengontrol beberapa alat sekaligus. Misalnya, untuk memerlukan persetujuan untuk semua alat dari server MCP:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "mymcp_*": "ask"
  }
}

Pelajari lebih lanjut tentang mengonfigurasi permissions.


Bawaan

Berikut adalah semua alat bawaan yang tersedia di Dropstone.


bash

Jalankan perintah shell di lingkungan proyek Anda.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "bash": "allow"
  }
}

Alat ini memungkinkan LLM menjalankan perintah terminal seperti npm install, git status, atau perintah shell lainnya.


edit

Modifikasi file yang ada menggunakan penggantian string yang tepat.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "edit": "allow"
  }
}

Alat ini melakukan pengeditan presisi pada file dengan mengganti kecocokan teks yang tepat. Ini adalah cara utama LLM memodifikasi kode.


write

Buat file baru atau timpa file yang ada.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "edit": "allow"
  }
}

Gunakan ini untuk memungkinkan LLM membuat file baru. Ini akan menimpa file yang ada jika sudah ada.

Note:

Alat write dikendalikan oleh permission edit, yang mencakup semua modifikasi file (edit, write, apply_patch).


read

Baca konten file dari codebase Anda.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "read": "allow"
  }
}

Alat ini membaca file dan mengembalikan kontennya. Mendukung pembacaan rentang baris tertentu untuk file besar.


grep

Cari konten file menggunakan ekspresi reguler.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "grep": "allow"
  }
}

Pencarian konten cepat di seluruh codebase Anda. Mendukung sintaks regex penuh dan penyaringan pola file.


glob

Temukan file dengan pencocokan pola.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "glob": "allow"
  }
}

Cari file menggunakan pola glob seperti **/*.js atau src/**/*.ts. Mengembalikan jalur file yang cocok diurutkan berdasarkan waktu modifikasi.


lsp (experimental)

Berinteraksi dengan server LSP yang dikonfigurasi untuk mendapatkan fitur intelijen kode seperti definisi, referensi, informasi hover, dan hierarki panggilan.

Experimental:

Alat LSP bersifat eksperimental dan dinonaktifkan secara default. Perilaku dapat berubah antar rilis.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "lsp": "allow"
  }
}

Operasi yang didukung termasuk goToDefinition, findReferences, hover, documentSymbol, workspaceSymbol, goToImplementation, prepareCallHierarchy, incomingCalls, dan outgoingCalls.

Untuk mengonfigurasi server LSP mana yang tersedia untuk proyek Anda, lihat LSP Servers.


apply_patch

Terapkan patch ke file.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "edit": "allow"
  }
}

Alat ini menerapkan file patch ke codebase Anda. Berguna untuk menerapkan diff dan patch dari berbagai sumber.

Saat menangani hook tool.execute.before atau tool.execute.after, periksa input.tool === "apply_patch" (bukan "patch").

apply_patch menggunakan output.args.patchText bukan output.args.filePath. Jalur tertanam dalam baris penanda dalam patchText dan relatif terhadap akar proyek (misalnya: *** Add File: src/new-file.ts, *** Update File: src/existing.ts, *** Move to: src/renamed.ts, *** Delete File: src/obsolete.ts).

Note:

Alat apply_patch dikendalikan oleh permission edit, yang mencakup semua modifikasi file (edit, write, apply_patch).


skill

Muat skill (file SKILL.md) dan kembalikan kontennya dalam percakapan.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "skill": "allow"
  }
}

todowrite

Kelola daftar todo selama sesi coding.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "todowrite": "allow"
  }
}

Membuat dan memperbarui daftar tugas untuk melacak kemajuan selama operasi kompleks. LLM menggunakan ini untuk mengorganisir tugas multi-langkah.

Note:

Alat ini dinonaktifkan untuk subagent secara default, tetapi Anda dapat mengaktifkannya secara manual. Pelajari lebih lanjut.


webfetch

Ambil konten web.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "webfetch": "allow"
  }
}

Memungkinkan LLM mengambil dan membaca halaman web. Berguna untuk mencari dokumentasi atau meneliti sumber daya online.


websearch

Cari web untuk informasi. Tersedia secara default saat Anda masuk ke Dropstone.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "websearch": "allow"
  }
}

Melakukan pencarian web untuk menemukan informasi relevan online. Berguna untuk meneliti topik, menemukan peristiwa terkini, atau mengumpulkan informasi di luar cutoff data pelatihan. Tidak diperlukan kunci API atau pengaturan tambahan saat Anda masuk ke Dropstone.

Tip:

Gunakan websearch saat Anda perlu menemukan informasi (penemuan), dan webfetch saat Anda perlu mengambil konten dari URL tertentu (pengambilan).


question

Ajukan pertanyaan kepada pengguna selama eksekusi.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "question": "allow"
  }
}

Alat ini memungkinkan LLM mengajukan pertanyaan kepada pengguna selama tugas. Berguna untuk:

  • Mengumpulkan preferensi atau persyaratan pengguna
  • Mengklarifikasi instruksi yang ambigu
  • Mendapatkan keputusan tentang pilihan implementasi
  • Menawarkan pilihan tentang arah yang akan diambil

Setiap pertanyaan mencakup header, teks pertanyaan, dan daftar opsi. Pengguna dapat memilih dari opsi yang disediakan atau mengetik jawaban khusus. Ketika ada beberapa pertanyaan, pengguna dapat menavigasi di antara mereka sebelum mengirimkan semua jawaban.


Alat khusus

Alat khusus memungkinkan Anda menentukan fungsi Anda sendiri yang dapat dipanggil LLM. Ini didefinisikan dalam file konfigurasi Anda dan dapat menjalankan kode arbitrer.

Pelajari lebih lanjut tentang membuat alat khusus.


Server MCP

Server MCP (Model Context Protocol) memungkinkan Anda mengintegrasikan alat dan layanan eksternal. Ini termasuk akses database, integrasi API, dan layanan pihak ketiga.

Pelajari lebih lanjut tentang mengonfigurasi server MCP.


Pola pengabaian

Secara default, grep dan glob menghormati .gitignore Anda: file dan direktori yang terdaftar di sana dikecualikan dari pencarian dan daftar.

Untuk menyertakan file yang biasanya diabaikan, buat file .ignore di akar proyek Anda. File ini dapat secara eksplisit mengizinkan jalur tertentu.

!node_modules/
!dist/
!build/

Misalnya, file .ignore ini memungkinkan pencarian dalam direktori node_modules/, dist/, dan build/ bahkan jika terdaftar dalam .gitignore.

Ctrl+I