j178/prekPublic

⚡ A fast Git hook manager written in Rust, designed as a drop-in alternative to pre-commit, reimagined.

AI summary: A highly customizable and fast pre-commit hook manager and execution framework.

Stars
8.2K
+8 today
Forks
235
Watchers
15
Open issues
35
Open PRs
14
Contributors
~116
Commits
1.9K
Branches
11

RustMITCreated Oct 7, 2024Last push todayLatest release v0.4.12+42 stars this week+58 this month

Star history

since Aug 3, 2025
02.5K5K7.5KAug 2025Dec 2025Apr 2026Aug 2026
8.2K stars as of Aug 7, 2026, tracked back to Aug 3, 2025. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulAugMonWedFri2025-08-10: 3 commits2025-08-11: 7 commits2025-08-12: 5 commits2025-08-13: 5 commits2025-08-14: 4 commits2025-08-15: 10 commits2025-08-16: 6 commits2025-08-17: 4 commits2025-08-18: 6 commits2025-08-19: 18 commits2025-08-20: 12 commits2025-08-21: 3 commits2025-08-22: 1 commit2025-08-23: 0 commits2025-08-24: 8 commits2025-08-25: 3 commits2025-08-26: 12 commits2025-08-27: 7 commits2025-08-28: 0 commits2025-08-29: 1 commit2025-08-30: 1 commit2025-08-31: 0 commits2025-09-01: 12 commits2025-09-02: 12 commits2025-09-03: 7 commits2025-09-04: 0 commits2025-09-05: 0 commits2025-09-06: 12 commits2025-09-07: 11 commits2025-09-08: 24 commits2025-09-09: 8 commits2025-09-10: 11 commits2025-09-11: 5 commits2025-09-12: 2 commits2025-09-13: 1 commit2025-09-14: 5 commits2025-09-15: 17 commits2025-09-16: 2 commits2025-09-17: 2 commits2025-09-18: 1 commit2025-09-19: 4 commits2025-09-20: 2 commits2025-09-21: 0 commits2025-09-22: 13 commits2025-09-23: 0 commits2025-09-24: 3 commits2025-09-25: 5 commits2025-09-26: 3 commits2025-09-27: 2 commits2025-09-28: 6 commits2025-09-29: 6 commits2025-09-30: 4 commits2025-10-01: 8 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 3 commits2025-10-07: 4 commits2025-10-08: 5 commits2025-10-09: 6 commits2025-10-10: 4 commits2025-10-11: 1 commit2025-10-12: 0 commits2025-10-13: 3 commits2025-10-14: 7 commits2025-10-15: 2 commits2025-10-16: 7 commits2025-10-17: 7 commits2025-10-18: 6 commits2025-10-19: 10 commits2025-10-20: 6 commits2025-10-21: 3 commits2025-10-22: 2 commits2025-10-23: 0 commits2025-10-24: 4 commits2025-10-25: 3 commits2025-10-26: 3 commits2025-10-27: 4 commits2025-10-28: 8 commits2025-10-29: 3 commits2025-10-30: 3 commits2025-10-31: 7 commits2025-11-01: 9 commits2025-11-02: 0 commits2025-11-03: 9 commits2025-11-04: 3 commits2025-11-05: 2 commits2025-11-06: 2 commits2025-11-07: 4 commits2025-11-08: 2 commits2025-11-09: 2 commits2025-11-10: 2 commits2025-11-11: 0 commits2025-11-12: 2 commits2025-11-13: 0 commits2025-11-14: 7 commits2025-11-15: 9 commits2025-11-16: 7 commits2025-11-17: 8 commits2025-11-18: 7 commits2025-11-19: 5 commits2025-11-20: 4 commits2025-11-21: 6 commits2025-11-22: 5 commits2025-11-23: 3 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 4 commits2025-11-27: 2 commits2025-11-28: 0 commits2025-11-29: 1 commit2025-11-30: 0 commits2025-12-01: 7 commits2025-12-02: 1 commit2025-12-03: 2 commits2025-12-04: 6 commits2025-12-05: 2 commits2025-12-06: 2 commits2025-12-07: 0 commits2025-12-08: 3 commits2025-12-09: 8 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 3 commits2025-12-13: 5 commits2025-12-14: 2 commits2025-12-15: 3 commits2025-12-16: 0 commits2025-12-17: 2 commits2025-12-18: 2 commits2025-12-19: 2 commits2025-12-20: 6 commits2025-12-21: 3 commits2025-12-22: 6 commits2025-12-23: 7 commits2025-12-24: 3 commits2025-12-25: 1 commit2025-12-26: 1 commit2025-12-27: 2 commits2025-12-28: 0 commits2025-12-29: 1 commit2025-12-30: 2 commits2025-12-31: 1 commit2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 6 commits2026-01-04: 0 commits2026-01-05: 1 commit2026-01-06: 1 commit2026-01-07: 7 commits2026-01-08: 1 commit2026-01-09: 1 commit2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 7 commits2026-01-13: 6 commits2026-01-14: 3 commits2026-01-15: 7 commits2026-01-16: 12 commits2026-01-17: 4 commits2026-01-18: 13 commits2026-01-19: 13 commits2026-01-20: 11 commits2026-01-21: 14 commits2026-01-22: 8 commits2026-01-23: 1 commit2026-01-24: 3 commits2026-01-25: 1 commit2026-01-26: 2 commits2026-01-27: 6 commits2026-01-28: 2 commits2026-01-29: 3 commits2026-01-30: 4 commits2026-01-31: 12 commits2026-02-01: 5 commits2026-02-02: 12 commits2026-02-03: 9 commits2026-02-04: 6 commits2026-02-05: 13 commits2026-02-06: 7 commits2026-02-07: 2 commits2026-02-08: 5 commits2026-02-09: 3 commits2026-02-10: 3 commits2026-02-11: 0 commits2026-02-12: 7 commits2026-02-13: 0 commits2026-02-14: 1 commit2026-02-15: 15 commits2026-02-16: 0 commits2026-02-17: 3 commits2026-02-18: 1 commit2026-02-19: 7 commits2026-02-20: 2 commits2026-02-21: 1 commit2026-02-22: 2 commits2026-02-23: 0 commits2026-02-24: 1 commit2026-02-25: 0 commits2026-02-26: 2 commits2026-02-27: 2 commits2026-02-28: 3 commits2026-03-01: 18 commits2026-03-02: 6 commits2026-03-03: 1 commit2026-03-04: 6 commits2026-03-05: 1 commit2026-03-06: 2 commits2026-03-07: 2 commits2026-03-08: 4 commits2026-03-09: 7 commits2026-03-10: 9 commits2026-03-11: 3 commits2026-03-12: 0 commits2026-03-13: 3 commits2026-03-14: 0 commits2026-03-15: 8 commits2026-03-16: 18 commits2026-03-17: 2 commits2026-03-18: 6 commits2026-03-19: 7 commits2026-03-20: 1 commit2026-03-21: 6 commits2026-03-22: 3 commits2026-03-23: 7 commits2026-03-24: 2 commits2026-03-25: 2 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 3 commits2026-03-31: 1 commit2026-04-01: 9 commits2026-04-02: 4 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 12 commits2026-04-07: 2 commits2026-04-08: 4 commits2026-04-09: 1 commit2026-04-10: 1 commit2026-04-11: 0 commits2026-04-12: 1 commit2026-04-13: 7 commits2026-04-14: 4 commits2026-04-15: 2 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 4 commits2026-04-19: 1 commit2026-04-20: 12 commits2026-04-21: 3 commits2026-04-22: 12 commits2026-04-23: 3 commits2026-04-24: 4 commits2026-04-25: 2 commits2026-04-26: 0 commits2026-04-27: 15 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 1 commit2026-05-01: 1 commit2026-05-02: 3 commits2026-05-03: 4 commits2026-05-04: 8 commits2026-05-05: 5 commits2026-05-06: 5 commits2026-05-07: 0 commits2026-05-08: 1 commit2026-05-09: 3 commits2026-05-10: 1 commit2026-05-11: 6 commits2026-05-12: 2 commits2026-05-13: 0 commits2026-05-14: 4 commits2026-05-15: 3 commits2026-05-16: 0 commits2026-05-17: 4 commits2026-05-18: 11 commits2026-05-19: 2 commits2026-05-20: 5 commits2026-05-21: 2 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 8 commits2026-05-26: 3 commits2026-05-27: 1 commit2026-05-28: 1 commit2026-05-29: 1 commit2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 1 commit2026-06-02: 3 commits2026-06-03: 1 commit2026-06-04: 4 commits2026-06-05: 3 commits2026-06-06: 16 commits2026-06-07: 0 commits2026-06-08: 16 commits2026-06-09: 1 commit2026-06-10: 3 commits2026-06-11: 3 commits2026-06-12: 0 commits2026-06-13: 2 commits2026-06-14: 0 commits2026-06-15: 10 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 1 commit2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 1 commit2026-06-22: 11 commits2026-06-23: 3 commits2026-06-24: 4 commits2026-06-25: 2 commits2026-06-26: 2 commits2026-06-27: 2 commits2026-06-28: 1 commit2026-06-29: 8 commits2026-06-30: 6 commits2026-07-01: 3 commits2026-07-02: 1 commit2026-07-03: 1 commit2026-07-04: 6 commits2026-07-05: 0 commits2026-07-06: 6 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 2 commits2026-07-10: 4 commits2026-07-11: 4 commits2026-07-12: 9 commits2026-07-13: 13 commits2026-07-14: 5 commits2026-07-15: 3 commits2026-07-16: 3 commits2026-07-17: 0 commits2026-07-18: 3 commits2026-07-19: 2 commits2026-07-20: 0 commits2026-07-21: 1 commit2026-07-22: 16 commits2026-07-23: 6 commits2026-07-24: 4 commits2026-07-25: 3 commits2026-07-26: 0 commits2026-07-27: 19 commits2026-07-28: 6 commits2026-07-29: 5 commits2026-07-30: 2 commits2026-07-31: 3 commits2026-08-01: 0 commits2026-08-02: 2 commits2026-08-03: 18 commits2026-08-04: 3 commits2026-08-05: 1 commit2026-08-06: 5 commits2026-08-07: 3 commits2026-08-08: 0 commits
1,446 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Very active

    1,446 commits in 52 weeks

  • Community-driven

    ~116 contributors

  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

