Verdent Docs
Recursos avançados

Referência do sistema de ferramentas

Referência completa do sistema de ferramentas do Verdent

O que você vai aprender

Referência abrangente do sistema de ferramentas integrado do Verdent, incluindo operações com arquivos, recursos de busca, execução de comandos e ferramentas de integração.


Visão geral das ferramentas disponíveis

O Verdent for VS Code oferece um conjunto abrangente de ferramentas para manipulação, navegação e interação externa de código.

FerramentaFinalidadePrincipais recursos
file_readLer o conteúdo de arquivosSuporta intervalos de linhas para arquivos grandes, funciona com todos os formatos de texto
file_editModificações direcionadasSubstitui correspondências exatas de texto, múltiplas substituições, preserva a formatação
file_writeCriar ou sobrescrever arquivosCriação/substituição completa de arquivos, lida com conteúdo de texto
FerramentaFinalidadePrincipais recursos
bashExecução de comandos de shellConfiguração de tempo limite, descrições resumidas, encadeamento de comandos
spawn_subagentDelegar a especialistasInicia subagentes general, explorer, verifier ou code-reviewer
todo_updateAcompanhar o progresso das tarefasGerencia listas de tarefas, atualiza status, acompanha o progresso
FerramentaFinalidadePrincipais recursos
web_searchBusca na internetExecução de consultas, controle do número de resultados, filtragem por atualidade
web_fetchBuscar e analisar páginasRecupera conteúdo, extrai informações com consultas

Recursos e casos de uso das ferramentas

file_read

Recursos:

  • Ler o conteúdo completo de arquivos ou intervalos de linhas específicos
  • Essencial para entender o código antes de fazer modificações
  • Manuseio eficiente de arquivos grandes por meio da especificação de intervalos

Casos de uso:

  • Ler arquivos de configuração antes de editá-los
  • Entender padrões de implementação existentes
  • Revisar arquivos de teste para entender a cobertura

Exemplo:

# Read entire file
file_read("src/components/Button.tsx")

# Read specific range for large files
file_read("package-lock.json", start_line=1, max_lines=50)

file_edit

Recursos:

  • Substituição precisa de texto usando correspondência exata de strings
  • Múltiplas operações de substituição com a flag multiple
  • Preserva a estrutura e a formatação do arquivo

Casos de uso:

  • Atualizar implementações de funções
  • Modificar valores de configuração
  • Refatorar nomes de variáveis em vários arquivos

Boa prática: Use para alterações direcionadas. Para reescritas completas, use file_write.


file_write

Recursos:

  • Criar novos arquivos do zero
  • Substituir completamente o conteúdo de arquivos existentes
  • Lidar com qualquer formato baseado em texto

Casos de uso:

  • Gerar novos componentes ou módulos
  • Criar arquivos de configuração
  • Escrever arquivos de teste

Aviso: Sobrescreve completamente os arquivos existentes. Use file_edit para modificações parciais.

bash

Recursos:

  • Executar comandos de shell
  • Tempo limite máximo: 120 segundos (2 minutos, limite rígido)
  • Encadear comandos com && para dependências
  • Fornecer resumos descritivos para maior clareza

Casos de uso:

  • Executar testes
  • Compilar projetos
  • Instalar dependências
  • Operações de Git
  • Migrações de banco de dados

Exemplo:

# Run tests
bash("npm test", timeout=60000, summary="Run Jest test suite")

# Chain dependent commands
bash("npm install && npm run build", timeout=120000)

Segurança: Os comandos são executados com as permissões do usuário. Revise os comandos em Manual Accept Mode.


spawn_subagent

Recursos:

  • Iniciar subagentes especializados com contextos isolados
  • Tipos: explorer, verifier, code-reviewer
  • Delegar tarefas complexas sem poluir o contexto principal
  • Execução paralela de subagentes para maior eficiência

Casos de uso:

  • explorer: Buscar padrões em grandes bases de código
  • verifier: Validar a lógica da implementação
  • code-reviewer: Avaliação de segurança e qualidade

Boa prática: Delegue pesquisas exploratórias ao subagente Explorer para preservar o contexto da conversa principal.


todo_update

Recursos:

  • Criar e gerenciar listas de tarefas
  • Atualizar o status das tarefas (pending, in_progress, completed)
  • Acompanhar o progresso em implementações complexas

Casos de uso:

  • Dividir recursos de várias etapas
  • Acompanhar o progresso da refatoração
  • Gerenciar tarefas de migração

Recursos:

  • Consultar mecanismos de busca na internet
  • Controlar o número de resultados
  • Filtrar por atualidade (dias recentes)

Casos de uso:

  • Encontrar documentação de APIs desconhecidas
  • Pesquisar mensagens de erro
  • Verificar as melhores práticas atuais

web_fetch

