/ .pre-commit-config.yaml
.pre-commit-config.yaml
1 # default_stages: [commit] 2 # Markdown/yaml/json lint and format, plan naming, Lua tests, extra hooks 3 fail_fast: true 4 repos: 5 - repo: local 6 hooks: 7 - id: check-prereqs 8 name: check-prereqs 9 entry: bash scripts/check-prereqs.sh 10 language: system 11 pass_filenames: false 12 - id: shellcheck 13 name: shellcheck 14 entry: shellcheck 15 language: system 16 types: [shell] 17 pass_filenames: true 18 exclude: '\.(zsh|tmux)$|^etc/|^tmux/' 19 - id: markdownlint 20 name: markdownlint 21 entry: markdownlint 22 language: system 23 types: [markdown] 24 pass_filenames: true 25 args: ["-c", ".markdownlint.yaml", "-i", "CHANGELOG.md"] 26 - id: task-yamlfmt 27 name: task-yamlfmt 28 entry: task 29 language: system 30 args: [yamlfmt] 31 types: [yaml] 32 pass_filenames: false 33 - id: task-jsonfmt 34 name: task-jsonfmt 35 entry: task 36 language: system 37 args: [jsonfmt] 38 types: [json] 39 pass_filenames: false 40 exclude: '\^devbox.json/|^package.json/' 41 - id: task-test-lua 42 name: Run Lua tests (Busted) 43 entry: task 44 language: system 45 args: ['test:lua'] 46 types: [lua] 47 pass_filenames: false 48 - repo: https://github.com/pre-commit/pre-commit-hooks 49 rev: v6.0.0 50 hooks: 51 - id: detect-private-key 52 - id: check-merge-conflict 53 - id: mixed-line-ending 54 - id: trailing-whitespace 55 exclude_types: 56 - "json" 57 - id: end-of-file-fixer 58 exclude_types: 59 - "json" 60 - id: check-added-large-files 61 args: ["--maxkb=2000"] 62 - id: check-yaml 63 - id: check-json 64 - id: check-toml 65 - id: check-xml 66 - id: check-case-conflict 67 - id: debug-statements 68 - repo: https://github.com/lunarmodules/luacheck 69 rev: v1.2.0 70 hooks: 71 - id: luacheck 72 name: Luacheck 73 description: Lint and static analysis of Lua code 74 entry: luacheck 75 language: lua 76 types: [lua]