minimum_pre_commit_version: 4.0.0

exclude: ^LICENSES/|\.(html|csv|svg)$



default_stages: [pre-commit]

ci:

  autofix_prs: false

  autoupdate_schedule: monthly



repos:

  # pre-commit 基础检查

  - repo: https://gitcode.com/pre-commit/pre-commit-hooks

    rev: v4.6.0

    hooks:

      - id: trailing-whitespace

      - id: end-of-file-fixer

      - id: check-yaml

        args: ["--allow-multiple-documents"]

      - id: check-added-large-files

      - id: check-merge-conflict

      - id: detect-private-key

      - id: check-json



  # codespell

  - repo: https://gitcode.com/gh_mirrors/co/codespell

    rev: v2.4.1

    hooks:

      - id: codespell

        args: [

            "-L",

            "CANN,cann,NNAL,nnal,ASCEND,ascend,EnQue,CopyIn,ArchType,AND,ND,tbe,copyin,alog",

            "--skip",

            "*.py,*.cpp,*.hpp,*.c,*.h",

          ]



  # typos

  - repo: https://gitcode.com/gh_mirrors/ty/typos

    rev: v1.32.0

    hooks:

      - id: typos

        args: ["--force-exclude", "--config", "pre-commit/typos.toml"]



  #--------------- C++ 核心检查 ---------------------------------------------

  - repo: https://gitcode.com/pre-commit-clang/mirrors-clang-format

    rev: v18.1.8

    hooks:

      - id: clang-format

        files: \.(c|h|cpp|hpp|cc|hh|cxx|hxx)$

        entry: git-clang-format

        args: [--binary, clang-format, -f]

        exclude: \.(build|test|third-party)