supported hosting platforms: currently only GitHub is supported, more to come in the future!
configuration: zero configuration setup -- nothing is needed beyond the
.pre-commit-config.yaml file you already have!
auto fixing pull requests: if tools make changes to files during a pull request, pre-commit.ci will automatically fix the pull request.
pre-commit.ci will run on all pull request commits, but will not push for commits made by bots.
speed: much faster than comparable, free CI systems
caching: tool caching is baked in and shared across all users. this means that the more users there are of pre-commit.ci, the more likely you will get faster builds!
automatic updates: pre-commit.ci will periodically autoupdate your configuration ensuring that your hook versions are kept up to date. this autoupdate is currently scheduled weekly at approximately 18:00 UTC Monday.
here is an example autoupdate pull request.
re-running a pull request: you can trigger a re-run on a pull request by
pre-commit.ci run (must appear on a line by itself).
skipping push runs: skip a run by putting
[skip pre-commit.ci], or
[pre-commit.ci skip] in the commit message.
pre-commit.ci is configured in
.pre-commit-config.yaml in the
ci: skip: [pylint] repos: - repo: local hooks: - id: pylint # ...
this is equivalent to running
a full config with all the defaults:
ci: autofix_commit_msg: | [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci autofix_prs: true autoupdate_commit_msg: '[pre-commit.ci] pre-commit autoupdate' autoupdate_schedule: weekly skip:  submodules: false
pre-commit.ci will always be free for open source repositories.
for private and organization repository support see the GitHub Marketplace.
for enterprise or on-prem solutions, contact [email protected].
if you'd like to support the development there are two ways to sponsor: