-
Notifications
You must be signed in to change notification settings - Fork 22
Expand file tree
/
Copy path.pre-commit-config.yaml
More file actions
61 lines (57 loc) · 1.83 KB
/
.pre-commit-config.yaml
File metadata and controls
61 lines (57 loc) · 1.83 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
# See https://pre-commit.com for more information
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: no-commit-to-branch
name: "🚫 Prevent commits to protected branches"
args: [--branch, main, --branch, master, --branch, develop]
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
- id: check-toml
- id: check-merge-conflict
- id: check-json
- id: debug-statements # Prevents committing print()/pdb.set_trace() debug statements
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.3
hooks:
- id: ruff-check
args: [--fix]
files: ^(src/celeste|tests)/
name: "🐍 Lint with Ruff"
- id: ruff-format
files: ^(src/celeste|tests)/
name: "🐍 Format with Ruff"
- repo: local
hooks:
- id: mypy
name: "🐍 Type check with mypy"
entry: uv run mypy -p celeste
language: system
types: [python]
pass_filenames: false
- id: mypy-tests
name: "🐍 Type check tests with mypy"
entry: uv run mypy tests/
language: system
types: [python]
pass_filenames: false
- repo: https://github.com/PyCQA/bandit
rev: 1.8.6
hooks:
- id: bandit
name: "🔒 Security check with Bandit"
args: ["-c", "pyproject.toml", "-r", "src/"]
additional_dependencies: ["bandit[toml]"]
- repo: local
hooks:
- id: pytest
name: "🧪 Run tests with coverage"
entry: uv run pytest tests/unit_tests --cov=celeste --cov-report=term-missing
language: system
types: [python]
pass_filenames: false
always_run: true
stages: [pre-push] # Run on push, not commit (keeps commits fast)