{"library":"prek","title":"Prek: Faster Git Hooks, Re-engineered in Rust","description":"Prek is a Rust-based reimplementation of the `pre-commit` framework, designed to manage Git hooks with dramatically improved performance and efficiency. It offers a faster, dependency-free alternative that is largely compatible with existing `.pre-commit-config.yaml` files, while also introducing new features like `prek.toml` configuration and built-in monorepo support. The project maintains an active development pace with frequent releases.","language":"python","status":"active","last_verified":"Sat Apr 11","install":{"commands":["pip install prek"],"cli":{"name":"prek","version":"prek 0.4.0"}},"imports":[],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"# 1. Install prek (if not already done via pip)\n# curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.8/prek-installer.sh | sh\n\n# 2. Generate a sample configuration file\nprek sample-config > .pre-commit-config.yaml\n\n# 3. Install the Git hooks into your repository\nprek install\n\n# 4. Make a change to a file and commit\n# (e.g., echo 'new content' > some_file.py)\ngit add .\ngit commit -m \"My first prek-checked commit\"","lang":"bash","description":"This quickstart demonstrates how to install prek, generate a default configuration, set up the Git hooks, and trigger them with a commit. Prek will automatically use `.pre-commit-config.yaml` (or `prek.toml`) and manage hook environments.","tag":null,"tag_description":null,"last_tested":"2026-04-24","results":[{"runtime":"python:3.10-alpine","exit_code":1},{"runtime":"python:3.10-slim","exit_code":1},{"runtime":"python:3.11-alpine","exit_code":1},{"runtime":"python:3.11-slim","exit_code":1},{"runtime":"python:3.12-alpine","exit_code":1},{"runtime":"python:3.12-slim","exit_code":1},{"runtime":"python:3.13-alpine","exit_code":1},{"runtime":"python:3.13-slim","exit_code":1},{"runtime":"python:3.9-alpine","exit_code":1},{"runtime":"python:3.9-slim","exit_code":1}]},"compatibility":null}