doc: elaborate pre-commit hook usage in development environment (#793)

This commit is contained in:
NAHO 2025-01-25 20:21:13 +01:00 committed by GitHub
parent e594886eb0
commit 58b54b664b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,5 +1,7 @@
# Development environment
## Developer shell
To enter the developer shell, run:
```console
@ -12,3 +14,24 @@ with [`direnv`](https://direnv.net), run:
```console
direnv allow
```
## pre-commit
The default developer shell leverages [`pre-commit`](https://pre-commit.com)
hooks to simplify the process of reaching minimum quality standards for casual
contributors.
By default, `pre-commit` only runs on staged files. To manually run
[`pre-commit`](https://pre-commit.com) against all files, run:
```console
pre-commit run --all-files
```
This is useful when submitting a patchset and `pre-commit` was not used on all
commits. For example, suppose the first commit was created without `pre-commit`
and touches `/flake.nix`. Installing `pre-commit` and then creating a second
commit that touches `/README.md` will not run any hooks on `/flake.nix`.
Note that the `outputs.checks.${system}.git-hooks` output always runs against
all files.