Использование pre-commit для повышения качества и безопасности кода, созданного с помощью ИИ.

Практическая настройка pre-commit для рабочих процессов с ИИ-кодированием
Разработчик на r/ClaudeAI поделился своим подходом к повышению качества кода при использовании ИИ-ассистентов для программирования, таких как Claude Code. Он использует pre-commit с детальным файлом конфигурации, чтобы выявлять устаревшие пакеты, уязвимости и проблемы с качеством до коммита кода.
Детали конфигурации
Файл .pre-commit-config.yaml включает несколько хуков:
- Базовое форматирование: trailing-whitespace, end-of-file-fixer, check-yaml, check-merge-conflict
- Для Go: golangci-lint (v1.64.0) с аргументом --timeout=5m, govulncheck, go test -short
- Документация: markdownlint-cli (v0.43.0), yamllint (v1.35.1)
- Проверка текста: vale (v3.10.0) с --config=.vale.ini для лингвистической проверки
- Безопасность: checkov для сканирования Infrastructure as Code и GitHub Actions
Установка и рабочий процесс
Установите pre-commit через:
brew install pre-commitили
pip install pre-commitЗатем настройте глобально:
pre-commit init-templatedir ~/.git-template
git config --global init.templateDir ~/.git-templateЭто гарантирует автоматический запуск pre-commit при клонировании или создании репозиториев с файлом конфигурации.
Стратегии интеграции
Разработчик использует Makefiles для проектов на Go, чтобы контролировать действия, которые может выполнять Claude Code, перенаправляя все команды go через makefile. Это предотвращает случайное создание бинарных файлов Claude и обеспечивает сканирование безопасности и управление уязвимостями во время сборки.
Для Java с Maven аналогичные проверки можно интегрировать в mvn clean verify, чтобы обеспечить проверки на уязвимости и сканирование безопасности.
Почему этот подход работает
Разработчик отмечает, что Claude Code предлагает код на основе своего обучения, который часто не учитывает требования безопасности или содержит уязвимости. Когда коммит не проходит из-за проверок pre-commit, Claude Code может обнаружить и исправить проблемы. Этот подход не мешает редактированию файлов, как могут мешать хуки Claude, потенциально экономя токены.
Он считает этот метод более эффективным, чем добавление хуков Claude для форматирования и сканирования, с меньшим использованием токенов и преимуществами для ручной разработки.
Дополнительные упомянутые инструменты
- act для локального тестирования GitHub Actions
- actlint для проверки конфигураций GitHub Actions
- vale для лингвистической проверки, особенно полезен для тех, для кого английский не родной
Разработчик подчеркивает, что этот подход работает независимо от используемого ИИ-ассистента или модели, поскольку даже продвинутые модели вроде Opus 4.6 могут генерировать небезопасный код на основе обучающих данных.
📖 Read the full source: r/ClaudeAI
👀 Смотрите также

Исправление утечки памяти Claude Code для домашних лабораторий на Linux
Разработчик обнаружил, что у Claude Code есть серьёзная утечка памяти в glibc malloc, которая потребляла 400 ГБ ОЗУ и приводила к сбоям в его Proxmox homelab, после чего он создал двухуровневое решение защиты с помощью LD_PRELOAD shim и watchdog.

Сервер MCP для проектов на TypeScript заменяет поиск по шаблону Grep в Claude Code на индексированный поиск символов
Разработчик создал MCP-сервер, который заменяет паттерн grep-and-guess в Claude Code на индексированный поиск символов для TypeScript-проектов. Инструмент поддерживает живой SQLite-индекс символов, мест вызова, импортов и иерархии классов, сокращая использование токенов на 63–79% в тестах.

CK Search: Локальный инструмент семантического поиска с интеграцией сервера MCP
CK Search — это локальный инструмент семантического поиска со встроенным MCP-сервером, который индексирует любые текстовые каталоги без зависимости от облачных сервисов. Инструмент может использоваться ИИ-агентами через MCP, а исходный материал содержит практическое руководство по настройке, преимуществам и ограничениям в сравнении с grep.

Cognithor v0.40.0 добавляет постоянную идентичность ИИ-агента с этическими ограничениями.
Cognithor v0.40.0 представляет Протокол Бессмертного Разума, который обеспечивает локальным ИИ-агентам постоянную идентичность между сессиями с 7 встроенными этическими якорями и циклами сновидений для консолидации памяти. Обновление добавляет 9 488 строк кода и работает на 100% локально.