O DiagScope lê o código-fonte Java e Kotlin e aponta o que destrói silenciosamente as evidências de diagnóstico — exceções engolidas, transações ausentes, chamadas HTTP sem timeout. Rode no seu build Maven, deixe seu assistente de IA rodar, ou use sozinho. Nada sai da sua máquina.
Plugin Maven · Assistentes de IA · CLI standalone · Java & Kotlin · Spring / Quarkus / Micronaut
O mvn verify falha conforme a tolerância que você definir. Uma entrada no POM, nada mais a instalar.
Instruções e um hook fazem o assistente rodar o DiagScope antes de dizer que terminou.
Ver como →Uma CLI para qualquer build e qualquer CI, via Homebrew ou JAR. Para quando um plugin de build não é bem-vindo.
Instalar →Um plugin Maven roda o DiagScope durante o mvn verify e quebra o build conforme a tolerância que você escolheu. Está no Maven Central: nenhum repositório a adicionar e nada mais a instalar.
Uma entrada de plugin. Sem gate configurado ele só reporta, então dá para adotar primeiro e apertar depois.
O mesmo diagscope.yml que vale na linha de comando vale no build. Ou decida por execução, ou por branch com um perfil.
Sem editar o POM: útil para experimentar num projeto, ou como um passo próprio do pipeline.
O Maven roda em JDK 17 ou mais novo. Em build multi-módulo cada módulo é julgado separadamente, módulos pom são ignorados, e um único diagscope.yml na raiz vale para todos. O analisador vem com o plugin: um download de cerca de 78 MB, em cache depois.
Quando o time gera código com um assistente, o DiagScope pode rodar antes de o assistente dizer que terminou. Assim exceções engolidas e logs ausentes são corrigidos na mesma sessão, e não em produção.
Escreve um bloco curto de instruções em AGENTS.md e CLAUDE.md e adiciona um hook do Claude Code que escaneia os arquivos alterados quando a tarefa termina. O conteúdo existente nunca é sobrescrito.
Texto simples e compacto, com o pior problema primeiro e uma linha de correção para cada um. Cerca de 3 KB onde o relatório em Markdown tem 22 KB. O código de saída continua vindo do seu gate.
A tolerância fica no diagscope.yml, então é revisada junto com o código. Falhe em erros de alta confiança, tolere alguns avisos ou defina um perfil mais rígido para branches de release.
O hook automático é para o Claude Code. Outros assistentes leem as instruções do AGENTS.md e rodam o mesmo comando, mas nada os obriga. Um scan leva de 1 a 15 segundos conforme o tamanho do projeto, por isso a checagem roda no fim da tarefa, não a cada edição. O assistente é instruído a não silenciar um problema sem perguntar a você.
O mesmo analisador roda sozinho. Use quando a empresa não quer um plugin no build, quando o build é Gradle, ou para olhar um repositório que não é seu. Nada é adicionado ao projeto.
O Homebrew traz o Java 17 junto. Sem Homebrew, baixe o JAR e rode com Java 17 ou mais novo.
Sem etapa de build. Endpoints REST, listeners Kafka e jobs agendados são encontrados como entrypoints; os relatórios ficam em target/diagscope ou build/diagscope.
Falhe o build apenas nas ocorrências introduzidas neste pull request, deixando as existentes para depois.
A descrição completa, por que importa e como corrigir; o catálogo lista todas as regras com severidade, categoria e versão.
Exceções, transações, concorrência, Kafka, performance, segurança e mais. Cada ocorrência identifica o entrypoint que chega ao problema.
Capturada e nunca logada ou relançada — a falha simplesmente desaparece.
Uma thread fica bloqueada indefinidamente esperando um resultado que pode nunca chegar.
Se um passo posterior falhar, a primeira escrita é commitada e não pode ser revertida.
Um upstream lento esgota o pool de threads e derruba o serviço inteiro.
Uma chamada ao banco dentro de um loop — escala linearmente e degrada com o crescimento dos dados.
O resultado do publish é descartado — falhas ficam invisíveis para quem chamou.
Abra o report.html em qualquer navegador. É um único arquivo autocontido: sem servidor, sem rede. Ele ordena o que corrigir primeiro, filtra por severidade e confiança e mostra o caminho de chamadas do entrypoint até cada ocorrência.
Um comando, ou uma entrada no POM.