Skip to content

TODO: Parity with pre-commit

This page tracks gaps that prevent prek from being a drop-in replacement for pre-commit.

Subcommands not implemented

  • gc

Language support status

The original pre-commit supports hooks written in 10+ languages. The table below tracks prek's parity progress and references any open follow-up work.

Language Status in prek Tracking Notes
python ⭐ ✅ Supported prek supports automatic version management of Python toolchains.
node ✅ Supported
golang ✅ Supported
lua ✅ Supported
system ✅ Supported
script ✅ Supported
pygrep ✅ Supported
docker ✅ Supported
docker_image ✅ Supported
fail ✅ Supported
deno ⭐ 🚧 WIP Experimental support in prek; upstream pre-commit lacks a native deno language.
ruby 🚧 WIP #43 prek does not currently support downloading new Ruby versions, but can use multiple simultaneously installed interpreters
rust 🚧 Planned #44
conda 🚧 Planned #52
coursier 🚧 Planned #53
dart 🚧 Planned #51
dotnet 🚧 Planned #48
haskell 🚧 Planned
julia 🚧 Planned
perl 🚧 Planned
r 🚧 Planned #42
swift 🚧 Planned #46

⭐ Languages marked with a star highlight functionality prek offers beyond what upstream pre-commit includes today.

Contributions welcome — if you'd like to help add support for any of these languages, please open a PR or comment on the corresponding issue.