ClawPatch — CLI-инструмент для автоматического код-ревью, который разбивает репозиторий на семантические фичи (маршруты, команды, пакеты, тесты), ревьюит каждую через AI-провайдер и сохраняет находки с аудит-трейлом. В отличие от линтеров, анализирует не отдельные файлы, а функциональные срезы кодовой базы — с входными точками, связанными файлами и границами доверия.

Что это

ClawPatch — open-source CLI от команды OpenClaw (Peter Steinberger, создатель OpenClaw). Инструмент решает задачу, которую традиционные линтеры и файловые сканеры не покрывают: ревью кода в контексте фичи, а не отдельного файла.

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

  • clawpatch init — определяет тип проекта, пакетный менеджер, тестовые команды.
  • clawpatch map — строит карту семантических фич: маршруты Next.js, Go-пакеты, Rust-крейты, Python-модули, SwiftPM-таргеты.
  • clawpatch review — отправляет каждую фичу AI-провайдеру (сейчас Codex CLI) на ревью.
  • Все находки сохраняются с категорией, серьёзностью, уверенностью и конкретными доказательствами.
  • clawpatch fix —finding — патч для одной конкретной находки с валидацией.

Весь процесс — явный, без скрытых коммитов и автоматических мёржей. Лицензия — MIT.

Зачем нужно

  • Получить код-ревью не по файлам, а по фичам — AI видит entrypoints, owned files, тесты и trust boundaries одновременно.
  • Структурировать находки: категория (bug / security / performance / docs-gap / test-gap / maintainability), серьёзность (critical → low), уровень уверенности.
  • Патчить по одной находке за раз с валидацией (typecheck, lint, format, тесты) — без скрытых коммитов.
  • Масштабировать ревью на mono-repo: семантическая карта разбивает большой репозиторий на управляемые единицы.
  • Сохранять персистентное состояние в .clawpatch/ — можно остановить и продолжить в любой момент.

Как устроено

Основные возможности

ВозможностьЧто делает
Семантический маппингРазбивает кодовую базу на feature records: маршруты, команды, пакеты, бины, тесты. Каждый record содержит входные точки, связанные файлы и контекст.
AI-ревью по контекстуРевьюит не файлы, а фичи целиком — AI видит entrypoints, owned files, тесты и trust boundaries одновременно.
Категоризация находокКатегория (bug, security, performance, docs-gap, test-gap, maintainability), серьёзность (critical → low), уровень уверенности.
Явный патчингФикс по одной находке через fix —finding. Включает валидацию: typecheck, lint, format, тесты. Никаких скрытых коммитов.
Персистентное состояниеВсе раны, фичи, находки, патч-попытки сохраняются в .clawpatch/. Можно остановить и продолжить в любой момент.
Триаж находокСтатусы: open, fixed, wont-fix, false-positive, uncertain. Команда triage для управления и next для следующей приоритетной.
Markdown-отчётыГенерация отчётов по находкам с фильтрацией по серьёзности и статусу. JSON-вывод для CI/CD.
РевалидацияПерепроверка находок после ручного фикса или обновления кодовой базы.

