MITBenAHammond/code-auditor-mcp

Code Auditor

Votre code a des règles que votre agent IA ignore. Installez une compétence — il les applique à chaque modification qu'il effectue.

Deux commandes pour installer partout :

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

Claude Code, Cursor, Codex, Gemini CLI et tout agent SKILL.md. Hooks bloquants sur Claude Code et Codex ; rapport MCP partout ailleurs. code-audit install --list affiche la matrice.

Comment ça marche

Auditez l'ensemble du code pour le nettoyer, puis laissez votre agent le garder propre à chaque modification. Dans tous les cas, l'analyse est déterministe.

Nettoyez votre code

code-audit audit

Lancez-le sur n'importe quel projet TypeScript, JavaScript, Go ou CSS/SCSS et obtenez un rapport structuré complet de tout ce qui ne va pas. Corrigez les vrais problèmes, établissez le reste comme référence et repartez d'une base saine.

  1. Déterministe, pas piloté par un modèle

    tree-sitter et ast-grep font l'analyse — les résultats sont identiques à chaque exécution, avec n'importe quel modèle ou sans modèle du tout.

  2. Un rapport exploitable

    HTML · JSON · CSV · SARIF 2.1.0

    Fichier, ligne, sévérité, identifiant de règle et un message pour chaque problème. Mettez les problèmes connus en référence comme dette et seuls les nouveaux ressortent.

Gardez-le propre

code-audit changed --fail-on critical

Une fois installé, votre agent n'audite que les fichiers qu'il vient de modifier. Les violations critiques sont détectées et corrigées avant d'atteindre le dépôt — sans relire tout le code, pour garder des coûts de modèle bas.

  1. Installez la compétence

    code-audit install --agent claude

    Dépose un SKILL.md et un hook PostToolUse dans votre agent — Claude Code et Codex.

  2. Il audite le diff

    code-audit changed --fail-on critical

    Uniquement les fichiers modifiés, pas tout le projet. Le hook se déclenche après chaque Write et Edit.

  3. Les violations critiques bloquent la modification

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

    L'agent lit l'identifiant de règle, la sévérité, le fichier, la ligne et le message — corrige — et seul le code conforme atteint votre dépôt.

TypeScript, JavaScript, Go et CSS/SCSS — analysés avec les grammaires tree-sitter et ast-grep.

Ce qu'il détecte

Treize analyseurs couvrant TypeScript, JavaScript, Go et CSS/SCSS — les bugs que votre agent introduit et que votre revue rate.

Injection SQL

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

Des requêtes construites par concaténation. L'analyseur d'accès aux données signale les injections, les fuites entre locataires et les N+1 avant la revue.

Fuite entre locataires

SELECT * FROM orders // no org filter

Une requête multi-locataire sans WHERE org_id = ?. Les données d'un client, sur l'écran d'un autre.

Import interdit

import _ from "lodash"

Vous avez interdit lodash. L'agent l'importe quand même. Il le découvre à la modification, pas dans la PR.

Dépendance circulaire

a.ts → b.ts → a.ts

Un tree-shaking cassé et des undefined à l'import, détectés avant la mise en production.

Le catalogue complet — treize analyseurs

Principes SOLID

Les cinq principes, appliqués mécaniquement.

Violations DRY

Le copier-coller, détecté avant de devenir une dette.

Accès aux données et sécurité

Injections SQL, fuites entre locataires, N+1.

Qualité de la documentation

Les exports non documentés sont de futurs bugs.

Bonnes pratiques React

Les erreurs qui survivent à la revue.

Conscience du schéma

Des requêtes référençant des colonnes inexistantes.

Règles invariantes

Les règles de votre équipe, comme invariants stricts.

Définitions de schéma

Quand le schéma et le code divergent.

Contrat d'API

Endpoints, champs, auth face au contrat.

Graphe de dépendances

Cycles, couplage, hubs, orphelins.

Styles

Dérive des tokens, prolifération des z-index.

Conventions

Analyse les conventions de votre code, signale les écarts.

Inter-domaines

Ce qui n'est visible qu'aux frontières.

Diff-scoped, à chaque modification

Votre agent exécute code-audit changed sur les fichiers qu'il vient de modifier, pas sur tout le projet. Chaque analyseur renvoie des violations structurées — fichier, ligne, sévérité, identifiant de règle et un message que l'agent peut lire et corriger.

JSON sortie
SARIF 2.1.0 sortie
CSV sortie
HTML sortie