Verboo

Ferramentas

O Verboo Code expõe ferramentas especializadas para o agente executar tarefas. Cada ferramenta tem um schema de entrada validado, e algumas geram saídas progressivas (streaming). O agente decide qual ferramenta usar com base no contexto.

Shell e sistema operacional

Bash

Executa comandos shell. Suporta timeouts, modo background, streaming de progresso e detecção de sandbox.

Parâmetros:

Parâmetro Tipo Descrição
command string Comando a executar
timeout number Timeout em ms (padrão: 120000)
description string Descrição do que o comando faz
run_in_background bool Executa em background (retorna taskId)
dangerouslyDisableSandbox bool Desabilita o sandbox (requer permissão explícita)

Auto-background: Comandos que demoram mais de 2 segundos são colocados em background automaticamente. Comandos comuns de longa duração (npm install, cargo build, etc.) vão direto para background.

Parsing de sed: O Bash Tool detecta e valida edições sed -i para evitar danos acidentais a arquivos.

PowerShell

Mesma interface do Bash, mas executa via PowerShell no Windows.

Leitura e escrita de arquivos

Read

Lê arquivos do filesystem. Suporta offset e limit (número de linhas), leitura de imagens (PNG, JPG), PDFs (com seleção de páginas) e Jupyter notebooks.

Parâmetro Descrição
file_path Caminho absoluto do arquivo
offset Linha inicial (0-indexed)
limit Número de linhas a ler
pages Intervalo de páginas para PDFs (ex: "1-5")

Write

Cria ou sobrescreve arquivos.

Parâmetro Descrição
file_path Caminho absoluto do arquivo
content Conteúdo a escrever

Edit

Faz substituições exatas de strings em arquivos. Requer que a string a substituir seja única no arquivo.

Parâmetro Descrição
file_path Caminho absoluto do arquivo
old_string Texto a substituir (deve ser único)
new_string Novo texto
replace_all Se true, substitui todas as ocorrências

Glob

Busca arquivos por padrão glob.

Parâmetro Descrição
pattern Padrão glob (ex: src/**/*.ts)
path Diretório base da busca

Grep

Busca texto em arquivos usando ripgrep (muito mais rápido que find + grep).

Parâmetro Descrição
pattern Expressão regular a buscar
path Diretório ou arquivo
include Padrão de arquivos a incluir (ex: *.ts)
exclude Padrão de arquivos a excluir

Web

WebFetch

Faz requisições HTTP e retorna o conteúdo como texto ou Markdown. Usa Firecrawl quando disponível para melhor extração de conteúdo de sites complexos.

Parâmetro Descrição
url URL a buscar
prompt Instrução de processamento do conteúdo (opcional)

WebSearch

Faz busca na web. Usa DuckDuckGo por padrão (gratuito). Configure FIRECRAWL_API_KEY para resultados melhores via Firecrawl.

Parâmetro Descrição
query Termos de busca
allowed_domains Lista de domínios permitidos
blocked_domains Lista de domínios bloqueados

Linguagem (LSP)

LSP

Integração com Language Server Protocol. Fornece diagnósticos (erros, warnings), definições de símbolos e referências sem executar o compilador.

Operação Descrição
diagnostics Lista erros e warnings do LSP
hover Informações sobre símbolo em posição
definition Ir para definição
references Encontrar referências

Agentes

Agent

Spawna sub-agentes especializados. Cada agente tem acesso ao conjunto completo de ferramentas e pode trabalhar em paralelo com outros.

Parâmetro Descrição
description Descrição curta do que o agente faz
prompt Instruções completas para o agente
subagent_type Tipo especializado (ex: Explore, Plan)
model Modelo a usar (sonnet, opus, haiku)
run_in_background Executa sem bloquear o agente principal
isolation worktree — cria git worktree isolado

Isolamento via worktree: Quando isolation: "worktree", o agente recebe uma cópia isolada do repositório. O worktree é limpo automaticamente se o agente não fizer mudanças.

SendMessage

Envia uma mensagem a um sub-agente em execução (continua com contexto completo).

Parâmetro Descrição
to ID ou nome do agente destinatário
message Mensagem a enviar

Tarefas

O sistema de tarefas permite rastrear e gerenciar trabalho estruturado.

TaskCreate

Cria uma nova tarefa com título, descrição e status.

TaskGet

Obtém detalhes de uma tarefa específica pelo ID.

TaskList

Lista todas as tarefas ativas, filtradas por status.

TaskUpdate

Atualiza o status, título ou descrição de uma tarefa existente.

Status disponíveis: pending, in_progress, completed, cancelled

TaskStop

Cancela uma tarefa em execução.

TaskOutput

Obtém o output atual de uma tarefa em background.

Planejamento

EnterPlanMode

Entra no modo de planejamento (read-only). Neste modo, o agente não pode executar ferramentas destrutivas — apenas ler arquivos, explorar o codebase e escrever no arquivo de plano. Ideal para planejar antes de implementar.

ExitPlanMode

Sai do modo de planejamento e retorna ao modo normal de execução.

Worktrees Git

EnterWorktree

Cria e entra em um git worktree temporário para trabalho isolado. Útil para tasks que precisam de isolamento completo do repositório principal.

Parâmetro Descrição
description Motivo para criar o worktree

ExitWorktree

Sai do worktree atual e limpa o diretório temporário.

Agendamento e remoto

ScheduleCron (CronCreate / CronDelete / CronList)

Gerencia tarefas cron para execução periódica.

CronCreate:

Cria um cron job com expressão, prompt e modelo especificados

CronDelete:

Remove um cron job pelo ID

CronList:

Lista todos os cron jobs ativos

RemoteTrigger

Dispara um agente remoto na infraestrutura da Verboo.

Parâmetro Descrição
operation list, get, create, update, run
trigger_id ID do trigger (para get/update/run)
body Configuração do trigger (para create/update)

MCP

MCPTool

Executa ferramentas expostas por servidores MCP conectados. O schema de entrada é dinâmico (passthrough) e validado em runtime via AJV. Suporta saídas de texto, imagens e outros tipos de conteúdo.

O campo isMcp: true diferencia tools MCP de tools nativas no contexto de permissões e logging.

Interação com o usuário

AskUserQuestion

Faz uma pergunta ao usuário com opções pré-definidas. Essencial em plan mode para clarificar requisitos.

Parâmetro Descrição
questions Array de perguntas com opções

SkillTool

Invoca uma skill registrada pelo nome. Permite que o agente chame skills automaticamente com base no contexto.

Monitoramento

Monitor

Monitora um processo em background, recebendo cada linha de stdout como uma notificação. Ideal para acompanhar builds, testes ou servidores que estão rodando.

Parâmetro Descrição
task_id ID do background task a monitorar
until Condição para parar de monitorar

Limites e permissões

As permissões de cada ferramenta são configuradas em settings.json:

json
{
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "WebFetch(domain:github.com)",
      "Edit"
    ],
    "deny": [
      "Bash(rm -rf *)"
    ]
  }
}

O usuário é consultado para qualquer ferramenta não coberta pelas regras de allow/deny.