What prek does

Prek is a modern tool designed to manage and execute pre-commit hooks rapidly and reliably. It provides a structured framework for developers to enforce code quality, formatting, and security checks before code is committed to a repository. By focusing on speed and extensibility, it aims to reduce the friction typically associated with local CI pipelines. The tool offers detailed documentation and simple configuration, ensuring that teams can easily standardize their git workflows without slowing down developer velocity.

Software engineers and platform teams looking for a fast, reliable way to manage pre-commit hooks and enforce local code quality.

  • Fast execution: Optimized to run checks quickly to minimize developer wait times during commits.
  • Customizable hooks: Allows teams to easily define and integrate their own custom scripts and checks.
  • Structured framework: Provides a standardized way to manage local CI pipelines across a whole engineering team.
  • Clear documentation: Supported by comprehensive guides and a dedicated documentation site.
  • Easy integration: Designed to drop seamlessly into existing git repositories with minimal overhead.

Where teams use it

Enforcing code quality

Engineering teams configure the tool to automatically run linters and formatters before any code is checked into version control.

Preventing secrets leaks

Security engineers add custom hooks to scan staged files for API keys and passwords, blocking the commit if found.

Standardizing workflows

Platform teams distribute a unified configuration file to ensure all developers run the exact same pre-commit checks locally.

