Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
vstrimaitis committed Jul 24, 2022
1 parent 2a4d6f0 commit 669aca7
Showing 1 changed file with 45 additions and 2 deletions.
47 changes: 45 additions & 2 deletions README.md
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.

0 comments on commit 669aca7

Please sign in to comment.