Бесплатно и с открытым исходным кодом — лицензия MIT. Создан, чтобы его можно было проверить.
Code Auditor читает весь ваш код и говорит, что с ним не так — включая проблемы, которые существуют только между файлами. Установите один навык, и агент будет поддерживать порядок при каждой правке.
Две команды для установки везде:
npm install -g code-auditor-mcpcode-audit install --agent allClaude Code, Cursor, Codex, Gemini CLI и любой агент со SKILL.md. Блокирующие хуки в Claude Code и Codex; отчётность через MCP везде. code-audit install --list показывает матрицу поддержки.
Унаследовали кодовую базу? Возвращаетесь к той, которую не трогали месяцами? Быстро что-то собрали и теперь хотите понять, что внутри? Запустите аудит один раз, чтобы увидеть всю картину, и пусть агент поддерживает чистоту при каждой правке. В любом случае анализ детерминирован.
code-audit auditЗапустите его на любом проекте TypeScript, JavaScript, Go или CSS/SCSS и получите полный структурированный отчёт — одно замечание на каждое правило. Исправьте реальные проблемы, зафиксируйте остальное как базовый уровень и начните с чистого листа.
Анализ выполняют tree-sitter и ast-grep — замечания одинаковы при каждом запуске, с любой моделью или вообще без неё.
HTML · JSON · CSV · SARIF 2.1.0Панель покрытия показывает, что измерялось, затем файл, строка, серьёзность, идентификатор правила и сообщение для каждого замечания. Зафиксируйте известные проблемы как долг, и выделяться будут только новые.
code-audit changedПосле установки агент проверяет только те файлы, которые он только что изменил. Замечания блокирующей серьёзности — по умолчанию critical и warning — обнаруживаются и исправляются до попадания в репозиторий, без повторного чтения всего кода, поэтому затраты на модель остаются низкими.
code-audit install --agent claudeДобавляет SKILL.md и хук PostToolUse в вашего агента — Claude Code и Codex.
code-audit changed --jsonТолько изменённые файлы, а не весь проект. Хук срабатывает после каждого Write и Edit.
hardcoded-secret · critical · src/login.ts:52Агент читает идентификатор правила, серьёзность, файл, строку и сообщение — исправляет — и в репозиторий попадает только код без блокирующих замечаний. Блокирующие серьёзности настраиваются через gateSeverities в .codeauditor.json.
TypeScript, JavaScript, Go и CSS/SCSS — разбор с помощью грамматик tree-sitter и ast-grep.
Десять анализаторов плюс три кросс-языковых, для TypeScript, JavaScript, Go и CSS/SCSS. Каждый пример ниже — реальное показание из реальной кодовой базы; большинство невидимы в отдельном файле.
for (const org of orgs) { await db.select().from(organizations) }Цикл, отправляющий один запрос на каждую итерацию, найденный при обходе иерархии в живом модуле запросов. Каждый узел — ещё один запрос к базе.
compliance-enhanced.ts — 563 lines, 0 external importers563 строки, ноль внешних импортёров, вытеснен более новыми соседями и всё ещё в дереве. На него ничего не ссылается, поэтому никто его не замечает.
SELECT * FROM generation_queue // dropped in migration 0198Миграция удалила таблицу, но восемь мест вызова по-прежнему на неё ссылаются. Схема ушла вперёд, код — нет.
page.type('#password', 'vyy8AUVvish34Fq')Пароль открытым текстом лежит в скрипте и готов попасть в релиз. Находится чтением файла — без запуска.
Пять принципов, соблюдаемых механически.
Копипаст, пойманный до того, как станет долгом.
SQL-инъекции, утечки между тенантами, N+1.
Недокументированные экспорты — будущие баги.
Ошибки, которые переживают ревью.
Запросы, ссылающиеся на несуществующие столбцы.
Правила вашей команды как жёсткие инварианты.
Когда схема и код расходятся.
Эндпоинты, поля, авторизация против контракта.
Циклы, связность, хабы, сироты.
Дрейф токенов, разрастание z-index.
Изучает конвенции вашего кода, помечает отклонения.
То, что видно только на границах.
Ваш агент запускает code-audit changed по только что изменённым файлам, а не по всему проекту. Каждый анализатор возвращает структурированные замечания — файл, строка, серьёзность, идентификатор правила и сообщение, которое агент может прочитать и исправить.
Три честных границы, сказанные прямо.
Он сообщает. Правку делает человек — или агент. Code Auditor говорит, что и где не так; он никогда не правит код за вас.
Запускайте его вместе с ESLint, Prettier и остальными. Линтер читает один файл; Code Auditor читает всю кодовую базу. Они отвечают на разные вопросы.
Длина функции, число параметров, размер класса — это настраиваемые измерения, а не приговор. Это замечания: порядок действий, но никогда не вердикт вашему коду.