intermediate
Husky
Запускайте Git hooks из репозитория для лёгких локальных проверок, сохраняя авторитетную верификацию в CI.
Husky ставит Git hooks из репозитория (`.husky/pre-commit`), чтобы команда делила одни локальные проверки. Типично — format/lint на staged или блок commit при быстром падающем тесте.
Hooks дают ранний feedback, но обходимы (`--no-verify`, skip в окружении). CI остаётся авторитетным gate для merge.
# .husky/pre-commit (концептуально)
pnpm exec lint-staged
На интервью: pre-commit vs pre-push, hooks до ~10 секунд, политика skip и связка с lint-staged.
Типовые ошибки: полный test suite в pre-commit; секреты или сеть в hooks; hooks как «безопасность».
Компромисс — полезные локальные подсказки против трения, если hooks медленные.
Чеклист:
- Быстрые и узкие hooks.
- CI не заменяется hooks.
- Скрипты hooks в репозитории.
- lint-staged для staged scope.