#!/bin/bash # Скрипт установки и настройки pre-commit хуков echo "🔧 Настройка pre-commit хуков..." # Проверка наличия Git if ! command -v git &> /dev/null; then echo "❌ Git не найден. Установите Git и повторите попытку." exit 1 fi # Создание директории для хуков если её нет HOOKS_DIR=".git/hooks" if [ ! -d "$HOOKS_DIR" ]; then mkdir -p "$HOOKS_DIR" echo "📁 Создана директория для git hooks" fi # Копирование pre-commit хука if [ -f ".git/hooks/pre-commit" ]; then echo "🔄 Обновление существующего pre-commit хука" else echo "📥 Установка нового pre-commit хука" fi # Делаем хук исполняемым chmod +x .git/hooks/pre-commit echo "✅ Pre-commit хук установлен и готов к использованию" echo "" echo "📋 Что проверяет pre-commit хук:" echo " • Синтаксис Python файлов" echo " • Стиль кода (flake8)" echo " • Форматирование (black)" echo " • Сортировка импортов (isort)" echo " • Формат YAML файлов" echo " • Пробелы в конце строк" echo " • Закрывающие переводы строк" echo "" echo "💡 Хук автоматически запускается при каждом коммите" echo "💡 Для пропуска проверок используйте: git commit --no-verify"