Accelerating local CI

Developers replace slower, legacy pre-commit managers with this optimized tool to speed up their daily git operations.

Getting started: Check the official documentation at https://prek.j178.dev/ for installation instructions.

README

master branch

About

pre-commit is a framework to run hooks written in many languages, and it manages the language toolchain and dependencies for running the hooks.

prek is a reimagined version of pre-commit, built in Rust. It is designed to be a faster, dependency-free and drop-in alternative for it, while also providing some additional long-requested features.

Although prek is pretty new, it’s already powering real‑world projects like CPython, Apache Airflow, FastAPI, and more projects are picking it up—see Who is using prek?. If you’re looking for an alternative to pre-commit, please give it a try—we’d love your feedback!

Features

  • A single binary with no dependencies, does not require Python or any other runtime.
  • Faster than pre-commit and more efficient in disk space usage.
  • Fully compatible with the original pre-commit configurations and hooks.
  • Built-in support for monorepos (i.e. workspace mode), including concurrent execution for independent same-depth projects.
  • Integration with uv for managing Python virtual environments and dependencies.
  • Improved toolchain installations for Python, Node.js, Bun, Go, Rust and Ruby, shared between hooks.
  • Built-in Rust-native implementation of some common hooks.

Installation

Standalone installer

prek provides a standalone installer script to download and install the tool,

