MITBenAHammond/code-auditor-mcp

Code Auditor

Tu código tiene reglas que tu agente de IA no conoce. Instala una habilidad — las aplica en cada edición que hace.

Dos comandos para instalarlo en todas partes:

npm install -g code-auditor-mcp
code-audit install --agent all

Claude Code, Cursor, Codex, Gemini CLI y cualquier agente con SKILL.md. Hooks bloqueantes en Claude Code y Codex; informes MCP en el resto. code-audit install --list muestra la matriz.

Cómo funciona

Audita todo el código para limpiarlo y deja que tu agente lo mantenga limpio en cada edición. En ambos casos, el análisis es determinista.

Limpia tu código

code-audit audit

Ejecútalo sobre cualquier proyecto TypeScript, JavaScript, Go o CSS/SCSS y obtén un informe estructurado completo de todo lo que está mal. Corrige los problemas reales, marca el resto como referencia y empieza desde cero.

  1. Determinista, no impulsado por un modelo

    tree-sitter y ast-grep hacen el análisis: los resultados son idénticos en cada ejecución, con cualquier modelo o sin ninguno.

  2. Un informe sobre el que actuar

    HTML · JSON · CSV · SARIF 2.1.0

    Archivo, línea, gravedad, id de regla y un mensaje para cada hallazgo. Marca los problemas conocidos como deuda y solo destacarán los nuevos.

Mantenlo limpio

code-audit changed --fail-on critical

Una vez instalado, tu agente audita solo los archivos que acaba de tocar. Las violaciones críticas se detectan y corrigen antes de llegar al repositorio — sin releer todo el código, para mantener bajos los costes del modelo.

  1. Instala la habilidad

    code-audit install --agent claude

    Añade un SKILL.md y un hook PostToolUse a tu agente — Claude Code y Codex.

  2. Audita el diff

    code-audit changed --fail-on critical

    Solo los archivos cambiados, no todo el proyecto. El hook se dispara tras cada Write y Edit.

  3. Las violaciones críticas bloquean la edición

    no-lodash · critical · src/utils/format.ts:3

    El agente lee el id de regla, la gravedad, el archivo, la línea y el mensaje — lo corrige — y solo el código que pasa llega a tu repositorio.

TypeScript, JavaScript, Go y CSS/SCSS — analizados con las gramáticas de tree-sitter y ast-grep.

Qué detecta

Trece analizadores para TypeScript, JavaScript, Go y CSS/SCSS — los bugs que introduce tu agente y que tu revisión pasa por alto.

Inyección SQL

`SELECT * FROM users WHERE id = ${id}`

Consultas construidas con cadenas. El analizador de acceso a datos marca inyecciones, fugas entre inquilinos y N+1 antes de la revisión.

Fuga entre inquilinos

SELECT * FROM orders // no org filter

Una consulta multiinquilino sin WHERE org_id = ?. Los datos de un cliente, en la pantalla de otro.

Importación prohibida

import _ from "lodash"

Prohibiste lodash. El agente lo importa igualmente. Se entera en la edición, no en el PR.

Dependencia circular

a.ts → b.ts → a.ts

Tree-shaking roto y undefined en el import, detectado antes de lanzar.

El catálogo completo — trece analizadores

Principios SOLID

Los cinco principios, aplicados mecánicamente.

Violaciones DRY

El copiar-pegar, detectado antes de ser deuda.

Acceso a datos y seguridad

Inyecciones SQL, fugas entre inquilinos, N+1.

Calidad de la documentación

Las exportaciones sin documentar son bugs futuros.

Buenas prácticas de React

Los errores que sobreviven a la revisión.

Conciencia del esquema

Consultas que referencian columnas inexistentes.

Reglas invariantes

Las reglas de tu equipo, como invariantes estrictos.

Definiciones de esquema

Cuando el esquema y el código no coinciden.

Contrato de API

Endpoints, campos, auth frente al contrato.

Grafo de dependencias

Ciclos, acoplamiento, hubs, huérfanos.

Estilos

Deriva de tokens, descontrol de z-index.

Convenciones

Extrae las convenciones de tu código, marca las desviaciones.

Entre dominios

Lo que solo se ve en las fronteras.

Por diff, en cada edición

Tu agente ejecuta code-audit changed sobre los archivos que acaba de tocar, no sobre todo el proyecto. Cada analizador devuelve violaciones estructuradas — archivo, línea, gravedad, id de regla y un mensaje que el agente puede leer y corregir.

JSON salida
SARIF 2.1.0 salida
CSV salida
HTML salida