no-mistakes CLI

Локальный шлюз перед git push: ревью, тесты, документация и линтер проходят в отдельной копии, и только после этого ветка уходит в удаленный репозиторий

  • 8 914 ★ репозитория
  • Последний коммит
  • MIT
CLI

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

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

  • Агент конвейера читает весь дифф ветки, запускает тесты и линтер и сам вносит правки в код
  • Шлюз отправляет ветку в удаленный репозиторий, открывает PR и использует защищенный force-push для починки CI
  • Фоновый процесс постоянно работает как служба системы и хранит запуски в локальной базе
Все причины и проверки

kunchenguid/no-mistakes

Установка

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

curl -fsSL https://raw.githubusercontent.com/kunchenguid/no-mistakes/main/docs/install.sh | sh

Для macOS и Linux. Бинарник ставится в ~/.no-mistakes/bin, а фоновый процесс запускается сразу. Для Windows есть install.ps1, для Go команда go install, для Nix сборка из flake.

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

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

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

  • Агент конвейера читает весь дифф ветки, запускает тесты и линтер и сам вносит правки в код
  • Шлюз отправляет ветку в удаленный репозиторий, открывает PR и использует защищенный force-push для починки CI
  • Фоновый процесс постоянно работает как служба системы и хранит запуски в локальной базе

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

Что делает

no-mistakes ставит между вами и удаленным репозиторием локальный git-прокси. Команда `no-mistakes init` в репозитории создает шлюз в `~/.no-mistakes/repos/` вне папки проекта, добавляет git-ремоут `no-mistakes` и ставит скилл `/no-mistakes` для агентов на уровне пользователя. Вместо `git push origin` вы выполняете `git push no-mistakes`: хук передает ветку фоновому процессу и сразу возвращает управление, а проверка идет в отдельной временной рабочей копии, не мешая вашей работе. Конвейер состоит из девяти шагов: `intent`, `rebase`, `review`, `test`, `document`, `lint`, `push`, `pr`, `ci`. Ревью, поиск и запуск тестов, правку документации и исправления выполняет настроенный агент: Claude, Codex, Grok Build, Antigravity, Rovo Dev, OpenCode, Pi или Copilot, а Cursor и Devin подключаются через `acpx`. Безопасные механические правки применяются сами, а то, что затрагивает замысел, остановится как замечание, где вы выбираете: принять, исправить или пропустить. Ветка уходит в удаленный репозиторий только после того, как зелеными стали все локальные шаги. Затем шлюз открывает PR и следит за CI, а при падении CI пытается починить его. Есть три способа запуска. `git push no-mistakes` отправляет закоммиченную ветку. Просто `no-mistakes` открывает интерфейс в терминале: он предложит создать ветку, коммит и отправку, а с флагом `-y` сделает это сам. Команда `/no-mistakes <задача>` в агенте поручает ему выполнить задачу и пропустить результат через шлюз; под капотом скилл вызывает `no-mistakes axi`.

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

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

  • Агент пишет много кода, и нужен обязательный проход ревью, тестов и линтера до отправки
  • Вы устали вручную писать описание PR и ждать CI, а потом чинить его падения
  • Нужно поручить агенту задачу и получить результат, который уже прошел проверку
  • Вы вносите вклад в чужой репозиторий с форка и хотите открывать PR против родителя с проверенной веткой
  • В команде хотят требовать, чтобы PR проходили через шлюз: для этого в репозитории есть действие GitHub `require-no-mistakes`

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

  • Нет ни одного поддерживаемого агента в командной строке: каждый запуск шлюза требует настроенный агент конвейера
  • Нужна проверка без отправки данных агенту: ревью, тесты и правки выполняет модель, и код ветки попадает к ее провайдеру
  • Нужен только быстрый хук pre-commit: шлюз запускает полный конвейер из девяти шагов, это дольше обычного хука
  • Нужен только разбор готового PR без отправки ветки: для этого ближе open-code-review

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

/no-mistakes добавь в проект проверку формата телефона на форме заказа и пропусти изменения через шлюз

Ограничения