On Linux and macOS:

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.12/prek-installer.sh | sh

On Windows:

powershell -ExecutionPolicy ByPass -c "irm https://github.com/j178/prek/releases/download/v0.4.12/prek-installer.ps1 | iex"
PyPI

prek is published as Python binary wheel to PyPI, you can install it using pip, uv (recommended), or pipx:

# Using uv (recommended)
uv tool install prek

# Using uvx (install and run in one command)
uvx prek

# Adding prek to the project dev-dependencies
uv add --dev prek

# Using pip
pip install prek

# Using pipx
pipx install prek
Homebrew
brew install prek
mise

To use prek with mise (v2025.8.11 or later):

mise use prek
Cargo binstall

Install pre-compiled binaries from GitHub using cargo-binstall:

cargo binstall prek
Cargo

Build from source using Cargo (Rust 1.95+ is required):

cargo install --locked prek
npmjs

prek is published as a Node.js package and can be installed with any npm-compatible package manager:

# As a dev dependency
npm add -D @j178/prek
pnpm add -D @j178/prek
bun add -D @j178/prek

# Or install globally
npm install -g @j178/prek
pnpm add -g @j178/prek
bun install -g @j178/prek

# Or run directly without installing
npx @j178/prek --version
bunx @j178/prek --version
Nix

prek is available via Nixpkgs.

# Choose what's appropriate for your use case.
# One-off in a shell:
nix-shell -p prek

# NixOS or non-NixOS without flakes:
nix-env -iA nixos.prek

# Non-NixOS with flakes:
nix profile install nixpkgs#prek
Conda

prek is available as prek via conda-forge.

conda install conda-forge::prek
Scoop (Windows)

prek is available via Scoop.

scoop install main/prek
Winget (Windows)

prek is available via winget.

winget install --id j178.Prek
MacPorts

prek is available via MacPorts.

sudo port install prek
GitHub Releases

Pre-built binaries are available for download from the GitHub releases page.

GitHub Actions

prek can be used in GitHub Actions via the j178/prek-action repository.

Example workflow:

name: Prek checks
on: [push, pull_request]

jobs:
  prek:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
      - uses: j178/prek-action@4e14d07f9231acabce116ccfca13b13dd9755ece # v3.0.0

This action installs prek and runs prek run --all-files on your repository.

prek is also available via taiki-e/install-action for installing various tools.

prek skill for agents

To let agents use prek, install the prek skill with gh skill (v2.90.0+):

gh skill install j178/prek prek

If installed via the standalone installer, prek can update itself to the latest version:

prek self update

Quick start

  • I already use pre-commit: follow the short migration checklist in the quickstart guide to swap in prek safely.
  • I'm new to pre-commit-style tools: learn the basics—creating a config, running hooks, and installing Git shims—in the beginner quickstart walkthrough.

Why prek?

prek is faster

  • It is multiple times faster than pre-commit while also using less disk space.
  • Hook environments and toolchains are shared across hooks instead of being duplicated per repository, which reduces both install time and cache size.
  • Repository fetches and independent hook environment setup run in parallel, hooks can run concurrently by priority using reusable aliases, and independent workspace projects at the same directory depth can run concurrently.
  • It uses uv for creating Python virtualenvs and installing dependencies, which is known for its speed and efficiency.
  • For supported hooks from pre-commit-hooks, the automatic fast path runs built-in Rust implementations without requiring any configuration changes.
  • The prek-only repo: builtin mode provides offline, zero-setup hooks, including native deny-pattern and require-pattern alternatives for common pygrep checks.

