mirror of
https://github.com/j178/prek.git
synced 2026-04-25 02:11:36 +02:00
4fcbabc137
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
50 lines
2.2 KiB
Markdown
50 lines
2.2 KiB
Markdown
# Compatibility with pre-commit
|
|
|
|
`prek` aims to be a practical drop-in replacement for `pre-commit` for existing repositories, hook configs, and day-to-day workflows.
|
|
|
|
## What works unchanged
|
|
|
|
- Existing `.pre-commit-config.yaml` and `.pre-commit-config.yml` files work in `prek`. See [Configuration](configuration.md).
|
|
- Most common `pre-commit` workflows keep working, including the usual hook repositories and manifests.
|
|
- Several upstream command spellings are still accepted as compatibility aliases, so existing scripts do not need to be rewritten immediately.
|
|
|
|
## Preferred command and flag spellings
|
|
|
|
`prek` keeps compatibility aliases for the commands below, but the preferred spellings use a more descriptive CLI layout.
|
|
|
|
| Compatibility spelling | Preferred `prek` spelling |
|
|
| -- | -- |
|
|
| `prek install-hooks` | `prek prepare-hooks` |
|
|
| `prek install --install-hooks` | `prek install --prepare-hooks` |
|
|
| `prek autoupdate` | `prek auto-update` |
|
|
| `prek gc` | `prek cache gc` |
|
|
| `prek clean` | `prek cache clean` |
|
|
| `prek init-templatedir` | `prek util init-template-dir` |
|
|
| `prek init-template-dir` | `prek util init-template-dir` |
|
|
| `pre-commit migrate-config` | Not provided directly; use `prek util yaml-to-toml` to migrate YAML to `prek.toml` |
|
|
|
|
## Why the CLI is reorganized
|
|
|
|
`pre-commit` keeps many maintenance commands as separate top-level entries. `prek` reorganizes some of them so the command tree is easier to navigate:
|
|
|
|
- related cache operations live under `prek cache`
|
|
- helper and migration commands live under `prek util`
|
|
- `prepare-hooks` describes what the command actually does more clearly than `install-hooks`
|
|
|
|
That improves discoverability without dropping compatibility, because the older spellings remain available.
|
|
|
|
## Not implemented
|
|
|
|
- `pre-commit hazmat` is not implemented in `prek`.
|
|
|
|
## If you need strict upstream portability
|
|
|
|
If the same config must continue working in upstream `pre-commit`, stay with the YAML config format and avoid `prek`-only features such as:
|
|
|
|
- `prek.toml`
|
|
- `repo: builtin`
|
|
- glob mappings for `files` and `exclude`
|
|
- workspace mode
|
|
|
|
See [Configuration](configuration.md) for config-level compatibility details and [Differences](diff.md) for broader behavior and CLI differences.
|