prek
pre-commit - это фреймворк для запуска хуков, написанных на разных языках.
Он управляет языковыми toolchain’ами и зависимостями, необходимыми для выполнения этих хуков.
prek - это переосмысленная версия pre-commit, написанная на Rust.
Он спроектирован как более быстрый, не требующий зависимостей и drop-in-совместимый альтернативный вариант, а также включает ряд давно запрашиваемых возможностей.
Возможности
• Один бинарный файл без зависимостей - не требует Python или какого-либо другого рантайма.
• Быстрее pre-commit и более эффективен по использованию дискового пространства.
• Полностью совместим с оригинальными конфигурациями и хуками pre-commit.
• Встроенная поддержка монорепозиториев (workspace mode).
• Интеграция с uv для управления Python-виртуальными окружениями и зависимостями.
• Улучшенная установка toolchain’ов для Python, Node.js, Bun, Go, Rust и Ruby, общих между хуками.
• Встроенные нативные реализации некоторых популярных хуков на Rust.
@five_minutes_of_data
pre-commit - это фреймворк для запуска хуков, написанных на разных языках.
Он управляет языковыми toolchain’ами и зависимостями, необходимыми для выполнения этих хуков.
prek - это переосмысленная версия pre-commit, написанная на Rust.
Он спроектирован как более быстрый, не требующий зависимостей и drop-in-совместимый альтернативный вариант, а также включает ряд давно запрашиваемых возможностей.
Несмотря на то что prek довольно новый инструмент, он уже используется в реальных продакшн-проектах, таких как CPython, Apache Airflow, FastAPI и других.
Возможности
• Один бинарный файл без зависимостей - не требует Python или какого-либо другого рантайма.
• Быстрее pre-commit и более эффективен по использованию дискового пространства.
• Полностью совместим с оригинальными конфигурациями и хуками pre-commit.
• Встроенная поддержка монорепозиториев (workspace mode).
• Интеграция с uv для управления Python-виртуальными окружениями и зависимостями.
• Улучшенная установка toolchain’ов для Python, Node.js, Bun, Go, Rust и Ruby, общих между хуками.
• Встроенные нативные реализации некоторых популярных хуков на Rust.
@five_minutes_of_data