prek is easier to work with

  • No need to install Python or any other runtime just to use prek; it is a single binary.
  • Its language support covers every language available in pre-commit, plus Bun, Deno, and PHP, and it automatically installs managed toolchains when needed for Python, Node.js, Bun, Deno, Go, Rust, and Ruby.
  • It supports native prek.toml in addition to pre-commit YAML, and prek util yaml-to-toml helps migrate existing configs.
  • Built-in support for workspaces means monorepos can keep separate configs per project and still run everything from one command, while independent same-depth projects run concurrently without mixing file scopes.
  • prek install and prek uninstall honor repo-local and worktree-local core.hooksPath.
  • Hook groups let one config define workflows such as CI, linting, or formatting; --group, --require-group, and --no-group select them at runtime.
  • prek run can select or skip multiple projects and hooks, target tracked files with repeatable --glob or --directory filters, pass explicit paths with --files, and preview the selection with --dry-run.
  • The progress UI streams a live preview from running hooks, so long-running checks do not look stuck and failures are easier to diagnose.
  • prek list, prek util identify, and prek util list-builtins -v make it easier to inspect configured hooks, debug file matching, and discover builtins with their supported options.

prek includes security-focused safeguards

  • For supported managed toolchain downloads, prek verifies the downloaded archive or installer checksum before extracting or installing it, helping ensure the integrity of downloaded toolchains.
  • prek update can keep newly published releases on hold with --cooldown-days, filter eligible tags with glob patterns, and freeze revisions to commit SHAs.
  • prek update validates pinned SHA revisions against the fetched upstream refs, including impostor-commit detection, and keeps # frozen: comments in sync with the configured commit.
  • prek update --check is useful in CI when you want updates or frozen-reference mismatches to fail the job without rewriting the config.

For more detailed improvements prek offers, take a look at Difference from pre-commit.

Who is using prek?

prek is pretty new, but it is already being used or recommended by some projects and organizations. GitHub stars are current as of April 15, 2026.

For a more comprehensive list of open-source projects using prek see the list of dependents on github.

Acknowledgements

This project is heavily inspired by the original pre-commit tool, and it wouldn't be possible without the hard work of the maintainers and contributors of that project.

And a special thanks to the Astral team for their remarkable projects, particularly uv, from which I've learned a lot on how to write efficient and idiomatic Rust code.

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Releases and announcements

