Dropstone CLI

Strumenti

Gestisci gli strumenti che un LLM può utilizzare.

Gli strumenti consentono all'LLM di eseguire azioni nel tuo codebase. Dropstone viene fornito con una serie di strumenti integrati, ma puoi estenderlo con strumenti personalizzati o server MCP.

Per impostazione predefinita, tutti gli strumenti sono abilitati e non richiedono autorizzazione per essere eseguiti. Puoi controllare il comportamento degli strumenti tramite le autorizzazioni.


Configurazione

Usa il campo permission per controllare il comportamento degli strumenti. Puoi consentire, negare o richiedere approvazione per ciascuno strumento.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "edit": "deny",
    "bash": "ask",
    "webfetch": "allow"
  }
}

Puoi anche usare i caratteri jolly per controllare più strumenti contemporaneamente. Ad esempio, per richiedere l'approvazione per tutti gli strumenti di un server MCP:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "mymcp_*": "ask"
  }
}

Scopri di più sulla configurazione delle autorizzazioni.


Strumenti integrati

Ecco tutti gli strumenti integrati disponibili in Dropstone.


bash

Esegui comandi shell nell'ambiente del tuo progetto.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "bash": "allow"
  }
}

Questo strumento consente all'LLM di eseguire comandi da terminale come npm install, git status o qualsiasi altro comando shell.


edit

Modifica file esistenti utilizzando sostituzioni esatte di stringhe.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "edit": "allow"
  }
}

Questo strumento esegue modifiche precise ai file sostituendo corrispondenze esatte di testo. È il modo principale con cui l'LLM modifica il codice.


write

Crea nuovi file o sovrascrivi quelli esistenti.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "edit": "allow"
  }
}

Usa questo strumento per consentire all'LLM di creare nuovi file. Sovrascriverà i file esistenti se già presenti.

Note

Lo strumento write è controllato dall'autorizzazione edit, che copre tutte le modifiche ai file (edit, write, apply_patch).


read

Leggi il contenuto dei file dal tuo codebase.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "read": "allow"
  }
}

Questo strumento legge i file e restituisce il loro contenuto. Supporta la lettura di intervalli di righe specifici per file di grandi dimensioni.


grep

Cerca nel contenuto dei file utilizzando espressioni regolari.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "grep": "allow"
  }
}

Ricerca veloce del contenuto in tutto il codebase. Supporta la sintassi completa delle regex e il filtraggio per pattern di file.


glob

Trova file tramite corrispondenza di pattern.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "glob": "allow"
  }
}

Cerca file utilizzando pattern glob come **/*.js o src/**/*.ts. Restituisce i percorsi dei file corrispondenti ordinati per data di modifica.


lsp (sperimentale)

Interagisci con i tuoi server LSP configurati per ottenere funzionalità di intelligence del codice come definizioni, riferimenti, informazioni al passaggio del mouse e gerarchia delle chiamate.

Sperimentale

Lo strumento LSP è sperimentale e disabilitato per impostazione predefinita. Il comportamento potrebbe cambiare tra le versioni.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "lsp": "allow"
  }
}

Le operazioni supportate includono goToDefinition, findReferences, hover, documentSymbol, workspaceSymbol, goToImplementation, prepareCallHierarchy, incomingCalls e outgoingCalls.

Per configurare quali server LSP sono disponibili per il tuo progetto, consulta Server LSP.


apply_patch

Applica patch ai file.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "edit": "allow"
  }
}

Questo strumento applica file di patch al tuo codebase. Utile per applicare diff e patch provenienti da varie fonti.

Quando gestisci gli hook tool.execute.before o tool.execute.after, controlla input.tool === "apply_patch" (non "patch").

apply_patch usa output.args.patchText invece di output.args.filePath. I percorsi sono incorporati nelle righe di marcatura all'interno di patchText e sono relativi alla radice del progetto (ad esempio: *** Add File: src/new-file.ts, *** Update File: src/existing.ts, *** Move to: src/renamed.ts, *** Delete File: src/obsolete.ts).

Note

Lo strumento apply_patch è controllato dall'autorizzazione edit, che copre tutte le modifiche ai file (edit, write, apply_patch).


skill

Carica una skill (un file SKILL.md) e restituisce il suo contenuto nella conversazione.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "skill": "allow"
  }
}

todowrite

Gestisci le liste di attività durante le sessioni di coding.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "todowrite": "allow"
  }
}

Crea e aggiorna elenchi di attività per monitorare i progressi durante operazioni complesse. L'LLM lo usa per organizzare attività multi-step.

Note

Questo strumento è disabilitato per i subagent per impostazione predefinita, ma puoi abilitarlo manualmente. Scopri di più.


webfetch

Recupera contenuti web.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "webfetch": "allow"
  }
}

Consente all'LLM di recuperare e leggere pagine web. Utile per consultare documentazione o ricercare risorse online.


websearch

Cerca informazioni sul web. Disponibile per impostazione predefinita quando hai effettuato l'accesso a Dropstone.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "websearch": "allow"
  }
}

Esegue ricerche web per trovare informazioni pertinenti online. Utile per ricercare argomenti, trovare eventi attuali o raccogliere informazioni oltre il limite dei dati di addestramento. Non è richiesta alcuna chiave API o configurazione aggiuntiva quando hai effettuato l'accesso a Dropstone.

Tip

Usa websearch quando devi trovare informazioni (scoperta) e webfetch quando devi recuperare contenuti da un URL specifico (recupero).


question

Fai domande all'utente durante l'esecuzione.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "question": "allow"
  }
}

Questo strumento consente all'LLM di fare domande all'utente durante un'attività. È utile per:

  • Raccogliere preferenze o requisiti dell'utente
  • Chiarire istruzioni ambigue
  • Ottenere decisioni sulle scelte di implementazione
  • Offrire opzioni sulla direzione da prendere

Ogni domanda include un'intestazione, il testo della domanda e un elenco di opzioni. Gli utenti possono selezionare tra le opzioni fornite o digitare una risposta personalizzata. Quando ci sono più domande, gli utenti possono navigare tra di esse prima di inviare tutte le risposte.


Strumenti personalizzati

Gli strumenti personalizzati ti consentono di definire le tue funzioni che l'LLM può chiamare. Queste sono definite nel tuo file di configurazione e possono eseguire codice arbitrario.

Scopri di più sulla creazione di strumenti personalizzati.


Server MCP

I server MCP (Model Context Protocol) ti consentono di integrare strumenti e servizi esterni. Ciò include accesso a database, integrazioni API e servizi di terze parti.

Scopri di più sulla configurazione dei server MCP.


Pattern di ignoramento

Per impostazione predefinita, grep e glob rispettano il tuo .gitignore: i file e le directory elencati lì sono esclusi dalle ricerche e dagli elenchi.

Per includere file che normalmente verrebbero ignorati, crea un file .ignore nella radice del tuo progetto. Questo file può consentire esplicitamente determinati percorsi.

!node_modules/
!dist/
!build/

Ad esempio, questo file .ignore consente la ricerca all'interno delle directory node_modules/, dist/ e build/ anche se sono elencate in .gitignore.

Ctrl+I