Pola penggunaan dan panduan prompting¶
local-shell-mcp menyediakan tools yang kuat. Hasil yang baik bergantung pada meminta model menginspeksi terlebih dahulu, bertindak dalam langkah kecil, melakukan verifikasi, dan melaporkan perubahan.
Loop operasi umum¶
Gunakan loop ini untuk sebagian besar task coding:
- Inspect:
environment_get,file_tree,file_grep,file_read, danrun_shelluntuk command sepertigit status. - Plan: minta model mengidentifikasi file dan tests minimal yang terlibat.
- Edit: gunakan
file_edit,file_patch, atau shell commands. - Verify: jalankan targeted tests/builds dengan
run_shellatau persistent shells. - Review: jalankan
git diffmelaluirun_shell, lalu gunakansecret_scandanaudit_tailbila diperlukan. - Commit/export: gunakan explicit Git CLI commands melalui
run_shellataulink_create.
Pemilihan tool¶
| Task | Utamakan | Hindari |
|---|---|---|
| One-shot command singkat | run_shell |
Memulai persistent shell untuk setiap command |
| Dev server, REPL, atau watch task lama | shell_start + shell_read + shell_send |
Memblokir run_shell sampai timeout |
| Structured analysis atau file generation | run_python |
Shell pipeline rapuh untuk JSON/text kompleks |
| Edit exact kecil | file_edit |
Menulis ulang file penuh tanpa perlu |
| Satu atau beberapa replacement dalam satu file | file_edit with an edits array |
Mengulang stale edit tanpa membaca ulang |
| Multi-file patch | file_patch |
Ad hoc shell edit |
| Mencari file | file_tree, file_glob |
Recursive listing penuh pada repository besar |
| Mencari code | file_grep |
Membaca banyak file secara buta |
| Browser evidence | browser_snapshot, browser_run_script |
Menebak dari nama page/route |
| Downloadable artifacts | link_create |
Menempel binary content besar ke chat |
| Remote machine work | normal tools with machine, plus remote_transfer |
Membuka inbound SSH saat outbound worker sudah cukup |
Template prompt¶
Orientasi read-only repository¶
Gunakan local-shell-mcp. Inspeksi layout repository dan git status. Jangan ubah file. Rangkum component utama, test command yang dapat disimpulkan, dan risk yang jelas sebelum membuat perubahan.
Focused bug fix¶
Gunakan local-shell-mcp untuk memperbaiki bug. Pertama reproduce atau locate dengan relevant command terkecil. Baca file sebelum edit. Buat minimal patch, jalankan targeted verification, lalu tampilkan git diff dan tests tepat yang dijalankan. Jangan commit sampai saya menyetujui.
Workflow commit dan push¶
Gunakan local-shell-mcp. Periksa git status dan diff, jalankan relevant tests dan secret_scan, buat satu focused commit dengan message ringkas, lalu push current branch. Jangan sertakan cache, build artifacts, atau unrelated formatting.
Long-running process¶
Mulai dev server dalam persistent shell session, baca output sampai ready, lalu gunakan browser tools untuk memverifikasi page. Simpan session id dan kill session setelah verifikasi.
Remote worker task¶
Gunakan remote worker terhubung bernama <machine>. Pertama panggil environment_get dengan machine=<machine>, lalu file_list dengan machine yang sama. Kerjakan hanya di configured remote workdir. Gunakan run_shell untuk command singkat dan shell_start atau job_start untuk pekerjaan lama.
Bekerja dengan repositories¶
Sequence yang disarankan untuk perubahan open-source:
- Jalankan
git status --short --branchmelaluirun_shell. - Fetch dan inspect branches dengan explicit Git CLI saat upstream state penting.
- Gunakan
file_grepdanfile_readsebelum edit. - Buat minimal patch.
- Jalankan targeted tests dahulu, lalu broader tests jika praktis.
- Jalankan
secret_scansebelum commit atau push. - Stage dan commit secara eksplisit dengan message ringkas.
Minta satu commit per logical change bila maintainer membutuhkan history yang mudah direview.
Bekerja dengan generated artifacts¶
Untuk PDF, report, screenshot, archive, atau log:
- Generate file di dalam workspace.
- Verifikasi file ada dan ukurannya sesuai.
- Gunakan
link_createdengan TTL singkat dan optionalmax_downloads. - Revoke link ketika tidak lagi dibutuhkan.
Jangan buat public link untuk private key, credential directory, atau unrelated personal data.
Bekerja dengan remote machines¶
Remote worker mode berguna ketika machine bisa melakukan outbound HTTPS tetapi tidak bisa menerima inbound SSH.
Praktik baik:
- Buat atau rename machine dengan
remote_manage(action="invite", ...)atauremote_manage(action="rename", ...). - Panggil
environment_get(machine=...)sebelum bertindak. - Gunakan
remote_transferuntuk memulai controller/worker atau worker/worker transfer jobs, lalu kelola dengan normaljob_*tools. - Revoke worker setelah task dengan
remote_manage(action="revoke", ...).
Anti-patterns¶
Hindari instruksi ini kecuali environment disposable dan konsekuensinya dipahami:
- “Install apa pun yang diperlukan secara global” pada host-launched server.
- “Jalankan sampai berhasil” tanpa time bound atau verification criteria.
- “Commit semuanya” pada repository dengan generated artifacts.
- “Expose seluruh home directory” demi kenyamanan.
- “Buat file link untuk seluruh workspace”.
- Menjalankan public deployment dengan
LOCAL_SHELL_MCP_AUTH_MODE=none.