91 total
  1. 0.4.12v0.4.12Aug 3, 202667.3K downloads

    ## Release Notes Released on 2026-08-03. ### Enhancements - Add `--require-group` for hook group intersections ([#2472](https://github.com/j178/prek/pull/2472)) - Align fast-path and builtin pre-commit hooks ([#2433](https://github.com/j178/prek/pull/2433)) - Do not shuffle file list for verbose output ([#2431](https://github.com/j178/prek/pull/2431)) - Improve top-level command descriptions ([#2429](https://github.com/j178/prek/pull/2429)) - Install `uv` from Astral CDN and drop source racing ([#2455](https://github.com/j178/prek/pull/2455)) - Make `prek install --force` bypass external hooks paths ([#2437](https://github.com/j178/prek/pull/2437)) - Show builtin hook flags in verbose list output ([#2427](https://github.com/j178/prek/pull/2427)) - Verify uv release archive checksums ([#2456](https://github.com/j178/prek/pull/2456)) ### Performance - Precompute file tags in parallel ([#2440](https://github.com/j178/prek/pull/2440)) - Skip diffs after known hook modifications ([#2447](https://github.com/j178/prek/pull/2447)) - Skip worktree diffs for read-only languages ([#2432](https://github.com/j178/prek/pull/2432)) - Track builtin hook file changes directly ([#2404](https://

  2. 0.4.11v0.4.11Jul 24, 2026158.9K downloads

    ## Release Notes Released on 2026-07-25. ### Highlights - This release adds two new builtin hooks, `deny-pattern` and `require-pattern`, as native alternatives for `pygrep` use cases. `deny-pattern` fails when a configured pattern is found, while `require-pattern` ensures every selected file contains a match. By matching natively without spawning a Python subprocess, they run over 4x faster than `pygrep` in benchmarks. Note that they use [Rust `regex` syntax](https://docs.rs/regex/latest/regex/#syntax), which does not support look-around features such as negative lookbehind. - `prek run` now supports `--glob <PATTERN>` to run hooks on tracked files matching a glob. It can be repeated or combined with `--files` and `--directory`. - Hook priorities now support reusable aliases: ```toml [priorities] checks = 10 [[repos]] repo = "builtin" hooks = [ { id = "check-json", priority = "checks" }, { id = "check-yaml", priority = "checks" }, ] ``` This makes parallel scheduling easier to read and maintain. ### Enhancements - Add `deny-pattern` and `require-pattern` builtin hooks ([#23

  3. 0.4.10v0.4.10Jul 16, 2026178.6K downloads

    ## Release Notes Released on 2026-07-16. ### Enhancements - Add PHP language support ([#2314](https://github.com/j178/prek/pull/2314)) - Add freeze option to update settings ([#2323](https://github.com/j178/prek/pull/2323)) - Add tag filters to update configuration ([#2354](https://github.com/j178/prek/pull/2354)) - Identify 'mts' and 'cts' as TypeScript files ([#2209](https://github.com/j178/prek/pull/2209)) - Publish Alpine Docker images ([#2352](https://github.com/j178/prek/pull/2352)) - Support builtin and meta in try-repo ([#2350](https://github.com/j178/prek/pull/2350)) ### Bug fixes - Fix Python discovery order ([#2348](https://github.com/j178/prek/pull/2348)) - Fix Windows progress rendering ([#2328](https://github.com/j178/prek/pull/2328)) - Preserve configured repo values for updates ([#2324](https://github.com/j178/prek/pull/2324)) - Scope synthetic `GIT_WORK_TREE` to git commands ([#2356](https://github.com/j178/prek/pull/2356)) ### Documentation - Expand common workflows guide ([#2351](https://github.com/j178/prek/pull/2351)) ### Contributors - @j178 ## Install prek 0.4.10 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2

  4. 0.4.9v0.4.9Jul 11, 202695.2K downloads

    ## Release Notes Released on 2026-07-11. Note: This release changes the repository identity schema stored in cached hook environments. Existing hook environments will be invalidated, and prek will reinstall them automatically when needed. ### Enhancements - Preserve additional dependency order ([#2311](https://github.com/j178/prek/pull/2311)) - Remove parallel Ruby gem installation ([#2307](https://github.com/j178/prek/pull/2307)) - Warn for missing update repositories ([#2316](https://github.com/j178/prek/pull/2316)) ### Bug fixes - Fix mixed workspace selectors ([#2306](https://github.com/j178/prek/pull/2306)) - Fix try-repo local path resolution ([#2310](https://github.com/j178/prek/pull/2310)) - Use resolved gem executable ([#2308](https://github.com/j178/prek/pull/2308)) - Validate complete XML documents in check-xml ([#2312](https://github.com/j178/prek/pull/2312)) ### Contributors - @j178 ## Install prek 0.4.9 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.9/prek-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolic

  5. 0.4.8v0.4.8Jul 4, 2026159K downloads

    ## Release Notes Released on 2026-07-04. ### Enhancements - Add default_env configuration ([#2288](https://github.com/j178/prek/pull/2288)) - Rename `auto-update` to `update` ([#2286](https://github.com/j178/prek/pull/2286)) ### Bug fixes - Fix progress collapse ordering ([#2291](https://github.com/j178/prek/pull/2291)) - Fix progress insertion after collapsed rows ([#2292](https://github.com/j178/prek/pull/2292)) ### Contributors - @j178 ## Install prek 0.4.8 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.8/prek-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.8/prek-installer.ps1 | iex" ``` ### Install prebuilt binaries via Homebrew ```sh brew install prek ``` ## Download prek 0.4.8 | File | Platform | Checksum | |--------|----------|----------| | [prek-aarch64-apple-darwin.tar.gz](https://github.com/j178/prek/releases/download/v0.4.8/prek-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/j178/prek/releases/down

Commits per week

