-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
2a4d6f0
commit 669aca7
Showing
1 changed file
with
45 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,45 @@ | ||
# poetry-pre-commit-plugin | ||
Poetry plugin for automatically installing pre-commit hook when it is added to a project | ||
# Poetry pre-commit Plugin | ||
|
||
A [Poetry](https://python-poetry.org/) plugin for automatically installing git | ||
pre-commit hooks whenever `pre-commit` is specified as a dependency of the | ||
project. | ||
|
||
## Motivation | ||
|
||
Personally I find that running `pre-commit install` every time I start working | ||
on a new repository is very easy to forget - there have been numerous occasions | ||
where I'd forget this step, commit some changes only to be surprised later on | ||
by failing CI checks :grinning: This plugin aims to solve this issue by doing | ||
this small step for me automatically behind the scenes. | ||
|
||
## Installation | ||
|
||
The plugin requires Poetry version `1.2.0b1` or above. Since this is still a | ||
pre-release version, you have to specify it explicitly when installing: | ||
|
||
``` | ||
$ curl -sSL https://install.python-poetry.org | python3.9 - --version 1.2.0b3 | ||
``` | ||
|
||
Once a valid version of Poetry is set up, you can install the plugin like so: | ||
|
||
``` | ||
$ poetry self add poetry-pre-commit-plugin | ||
``` | ||
|
||
For more in-depth information, please refer to | ||
[Poetry's docs](https://python-poetry.org/docs/master/plugins/). | ||
|
||
## Usage | ||
|
||
There's no way to use this plugin explicitly - it will work behind the scenes | ||
after you run either `poetry install` or `poetry add`. In either of those cases, | ||
the plugin will check the following conditions: | ||
|
||
1. Is the project inside a git repository? | ||
2. Is `pre-commit` listed as a dependency of the project (or, in the case of | ||
`poetry add` - was it just added)? | ||
3. Has the pre-commit hook **not** been activated yet (i.e. the file | ||
`.git/hooks/pre-commit` does not exist)? | ||
|
||
If all conditions are met, the plugin will run `pre-commit install` for you. |