DiagScope lee el código fuente Java y Kotlin e informa de lo que destruye silenciosamente la evidencia de diagnóstico — excepciones tragadas, transacciones ausentes, llamadas HTTP sin timeout. Ejecútalo en tu build de Maven, deja que tu asistente de IA lo ejecute, o úsalo por separado. Nada sale de tu máquina.
Plugin de Maven · Asistentes de IA · CLI standalone · Java & Kotlin · Spring / Quarkus / Micronaut
mvn verify falla según la tolerancia que definas. Una entrada en el POM, nada más que instalar.
Instrucciones y un hook hacen que el asistente ejecute DiagScope antes de decir que terminó.
Ver cómo →Una CLI para cualquier build y cualquier CI, con Homebrew o un JAR. Para cuando un plugin de build no es bienvenido.
Instalar →Un plugin de Maven ejecuta DiagScope durante mvn verify y rompe el build según la tolerancia que elijas. Está en Maven Central: no hay que añadir ningún repositorio ni instalar nada más.
Una entrada de plugin. Sin gate configurado solo informa, así que puedes adoptarlo primero y endurecerlo después.
El mismo diagscope.yml que rige la línea de comandos rige el build. O decide por ejecución, o por rama con un perfil.
Sin editar el POM: útil para probarlo en un proyecto, o como un paso propio del pipeline.
Maven se ejecuta en JDK 17 o superior. En un build multimódulo cada módulo se juzga por separado, los módulos pom se omiten, y un único diagscope.yml en la raíz rige todos. El analizador viene con el plugin: una descarga de unos 78 MB, en caché después.
Cuando el equipo genera código con un asistente, DiagScope puede ejecutarse antes de que el asistente diga que terminó. Así las excepciones tragadas y los logs ausentes se corrigen en la misma sesión y no en producción.
Escribe un bloque corto de instrucciones en AGENTS.md y CLAUDE.md y añade un hook de Claude Code que escanea los archivos modificados cuando termina la tarea. El contenido existente nunca se sobrescribe.
Texto simple y compacto, con el peor problema primero y una línea de corrección para cada uno. Unos 3 KB donde el informe en Markdown tiene 22 KB. El código de salida sigue viniendo de tu gate.
La tolerancia vive en diagscope.yml, así que se revisa junto con el código. Falla en errores de alta confianza, tolera algunos avisos o define un perfil más estricto para ramas de release.
El hook automático es para Claude Code. Otros asistentes leen las instrucciones de AGENTS.md y ejecutan el mismo comando, pero nada los obliga. Un escaneo tarda de 1 a 15 segundos según el tamaño del proyecto, por eso la comprobación se ejecuta al final de la tarea y no tras cada edición. Se le indica al asistente que no silencie un hallazgo sin preguntarte.
El mismo analizador funciona por separado. Úsalo cuando la empresa no quiere un plugin en el build, cuando el build es Gradle, o para mirar un repositorio que no es tuyo. No se añade nada al proyecto.
Homebrew trae Java 17 consigo. Sin Homebrew, descarga el JAR y ejecútalo con Java 17 o superior.
Sin paso de build. Endpoints REST, listeners de Kafka y jobs programados se detectan como entrypoints; los informes quedan en target/diagscope o build/diagscope.
Falla el build solo por los hallazgos introducidos en este pull request y deja los existentes para después.
La descripción completa, por qué importa y cómo corregirlo; el catálogo lista todas las reglas con severidad, categoría y versión.
Excepciones, transacciones, concurrencia, Kafka, rendimiento, seguridad y más. Cada hallazgo identifica el entrypoint que llega al problema.
Capturada y nunca logueada ni relanzada — el fallo simplemente desaparece.
Un hilo queda bloqueado indefinidamente esperando un resultado que puede no llegar.
Si un paso posterior falla, la primera escritura queda confirmada sin poder revertirse.
Un upstream lento agota el pool de hilos y derriba todo el servicio.
Una llamada a base de datos dentro de un bucle — escala linealmente y se degrada con los datos.
El resultado del publish se descarta — los fallos son invisibles para quien llamó.
Abre report.html en cualquier navegador. Es un único archivo autocontenido: sin servidor, sin red. Ordena qué corregir primero, filtra por severidad y confianza y muestra la ruta de llamadas desde el entrypoint hasta cada hallazgo.
Un comando, o una entrada en el POM.