Поддерживаемые языки и фреймворки

  • Node.js / TypeScript — npm package bins, workspace scripts (start, build, test, lint, typecheck, format).
  • Next.js — app/ и pages/ маршруты.
  • Python — project metadata, console scripts, bounded source groups, pytest suites, Flask routes.
  • Go — go list ./…, command packages, internal packages, тесты.
  • Rust — src/main.rs, src/bin/*.rs, src/lib.rs, crates, integration tests.
  • SwiftPM — Sources/* таргеты и Tests/* suites.
  • Java / Kotlin — Gradle source groups, JVM semantic roles по аннотациям и интерфейсам.
  • Конфиги — общие файлы конфигурации проекта.

AI-провайдеры

Сейчас ClawPatch поддерживает один production-провайдер — Codex CLI (локальный). Провайдер вызывается через codex exec со строгими JSON-схемами.

  • codex — локальный Codex CLI (основной).
  • mock — детерминированный тестовый провайдер.
  • mock-fail — тестовый провайдер с ошибками.

Прямая интеграция с OpenAI, Claude, Gemini и другими провайдерами пока не реализована. Планируется в будущих версиях.

Когда использовать

Команды CLI

clawpatch init          # Инициализация проекта, определение конфигурации
clawpatch map           # Построение семантической карты фич
clawpatch status        # Статус проекта, счётчики фич и находок
clawpatch review        # Ревью фич, поиск проблем
clawpatch report        # Генерация Markdown-отчёта
clawpatch next          # Следующая приоритетная находка
clawpatch show --finding <id>   # Детали находки с evidence
clawpatch triage --finding <id>  # Разметка статуса находки
clawpatch fix --finding <id>     # Патч одной находки
clawpatch revalidate    # Перепроверка находок
clawpatch doctor        # Проверка окружения

Параллельный ревью: clawpatch review —limit 10 —jobs 5 запустит до 5 параллельных ревью. Состояние сохраняется между запусками, так что можно ревьюить батчами.

Установка

# npm
npm install -g clawpatch

# pnpm
pnpm add -g clawpatch

# Из исходников
git clone https://github.com/openclaw/clawpatch.git
cd clawpatch
pnpm install
pnpm run build
pnpm link --global

Требования: Node.js 22+, Git 2.x, локальный Codex CLI.

Безопасность

ClawPatch построен с жёсткими гарантиями безопасности:

  • Ревью не меняет файлы. Команда review работает в read-only режиме.
  • Фикс — явный. Только через fix —finding, по одной находке за раз.
  • Чистое дерево. По умолчанию блокирует фиксы на грязном worktree.
  • Нет скрытых действий. Никогда не коммитит, не пушит, не открывает PR.
  • Валидация схем. Все ответы провайдера проверяются через строгие JSON-схемы.
  • Аудит-трейл. Все раны, находки и патч-попытки сохранены в .clawpatch/.

Пример

Типичный сценарий код-ревью перед релизом:

# Инициализировать в проекте
clawpatch init

# Построить карту фич
clawpatch map

# Прогнать ревью параллельно (5 воркеров)
clawpatch review --limit 50 --jobs 5

# Сгенерировать отчёт
clawpatch report > code-review.md

# Закрыть находки с фиксом
clawpatch fix --finding <id>
clawpatch fix --finding <id>

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

Контекст: как OpenClaw использует ClawPatch

Peter Steinberger (создатель OpenClaw) рассказывает, что команда постоянно запускает около 100 Codex-инстанций в облаке. ClawPatch используется для разбиения всех проектов на функциональные единицы и поиска багов и регрессий. Отдельно тот же подход применяется для security-аудита совместно с Vercel DeepSec и Codex Security.

Ограничения

ОграничениеПояснение
Только один production AI-провайдер — Codex CLI.Прямая интеграция с OpenAI, Claude, Gemini пока не реализована.
Требует локально установленного Codex CLI и Node.js 22+без них инструмент не запустится.
По умолчанию блокирует фиксы на грязном worktreeнужно сначала закоммитить текущие изменения.
Состояние хранится в .clawpatch/для CI/CD нужна настройка персистентности между запусками.
AI-ревью не заменяет человеческий обзор архитектурных решенийтолько дополняет.

Антипаттерны

АнтипаттернПочему опасно
Не делать — запускать clawpatch fix без предварительного review.Сначала — разметка и приоритезация находок, потом — патч.
Не делать — фиксить находки с уверенностью low без ручной проверки.Это зона, где AI чаще всего ошибается.
Не делать — пропускать clawpatch doctor перед первым запуском.Без Codex CLI инструмент не работает, и это выяснится уже на review.
Не делать — коммитить .clawpatch/ в публичный репозиторий.Это внутреннее состояние с находками и метаданными.

Чеклист

ПроверкаЧто сделать
ClawPatch установлен (npm/pnpm) или собран из исходниковтип проекта, пакетный менеджер, тестовые команды определены.
clawpatch map построил семантическую карту фич, статус показывает разумное число записейtypecheck, lint, format, тесты.
Состояние .clawpatch/ не коммитится в публичный репозиторий (добавлено в .gitignore)