Gratuit et open source — sous licence MIT. Conçu pour être auditable.
Code Auditor lit tout votre code et vous dit ce qui ne va pas — y compris les problèmes qui n'existent qu'entre les fichiers. Installez une compétence, et votre agent garde cet état à chaque modification.
Deux commandes pour installer partout :
npm install -g code-auditor-mcpcode-audit install --agent allClaude 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.
Vous avez hérité d'une base de code ? Vous y revenez après des mois ? Vous avez construit vite et voulez maintenant savoir ce qu'elle contient ? Auditez une fois pour voir l'ensemble, puis laissez votre agent la garder propre à chaque modification. Dans tous les cas, l'analyse est déterministe.
code-audit auditLancez-le sur n'importe quel projet TypeScript, JavaScript, Go ou CSS/SCSS et obtenez un rapport structuré complet — une lecture par règle. Corrigez les vrais problèmes, établissez le reste comme référence et repartez d'une base saine.
tree-sitter et ast-grep font l'analyse — les lectures sont identiques à chaque exécution, avec n'importe quel modèle ou sans modèle du tout.
HTML · JSON · CSV · SARIF 2.1.0Le panneau de couverture montre ce qui a été mesuré, puis le fichier, la ligne, la sévérité, l'identifiant de règle et un message pour chaque lecture. Mettez les problèmes connus en référence comme dette et seuls les nouveaux ressortent.
code-audit changedUne fois installé, votre agent n'audite que les fichiers qu'il vient de modifier. Les lectures de sévérité bloquante — critical et warning par défaut — 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.
code-audit install --agent claudeDépose un SKILL.md et un hook PostToolUse dans votre agent — Claude Code et Codex.
code-audit changed --jsonUniquement les fichiers modifiés, pas tout le projet. Le hook se déclenche après chaque Write et Edit.
hardcoded-secret · critical · src/login.ts:52L'agent lit l'identifiant de règle, la sévérité, le fichier, la ligne et le message — corrige — et seul le code sans lecture bloquante atteint votre dépôt. Les sévérités bloquantes se configurent via gateSeverities dans .codeauditor.json.
TypeScript, JavaScript, Go et CSS/SCSS — analysés avec les grammaires tree-sitter et ast-grep.
Dix analyseurs, plus trois inter-langages, pour TypeScript, JavaScript, Go et CSS/SCSS. Chaque exemple ci-dessous est une lecture réelle d'une vraie base de code — la plupart invisibles dans un fichier isolé.
for (const org of orgs) { await db.select().from(organizations) }Une boucle qui émet une requête par itération, trouvée lors d'un parcours de hiérarchie dans un vrai module de requêtes. Chaque nœud est un aller-retour de plus vers la base.
compliance-enhanced.ts — 563 lines, 0 external importers563 lignes, zéro importateur externe, supplanté par des voisins plus récents et toujours dans l'arbre. Rien n'y fait référence, donc personne ne le voit.
SELECT * FROM generation_queue // dropped in migration 0198Une migration a retiré la table, mais huit sites d'appel y font encore référence. Le schéma a avancé, pas le code.
page.type('#password', 'vyy8AUVvish34Fq')Un mot de passe en clair qui traîne dans un script, prêt à partir en production. Trouvé en lisant le fichier — sans exécution.
Les cinq principes, appliqués mécaniquement.
Le copier-coller, détecté avant de devenir une dette.
Injections SQL, fuites entre locataires, N+1.
Les exports non documentés sont de futurs bugs.
Les erreurs qui survivent à la revue.
Des requêtes référençant des colonnes inexistantes.
Les règles de votre équipe, comme invariants stricts.
Quand le schéma et le code divergent.
Endpoints, champs, auth face au contrat.
Cycles, couplage, hubs, orphelins.
Dérive des tokens, prolifération des z-index.
Analyse les conventions de votre code, signale les écarts.
Ce qui n'est visible qu'aux frontières.
Votre agent exécute code-audit changed sur les fichiers qu'il vient de modifier, pas sur tout le projet. Chaque analyseur renvoie des lectures structurées — fichier, ligne, sévérité, identifiant de règle et un message que l'agent peut lire et corriger.
Trois limites honnêtes, énoncées clairement.
Il signale. C'est un humain — ou un agent — qui modifie. Code Auditor dit ce qui ne va pas et où ; il ne corrige jamais votre code à votre place.
Exécutez-le aux côtés d'ESLint, Prettier et consorts. Un linter lit un fichier ; Code Auditor lit toute la base. Ils répondent à des questions différentes.
Longueur de fonction, nombre de paramètres, taille de classe — ce sont des mesures réglables, pas des jugements. Ce sont des lectures : un ordre d'action, jamais un verdict sur votre code.