Recursos:

  • Recuperar o conteúdo de páginas web
  • Analisar conteúdo com consultas específicas
  • Extrair informações estruturadas

Casos de uso:

  • Ler páginas de documentação
  • Analisar a documentação de API
  • Extrair exemplos de tutoriais

Suporte a formatos de arquivo

O Verdent funciona com todos os formatos de arquivo baseados em texto por meio de suas ferramentas de operação com arquivos.

CategoriaLinguagens/Extensões
WebJavaScript, TypeScript, HTML, CSS, SCSS, LESS
BackendPython, Java, Go, Rust, C, C++, C#, Ruby, PHP, Perl
MobileSwift, Kotlin, Dart (Flutter), Objective-C
FuncionalHaskell, Scala, Elixir, Clojure, F#
ScriptingBash, PowerShell, Zsh, Fish
DadosSQL, R, Julia, MATLAB
FormatoExemplos comuns
JSONpackage.json, tsconfig.json, settings.json
YAMLdocker-compose.yml, GitHub Actions, configurações do Kubernetes
TOMLCargo.toml, pyproject.toml
XMLpom.xml, web.xml, arquivos de configuração
INI.gitconfig, .editorconfig
ENVarquivos .env, configuração de ambiente
HCLConfiguração do Terraform
FormatoCasos de uso
MarkdownREADME.md, arquivos de documentação
HTMLTemplates, páginas web
LaTeXDocumentos científicos, artigos acadêmicos
reStructuredTextDocumentação Python
AsciiDocDocumentação técnica

Formatos de dados

FormatoDescrição
CSV/TSVArquivos de dados tabulares
Dados baseados em textoArquivos de log, dumps de dados
JSON/YAMLIntercâmbio de dados estruturados

Arquivos de build e pacotes

ArquivoFinalidade
MakefileAutomação de build
package.jsonDependências do Node.js
requirements.txtPacotes Python
GemfileGems Ruby
Cargo.tomlPacotes Rust
build.gradleBuilds do Gradle
Tipo de formatoExemplosEditável
ImagensPNG, JPG, GIF, SVG (binário)Não editável diretamente
VídeosMP4, AVI, MOVNão editável diretamente
Binários compiladosEXE, DLL, SONão editável diretamente
Arquivos compactadosZIP, TAR, GZNão editável diretamente
Documentos do OfficeDOCX, XLSX, PPTXNão editável diretamente
PDFsArquivos PDFNão editável diretamente

Arquivos binários podem ser referenciados no código, mas não podem ser modificados por meio das ferramentas de arquivo.


Suporte a linguagens de programação

O Verdent oferece suporte abrangente a todas as linguagens de programação e frameworks baseados em texto.

Linguagem/FrameworkNível de suporteCasos de uso comuns
JavaScriptExcelenteLógica de frontend, backends Node.js, ferramentas
TypeScriptExcelenteApps web type-safe, projetos de larga escala
ReactExcelenteUIs baseadas em componentes, hooks, gerenciamento de estado
VueExcelenteProgressive web apps, componentes de arquivo único
AngularExcelenteApps empresariais, integração com TypeScript
SvelteMuito bomComponentes compilados, programação reativa
HTML/CSSExcelenteMarcação, estilização, design responsivo
SCSS/LESSExcelenteEstilização avançada, variáveis, mixins
Linguagem/FrameworkNível de suporteCasos de uso comuns
PythonExcelenteAPIs, processamento de dados, automação
Django/Flask/FastAPIExcelenteFrameworks web, APIs REST
Node.js/ExpressExcelenteBackends JavaScript, microsserviços
Java/SpringExcelenteApps empresariais, Spring Boot
GoExcelenteServiços de alto desempenho, CLIs
RustMuito bomProgramação de sistemas, código de desempenho crítico
C/C++Muito bomSistemas, embarcados, engines de jogos
C# / .NETExcelenteApps Windows, serviços web, Unity
Ruby/RailsMuito bomApps web, desenvolvimento rápido
PHPBomWordPress, Laravel, apps legados
Linguagem/FrameworkNível de suporteCasos de uso comuns
SwiftExcelenteApps nativos iOS/macOS
KotlinExcelenteApps nativos Android
Dart/FlutterExcelenteApps mobile multiplataforma
React NativeExcelenteApps mobile baseados em JavaScript
Objective-CBomApps iOS/macOS legados
LinguagemNível de suporteCasos de uso comuns
PythonExcelenteNumPy, Pandas, scikit-learn, TensorFlow
RMuito bomAnálise estatística, visualização de dados
SQLExcelenteConsultas a bancos de dados, design de esquemas
JuliaBomComputação científica, análise numérica
LinguagemNível de suporteCasos de uso comuns
CMuito bomProgramação de sistemas, embarcados
C++Muito bomApps de desempenho crítico
RustMuito bomProgramação de sistemas com segurança de memória
GoExcelenteSistemas concorrentes, serviços de nuvem
AssemblyBomOtimização de baixo nível, depuração

