Kullanım kalıpları ve prompting kılavuzu¶
local-shell-mcp güçlü tools sunar. İyi sonuçlar için modelden önce inceleme, küçük adımlarla hareket etme, doğrulama ve nelerin değiştiğini raporlama istenmelidir.
Genel çalışma döngüsü¶
Çoğu coding task için bu döngüyü kullanın:
- Inspect:
environment_get,file_tree,file_grep,file_readvegit statusgibi komutlar içinrun_shell. - Plan: modelden ilgili minimum files ve tests kümesini belirlemesini isteyin.
- Edit:
file_edit,file_patchveya shell commands kullanın. - Verify:
run_shellveya persistent shells ile targeted tests/builds çalıştırın. - Review:
run_shellüzerindengit diff, gerektiğindesecret_scanveaudit_tailçalıştırın. - Commit/export:
run_shellüzerinden explicit Git CLI commands veyalink_createkullanın.
Tool seçimi¶
| Task | Tercih et | Kaçın |
|---|---|---|
| Kısa one-shot command | run_shell |
Her command için persistent shell başlatmak |
| Uzun dev server, REPL, watch task | shell_start + shell_read + shell_send |
run_shellu timeout’a kadar bloklamak |
| Structured analysis veya file generation | run_python |
Karmaşık JSON/text için kırılgan shell pipelines |
| Küçük exact edit | file_edit |
Gereksiz tüm dosya rewrite |
| Bir dosyada bir veya birkaç replacement | file_edit with an edits array |
Yeniden okumadan stale edit tekrarlamak |
| Multi-file patch | file_patch |
Ad hoc shell edit |
| File bulma | file_tree, file_glob |
Büyük repository’lerin tam recursive listing’i |
| Code bulma | file_grep |
Çok sayıda file’ı körlemesine okumak |
| Browser evidence | browser_snapshot, browser_run_script |
Page name veya route’dan tahmin etmek |
| Downloadable artifacts | link_create |
Büyük binary content’i chat’e yapıştırmak |
| Remote machine work | normal tools with machine, plus remote_transfer |
Outbound worker yeterliyken inbound SSH açmak |
Prompt şablonları¶
Read-only repository orientation¶
local-shell-mcp kullan. repository layout ve git status’u incele. Dosyaları değiştirme. Değişiklikten önce ana component’leri, çıkarabildiğin test command’larını ve belirgin riskleri özetle.
Focused bug fix¶
Bug’ı düzeltmek için local-shell-mcp kullan. Önce en küçük relevant command ile reproduce veya locate et. Edit öncesi dosyaları oku. Minimal patch yap, targeted verification çalıştır, sonra git diff ve çalıştırılan tam tests listesini göster. Ben onaylamadan commit yapma.
Commit ve push workflow¶
local-shell-mcp kullan. git status ve diff’i kontrol et, relevant tests ve secret_scan çalıştır, kısa mesajlı tek focused commit oluştur, sonra current branch’i push et. Cache, build artifacts veya unrelated formatting ekleme.
Long-running process¶
Dev server’ı persistent shell session içinde başlat, ready olana kadar output’u oku, sonra browser tools ile page’i doğrula. session id’yi tut ve doğrulamadan sonra session’ı kill et.
Remote worker task¶
Bağlı remote worker <machine> kullan. Önce machine=<machine> ile environment_get, sonra aynı machine ile file_list çağır. Yalnız configured remote workdir içinde çalış. Kısa command için run_shell, uzun iş için shell_start veya job_start kullan.
Repositories ile çalışma¶
Open-source değişiklikler için önerilen sequence:
run_shellilegit status --short --branchçalıştır.- Upstream state önemliyse explicit Git CLI ile fetch ve branch inspect yap.
- Edit öncesi
file_grepvefile_readkullan. - Minimal patch yap.
- Önce targeted tests, sonra uygunsa broader tests çalıştır.
- Commit/push öncesi
secret_scançalıştır. - Explicit stage ve kısa mesajlı commit yap.
Maintainer’ların review edebileceği history için logical change başına bir commit isteyin.
Generated artifacts ile çalışma¶
PDF, report, screenshot, archive veya log için:
- File’ı workspace içinde generate et.
- File’ın varlığını ve expected size’ı doğrula.
- Kısa TTL ve optional
max_downloadsilelink_createkullan. - Artık gerekmiyorsa link’i revoke et.
Private key, credential directory veya unrelated personal data için public link oluşturmayın.
Remote machines ile çalışma¶
Remote worker mode, machine outbound HTTPS yapabildiği ancak inbound SSH kabul edemediği durumlarda yararlıdır.
İyi uygulamalar:
remote_manage(action="invite", ...)veyaremote_manage(action="rename", ...)ile machine oluştur/rename et.- İşlemden önce
environment_get(machine=...)çağır. remote_transferile controller/worker veya worker/worker transfer jobs başlat ve normaljob_*tools ile yönet.- Task sonrasında
remote_manage(action="revoke", ...)ile worker revoke et.
Anti-patterns¶
Environment disposable değilse ve sonuçlar tam anlaşılmıyorsa şu talimatlardan kaçının:
- Host-launched server’da “gereken her şeyi global install et”.
- Time bound veya verification criteria olmadan “çalışana kadar çalıştır”.
- Generated artifacts içeren repository’de “her şeyi commit et”.
- Kolaylık için “tüm home directory’yi expose et”.
- “Tüm workspace için file link oluştur”.
LOCAL_SHELL_MCP_AUTH_MODE=noneile public deployment çalıştırmak.