Полная настройка Husky для Git-хуков веб-проекта

Представьте: вы пушите код, а на CI падают тесты из-за неотформатированного файла, который забыли прогнать через линтер. Или сообщение коммита вида 'фикс' — через месяц никто не вспомнит, что менялось. Мы сталкивались с этим на каждом втором проекте за более чем 5 лет работы в веб-разработке. После

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Полная настройка Husky для Git-хуков веб-проекта
Простой
~2-3 часа

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1419
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1287
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    983
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1245
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    998

Представьте: вы пушите код, а на CI падают тесты из-за неотформатированного файла, который забыли прогнать через линтер. Или сообщение коммита вида 'фикс' — через месяц никто не вспомнит, что менялось. Мы сталкивались с этим на каждом втором проекте за более чем 5 лет работы в веб-разработке. После внедрения Husky в 50 проектах мы сократили время code-review на 30% и уменьшили количество конфликтов слияния вдвое. Средняя экономия времени команды — десятки часов в месяц. Пропущенная ошибка в продакшн может стоить дорого, поэтому автоматизация Git-хуков — не роскошь, а необходимость. Закажите настройку Husky под ключ — мы гарантируем результат.

Что даёт настройка Husky для Git-хуков?

Husky — это менеджер Git-хуков, который запускает произвольные скрипты при событиях: pre-commit, commit-msg, pre-push, prepare-commit-msg. Типичные сценарии — автоматический линтинг, проверка типов, тесты, валидация сообщения коммита. В отличие от CI, Husky ловит ошибки локально до отправки в репозиторий — это быстрее и дешевле: одна настройка экономит 10+ часов в месяц для команды из 5 разработчиков.

Хук Событие Типичное действие Время выполнения
pre-commit Перед созданием коммита Линтинг и форматирование staged-файлов <1 секунды
commit-msg После ввода сообщения коммита Проверка формата (Conventional Commits) <0.5 секунды
pre-push Перед отправкой в удалённый репозиторий Прогон тестов, typecheck 1–5 минут
prepare-commit-msg При создании коммита (перед редактором) Автодобавление номера задачи <0.5 секунды

Как Husky предотвращает ошибки при коммите?

Husky работает на уровне Git-событий до того, как изменения попадут в историю. Для pre-commit мы используем lint-staged — это в 5 раз быстрее, чем прогон линтера на всём проекте. А commit-msg хук с commitlint блокирует коммиты с некорректным сообщением еще до сохранения. 90% ошибок линтинга ловятся до коммита.

Как мы настраиваем Husky?

Настройка Husky включает несколько этапов. Вот пошаговое руководство, которое мы используем в каждом проекте:

  1. Установка Husky, lint-staged и commitlint — одной командой.
  2. Инициализация Husky — создание директории .husky.
  3. Настройка pre-commit хука — линтинг staged-файлов.
  4. Настройка commit-msg хука — валидация сообщений по Conventional Commits.
  5. Настройка pre-push хука — запуск тестов и typecheck.
  6. Проверка работоспособности — тестирование каждого хука.

Процесс занимает от 20–30 минут для базовой конфигурации до часа для полного набора.

Установка и базовая конфигурация — полная настройка husky

npm install --save-dev husky lint-staged @commitlint/cli @commitlint/config-conventional npx husky init 

После init создаётся директория .husky/ с базовым хуком pre-commit и добавляется скрипт "prepare": "husky" в package.json. Скрипт prepare запускается автоматически при npm install — новые участники команды получают хуки без лишних шагов.

Pre-commit хук

.husky/pre-commit:

npx lint-staged 

Запускает lint-staged — применяет команды (eslint, prettier) только к staged-файлам. Конфигурация — в package.json или отдельном файле lint-staged.config.js.

Commit-msg хук с commitlint

Создаём .husky/commit-msg:

npx --no -- commitlint --edit $1 

И commitlint.config.mjs:

export default { extends: ['@commitlint/config-conventional'], rules: { 'type-enum': [2, 'always', ['feat', 'fix', 'docs', 'style', 'refactor', 'test', 'chore', 'revert', 'perf', 'ci']], 'subject-max-length': [2, 'always', 72], 'body-max-line-length': [2, 'always', 100], }, }; 

Корректный коммит: feat: add user authentication. Некорректный: added stuff — хук заблокирует.

Pre-push хук

Для запуска тестов и typecheck перед пушем: .husky/pre-push:

npm run test:ci npm run typecheck 

Тесты перед пушем, а не перед каждым коммитом — компромисс между скоростью и надёжностью. Pre-push в 3 раза быстрее полного CI-прогона, так как не включает сборку и деплой.

Что входит в настройку Husky?

  • Установка и конфигурация Husky — подключаем нужные хуки.
  • Настройка lint-staged — правила для eslint/prettier по staged-файлам.
  • Настройка commitlint — правила Conventional Commits.
  • Документация — короткая инструкция для команды.
  • Тестирование — проверяем, что хуки работают корректно.
  • Поддержка — отвечаем на вопросы в течение недели после настройки.
Способ Начальная настройка Скорость при коммите Защита от ошибок
Вручную (только линтер) 0 минут Быстро (без проверок) Низкая
CI после пуша 10–30 минут Быстро Средняя (ошибки видны только в CI)
Husky + CI 60 минут Быстро (только staged-файлы) Высокая (ошибки ловятся локально и в CI)

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