Лицензия MIT. Работает на macOS, Linux и Windows; сборка Nix покрывает x86_64-linux, aarch64-linux и aarch64-darwin, Intel macOS в нее не входит.

  • Установка запускает фоновый процесс: на macOS это служба launchd, на Linux пользовательская служба systemd, на Windows задача Планировщика, при невозможности такого пути процесс запускается отдельно.
  • Официальные сборки отправляют телеметрию на сервер Umami автора: имена команд, статусы, длительности и счетчики. Запросы к агенту, диффы, пути и имена веток в нее не попадают. Отключается переменной `NO_MISTAKES_TELEMETRY=0`, а сборка через `go install` по умолчанию не отправляет ничего.
  • Скрипт установки создает ссылку в `/usr/local/bin` через `sudo`, если `~/.local/bin` нет в `PATH`.
  • Ограничение рабочей копии держится на инструкциях агенту, а не на изоляции процесса: документация сама называет это подсказкой.
  • Команды теста и линтера агент подбирает сам, пока вы не задали `commands.test` и `commands.lint` в `.no-mistakes.yaml`.

Как отключить. Команда `no-mistakes eject` в репозитории убирает ремоут `no-mistakes`, удаляет шлюз, рабочие копии и запись в базе. Фоновый процесс останавливает `no-mistakes daemon stop`, а его службу удаляет `no-mistakes daemon uninstall`.

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

Что значит, что ветка прошла шлюз?

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

Какие шаги можно пропустить?

Порядок девяти шагов менять нельзя, но запуск можно начать с флагом `--skip` и списком шагов через запятую. Репозиторий добавляет собственные проверки блоком `gates` в `.no-mistakes.yaml`, убрать или переставить ими основные шаги нельзя.

Что делать, если я работаю с форка на GitHub?

Оставьте `origin` указывающим на родительский репозиторий и выполните `no-mistakes init --fork-url <адрес вашего форка>`. Ветки будут уходить в форк, а PR открываться против `origin`.

Как проверить, что шлюз видит нужного агента?

Для этого есть команда `no-mistakes doctor`. По умолчанию значение `agent: auto` берет первый найденный в системе поддерживаемый агент, а упорядоченный список запасных можно задать в конфиге.

Что еще умеет утилита, кроме запуска конвейера?

`no-mistakes runs` и `no-mistakes status` показывают запуски, `no-mistakes rerun` повторяет их, `no-mistakes stats` печатает счетчики вызовов агента и токены из локальной базы, а `no-mistakes eval` прогоняет оценочные сценарии. `no-mistakes ci-workflow` создает файл рабочего процесса GitHub Actions.

Обсуждение

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

Официальный

Скилл prek учит агента настраивать Git-хуки на prek, Rust-замене pre-commit: конфиг, шимы, приоритеты, встроенные хуки и монорепозитории

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

Драйвер слияния Git и MCP-сервер: сравнивает функции и классы и снимает ложные конфликты от параллельных правок агентов

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

CLI для git worktree, заточенный под параллельные сессии Claude Code и Codex: команда wt, плагин и хуки автоматизации

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

Обертка над GitHub CLI для агентов: компактный вывод TOON, подсказки следующего шага и структурные ошибки для issues, PR, CI и релизов

CLIШирокий доступ344Звезды репозитория

GitLab MCP на 86 инструментов: задачи, запросы на слияние, пайплайны, вики и файлы, режим только для чтения, локальный и удаленный запуск

MCP-серверШирокий доступ65Звезды репозитория

Библиотека паттернов и скиллов для регулярных агентских циклов: разбор issue, чистка зависимостей, сопровождение PR

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

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

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

ЗаписьОфициальныйЗвезды репозиторияГлавное отличие
no-mistakes (эта запись)нет8 914
open-code-reviewнет47 758читает git diff и пишет замечания по строкам, сам ветку не отправляет и PR не открывает
PR Lensнет2 159рисует схему архитектуры и потоков данных в описании PR, проверок и тестов не запускает

Коротко о README

Описание на английском и китайском. Оно начинается с идеи шлюза и списка свойств: фоновая работа, независимость от агента, скилл для агента, решение за человеком. Дальше схема конвейера, абзац о том, как шлюз чинит CI и когда повторяет ревью, установка одной командой, пример первого запуска с выводом `init` и описание трех способов запуска. Подробная документация вынесена на сайт проекта, а в репозитории лежат исходный код на Go, тесты, замеры скорости в `benchmarks/`, документы `VISION.md` и `CONTRIBUTING.md` и собственный конфиг шлюза `.no-mistakes.yaml`.

Бейдж для README

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

Foxx AIno-mistakes
Foxx AI

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