-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.pre-commit-config.yaml
More file actions
131 lines (124 loc) · 3.43 KB
/
.pre-commit-config.yaml
File metadata and controls
131 lines (124 loc) · 3.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
fail_fast: true
repos:
- repo: local
hooks:
- id: mkinit
name: mkinit
description: "Generate __init__ files"
entry: poe mkinit
language: system
pass_filenames: false
types: [python]
- id: lint
name: lint
description: "Run all linters (pyupgrade, flynt, pyright, ruff-check, ruff-format)"
entry: poe lint
language: system
pass_filenames: false
types: [python]
- id: test-coverage
name: test-coverage
description: "Run tests with coverage reporting"
entry: poe test-coverage
language: system
pass_filenames: false
types: [python]
- id: interrogate
name: interrogate
description: "Check docstring coverage"
entry: poe interrogate
language: system
pass_filenames: false
types: [python]
- id: mkdocs
name: mkdocs
description: "Build documentation with MkDocs"
entry: poe mkdocs
language: system
pass_filenames: false
- id: xenon
name: xenon
description: "Monitoring code complexity"
entry: poe xenon
language: system
pass_filenames: false
types: [python]
- id: radon
name: radon
description: "Check code complexity"
entry: poe radon
language: system
pass_filenames: false
types: [python]
- id: mdformat
name: mdformat
description: "Format markdown files"
entry: poe mdformat
language: system
pass_filenames: false
types: [markdown]
- repo: https://github.com/codespell-project/codespell
rev: v2.4.1
hooks:
- id: codespell
additional_dependencies:
- tomli
- repo: https://github.com/abravalheri/validate-pyproject
rev: v0.24
hooks:
- id: validate-pyproject
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-yaml
args: [--unsafe]
- id: debug-statements
- id: trailing-whitespace
- id: mixed-line-ending
- id: check-builtin-literals
- id: check-ast
- id: check-merge-conflict
- id: check-executables-have-shebangs
- id: check-shebang-scripts-are-executable
- id: check-docstring-first
- id: fix-byte-order-marker
- id: check-case-conflict
- id: check-toml
- id: file-contents-sorter
files: dictionary.*\.txt$|\.wordlist$
args: [--ignore-case]
- repo: https://github.com/rhysd/actionlint
rev: v1.7.7
hooks:
- id: actionlint
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: v0.10.0.1
hooks:
- id: shellcheck
name: shellcheck
entry: shellcheck
language: python
types: [shell]
files: \.sh$
- repo: https://github.com/gitleaks/gitleaks
rev: v8.24.0
hooks:
- id: gitleaks
name: gitleaks
- repo: https://github.com/PyCQA/bandit
rev: 1.8.3
hooks:
- id: bandit
args: ["-c", "pyproject.toml", "--exclude", "tests,.venv,.git"]
# Code quality hooks
- repo: https://github.com/jendrikseipp/vulture
rev: v2.14
hooks:
- id: vulture
args: ["src", "tests", "--min-confidence", "80"]
# Git workflow hooks
- repo: https://github.com/commitizen-tools/commitizen
rev: v4.4.1
hooks:
- id: commitizen
stages: [commit-msg]