-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.pre-commit-config.yaml
More file actions
156 lines (139 loc) · 4.21 KB
/
.pre-commit-config.yaml
File metadata and controls
156 lines (139 loc) · 4.21 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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# WebCat MCP Server - Pre-commit Configuration
# ===========================================
repos:
# Built-in hooks
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
- id: trailing-whitespace
exclude: '\.md$'
- id: end-of-file-fixer
- id: check-yaml
- id: check-json
- id: check-toml
- id: check-xml
- id: check-added-large-files
args: ['--maxkb=1000']
- id: check-case-conflict
- id: check-merge-conflict
- id: check-symlinks
- id: check-executables-have-shebangs
- id: check-shebang-scripts-are-executable
- id: fix-byte-order-marker
- id: mixed-line-ending
args: ['--fix=lf']
# Python code formatting (using local installation from pyproject.toml)
- repo: local
hooks:
- id: black
name: black
entry: black
language: system
types: [python]
args: ['--config', 'pyproject.toml']
- id: isort
name: isort
entry: isort
language: system
types: [python]
args: ['--settings-path', 'pyproject.toml']
- id: autoflake
name: autoflake
entry: autoflake
language: system
types: [python]
args:
- --in-place
- --remove-all-unused-imports
- --remove-unused-variables
- --expand-star-imports
- --ignore-init-module-imports
- id: flake8
name: flake8
entry: flake8
language: system
types: [python]
# Type checking (disabled - too strict for current codebase)
# - repo: https://github.com/pre-commit/mirrors-mypy
# rev: v1.8.0
# hooks:
# - id: mypy
# additional_dependencies:
# - types-requests
# - types-PyYAML
# - types-beautifulsoup4
# args: ['--config-file', 'pyproject.toml', '--ignore-missing-imports']
# exclude: ^(tests/|examples/|customgpt/)
# Security scanning (disabled - too many false positives)
# - repo: https://github.com/pycqa/bandit
# rev: 1.7.5
# hooks:
# - id: bandit
# args: ['-c', 'pyproject.toml', '--skip', 'B104,B108,B113']
# exclude: ^(tests/|customgpt/tests/)
# Dockerfile linting (disabled - requires Docker running)
# Uncomment if you want Dockerfile linting and have Docker running
# - repo: https://github.com/hadolint/hadolint
# rev: v2.12.0
# hooks:
# - id: hadolint-docker
# files: docker/Dockerfile
# YAML linting (disabled - too strict for CI)
# - repo: https://github.com/adrienverge/yamllint
# rev: v1.35.1
# hooks:
# - id: yamllint
# args: [-c=.yamllint]
# Markdown linting (disabled - too strict for CI)
# - repo: https://github.com/igorshubovych/markdownlint-cli
# rev: v0.39.0
# hooks:
# - id: markdownlint
# args: ['--config', '.markdownlint.json']
# JSON formatting
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v4.0.0-alpha.8
hooks:
- id: prettier
types: [json]
# Shell script linting (disabled - too strict for CI)
# - repo: https://github.com/shellcheck-py/shellcheck-py
# rev: v0.9.0.6
# hooks:
# - id: shellcheck
# Python security
- repo: https://github.com/Yelp/detect-secrets
rev: v1.4.0
hooks:
- id: detect-secrets
args: ['--baseline', '.secrets.baseline']
# Docker security
- repo: https://github.com/Yelp/detect-secrets
rev: v1.4.0
hooks:
- id: detect-secrets
name: detect-secrets-docker
files: docker/
args: ['--baseline', '.secrets.baseline']
# License headers (optional)
- repo: https://github.com/Lucas-C/pre-commit-hooks
rev: v1.5.4
hooks:
- id: insert-license
files: \.py$
args:
- --license-filepath
- LICENSE-header.txt
- --comment-style
- "#"
# Configuration for pre-commit.ci (if using)
ci:
autofix_commit_msg: |
[pre-commit.ci] auto fixes from pre-commit hooks
for more information, see https://pre-commit.ci
autofix_prs: true
autoupdate_branch: ''
autoupdate_commit_msg: '[pre-commit.ci] pre-commit autoupdate'
autoupdate_schedule: weekly
skip: []
submodules: false