OpenQodex CLI

OpenQodex проверяет ваши изменения перед пушем: сначала сканеры без модели, затем отдельный процесс Claude Code или Codex разбирает находки по вашему входу

  • 796 ★ репозитория
  • Последний коммит
  • Apache-2.0
CLI

Широкий доступ

Почему такой уровень

  • Команда init пишет глобальные инструкции агентов, настройки MCP, хук git pre-push и правила Cursor и Cline
  • Изменения проекта уходят в модель вашего входа в Claude Code или Codex, а сканеры скачивают исполняемые файлы при первом запуске
  • Подключенный вами сканер выполняет свою команду с вашими правами после команды trust
Все причины и проверки
Нужен VPN

openqodex/openqodex

Установка

Работает в

Ручная установка

npx openqodex init

Нужны Node.js 22 или новее и git. Команда находит Claude Code, Cursor, Codex CLI и Cline, показывает список файлов и спрашивает один раз. Затем скажите агенту: проверь изменения через openqodex.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Команда init пишет глобальные инструкции агентов, настройки MCP, хук git pre-push и правила Cursor и Cline
  • Изменения проекта уходят в модель вашего входа в Claude Code или Codex, а сканеры скачивают исполняемые файлы при первом запуске
  • Подключенный вами сканер выполняет свою команду с вашими правами после команды trust

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

OpenQodex ставится командой `npx openqodex init` и проверяет код до `git push`. Проверяемые изменения — это непушнутые коммиты и все незафиксированные правки. Команда `openqodex review` сначала запускает сканеры, подходящие к измененным файлам: встроено 22 сканера для секретов, уязвимостей в коде и зависимостях, линтеров, воркфлоу GitHub Actions, Dockerfile, Terraform, Kubernetes, SQL и миграций. Находки на измененных строках остаются, находки в тестовых данных и в отключенных правилах отбрасываются. Потом запускается ревьюер: отдельный процесс Claude Code или Codex на вашем собственном входе, без дополнительных ключей. По умолчанию агент, написавший код, его не проверяет. Ревьюер получает все измененные строки и обязан по каждой находке сканера подтвердить ее или снять с причиной, а скрипты проверяют, что ответ дан по всем находкам. Claude Code запускается без ваших настроек и только с инструментами чтения, поиска и просмотра, Codex в песочнице только на чтение. Итог команда печатает в виде квитанции: вердикт, строка на находку и путь к `report.html`. Рядом пишутся `report.md`, `report.json` и `report.sarif`. Навык просит агента показать квитанцию и спросить, какие находки исправлять. Режим `review --all` проверяет весь репозиторий, `review <ветка>` ветку, `review '#42'` пулл-реквест. `init` показывает список файлов, которые запишет, и один раз спрашивает согласие. Он создает глобальные инструкции агентов, ловушку на `git push` для Claude Code и Codex, правила для Cursor и Cline, хук `pre-push` в репозитории и MCP-сервер `openqodex`, который отвечает на вопросы по графу кода, например, кто вызывает функцию. Свой сканер подключают в `.openqodex/config.yaml` и утверждают командой `openqodex trust`.

Для кого. Для разработчиков и команд, которые пишут код в Claude Code, Codex, Cursor или Cline и хотят проверять изменения сканерами и независимым ревьюером до пуша, не заводя отдельный ключ для модели.

Подходит, если

  • Перед пушем нужно проверить изменения сканерами секретов, уязвимостей и линтерами одной командой
  • Агент написал функцию, и ее должен разобрать другой процесс, а не тот же агент
  • В команде все агенты должны пройти проверку перед `git push`, а хук `pre-push` обязан ловить и ручные пуши
  • Нужен отчет в формате SARIF, HTML и Markdown, который можно приложить к пулл-реквесту
  • Надо добавить к проверке собственный сканер с GitHub и утвердить его вручную

Не подходит, если

  • Вы работаете в Windows или WSL: проверки идут на macOS и Linux, на Windows и WSL тесты не запускаются
  • Не установлены ни Claude Code, ни Codex со входом: полной проверки не будет, останутся только находки сканеров без проверки
  • Нужна проверка на вашем API-ключе в терминале: ключ поддержан только в GitHub Action, в локальной проверке его нет
  • Нужен разбор отдельных пулл-реквестов у модели Anthropic без локального процесса: такую задачу решает Claude Code Security Reviewer

Пример запроса к агенту

Проверь мои изменения через openqodex перед пушем и покажи находки, я скажу, какие исправлять

Ограничения

  • Лицензия Apache-2.0. Проект идет к версии 1.0: команды, ключи и файл настроек могут меняться между минорными релизами.
  • Нужны Node.js 22 или новее и git. Пакет проверяется на macOS и Ubuntu, на Windows и WSL тестов нет. Часть сканеров требует среды выполнения, которую OpenQodex не ставит: brakeman и rubocop нужен Ruby, golangci-lint нужен Go, cargo-deny нужен Cargo.
  • Ревьюером могут быть только Claude Code и Codex. Cursor на эту роль не годится. В песочнице Codex второй процесс Codex не запускается. Без ревьюера команда `review` печатает «Full review unavailable» и завершается с кодом 2.
  • Хук в агенте проверяет наличие ревью текущей работы, а не содержимое пуша. Хук `pre-push` смотрит точные коммиты, но `git push --no-verify` его пропускает. По умолчанию обе проверки только предупреждают. Пуш они блокируют, когда в `.openqodex/config.yaml` задан `review.block_on_severity`.
  • Автор приводит свой замер: на размеченных ошибках Claude Code нашел 129 из 153, Codex 115 из 153. Все проблемы не находит ни один режим, отчет называет этапы, которые не запустились.
  • Локальной копии баз уязвимостей нет: osv-scanner обращается к osv.dev, а cargo-deny скачивает базу RustSec. Флаг `--offline` отключает такие сканеры, но ревьюер все равно отправляет изменения в модель вашего входа.

