47 KiB
CLI Reference
prek
Better pre-commit, re-engineered in Rust
Usage
prek [OPTIONS] [HOOK|PROJECT]... [COMMAND]
Commands
prek installInstall the prek git hook
prek install-hooksCreate hook environments for all hooks used in the config file
prek runRun hooks
prek listList available hooks
prek uninstallUninstall the prek git hook
prek validate-configValidate
.pre-commit-config.yamlfilesprek validate-manifestValidate
.pre-commit-hooks.yamlfilesprek sample-configProduce a sample
.pre-commit-config.yamlfileprek auto-updateAuto-update pre-commit config to the latest repos' versions
prek gcClean unused cached repos
prek cleanClean out pre-commit files
prek init-template-dirInstall hook script in a directory intended for use with
git config init.templateDirprek try-repoTry the pre-commit hooks in the current repo
prek selfprekself management
prek install
Install the prek git hook
Usage
prek install [OPTIONS] [HOOK|PROJECT]...
Arguments
- HOOK|PROJECT
Include the specified hooks or projects.
Supports flexible selector syntax:
-
hook-id: Run all hooks with the specified ID across all projects -
project-path/: Run all hooks from the specified project -
project-path:hook-id: Run only the specified hook from the specified project
Can be specified multiple times to select multiple hooks/projects.
-
Options
--allow-missing-configAllow a missing
pre-commitconfiguration file--cd,-CdirChange to directory before running
--colorcolorWhether to use color in output
May also be set with the
PREK_COLORenvironment variable.[default: auto]
Possible values:
auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output
--config,-cconfigPath to alternate config file
--help,-hDisplay the concise help for this command
--hook-type,-thook-type--install-hooksCreate hook environments for all hooks used in the config file
--no-progressHide all progress outputs.
For example, spinners or progress bars.
--overwrite,-fOverwrite existing hooks
--quiet,-qDo not print any output
--refreshRefresh all cached data
--skiphook|projectSkip the specified hooks or projects.
Supports flexible selector syntax:
-
hook-id: Skip all hooks with the specified ID across all projects -
project-path/: Skip all hooks from the specified project -
project-path:hook-id: Skip only the specified hook from the specified project
Can be specified multiple times. Also accepts
PREK_SKIPorSKIPenvironment variables (comma-delimited).-
--verbose,-vUse verbose output
--version,-VDisplay the prek version
prek install-hooks
Create hook environments for all hooks used in the config file.
This command does not install the git hook. To install the git hook along with the hook environments in one command, use prek install --install-hooks.
Usage
prek install-hooks [OPTIONS] [HOOK|PROJECT]...
Arguments
- HOOK|PROJECT
Include the specified hooks or projects.
Supports flexible selector syntax:
-
hook-id: Run all hooks with the specified ID across all projects -
project-path/: Run all hooks from the specified project -
project-path:hook-id: Run only the specified hook from the specified project
Can be specified multiple times to select multiple hooks/projects.
-
Options
--cd,-CdirChange to directory before running
--colorcolorWhether to use color in output
May also be set with the
PREK_COLORenvironment variable.[default: auto]
Possible values:
auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output
--config,-cconfigPath to alternate config file
--help,-hDisplay the concise help for this command
--no-progressHide all progress outputs.
For example, spinners or progress bars.
--quiet,-qDo not print any output
--refreshRefresh all cached data
--skiphook|projectSkip the specified hooks or projects.
Supports flexible selector syntax:
-
hook-id: Skip all hooks with the specified ID across all projects -
project-path/: Skip all hooks from the specified project -
project-path:hook-id: Skip only the specified hook from the specified project
Can be specified multiple times. Also accepts
PREK_SKIPorSKIPenvironment variables (comma-delimited).-
--verbose,-vUse verbose output
--version,-VDisplay the prek version
prek run
Run hooks
Usage
prek run [OPTIONS] [HOOK|PROJECT]...
Arguments
- HOOK|PROJECT
Include the specified hooks or projects.
Supports flexible selector syntax:
-
hook-id: Run all hooks with the specified ID across all projects -
project-path/: Run all hooks from the specified project -
project-path:hook-id: Run only the specified hook from the specified project
Can be specified multiple times to select multiple hooks/projects.
-
Options
--all-files,-aRun on all files in the repo
--cd,-CdirChange to directory before running
--colorcolorWhether to use color in output
May also be set with the
PREK_COLORenvironment variable.[default: auto]
Possible values:
auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output
--config,-cconfigPath to alternate config file
--directory,-ddirRun hooks on all files in the specified directories.
You can specify multiple directories. It can be used in conjunction with
--files.--dry-runDo not run the hooks, but print the hooks that would have been run
--filesfilesSpecific filenames to run hooks on
--from-ref,--source,-sfrom-refThe original ref in a
<from_ref>...<to_ref>diff expression. Files changed in this diff will be run through the hooks--help,-hDisplay the concise help for this command
--hook-stagehook-stageThe stage during which the hook is fired
[default: pre-commit]
Possible values:
manualcommit-msgpost-checkoutpost-commitpost-mergepost-rewritepre-commitpre-merge-commitpre-pushpre-rebaseprepare-commit-msg
--last-commitRun hooks against the last commit. Equivalent to
--from-ref HEAD~1 --to-ref HEAD--no-progressHide all progress outputs.
For example, spinners or progress bars.
--quiet,-qDo not print any output
--refreshRefresh all cached data
--show-diff-on-failureWhen hooks fail, run
git diffdirectly afterward--skiphook|projectSkip the specified hooks or projects.
Supports flexible selector syntax:
-
hook-id: Skip all hooks with the specified ID across all projects -
project-path/: Skip all hooks from the specified project -
project-path:hook-id: Skip only the specified hook from the specified project
Can be specified multiple times. Also accepts
PREK_SKIPorSKIPenvironment variables (comma-delimited).-
--to-ref,--origin,-oto-refThe destination ref in a
from_ref...to_refdiff expression. Defaults toHEADiffrom_refis specified--verbose,-vUse verbose output
--version,-VDisplay the prek version
prek list
List available hooks
Usage
prek list [OPTIONS] [HOOK|PROJECT]...
Arguments
- HOOK|PROJECT
Include the specified hooks or projects.
Supports flexible selector syntax:
-
hook-id: Run all hooks with the specified ID across all projects -
project-path/: Run all hooks from the specified project -
project-path:hook-id: Run only the specified hook from the specified project
Can be specified multiple times to select multiple hooks/projects.
-
Options
--cd,-CdirChange to directory before running
--colorcolorWhether to use color in output
May also be set with the
PREK_COLORenvironment variable.[default: auto]
Possible values:
auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output
--config,-cconfigPath to alternate config file
--help,-hDisplay the concise help for this command
--hook-stagehook-stageShow only hooks that has the specified stage
Possible values:
manualcommit-msgpost-checkoutpost-commitpost-mergepost-rewritepre-commitpre-merge-commitpre-pushpre-rebaseprepare-commit-msg
--languagelanguageShow only hooks that are implemented in the specified language
Possible values:
condacoursierdartdockerdocker-imagedotnetfailgolanghaskellluanodeperlpythonrrubyrustswiftpygrepscriptsystem
--no-progressHide all progress outputs.
For example, spinners or progress bars.
--output-formatoutput-formatThe output format
[default: text]
Possible values:
textjson
--quiet,-qDo not print any output
--refreshRefresh all cached data
--skiphook|projectSkip the specified hooks or projects.
Supports flexible selector syntax:
-
hook-id: Skip all hooks with the specified ID across all projects -
project-path/: Skip all hooks from the specified project -
project-path:hook-id: Skip only the specified hook from the specified project
Can be specified multiple times. Also accepts
PREK_SKIPorSKIPenvironment variables (comma-delimited).-
--verbose,-vUse verbose output
--version,-VDisplay the prek version
prek uninstall
Uninstall the prek git hook
Usage
prek uninstall [OPTIONS]
Options
--cd,-CdirChange to directory before running
--colorcolorWhether to use color in output
May also be set with the
PREK_COLORenvironment variable.[default: auto]
Possible values:
auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output
--config,-cconfigPath to alternate config file
--help,-hDisplay the concise help for this command
--hook-type,-thook-type--no-progressHide all progress outputs.
For example, spinners or progress bars.
--quiet,-qDo not print any output
--refreshRefresh all cached data
--verbose,-vUse verbose output
--version,-VDisplay the prek version
prek validate-config
Validate .pre-commit-config.yaml files
Usage
prek validate-config [OPTIONS] [CONFIG]...
Arguments
- CONFIG
The path to the configuration file
Options
--cd,-CdirChange to directory before running
--colorcolorWhether to use color in output
May also be set with the
PREK_COLORenvironment variable.[default: auto]
Possible values:
auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output
--config,-cconfigPath to alternate config file
--help,-hDisplay the concise help for this command
--no-progressHide all progress outputs.
For example, spinners or progress bars.
--quiet,-qDo not print any output
--refreshRefresh all cached data
--verbose,-vUse verbose output
--version,-VDisplay the prek version
prek validate-manifest
Validate .pre-commit-hooks.yaml files
Usage
prek validate-manifest [OPTIONS] [MANIFEST]...
Arguments
- MANIFEST
The path to the manifest file
Options
--cd,-CdirChange to directory before running
--colorcolorWhether to use color in output
May also be set with the
PREK_COLORenvironment variable.[default: auto]
Possible values:
auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output
--config,-cconfigPath to alternate config file
--help,-hDisplay the concise help for this command
--no-progressHide all progress outputs.
For example, spinners or progress bars.
--quiet,-qDo not print any output
--refreshRefresh all cached data
--verbose,-vUse verbose output
--version,-VDisplay the prek version
prek sample-config
Produce a sample .pre-commit-config.yaml file
Usage
prek sample-config [OPTIONS]
Options
--cd,-CdirChange to directory before running
--colorcolorWhether to use color in output
May also be set with the
PREK_COLORenvironment variable.[default: auto]
Possible values:
auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output
--config,-cconfigPath to alternate config file
--file,-ffileWrite the sample config to a file (
.pre-commit-config.yamlby default)--help,-hDisplay the concise help for this command
--no-progressHide all progress outputs.
For example, spinners or progress bars.
--quiet,-qDo not print any output
--refreshRefresh all cached data
--verbose,-vUse verbose output
--version,-VDisplay the prek version
prek auto-update
Auto-update pre-commit config to the latest repos' versions
Usage
prek auto-update [OPTIONS]
Options
--bleeding-edgeUpdate to the bleeding edge of the default branch instead of the latest tagged version
--cd,-CdirChange to directory before running
--colorcolorWhether to use color in output
May also be set with the
PREK_COLORenvironment variable.[default: auto]
Possible values:
auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output
--config,-cconfigPath to alternate config file
--freezeStore "frozen" hashes in
revinstead of tag names--help,-hDisplay the concise help for this command
--jobs,-jjobsNumber of threads to use
[default: 3]
--no-progressHide all progress outputs.
For example, spinners or progress bars.
--quiet,-qDo not print any output
--refreshRefresh all cached data
--reporepoOnly update this repository. This option may be specified multiple times
--verbose,-vUse verbose output
--version,-VDisplay the prek version
prek gc
Clean unused cached repos
Usage
prek gc [OPTIONS]
Options
--cd,-CdirChange to directory before running
--colorcolorWhether to use color in output
May also be set with the
PREK_COLORenvironment variable.[default: auto]
Possible values:
auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output
--config,-cconfigPath to alternate config file
--help,-hDisplay the concise help for this command
--no-progressHide all progress outputs.
For example, spinners or progress bars.
--quiet,-qDo not print any output
--refreshRefresh all cached data
--verbose,-vUse verbose output
--version,-VDisplay the prek version
prek clean
Clean out pre-commit files
Usage
prek clean [OPTIONS]
Options
--cd,-CdirChange to directory before running
--colorcolorWhether to use color in output
May also be set with the
PREK_COLORenvironment variable.[default: auto]
Possible values:
auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output
--config,-cconfigPath to alternate config file
--help,-hDisplay the concise help for this command
--no-progressHide all progress outputs.
For example, spinners or progress bars.
--quiet,-qDo not print any output
--refreshRefresh all cached data
--verbose,-vUse verbose output
--version,-VDisplay the prek version
prek init-template-dir
Install hook script in a directory intended for use with git config init.templateDir
Usage
prek init-template-dir [OPTIONS] <DIRECTORY>
Arguments
- DIRECTORY
The directory in which to write the hook script
Options
--cd,-CdirChange to directory before running
--colorcolorWhether to use color in output
May also be set with the
PREK_COLORenvironment variable.[default: auto]
Possible values:
auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output
--config,-cconfigPath to alternate config file
--help,-hDisplay the concise help for this command
--hook-type,-thook-typeWhich hook type to install
Possible values:
commit-msgpost-checkoutpost-commitpost-mergepost-rewritepre-commitpre-merge-commitpre-pushpre-rebaseprepare-commit-msg
--no-allow-missing-configAssume cloned repos should have a
pre-commitconfig--no-progressHide all progress outputs.
For example, spinners or progress bars.
--quiet,-qDo not print any output
--refreshRefresh all cached data
--verbose,-vUse verbose output
--version,-VDisplay the prek version
prek try-repo
Try the pre-commit hooks in the current repo
Usage
prek try-repo [OPTIONS] [HOOK|PROJECT]...
Arguments
- HOOK|PROJECT
Include the specified hooks or projects.
Supports flexible selector syntax:
-
hook-id: Run all hooks with the specified ID across all projects -
project-path/: Run all hooks from the specified project -
project-path:hook-id: Run only the specified hook from the specified project
Can be specified multiple times to select multiple hooks/projects.
-
Options
--all-files,-aRun on all files in the repo
--cd,-CdirChange to directory before running
--colorcolorWhether to use color in output
May also be set with the
PREK_COLORenvironment variable.[default: auto]
Possible values:
auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output
--config,-cconfigPath to alternate config file
--directory,-ddirRun hooks on all files in the specified directories.
You can specify multiple directories. It can be used in conjunction with
--files.--dry-runDo not run the hooks, but print the hooks that would have been run
--filesfilesSpecific filenames to run hooks on
--from-ref,--source,-sfrom-refThe original ref in a
<from_ref>...<to_ref>diff expression. Files changed in this diff will be run through the hooks--help,-hDisplay the concise help for this command
--hook-stagehook-stageThe stage during which the hook is fired
[default: pre-commit]
Possible values:
manualcommit-msgpost-checkoutpost-commitpost-mergepost-rewritepre-commitpre-merge-commitpre-pushpre-rebaseprepare-commit-msg
--last-commitRun hooks against the last commit. Equivalent to
--from-ref HEAD~1 --to-ref HEAD--no-progressHide all progress outputs.
For example, spinners or progress bars.
--quiet,-qDo not print any output
--refreshRefresh all cached data
--show-diff-on-failureWhen hooks fail, run
git diffdirectly afterward--skiphook|projectSkip the specified hooks or projects.
Supports flexible selector syntax:
-
hook-id: Skip all hooks with the specified ID across all projects -
project-path/: Skip all hooks from the specified project -
project-path:hook-id: Skip only the specified hook from the specified project
Can be specified multiple times. Also accepts
PREK_SKIPorSKIPenvironment variables (comma-delimited).-
--to-ref,--origin,-oto-refThe destination ref in a
from_ref...to_refdiff expression. Defaults toHEADiffrom_refis specified--verbose,-vUse verbose output
--version,-VDisplay the prek version
prek self
prek self management
Usage
prek self [OPTIONS] <COMMAND>
Commands
prek self updateUpdate prek
prek self update
Update prek
Usage
prek self update [OPTIONS] [TARGET_VERSION]
Arguments
- TARGET_VERSION
Update to the specified version. If not provided, prek will update to the latest version
Options
--cd,-CdirChange to directory before running
--colorcolorWhether to use color in output
May also be set with the
PREK_COLORenvironment variable.[default: auto]
Possible values:
auto: Enables colored output only when the output is going to a terminal or TTY with supportalways: Enables colored output regardless of the detected environmentnever: Disables colored output
--config,-cconfigPath to alternate config file
--help,-hDisplay the concise help for this command
--no-progressHide all progress outputs.
For example, spinners or progress bars.
--quiet,-qDo not print any output
--refreshRefresh all cached data
--tokentokenA GitHub token for authentication. A token is not required but can be used to reduce the chance of encountering rate limits
May also be set with the
GITHUB_TOKENenvironment variable.--verbose,-vUse verbose output
--version,-VDisplay the prek version