last 52 weeks
630Week of 2025-08-10: 40 commitsWeek of 2025-08-17: 44 commitsWeek of 2025-08-24: 32 commitsWeek of 2025-08-31: 43 commitsWeek of 2025-09-07: 62 commitsWeek of 2025-09-14: 33 commitsWeek of 2025-09-21: 26 commitsWeek of 2025-09-28: 24 commitsWeek of 2025-10-05: 23 commitsWeek of 2025-10-12: 32 commitsWeek of 2025-10-19: 28 commitsWeek of 2025-10-26: 37 commitsWeek of 2025-11-02: 22 commitsWeek of 2025-11-09: 22 commitsWeek of 2025-11-16: 42 commitsWeek of 2025-11-23: 10 commitsWeek of 2025-11-30: 20 commitsWeek of 2025-12-07: 19 commitsWeek of 2025-12-14: 17 commitsWeek of 2025-12-21: 23 commitsWeek of 2025-12-28: 10 commitsWeek of 2026-01-04: 11 commitsWeek of 2026-01-11: 39 commitsWeek of 2026-01-18: 63 commitsWeek of 2026-01-25: 30 commitsWeek of 2026-02-01: 54 commitsWeek of 2026-02-08: 19 commitsWeek of 2026-02-15: 29 commitsWeek of 2026-02-22: 10 commitsWeek of 2026-03-01: 36 commitsWeek of 2026-03-08: 26 commitsWeek of 2026-03-15: 48 commitsWeek of 2026-03-22: 14 commitsWeek of 2026-03-29: 17 commitsWeek of 2026-04-05: 20 commitsWeek of 2026-04-12: 18 commitsWeek of 2026-04-19: 37 commitsWeek of 2026-04-26: 20 commitsWeek of 2026-05-03: 26 commitsWeek of 2026-05-10: 16 commitsWeek of 2026-05-17: 24 commitsWeek of 2026-05-24: 14 commitsWeek of 2026-05-31: 28 commitsWeek of 2026-06-07: 25 commitsWeek of 2026-06-14: 11 commitsWeek of 2026-06-21: 25 commitsWeek of 2026-06-28: 26 commitsWeek of 2026-07-05: 16 commitsWeek of 2026-07-12: 36 commitsWeek of 2026-07-19: 32 commitsWeek of 2026-07-26: 35 commitsWeek of 2026-08-02: 32 commitsAug 10, 2025Aug 2, 2026
1.4K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 10 commitsSun 1:00 — 3 commitsSun 2:00 — 8 commitsSun 3:00 — 3 commitsSun 4:00 — 2 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 2 commitsSun 8:00 — 0 commitsSun 9:00 — 5 commitsSun 10:00 — 16 commitsSun 11:00 — 6 commitsSun 12:00 — 8 commitsSun 13:00 — 10 commitsSun 14:00 — 13 commitsSun 15:00 — 17 commitsSun 16:00 — 20 commitsSun 17:00 — 23 commitsSun 18:00 — 21 commitsSun 19:00 — 8 commitsSun 20:00 — 10 commitsSun 21:00 — 13 commitsSun 22:00 — 8 commitsSun 23:00 — 4 commitsMon 0:00 — 11 commitsMon 1:00 — 8 commitsMon 2:00 — 1 commitsMon 3:00 — 1 commitsMon 4:00 — 1 commitsMon 5:00 — 3 commitsMon 6:00 — 2 commitsMon 7:00 — 1 commitsMon 8:00 — 0 commitsMon 9:00 — 21 commitsMon 10:00 — 108 commitsMon 11:00 — 69 commitsMon 12:00 — 29 commitsMon 13:00 — 18 commitsMon 14:00 — 15 commitsMon 15:00 — 37 commitsMon 16:00 — 35 commitsMon 17:00 — 31 commitsMon 18:00 — 18 commitsMon 19:00 — 23 commitsMon 20:00 — 33 commitsMon 21:00 — 13 commitsMon 22:00 — 16 commitsMon 23:00 — 19 commitsTue 0:00 — 7 commitsTue 1:00 — 9 commitsTue 2:00 — 7 commitsTue 3:00 — 1 commitsTue 4:00 — 1 commitsTue 5:00 — 2 commitsTue 6:00 — 5 commitsTue 7:00 — 4 commitsTue 8:00 — 3 commitsTue 9:00 — 4 commitsTue 10:00 — 12 commitsTue 11:00 — 24 commitsTue 12:00 — 12 commitsTue 13:00 — 22 commitsTue 14:00 — 31 commitsTue 15:00 — 21 commitsTue 16:00 — 39 commitsTue 17:00 — 21 commitsTue 18:00 — 20 commitsTue 19:00 — 16 commitsTue 20:00 — 14 commitsTue 21:00 — 13 commitsTue 22:00 — 19 commitsTue 23:00 — 17 commitsWed 0:00 — 12 commitsWed 1:00 — 8 commitsWed 2:00 — 3 commitsWed 3:00 — 1 commitsWed 4:00 — 2 commitsWed 5:00 — 1 commitsWed 6:00 — 0 commitsWed 7:00 — 3 commitsWed 8:00 — 4 commitsWed 9:00 — 1 commitsWed 10:00 — 3 commitsWed 11:00 — 27 commitsWed 12:00 — 13 commitsWed 13:00 — 16 commitsWed 14:00 — 14 commitsWed 15:00 — 22 commitsWed 16:00 — 17 commitsWed 17:00 — 17 commitsWed 18:00 — 18 commitsWed 19:00 — 17 commitsWed 20:00 — 18 commitsWed 21:00 — 11 commitsWed 22:00 — 13 commitsWed 23:00 — 5 commitsThu 0:00 — 7 commitsThu 1:00 — 4 commitsThu 2:00 — 6 commitsThu 3:00 — 1 commitsThu 4:00 — 3 commitsThu 5:00 — 5 commitsThu 6:00 — 2 commitsThu 7:00 — 1 commitsThu 8:00 — 2 commitsThu 9:00 — 6 commitsThu 10:00 — 5 commitsThu 11:00 — 20 commitsThu 12:00 — 9 commitsThu 13:00 — 19 commitsThu 14:00 — 16 commitsThu 15:00 — 11 commitsThu 16:00 — 15 commitsThu 17:00 — 15 commitsThu 18:00 — 12 commitsThu 19:00 — 8 commitsThu 20:00 — 16 commitsThu 21:00 — 11 commitsThu 22:00 — 20 commitsThu 23:00 — 3 commitsFri 0:00 — 10 commitsFri 1:00 — 5 commitsFri 2:00 — 4 commitsFri 3:00 — 0 commitsFri 4:00 — 1 commitsFri 5:00 — 1 commitsFri 6:00 — 0 commitsFri 7:00 — 3 commitsFri 8:00 — 1 commitsFri 9:00 — 3 commitsFri 10:00 — 8 commitsFri 11:00 — 19 commitsFri 12:00 — 6 commitsFri 13:00 — 9 commitsFri 14:00 — 8 commitsFri 15:00 — 26 commitsFri 16:00 — 12 commitsFri 17:00 — 14 commitsFri 18:00 — 9 commitsFri 19:00 — 12 commitsFri 20:00 — 8 commitsFri 21:00 — 12 commitsFri 22:00 — 9 commitsFri 23:00 — 15 commitsSat 0:00 — 8 commitsSat 1:00 — 8 commitsSat 2:00 — 0 commitsSat 3:00 — 2 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 5 commitsSat 7:00 — 3 commitsSat 8:00 — 1 commitsSat 9:00 — 1 commitsSat 10:00 — 4 commitsSat 11:00 — 13 commitsSat 12:00 — 18 commitsSat 13:00 — 12 commitsSat 14:00 — 13 commitsSat 15:00 — 12 commitsSat 16:00 — 14 commitsSat 17:00 — 14 commitsSat 18:00 — 24 commitsSat 19:00 — 14 commitsSat 20:00 — 18 commitsSat 21:00 — 12 commitsSat 22:00 — 4 commitsSat 23:00 — 11 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits892 (61%)
Community commits567 (39%)

1,459 commits in total over the last year.

DateListRankStars gained
Feb 4, 2026daily#21+108
  • ultraworkers/claw-code

    An agent-managed museum exhibit, built in Rust with Gajae-Code / LazyCodex — developed and maintained with no human intervention.

    195K stars · Rust

  • ultraworkers/claw-code

    An agent-managed museum exhibit, built in Rust with Gajae-Code / LazyCodex — developed and maintained with no human intervention.

    194.9K stars · Rust

  • ultraworkers/claw-code

    An agent-managed museum exhibit, built in Rust with Gajae-Code / LazyCodex — developed and maintained with no human intervention.

    194.9K stars · Rust

  • farion1231/cc-switch

    A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

    125.4K stars · Rust

  • denoland/deno

    A modern runtime for JavaScript and TypeScript.

    108.2K stars · Rust

  • openai/codex

    Lightweight coding agent that runs in your terminal

    104.6K stars · Rust