Comandos
Crie comandos personalizados para tarefas repetitivas.
Comandos personalizados permitem que você especifique um prompt que será executado quando esse comando for acionado na sua sessão.
/my-command
Comandos personalizados são adicionais aos comandos integrados como /init, /undo, /redo, /help. Saiba mais.
Criar arquivos de comando
Crie arquivos markdown no diretório commands/ para definir comandos personalizados.
Crie .dropstone/commands/test.md:
---
description: Run tests with coverage
agent: build
model: dropstone/dropstone-pro
---
Run the full test suite with coverage report and show any failures.
Focus on the failing tests and suggest fixes.
O frontmatter define as propriedades do comando. O conteúdo se torna o template.
Use o comando digitando / seguido do nome do comando.
/test
Configurar
Você pode adicionar comandos personalizados através da configuração do Dropstone ou criando arquivos markdown no diretório commands/.
JSON
Use a opção command na sua configuração do Dropstone:
{
"$schema": "https://dropstone.io/schema/config.json",
"command": {
// Isto se torna o nome do comando
"test": {
// Este é o prompt que será enviado ao LLM
"template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes.",
// Exibido como descrição na paleta de comandos de barra
"description": "Run tests with coverage",
"agent": "build",
"model": "dropstone/dropstone-pro"
}
}
}
Agora você pode executar este comando de qualquer sessão:
/test
Markdown
Você também pode definir comandos usando arquivos markdown. Coloque-os em:
- Global:
~/.config/dropstone/commands/ - Por projeto:
.dropstone/commands/
---
description: Run tests with coverage
agent: build
model: dropstone/dropstone-pro
---
Run the full test suite with coverage report and show any failures.
Focus on the failing tests and suggest fixes.
O nome do arquivo markdown se torna o nome do comando. Por exemplo, test.md permite que você execute:
/test
Configuração do prompt
Os prompts dos comandos personalizados suportam vários placeholders e sintaxes especiais.
Argumentos
Passe argumentos para comandos usando o placeholder $ARGUMENTS.
---
description: Create a new component
---
Create a new React component named $ARGUMENTS with TypeScript support.
Include proper typing and basic structure.
Execute o comando com argumentos:
/component Button
E $ARGUMENTS será substituído por Button.
Você também pode acessar argumentos individuais usando parâmetros posicionais:
$1- Primeiro argumento$2- Segundo argumento$3- Terceiro argumento- E assim por diante...
Por exemplo:
---
description: Create a new file with content
---
Create a file named $1 in the directory $2
with the following content: $3
Execute o comando:
/create-file config.json src "{ \"key\": \"value\" }"
Isto substitui:
$1porconfig.json$2porsrc$3por{ "key": "value" }
Saída de shell
Use !comando para injetar a saída de comandos de shell no seu prompt.
Por exemplo, para criar um comando personalizado que analisa a cobertura de testes:
---
description: Analyze test coverage
---
Here are the current test results:
!`npm test`
Based on these results, suggest improvements to increase coverage.
Ou para revisar mudanças recentes:
---
description: Review recent changes
---
Recent git commits:
!`git log --oneline -10`
Review these changes and suggest any improvements.
Os comandos são executados no diretório raiz do seu projeto e sua saída se torna parte do prompt.
Referências a arquivos
Inclua arquivos no seu comando usando @ seguido do nome do arquivo.
---
description: Review component
---
Review the component in @src/components/Button.tsx.
Check for performance issues and suggest improvements.
O conteúdo do arquivo é incluído no prompt automaticamente.
Opções
Vamos analisar as opções de configuração em detalhes.
Template
A opção template define o prompt que será enviado ao LLM quando o comando for executado.
{
"command": {
"test": {
"template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes."
}
}
}
Esta é uma opção de configuração obrigatória.
Descrição
Use a opção description para fornecer uma breve descrição do que o comando faz.
{
"command": {
"test": {
"description": "Run tests with coverage"
}
}
}
Isto é exibido ao lado do comando na paleta de comandos de barra.
Agente
Use a configuração agent para especificar opcionalmente qual agente deve executar este comando.
Se este for um subagente, o comando acionará uma invocação de subagente por padrão.
Para desabilitar este comportamento, defina subtask como false.
{
"command": {
"review": {
"agent": "plan"
}
}
}
Esta é uma opção de configuração opcional. Se não for especificada, o padrão é o seu agente atual.
Subtarefa
Use o booleano subtask para forçar o comando a acionar uma invocação de subagente.
Isto é útil se você quiser que o comando não polua seu contexto principal e forçará o agente a atuar como subagente,
mesmo se mode estiver definido como primary na configuração do agente.
{
"command": {
"analyze": {
"subtask": true
}
}
}
Esta é uma opção de configuração opcional.
Modelo
Use a configuração model para substituir o modelo padrão para este comando.
{
"command": {
"analyze": {
"model": "dropstone/dropstone-pro"
}
}
}
Esta é uma opção de configuração opcional.
Integrados
O Dropstone inclui vários comandos integrados como /init, /undo, /redo, /help. Saiba mais.
O comando integrado /review executa uma revisão em múltiplas fases — ângulos de busca, verificação independente e, em seguida, uma lista limitada de descobertas. Controle sua profundidade com review.effort.
Note
Comandos personalizados podem substituir os integrados. Se você definir um comando personalizado com o mesmo nome de um integrado, o personalizado vence.