Как отключить. Команда `openqodex init --uninstall` убирает записанные `init` разделы и файлы, не трогая ваш текст рядом. Ключ `init --hook none` отключает хук `pre-push`, а `--no-mcp` пропускает регистрацию MCP-сервера. Папка `~/.openqodex` содержит сканеры, кэш и утвержденные записи, ее можно удалить вручную.

Частые вопросы

Нужен ли отдельный API-ключ для ревью?

Нет. Ревьюер работает на вашем входе в Claude Code или Codex, и OpenQodex ключей не просит. Исключение — GitHub Action: полное ревью пулл-реквеста он запускает, только если в воркфлоу задан `ANTHROPIC_API_KEY`. Без ключа Action проверяет одними сканерами, и хук pre-commit тоже.

Кто проверяет код, если установлены и Claude Code, и Codex?

Если вошли оба, проверяет тот агент, из которого вы запустили `review`: Codex из Codex, Claude Code из Claude Code. Из других мест по умолчанию Claude Code. Выбрать Codex можно ключом `--reviewer codex` или значением `reviewer: codex` в `~/.openqodex/config.yaml`.

Что отправляется во внешние сервисы?

Сам OpenQodex и встроенные сканеры код не отправляют и телеметрию не собирают. Исключение — сеть для загрузок и баз: osv-scanner отправляет в osv.dev названия и версии зависимостей из lock-файла, semgrep берет наборы правил из своего реестра. Ревьюер отправляет изменения в модель вашего входа и по умолчанию может искать в сети; параметр `reviewer_web: off` это отключает.

Как добавить собственный сканер?

Впишите его в `.openqodex/config.yaml` в разделе `scanners.custom` с командой запуска и целью. Затем выполните `npx openqodex trust`: команда скачает релиз в карантинную папку, покажет, что будет выполняться, и спросит согласие. Сканер должен писать SARIF или один JSON-документ, который превращает в находки блок `map`. Агенту навык запрещает запускать `trust` без вопроса.

Что делает пакет, если ревьюера нет?

Печатает «Full review unavailable», завершается с кодом 2 и сохраняет находки сканеров без проверки в `unchecked-candidates.json`. Он предлагает запасной путь, `review --agent`: агент, в котором вы работаете, проверяет изменения по выданному заданию. В отчете первой строкой после вердикта будет пометка, что проверял сам кодирующий агент.

Обсуждение

Вопросов и отзывов пока нет.

Проверяет diff и переписку с агентом: ловит ошибки в коде и расхождения между вашей просьбой и тем, что агент сделал. CLI, скилл и GitHub Action

СкиллРасширенный доступ511Звезды репозитория

Скилл состязательного аудита кода: Hunter ищет ошибки, Skeptic их оспаривает, Referee выносит вердикт, а правки без вашего разрешения не вносятся

СкиллРасширенный доступ528Звезды репозитория

Расширяемый агент код-ревью: читает диф, исследует кодовую базу инструментами разработчика и оставляет предметные комментарии к PR

CLIШирокий доступ2,5 тыс.Звезды репозитория

Набор QA-агентов, скиллов и MCP-сервер: генерация тестов, поиск пробелов в покрытии, нестабильные тесты, безопасность и хаос-тестирование

ПлагинШирокий доступ514Звезды репозитория

Скилл проверки кода агента в настоящем браузере: читает ваши изменения, составляет план теста и прогоняет его через Playwright с вашими куки

СкиллШирокий доступ3,6 тыс.Звезды репозитория

Открытый ИИ-агент для ревью pull request: описание, замечания и предложения по улучшению в GitHub, GitLab и других

CLIРасширенный доступ13,6 тыс.Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйЗвезды репозиторияГлавное отличие
OpenQodex (эта запись)нет796
review-loopнет726плагин Claude Code: после задачи хук остановки запускает ревью в Codex, без сканеров и без пуш-гейта
open-code-reviewнет48 062команда ocr читает git diff и пишет замечания по строкам, без сканеров, проверки ответов и хука на пуш
Claude Code Security Reviewerнет6 490GitHub Action проверяет пулл-реквест Claude на уязвимости, работает в CI, не перед пушем с вашей машины

Коротко о README

В репозитории лежат CLI одним файлом, навык, шаблоны для агентов, документация и демонстрация. Описание проекта разбирает установку, роли агентов, требования, ход проверки, ограничения и 22 встроенных сканера. Дополнительно есть замеры на размеченных ошибках, примеры отчетов, плагины для Claude Code и Cursor, действие GitHub Actions и хук pre-commit.

Бейдж для README

Сообщить о проблеме

Foxx AIOpenQodex
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.