-
Notifications
You must be signed in to change notification settings - Fork 48
Expand file tree
/
Copy path.pre-commit-config.yaml
More file actions
60 lines (53 loc) · 1.53 KB
/
.pre-commit-config.yaml
File metadata and controls
60 lines (53 loc) · 1.53 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
# Pre-commit hooks for dotfiles validation
# Install with: pre-commit install
# Run manually with: pre-commit run --all-files
repos:
# External validation tools
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
# Basic file checks
- id: check-yaml
exclude: ^(\.github/|.*\.md)
- id: check-toml
- id: check-json
- id: end-of-file-fixer
exclude: ^scratchpads/
- id: trailing-whitespace
exclude: ^scratchpads/
- id: check-merge-conflict
- id: check-case-conflict
# Shell script validation
- id: check-executables-have-shebangs
- id: check-shebang-scripts-are-executable
# Shellcheck integration
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: v0.10.0.1
hooks:
- id: shellcheck
exclude: ^(scratchpads/|\.github/|.*plugins/|bin/\.local/bin/starship-claude)
# Markdown linting
- repo: https://github.com/DavidAnson/markdownlint-cli2
rev: v0.20.0
hooks:
- id: markdownlint-cli2
args: ['--config', 'markdown/.markdownlint-cli2.yaml']
exclude: ^scratchpads/
# YAML validation
- repo: https://github.com/adrienverge/yamllint
rev: v1.37.1
hooks:
- id: yamllint
args: [--config-file=yamllint/.yamllint]
exclude: ^scratchpads/
# Global configuration
default_install_hook_types: [pre-commit, pre-push]
default_stages: [pre-commit]
# Exclude patterns
exclude: |
(?x)^(
scratchpads/.*|
\.git/.*|
node_modules/.*|
vendor/.*
)$