-1

Weave – Filter terminal output for coding agents

O Weave é um plugin para Claude Code, Codex CLI e Antigravity CLI, implementado em Node.js e sem dependências de runtime.

Ele reúne algumas funcionalidades que normalmente ficam espalhadas entre hooks, scripts e arquivos de regras:

Terminal output

O Weave intercepta comandos elegíveis e aplica filtros específicos por ferramenta.

git status, git diff, git log, npm, grep, rg, test runners, linters, Docker, kubectl, Terraform e outros comandos possuem perfis próprios.

Em comandos que terminam com exit 0, saídas repetitivas podem ser condensadas. Em comandos que terminam com erro, stdout, stderr, exit code e diagnósticos são preservados.

Quando alguma saída é omitida, o conteúdo capturado fica disponível para recuperação através de weave recall.

Contexto

O diretório .weave/ mantém o estado do projeto:

.weave/
├── mode
├── state.md
├── memories/
├── runs/
└── ledger.json

state.md funciona como um contrato da tarefa e memória de trabalho. Também existem snapshots nomeados através de weave memory.

Pre-read tracking

O hook hooks/preread.js registra leituras de arquivos e buscas no ledger.json.

Se um agente tentar ler novamente um arquivo que não foi alterado, ou repetir uma busca idêntica, o Weave pode sinalizar a operação em vez de deixar o mesmo trabalho acontecer silenciosamente.

Engineering policy

Os modos off, lite, full e ultra controlam as regras de execução aplicadas ao agente.

Entre elas estão reutilizar código existente antes de criar novas abstrações, preferir recursos nativos, manter mudanças dentro do escopo e verificar o resultado antes de considerar uma tarefa concluída.

Integrações

Claude Code utiliza hooks e skills.

Codex utiliza o manifest e as skills compartilhadas.

Para agentes que trabalham com AGENTS.md, GEMINI.md ou arquivos de regras, o Weave também consegue gerar a mesma política para diferentes clientes.

Existe ainda um servidor MCP implementado sobre stdio/JSON-RPC, usando os mesmos módulos do núcleo.

A estrutura principal atualmente está dividida entre:

core/
hooks/
skills/
cli/
mcp/
tests/
scripts/

O núcleo não depende de daemon, banco de dados ou pacote externo.

O projeto ainda está em desenvolvimento, principalmente nos parsers e integrações com diferentes agentes.

Carregando publicação patrocinada...