# Pre-commit hooks configuration # See https://pre-commit.com for more information # Installation: pip install pre-commit && pre-commit install # # Note: These hooks are optional for contributors. # Run manually with: pre-commit run --all-files repos: # Standard pre-commit hooks - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.5.0 hooks: - id: trailing-whitespace args: [--markdown-linebreak-ext=md] - id: end-of-file-fixer - id: check-yaml - id: check-json - id: check-merge-conflict - id: check-added-large-files args: ['--maxkb=500'] - id: detect-private-key # Go formatting - repo: https://github.com/dnephin/pre-commit-golang rev: v0.5.1 hooks: - id: go-fmt - id: go-imports - id: go-vet - id: go-mod-tidy # golangci-lint - repo: https://github.com/golangci/golangci-lint rev: v1.56.2 hooks: - id: golangci-lint args: [--config=.golangci.yml] # Markdown linting (optional) - repo: https://github.com/igorshubovych/markdownlint-cli rev: v0.39.0 hooks: - id: markdownlint args: ['--fix', '--disable', 'MD013', 'MD033', 'MD041', '--'] # Configuration for specific hooks default_language_version: golang: "1.22" # Don't run on CI by default (handled by GitHub Actions) ci: skip: [golangci-lint, go-vet]