Repository navigation
Expand file tree
/
Copy path.pre-commit-config.yaml
More file actions
141 lines (141 loc) · 3.88 KB
/
Copy path.pre-commit-config.yaml
File metadata and controls
141 lines (141 loc) · 3.88 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
default_install_hook_types:
- commit-msg
- pre-commit
exclude: ^(\{\{cookiecutter\.project_slug\}\}/|hooks/|plans/)
repos:
# Git
- repo: https://github.com/jorisroovers/gitlint
rev: v0.19.1
hooks:
- id: gitlint
args:
- --contrib=contrib-title-conventional-commits
- --ignore=B6
- --msg-filename
# Generic checks and fixes
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: check-added-large-files
- id: check-ast
types_or:
- python
- pyi
- id: check-case-conflict
- id: check-json
- id: check-merge-conflict
- id: check-yaml
- id: end-of-file-fixer
- id: mixed-line-ending
- id: trailing-whitespace
# Python
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.16
hooks:
- id: ruff-check
args:
- --fix
types_or:
- python
- pyi
- id: ruff-format
types_or:
- python
- pyi
- repo: https://github.com/astral-sh/ty-pre-commit
rev: v0.0.61
hooks:
- id: ty
args:
- --locked
- --no-python-downloads
always_run: true
pass_filenames: false
# Markdown
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.48.0
hooks:
- id: markdownlint
args:
- --disable=MD013
- --
# Shell
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: v0.11.0.1
hooks:
- id: shellcheck
# YAML
- repo: https://github.com/adrienverge/yamllint
rev: v1.38.0
hooks:
- id: yamllint
args:
- -d
- |
extends: default
rules:
comments:
min-spaces-from-content: 1
document-start:
present: false
line-length: disable
# GitHub Actions / JSON schema
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.37.2
hooks:
- id: check-dependabot
- id: check-github-workflows
- repo: https://github.com/rhysd/actionlint
rev: v1.7.12
hooks:
- id: actionlint
- repo: https://github.com/zizmorcore/zizmor-pre-commit
rev: v1.26.1
hooks:
- id: zizmor
files: ^\.github/workflows/
# Repo invariants
- repo: local
hooks:
- id: dockerfile-prod-env
name: dockerfile production collectstatic env matches prod settings
entry: python scripts/check_dockerfile_prod_env.py
language: system
pass_filenames: false
always_run: true
- id: generated-format
name: generated projects pass ruff format and check
entry: python scripts/check_generated_format.py
language: system
pass_filenames: false
always_run: true
- id: postgres-image-pin
name: postgres image pins agree across compose and workflows
entry: python scripts/check_postgres_image.py
language: system
pass_filenames: false
always_run: true
- id: redis-image-pin
name: redis image pins agree across compose files
entry: python scripts/check_redis_image.py
language: system
pass_filenames: false
always_run: true
- id: root-tests
name: root guard-script unit tests
entry: uv run --locked pytest tests
language: system
pass_filenames: false
always_run: true
- id: skills-lock
name: vendored agent skills match skills-lock.json hashes
entry: python scripts/check_skills_lock.py
language: system
pass_filenames: false
always_run: true
- id: toolchain-pins
name: root and generated toolchain pins agree
entry: python scripts/check_toolchain_pins.py
language: system
pass_filenames: false
always_run: true