Сценарии использования и руководство по prompting¶
local-shell-mcp предоставляет мощные tools. Хороший результат требует сначала осмотреть среду, действовать маленькими шагами, выполнять проверку и сообщать, что изменилось.
Общий рабочий цикл¶
Для большинства coding-задач используйте этот цикл:
- Inspect:
environment_get,file_tree,file_grep,file_readиrun_shellдля команд вродеgit status. - Plan: попросить модель определить минимальный набор файлов и tests.
- Edit: использовать
file_edit,file_patchили shell commands. - Verify: запускать targeted tests/builds через
run_shellили persistent shells. - Review: запускать
git diffчерезrun_shell, затем при необходимостиsecret_scanиaudit_tail. - Commit/export: явные Git CLI commands через
run_shellилиlink_create.
Выбор инструмента¶
| Задача | Предпочитать | Избегать |
|---|---|---|
| Короткая one-shot команда | run_shell |
Запускать persistent shell для каждой команды |
| Долгий dev server, REPL, watch task | shell_start + shell_read + shell_send |
Блокировать run_shell до timeout |
| Structured analysis / file generation | run_python |
Хрупкие shell pipelines для сложного JSON/text |
| Маленький exact edit | file_edit |
Переписывать файл целиком без необходимости |
| Одна или несколько замен в одном файле | file_edit with an edits array |
Повторять stale edits без перечитывания |
| Multi-file patch | file_patch |
Ad hoc shell edits |
| Поиск файлов | file_tree, file_glob |
Полные recursive listings больших repositories |
| Поиск кода | file_grep |
Читать много файлов вслепую |
| Browser evidence | browser_snapshot, browser_run_script |
Угадывать по названиям страниц/routes |
| Downloadable artifacts | link_create |
Вставлять большие binary data в chat |
| Работа на remote machine | normal tools with machine, plus remote_transfer |
Открывать inbound SSH, когда достаточно outbound worker |
Шаблоны prompt¶
Read-only ориентация по repository¶
Используй local-shell-mcp. Изучи layout repository и git status. Не меняй файлы. До изменений кратко опиши основные компоненты, предполагаемые test commands и очевидные риски.
Точечное исправление bug¶
Используй local-shell-mcp для исправления bug. Сначала воспроизведи или локализуй его минимальной релевантной командой. Прочитай файлы до редактирования. Сделай минимальный patch, запусти targeted verification, затем покажи git diff и точные tests. Не делай commit до моего подтверждения.
Workflow commit и push¶
Используй local-shell-mcp. Проверь git status и diff, запусти нужные tests и secret_scan, создай один focused commit с коротким message, затем push текущую branch. Не включай caches, build artifacts или несвязанный formatting.
Долгий процесс¶
Запусти dev server в persistent shell session, читай output до ready, затем проверь страницу browser tools. Сохрани session id и kill сессию после проверки.
Задача Remote worker¶
Используй подключённый remote worker <machine>. Сначала вызови environment_get с machine=<machine>, затем file_list с той же machine. Работай только в configured remote workdir. Для коротких команд используй run_shell, для долгих — shell_start или job_start.
Работа с repositories¶
Рекомендуемая последовательность для open-source changes:
- Запустить
git status --short --branchчерезrun_shell. - Fetch и inspect branches явными Git CLI командами, когда важен upstream state.
- Использовать
file_grepиfile_readдо edit. - Сделать минимальный patch.
- Сначала targeted tests, затем более широкие, если это практично.
- Запустить
secret_scanперед commit/push. - Явно stage и commit с коротким message.
Просите один commit на logical change, если maintainers нужен удобный для review history.
Работа с generated artifacts¶
Для PDF, reports, screenshots, archives или logs:
- Сгенерировать файл внутри workspace.
- Проверить наличие и ожидаемый размер.
- Использовать
link_createс коротким TTL и optionalmax_downloads. - Revoke ссылку, когда она больше не нужна.
Не создавайте public links для private keys, credential directories или несвязанных personal data.
Работа с remote machines¶
Remote worker mode полезен, когда машина может выполнять outbound HTTPS requests, но не принимать inbound SSH.
Рекомендации:
- Создавать/переименовывать machines через
remote_manage(action="invite", ...)илиremote_manage(action="rename", ...). - Перед действиями вызывать
environment_get(machine=...). - Через
remote_transferзапускать controller/worker и worker/worker transfer jobs, затем управлять обычнымиjob_*tools. - После задачи revoke workers через
remote_manage(action="revoke", ...).
Anti-patterns¶
Избегайте этих указаний, если среда не disposable или последствия не понятны:
- «Установи глобально всё необходимое» на server, запущенном на host.
- «Запускай, пока не заработает» без временных ограничений и verification criteria.
- «Commit всё» в repository с generated artifacts.
- «Expose весь home directory» ради удобства.
- «Создай file link на весь workspace».
- Public deployment с
LOCAL_SHELL_MCP_AUTH_MODE=none.