Skip to content

Strumenti

Strumenti disponibili per gli agenti di TurboDev.

Gli agenti hanno accesso a un insieme di strumenti per interagire con il tuo codice. La disponibilità degli strumenti può essere controllata per ogni agente tramite la configurazione tools.

Riferimento

StrumentoDescrizione
bashEsegue comandi shell
edit_fileCrea o modifica file
gitEsegue operazioni Git
githubEsegue operazioni GitHub
grepCerca nel contenuto dei file con regex
list_filesElenca il contenuto di una directory
mkdirCrea directory
questionPone una domanda all'utente
read_fileLegge il contenuto di un file
taskInvoca un sottoagente

read_file

Legge l'intero contenuto di un file.

Argomenti: { path: string }

read_file({ "path": "src/index.ts" })

edit_file

Crea o modifica un file. Se old_str è vuoto, crea il file con new_str. Altrimenti, cerca e sostituisce la prima occorrenza di old_str con new_str.

Argomenti: { path: string, old_str: string, new_str: string }

edit_file({ "path": "src/app.ts", "old_str": "hello", "new_str": "world" })

list_files

Elenca file e directory in un dato percorso.

Argomenti: { path?: string } (directory corrente come predefinita)

list_files({ "path": "src" })

mkdir

Crea una nuova directory, incluse le directory padre.

Argomenti: { path: string }

mkdir({ "path": "src/components/ui" })

grep

Cerca nel contenuto dei file usando espressioni regolari.

Argomenti: { pattern: string, include?: string, path?: string }

grep({ "pattern": "TODO", "include": "*.ts" })

bash

Esegue un comando shell e restituisce l'output.

Argomenti: { command: string, timeout?: number, workdir?: string }

bash({ "command": "npm test", "timeout": 60000 })

question

Pone una domanda all'utente e attende la risposta.

Argomenti: { question: string, options?: string[] }

question({ "question": "Quale framework?", "options": ["react", "vue"] })

task

Invoca un sottoagente per un'attività specializzata.

Argomenti: { agent: string, prompt: string, description: string }

task({ "agent": "explore", "prompt": "trova tutte le route API", "description": "Esplora le route API" })

Attenzione

Lo strumento task è disabilitato per l'agente plan per impostazione predefinita.

git

Esegue operazioni Git tramite simple-git. Supporta 26 operazioni tra cui status, log, diff, add, commit, push, pull, branch, stash, remote e altre.

Argomenti: { operation: string, args?: any }

git({ "operation": "status" })
git({ "operation": "log", "args": { "maxCount": 10 } })
git({ "operation": "commit", "args": { "message": "fix: risolto bug" } })

Operazioni disponibili: status, log, diff, add, commit, push, pull, branch, checkout, stash, remote, fetch, reset, revert, tag, merge, rebase, init, clone, addRemote, removeRemote, listRemotes, raw, diffSummary, show, clean.

Pericolo

Le operazioni Git che modificano il repository (commit, push, reset, revert, clean, ecc.) richiedono l'autorizzazione esplicita dell'utente.

github

Esegue operazioni GitHub tramite la CLI gh. Supporta 15 operazioni tra cui gestione PR, issue, release e autenticazione.

Argomenti: { operation: string, args?: any }

github({ "operation": "createPr", "args": { "title": "Correzione bug", "body": "Descrizione" } })
github({ "operation": "listPrs" })
github({ "operation": "createIssue", "args": { "title": "Segnalazione bug", "body": "Passi per riprodurre" } })

Operazioni disponibili: authStatus, createPr, listPrs, viewPr, mergePr, closePr, createIssue, listIssues, closeIssue, createRelease, listReleases, repoView, repoClone, runList, runView.

Richiede che la GitHub CLI (gh) sia installata e autenticata. Esegui /gh auth per configurare l'autenticazione.

Controllare l'accesso agli strumenti

Gli strumenti possono essere abilitati o disabilitati per ogni agente nella configurazione Markdown:

yaml
tools:
  edit_file: false
  bash: false
  task: false

Quando uno strumento è disabilitato (false), l'agente riceve un errore se tenta di utilizzarlo: Tool "edit_file" is denied for agent "plan".

Scopri di più sui permessi