Modes d’utilisation et guide de prompting¶
local-shell-mcp expose des outils puissants. Les bons résultats dépendent du fait de demander au modèle d’inspecter d’abord, d’agir par petites étapes, de vérifier et de rapporter ce qui a changé.
Boucle opérationnelle générale¶
Utilisez cette boucle pour la plupart des tâches de code :
- Inspecter :
environment_get,file_tree,file_grep,file_readetrun_shellpour des commandes commegit status. - Planifier : demander au modèle d’identifier les fichiers et tests minimaux concernés.
- Éditer : utiliser
file_edit,file_patchou des commandes shell. - Vérifier : exécuter tests/builds ciblés avec
run_shellou des shells persistants. - Revoir : exécuter
git diffviarun_shell, puissecret_scanetaudit_tailsi nécessaire. - Commit/export : utiliser des commandes Git CLI explicites via
run_shelloulink_create.
Choix des outils¶
| Tâche | Préférer | Éviter |
|---|---|---|
| Commande one-shot rapide | run_shell |
Démarrer un shell persistant pour chaque commande |
| Dev server, REPL ou watch task longue | shell_start + shell_read + shell_send |
Bloquer run_shell jusqu’au timeout |
| Analyse structurée ou génération de fichiers | run_python |
Pipelines shell fragiles pour JSON/texte complexe |
| Petite édition exacte | file_edit |
Réécrire tout un fichier sans nécessité |
| Une ou plusieurs substitutions dans un fichier | file_edit with an edits array |
Répéter des edits périmés sans relire |
| Patch multi-fichiers | file_patch |
Éditions shell ad hoc |
| Trouver des fichiers | file_tree, file_glob |
Listage récursif complet de gros repositories |
| Trouver du code | file_grep |
Lire de nombreux fichiers à l’aveugle |
| Preuves navigateur | browser_snapshot, browser_run_script |
Deviner à partir des noms de page ou routes |
| Artefacts téléchargeables | link_create |
Coller du contenu binaire volumineux dans le chat |
| Travail sur machine distante | normal tools with machine, plus remote_transfer |
Ouvrir SSH entrant quand outbound worker suffit |
Modèles de prompt¶
Orientation read-only du repository¶
Utilise local-shell-mcp. Inspecte le layout du repository et git status. Ne modifie aucun fichier. Résume les composants principaux, les commandes de test que tu peux déduire et les risques évidents avant toute modification.
Correction ciblée de bug¶
Utilise local-shell-mcp pour corriger le bug. Commence par le reproduire ou le localiser avec la plus petite commande pertinente. Lis les fichiers avant de les modifier. Fais un patch minimal, exécute la vérification ciblée, puis montre git diff et les tests exacts exécutés. Ne commit pas avant mon approbation.
Workflow commit et push¶
Utilise local-shell-mcp. Vérifie git status et diff, exécute les tests pertinents et secret_scan, crée un seul commit ciblé avec un message concis, puis push la branch courante. N’inclus pas caches, artefacts de build ou formatting sans rapport.
Processus long¶
Démarre le dev server dans une persistent shell session, lis le output jusqu’à ce qu’il soit ready, puis utilise les browser tools pour vérifier la page. Conserve le session id et arrête la session après vérification.
Tâche remote worker¶
Utilise le remote worker connecté nommé <machine>. Appelle d’abord environment_get avec machine=<machine>, puis file_list avec la même machine. Travaille uniquement dans le remote workdir configuré. Utilise run_shell pour les commandes courtes et shell_start ou job_start pour les tâches longues.
Travail avec les repositories¶
Séquence recommandée pour des changements open-source :
- Exécuter
git status --short --branchviarun_shell. - Fetch et inspecter les branches avec des commandes Git CLI explicites lorsque upstream state compte.
- Utiliser
file_grepetfile_readavant d’éditer. - Faire un patch minimal.
- Exécuter d’abord les tests ciblés, puis des tests plus larges si possible.
- Exécuter
secret_scanavant commit ou push. - Stage et commit explicitement avec un message concis.
Demandez un commit par changement logique lorsque les maintainers ont besoin d’un historique facilement révisable.
Travail avec les artefacts générés¶
Pour PDF, reports, screenshots, archives ou logs :
- Générer le fichier dans le workspace.
- Vérifier qu’il existe et a la taille attendue.
- Utiliser
link_createavec TTL court etmax_downloadsoptionnel. - Révoquer le lien lorsqu’il n’est plus nécessaire.
Ne créez pas de liens publics pour private keys, credential directories ou données personnelles sans rapport.
Travail avec des machines distantes¶
Remote worker mode est utile quand une machine peut faire des requêtes HTTPS sortantes mais ne peut pas accepter SSH entrant.
Bonnes pratiques :
- Créer ou renommer les machines avec
remote_manage(action="invite", ...)ouremote_manage(action="rename", ...). - Appeler
environment_get(machine=...)avant d’agir. - Utiliser
remote_transferpour lancer des transfer jobs controller/worker ou worker/worker, puis les gérer avec les outilsjob_*normaux. - Révoquer les workers après la tâche avec
remote_manage(action="revoke", ...).
Anti-patterns¶
Évitez ces instructions sauf si l’environnement est jetable et les conséquences comprises :
- « Installe globalement tout ce qui est nécessaire » sur un server lancé sur host.
- « Exécute jusqu’à ce que ça marche » sans limite de temps ni critères de vérification.
- « Commit tout » dans un repository contenant des artefacts générés.
- « Expose tout le home directory » par commodité.
- « Crée un file link pour tout le workspace ».
- Exécuter un deployment public avec
LOCAL_SHELL_MCP_AUTH_MODE=none.