Qualidade do suporte: Linguagens comuns (JavaScript, Python, TypeScript) têm suporte mais forte devido aos dados de treinamento extensos. Linguagens menos comuns ou específicas de domínio podem ter qualidade de suporte reduzida, mas continuam funcionais.


Limites de uso e melhores práticas

Eficiência do file_read

Melhores práticas:

  • Use intervalos de linhas para arquivos com mais de 500 linhas para evitar sobrecarga de contexto
  • Leia apenas as seções relevantes necessárias para a tarefa
  • Para arquivos grandes, use grep_content primeiro para identificar os números de linha relevantes
# Good: Read specific section
file_read("large-config.json", start_line=100, max_lines=50)

# Less efficient: Read entire large file
file_read("large-config.json")  # May consume excessive context

Precisão do file_edit

Melhores práticas:

  • Garanta correspondências exatas de strings para evitar edições com falha
  • Para várias alterações semelhantes, use a flag multiple=true
  • Verifique os caminhos dos arquivos antes de editar

Segurança do file_write

Melhores práticas:

  • Confira novamente os caminhos para evitar sobrescritas acidentais
  • Use apenas para novos arquivos ou reescritas completas
  • Para modificações, prefira file_edit por segurança

Melhores práticas do bash

Execução segura de comandos:

  • Forneça resumos claros para as descrições dos comandos
  • Defina tempos limite apropriados para operações de longa duração
  • Encadeie comandos dependentes com &&
  • Revise comandos destrutivos com cuidado (rm, drop, truncate)
# Good: Clear summary, reasonable timeout
bash("npm run build", timeout=120000, summary="Build production bundle")

# Good: Chained dependencies
bash("npm install && npm run test", timeout=180000)

Considerações de segurança

Regras de segurança críticas:

  • Os comandos são executados com as permissões do usuário
  • Nunca execute comandos não confiáveis
  • Use Manual Accept Mode para revisão em bases de código compartilhadas
  • Evite comandos que exponham credenciais ou dados sensíveis

Sempre revise os comandos bash em Manual Accept Mode ao trabalhar em bases de código compartilhadas ou ambientes de produção.

Eficiência na delegação de subagentes

Quando usar subagentes:

  • Explorer: Buscas na base de código, questões de arquitetura (economiza o contexto principal)
  • Verifier: Verificações rápidas de validação (verificação isolada)
  • Code-reviewer: Revisões de segurança e qualidade (análise detalhada)
  • General: Tarefas complexas de várias etapas (execução paralela)

Boa prática: Delegue tarefas exploratórias e de pesquisa a subagentes para preservar o contexto da conversa principal para o trabalho de desenvolvimento ativo.


Gerenciamento de contexto

Uso estratégico de ferramentas:

  • Leia arquivos de forma estratégica — apenas o necessário
  • Use subagentes para pesquisas em segundo plano
  • Monitore o consumo de contexto durante sessões longas
  • Divida operações complexas em etapas com todo_update

Fluxos de trabalho eficientes:

  1. Planejamento: Use glob/grep para identificar o escopo
  2. Leitura: Leia apenas os arquivos/seções relevantes
  3. Execução: Delegue a subagentes quando apropriado
  4. Verificação: Verificações rápidas com o subagente Verifier

Limites de tamanho de arquivo

Manuseio de arquivos grandes: Arquivos muito grandes (>10.000 linhas) devem ser lidos em seções para evitar:

  • Esgotamento da janela de contexto
  • Tempos de resposta lentos
  • Problemas de memória

Para arquivos com mais de 500 linhas, sempre use intervalos de linhas com file_read para manter o desempenho ideal.


Padrões de tempo limite das ferramentas

Limites das ferramentas:

  • Tempo limite do bash: 120 segundos (2 minutos) no máximo
  • Operações com arquivos: Sem limites de tamanho (arquivos grandes são lidos automaticamente em lotes)
  • Manuseio de arquivos grandes: Arquivos >256KB retornam apenas os primeiros 256KB de conteúdo
  • Resultados de busca: Sem limites para resultados de glob ou grep_content
  • Subagentes concorrentes: Sem limites para execução paralela

Configuração de tempo limite:

  • Defina tempos limite explícitos para operações de longa duração
  • Monitore processos travados
  • Comandos que excedam o tempo limite de 2 minutos serão encerrados

Operações concorrentes

Execução paralela: Vários subagentes podem ser executados em paralelo para operações complexas mais rápidas. O agente principal lida automaticamente com a coordenação.

Benefícios de desempenho:

  • Redução do tempo total de execução para tarefas de várias etapas
  • Utilização eficiente de recursos
  • Orquestração automática de tarefas
  • Sem limites no número de subagentes concorrentes

Veja também