# Ferramentas Recomendadas para Otimização de IAs no Desenvolvimento Este documento lista ferramentas de linha de comando (CLI) e utilitários que otimizam significativamente o trabalho e a integração de Agentes de IA durante o processo de desenvolvimento. Todas as ferramentas listadas possuem suporte nativo para **Linux** e **macOS**. ## 1. Busca e Navegação de Código ### ripgrep (`rg`) - **Descrição:** Uma ferramenta de busca orientada a linhas que busca recursivamente no diretório atual por uma expressão regular. - **Por que ajuda as IAs:** É extremamente rápida para encontrar referências de código, funções e variáveis em repositórios grandes. Ajuda as IAs a varrer bases de código rapidamente sem precisar ler todos os arquivos. - **Instalação:** - **Mac:** `brew install ripgrep` - **Linux (Ubuntu/Debian):** `sudo apt-get install ripgrep` ### fd - **Descrição:** Uma alternativa simples, rápida e amigável ao comando `find`. - **Por que ajuda as IAs:** Permite que as IAs listem a estrutura de arquivos e localizem caminhos específicos com uma sintaxe muito mais amigável e saída mais rápida e limpa que o `find` tradicional, respeitando o `.gitignore` nativamente. - **Instalação:** - **Mac:** `brew install fd` - **Linux (Ubuntu/Debian):** `sudo apt-get install fd-find` ### ast-grep (`sg`) - **Descrição:** Uma ferramenta de busca e substituição de código baseada em Árvore de Sintaxe Abstrata (AST). - **Por que ajuda as IAs:** Diferente do regex padrão, permite que a IA faça buscas estruturais e refatorações complexas compreendendo a semântica da linguagem. - **Instalação:** - **Mac/Linux:** `npm install -g @ast-grep/cli` ou `brew install ast-grep` ## 2. Processamento de Dados ### jq - **Descrição:** Um processador JSON de linha de comando leve e flexível. - **Por que ajuda as IAs:** Sistemas baseados em agentes interagem frequentemente por payloads JSON e chamadas de API. O `jq` é a ferramenta perfeita para que a IA filtre, extraia e transforme grandes payloads de dados diretamente no terminal. - **Instalação:** - **Mac:** `brew install jq` - **Linux (Ubuntu/Debian):** `sudo apt-get install jq` ### yq - **Descrição:** Uma extensão leve e portável do `jq` voltada para o processamento de arquivos YAML, JSON e XML. - **Por que ajuda as IAs:** Útil para a IA inspecionar, modificar e gerar configurações como `docker-compose.yml`, esquemas de CI/CD, e manifestos Kubernetes. - **Instalação:** - **Mac:** `brew install yq` - **Linux:** O binário é baixado direto da distribuição oficial no Github ou via snap. ## 3. Qualidade de Código e Formatação ### Biome - **Descrição:** Ferramenta All-in-One super rápida para formatação e linting de projetos Web (JavaScript, TypeScript, JSX, JSON). - **Por que ajuda as IAs:** Como exigido pelos padrões do projeto, garante que o código escrito pela IA passe pela validação, sendo auto-focado e sem configurações complexas (`biome check --write`). - **Instalação:** - **Mac/Linux:** `npm install -g @biomejs/biome` ou gerenciamento local (`pnpm add -D @biomejs/biome`). ### ShellCheck - **Descrição:** Ferramenta de análise estática e linting projetada especificamente para scripts de shell (bash/sh). - **Por que ajuda as IAs:** Assegura que scripts bash gerados por IAs (seja para deploy ou testes de automação de fluxo) sigam as melhores práticas e não tenham comandos perigosos implícitos. - **Instalação:** - **Mac:** `brew install shellcheck` - **Linux (Ubuntu/Debian):** `sudo apt-get install shellcheck` ## 4. Visualização e Visualização de Texto ### bat - **Descrição:** Um clone do `cat` com suporte nativo a syntax highlighting (destaque de sintaxe) e integração com o Git. - **Por que ajuda as IAs:** Ao extrair ou ler recortes de arquivos e logs, o conteúdo é formatado de maneira que facilita eventuais inspeções humanas e recortes por linhas (`bat -r :`). - **Instalação:** - **Mac:** `brew install bat` - **Linux (Ubuntu/Debian):** `sudo apt-get install bat` ### tree / eza - **Descrição:** Utilitários para listar o conteúdo de diretórios. O `eza` é um substituto moderno para o `ls` com suporte de árvore. - **Por que ajuda as IAs:** Permitir que agentes mapeiem mentalmente a árvore de projeto de forma clara. Essencial para IAs auto-localizarem módulos arquiteturais. - **Instalação:** - **Mac:** `brew install eza tree` - **Linux (Ubuntu/Debian):** `sudo apt-get install tree eza` ## 5. Integração com APIs e Git ### HTTPie / cURL - **Descrição:** Ferramenta gráfica ou cli para o teste de endpoints, sendo o HTTPie uma versão "humanizada" do cURL. - **Por que ajuda as IAs:** Auxilia nas IAs de codificação que necessitam conferir os status e formatos dos endpoints REST antes de gerar lógicas assíncronas no front-end ou back-end. - **Instalação (HTTPie):** - **Mac:** `brew install httpie` - **Linux:** `sudo apt-get install httpie` ### GitHub CLI (`gh`) - **Descrição:** Interface de linha de comando nativa para interagir com repositórios no GitHub. - **Por que ajuda as IAs:** Permite à IA criar pull requests, listar issues e manipular webhooks diretamente do terminal como parte de fluxos autonomos de entrega contínua. - **Instalação:** - **Mac:** `brew install gh` - **Linux:** `sudo apt install gh` --- ## 6. Automação e Testes de Interface (Browser) ### agent-browser - **Descrição:** CLI de automação de navegadores baseada em Rust, projetada especificamente para Agentes de IA. - **Por que ajuda as IAs:** Utiliza representação compacta da árvore de acessibilidade com referências determinísticas (`@e1`, `@e2`), consumindo 200–400 tokens (até 90% menos tokens que a leitura do DOM completo). Permite executar testes E2E, interagir com telas, validar fluxos e registrar evidências visuais. - **Modo Visível Obrigatório:** Para que o operador acompanhe cada teste em tempo real na tela, execute sempre com a flag `--headed` (ex: `agent-browser --session _ open --headed `) ou defina `export AGENT_BROWSER_HEADED=true`. - **Isolamento Mandatório de Sessão e Contexto:** Toda execução DEVE acompanhar a flag `--session _` (onde `` é o `modulo-id` extraído de `memorias-ia/modulo.yml` e `` discrimina acessos como `interno`, `externo`, `cliente`, `anonimo`) ou garantir `export AGENT_BROWSER_SESSION=_`. Previne fechamento indevido de processos e contaminação cruzada de cookies e tokens JWT entre diferentes perfis de usuário. - **Pasta Obrigatória de Evidências (`.evidencias/`):** Todas as evidências geradas pelos testes automatizados (screenshots, capturas anotadas, vídeos, traces, relatórios) devem ser salvas obrigatoriamente na pasta `.evidencias/` na raiz do projeto (`mkdir -p .evidencias`). - **Instalação:** - Com Bun (padrão): `bun i -g agent-browser && agent-browser install` - Com NPM: `npm install -g agent-browser && agent-browser install` - **Documentação:** https://agent-browser.dev/ --- ## 7. Utilitários Nativos do Framework .agent ### atualizar-submodulo.sh (`.agent/scripts/atualizar-submodulo.sh`) - **Descrição:** Script de ciclo de vida acionado automaticamente via hook `PreInvocation` (`.agent/hooks.json`) ou manualmente via CLI. - **Por que ajuda as IAs e Operadores:** Garante que o submódulo `.agent` esteja sincronizado na branch `master` remota no início de cada sessão de conversa (`1x por sessão`) e verifica automaticamente **uma vez por dia** se o runtime Bun está atualizado na versão estável mais recente executando `bun upgrade --stable` (controlado via trava diária `/tmp/.antigravity_bun_upgrade_date`). - **Uso:** `bash .agent/scripts/atualizar-submodulo.sh` ### notificar.sh (`.agent/notificar.sh`) - **Descrição:** Utilitário unificado de notificação para o Sistema Operacional, compatível nativamente com **Linux** e **macOS**. - **Por que ajuda as IAs e Operadores:** Permite que comandos de longa duração (como `/plano.executar todos` e loops `/goal`) avisem o operador imediatamente no momento da conclusão, emitindo popup no desktop (KDE `kdialog`, FreeDesktop `notify-send` / `gdbus`, macOS Notification Center via `osascript`), som de alerta discreto (PipeWire, PulseAudio ou macOS `afplay`) e campainha no terminal (`\a`). Totalmente assíncrono, não-bloqueante e seguro para ambientes headless. - **Uso:** `sh .agent/notificar.sh "" "" [sucesso|aviso|erro]` ### upload-paiol-wiki.sh (`.agent/scripts/upload-paiol-wiki.sh`) - **Descrição:** Utilitário de linha de comando para upload de arquivos e mídias da Wiki para o bucket público `wiki` no MinIO Paiol (`https://paiol.idz.one/wiki/...`). - **Por que ajuda as IAs e Operadores:** Previne o inchaço (*bloat*) do Git da Wiki desacoplando binários pesados (PDFs, imagens em alta resolução, vídeos, capturas de tela e anexos), gerando links e snippets Markdown prontos para inclusão imediata na documentação. - **Uso:** `sh .agent/scripts/upload-paiol-wiki.sh [modulo-override]` ### graphify.sh (`.agent/scripts/graphify.sh`) - **Descrição:** Utilitário canônico de Grafo de Conhecimento (*Knowledge Graph*) do código-fonte baseado em `@sentropic/graphify`. - **Por que ajuda as IAs:** Permite que o comando `/plano` e os agentes localizem símbolos, mapeiem dependências entre pacotes e calculem o raio de impacto em cascata (*Blast Radius*) em segundos sem varreduras cegas. Instala automaticamente o binário via Bun (`bun i -g @sentropic/graphify`) caso não exista na máquina, atualiza o `.gitignore` (`.graphify/`, `.engram/`, `graphify-out/`) e gera o grafo sob demanda (`ensure`). - **Uso:** - `bash .agent/scripts/graphify.sh update` (reconstrói/atualiza o grafo AST) - `bash .agent/scripts/graphify.sh ensure` (garante instalação, `.gitignore` e grafo existente) - `bash .agent/scripts/graphify.sh query "" [budget]` (busca nós e arquivos no grafo) - `bash .agent/scripts/graphify.sh explain ""` (detalha conexões e imports) - `bash .agent/scripts/graphify.sh impact [arq2...]` (calcula raio de impacto e lacunas de testes via `review-delta`) - `bash .agent/scripts/graphify.sh summary` (exibe principais hubs e comunidades do projeto) --- ## 8. Instalação Rápida (Copia e Cola) Para instalar as ferramentas base de forma ágil e em lote, copie os blocos de comando abaixo e os rode inteiramente em seu terminal (requer `npm`, `bun` e `snap` já configurados). ### Linux (Debian / Ubuntu) ```bash # 1. Atualizar e instalar ferramentas base do sistema sudo apt-get update sudo apt-get install -y ripgrep fd-find jq shellcheck bat tree eza httpie gh # 2. Instalar ferramentas em Node npm install -g @ast-grep/cli @biomejs/biome # 3. Instalar automação de navegador e Grafo de Conhecimento para IA via Bun bun i -g agent-browser @sentropic/graphify && agent-browser install # 4. Instalar yq via snap sudo snap install yq ``` ### macOS (via Homebrew) ```bash # Instalar utilitários essenciais brew install ripgrep fd ast-grep jq yq shellcheck bat tree eza httpie gh npm install -g @biomejs/biome bun i -g agent-browser @sentropic/graphify && agent-browser install ```