# This file configures pre-commit hooks. # See https://pre-commit.com/ for general information # See https://pre-commit.com/hooks.html for a listing of possible hooks repos: # General hooks - repo: https://github.com/pre-commit/pre-commit-hooks rev: v5.0.0 hooks: - id: check-docstring-first - id: check-json exclude: "tsconfig.*json" - id: check-yaml args: - "--unsafe" - id: check-toml - id: check-executables-have-shebangs - id: end-of-file-fixer exclude_types: - svg - pofile exclude: "(^LICENSE$)" - id: mixed-line-ending args: - "--fix=lf" - id: trailing-whitespace exclude_types: - svg - id: check-case-conflict - id: detect-private-key - repo: https://github.com/codespell-project/codespell rev: v2.4.0 hooks: - id: codespell exclude: "(^src-ui/src/locale/)|(^src-ui/pnpm-lock.yaml)|(^src-ui/e2e/)|(^src/paperless_mail/tests/samples/)" exclude_types: - pofile - json # See https://github.com/prettier/prettier/issues/15742 for the fork reason - repo: https://github.com/rbubley/mirrors-prettier rev: 'v3.3.3' hooks: - id: prettier types_or: - javascript - ts - markdown additional_dependencies: - prettier@3.3.3 - 'prettier-plugin-organize-imports@4.1.0' # Python hooks - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.9.9 hooks: - id: ruff - id: ruff-format - repo: https://github.com/tox-dev/pyproject-fmt rev: "v2.5.1" hooks: - id: pyproject-fmt # Dockerfile hooks - repo: https://github.com/AleksaC/hadolint-py rev: v2.12.0.3 hooks: - id: hadolint # Shell script hooks - repo: https://github.com/lovesegfault/beautysh rev: v6.2.1 hooks: - id: beautysh additional_dependencies: - setuptools args: - "--tab" - repo: https://github.com/shellcheck-py/shellcheck-py rev: "v0.10.0.1" hooks: - id: shellcheck