# Pre-commit integration

`pylint` can be used as a pre-commit hook.

Since `pylint` needs to import modules and dependencies to work correctly, the hook only works with a local installation of `pylint` (in your environment). If you installed `pylint` locally it can be added to `.pre-commit-config.yaml` as follows:

    - repo: local
      hooks:
        - id: pylint
          name: pylint
          entry: pylint
          language: system
          types: [python]
          args:
            [
              "-rn", # Only display messages
              "-sn", # Don't display the score
            ]

You can use `args` to pass command line arguments as described in the Tutorial. A hook with more arguments could look something like this:

    - repo: local
      hooks:
        - id: pylint
          name: pylint
          entry: pylint
          language: system
          types: [python]
          args:
            [
              "-rn", # Only display messages
              "-sn", # Don't display the score
              "--rcfile=pylintrc", # Link to your config file
              "--load-plugins=pylint.extensions.docparams", # Load an extension
            ]