MITBenAHammond/code-auditor-mcp

Code Auditor

У вашего кода есть правила, о которых ваш AI-агент не знает. Установите один навык — и он будет следить за их соблюдением при каждом изменении.

Две команды для установки везде:

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

Claude Code, Cursor, Codex, Gemini CLI и любой агент со SKILL.md. Блокирующие хуки в Claude Code и Codex; отчётность через MCP везде. code-audit install --list показывает матрицу поддержки.

Как это работает

Проанализируйте весь репозиторий, чтобы навести порядок в коде, и пусть ваш агент поддерживает его в чистоте при каждом изменении. В любом случае анализ детерминирован.

Наведите порядок в коде

code-audit audit

Запустите его на любом проекте на TypeScript, JavaScript, Go или CSS/SCSS и получите полный структурированный отчёт обо всех проблемах. Исправьте реальные проблемы, зафиксируйте остальное как базовый уровень и начните с чистого листа.

  1. Детерминированный, а не модельный

    Анализ выполняют tree-sitter и ast-grep — результаты одинаковы при каждом запуске, с любой моделью или вообще без неё.

  2. Отчёт, с которым можно работать

    HTML · JSON · CSV · SARIF 2.1.0

    Файл, строка, серьёзность, идентификатор правила и сообщение для каждого замечания. Зафиксируйте известные проблемы как долг, и выделяться будут только новые.

Поддерживайте чистоту

code-audit changed --fail-on critical

После установки агент проверяет только те файлы, которые он только что изменил. Критические нарушения обнаруживаются и исправляются до того, как попадут в репозиторий — без повторного чтения всего репозитория, поэтому затраты на модель остаются низкими.

  1. Установите навык

    code-audit install --agent claude

    Добавляет SKILL.md и хук PostToolUse в вашего агента — Claude Code и Codex.

  2. Он проверяет diff

    code-audit changed --fail-on critical

    Только изменённые файлы, а не весь проект. Хук срабатывает после каждого Write и Edit.

  3. Критические нарушения блокируют изменение

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

    Агент читает идентификатор правила, серьёзность, файл, строку и сообщение — исправляет — и в репозиторий попадает только проходящий код.

TypeScript, JavaScript, Go и CSS/SCSS — разбор с помощью грамматик tree-sitter и ast-grep.

Что он находит

Тринадцать анализаторов для TypeScript, JavaScript, Go и CSS/SCSS — баги, которые вносит ваш агент и пропускает ваше код-ревью.

SQL-инъекция

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

Запросы, собранные из строк. Анализатор доступа к данным помечает инъекции, утечки между тенантами и N+1 до того, как они попадут на ревью.

Утечка между тенантами

SELECT * FROM orders // no org filter

Мультитенантный запрос без WHERE org_id = ?. Данные одного клиента — на экране другого.

Запрещённый импорт

import _ from "lodash"

Вы запретили lodash. Агент всё равно его импортирует. Он узнает об этом при редактировании, а не в PR.

Циклическая зависимость

a.ts → b.ts → a.ts

Сломанный tree-shaking и undefined при импорте — поймано до релиза.

Полный каталог — тринадцать анализаторов

Принципы SOLID

Пять принципов, соблюдаемых механически.

Нарушения DRY

Копипаст, пойманный до того, как станет долгом.

Доступ к данным и безопасность

SQL-инъекции, утечки между тенантами, N+1.

Качество документации

Недокументированные экспорты — будущие баги.

Лучшие практики React

Ошибки, которые переживают ревью.

Осведомлённость о схеме

Запросы, ссылающиеся на несуществующие столбцы.

Инвариантные правила

Правила вашей команды как жёсткие инварианты.

Определения схемы

Когда схема и код расходятся.

Контракт API

Эндпоинты, поля, авторизация против контракта.

Граф зависимостей

Циклы, связность, хабы, сироты.

Стили

Дрейф токенов, разрастание z-index.

Соглашения

Изучает конвенции вашего кода, помечает отклонения.

Междоменный

То, что видно только на границах.

По каждому изменению, при каждой правке

Ваш агент запускает code-audit changed по только что изменённым файлам, а не по всему проекту. Каждый анализатор возвращает структурированные нарушения — файл, строку, серьёзность, идентификатор правила и сообщение, которое агент может прочитать и исправить.

JSON вывод
SARIF 2.1.0 вывод
CSV вывод
HTML вывод