This commit is contained in:
201
.pre-commit-config.yaml
Normal file
201
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,201 @@
|
||||
default_install_hook_types:
|
||||
- pre-commit
|
||||
- commit-msg
|
||||
default_stages:
|
||||
- pre-commit
|
||||
exclude: ^docs/snippets/|vendor/|node_modules/|target/|invalid*|dist/|artifacts/|test_documents/|scripts/ci/|^e2e/|^packages/|^crates/kreuzberg-(py|node|ffi|php|wasm)/|^docs/reference/api-|\.cache/|\.venv/|rust-vendor/
|
||||
repos:
|
||||
- repo: https://github.com/Goldziher/gitfluff
|
||||
rev: v0.8.0
|
||||
hooks:
|
||||
- id: gitfluff-lint
|
||||
args:
|
||||
- --write
|
||||
stages:
|
||||
- commit-msg
|
||||
- repo: https://github.com/kreuzberg-dev/pre-commit-hooks
|
||||
rev: v1.2.3
|
||||
hooks:
|
||||
- id: ai-rulez-generate
|
||||
- id: gh-actions-updater
|
||||
- id: trailing-whitespace
|
||||
- id: end-of-file-fixer
|
||||
- id: check-merge-conflict
|
||||
- id: check-added-large-files
|
||||
exclude: uv.lock|docs/benchmarks/app/
|
||||
- id: detect-private-key
|
||||
- id: check-json
|
||||
- id: check-yaml
|
||||
args:
|
||||
- --allow-multiple-documents
|
||||
- --unsafe
|
||||
exclude: ^charts/
|
||||
- id: check-toml
|
||||
- id: check-case-conflict
|
||||
- id: pyproject-fmt
|
||||
- id: ruff
|
||||
- id: ruff-format
|
||||
- id: cargo-sort
|
||||
exclude: ^(crates/kreuzberg-(wasm|node|py|php|ffi)|packages/(dart|swift)/rust)/Cargo\.toml$
|
||||
- id: cargo-fmt
|
||||
args:
|
||||
- --all
|
||||
- id: cargo-check
|
||||
args:
|
||||
- --workspace
|
||||
- --exclude=kreuzberg-ffi
|
||||
- --exclude=kreuzberg-py
|
||||
- --exclude=kreuzberg-node
|
||||
- --exclude=kreuzberg-php
|
||||
- --exclude=kreuzberg-wasm
|
||||
- --exclude=kreuzberg-dart
|
||||
- --exclude=kreuzberg-swift
|
||||
- --all-features
|
||||
- --all-targets
|
||||
- id: cargo-clippy
|
||||
args:
|
||||
- --fix
|
||||
- --allow-dirty
|
||||
- --allow-staged
|
||||
- --workspace
|
||||
- --exclude=kreuzberg-ffi
|
||||
- --exclude=kreuzberg-py
|
||||
- --exclude=kreuzberg-node
|
||||
- --exclude=kreuzberg-php
|
||||
- --exclude=kreuzberg-wasm
|
||||
- --exclude=kreuzberg-dart
|
||||
- --exclude=kreuzberg-swift
|
||||
- --all-features
|
||||
- --all-targets
|
||||
- --
|
||||
- -D
|
||||
- warnings
|
||||
- id: cargo-machete
|
||||
args:
|
||||
- crates/
|
||||
- packages/
|
||||
- tools/
|
||||
exclude: ^e2e/
|
||||
# - id: alef-docs-fresh # TEMP DISABLED — Step 0 lockdown active
|
||||
- id: cargo-deny
|
||||
args:
|
||||
- check
|
||||
- id: shfmt
|
||||
args:
|
||||
- -w
|
||||
- -i
|
||||
- '2'
|
||||
- id: shellcheck
|
||||
args:
|
||||
- -x
|
||||
- id: clang-format
|
||||
args:
|
||||
- --style=file
|
||||
files: ^crates/kreuzberg-ffi/tests/c/
|
||||
- id: clang-tidy
|
||||
files: ^crates/kreuzberg-ffi/tests/c/
|
||||
- id: checkstyle
|
||||
args:
|
||||
- -c
|
||||
- packages/java/checkstyle.xml
|
||||
- -p
|
||||
- packages/java/checkstyle.properties
|
||||
exclude: ^(\.mvn/wrapper/|e2e/|tools/e2e-generator/e2e/|crates/kreuzberg-wasm/e2e/|packages/java/src/)
|
||||
- id: javadoc-lint
|
||||
files: ^packages/java/src/main/.*\.java$
|
||||
- id: java-verify
|
||||
files: ^packages/java/
|
||||
- id: mypy
|
||||
files: ^(lib|src|kreuzberg|tools)/.*\.py$
|
||||
exclude: e2e/|tests/|scripts/
|
||||
- id: pydocstyle
|
||||
files: ^packages/python/.*\.py$
|
||||
exclude: ^packages/python/(tests/|.*_native\.py$)
|
||||
- id: go-fmt
|
||||
exclude: ^(e2e/|test_apps/|tools/)
|
||||
- id: golangci-lint
|
||||
exclude: ^(e2e/|test_apps/|tools/)
|
||||
- id: govulncheck
|
||||
exclude: ^(e2e/|test_apps/|tools/)
|
||||
- id: rubocop
|
||||
files: ^packages/ruby/.*\.rb$
|
||||
- id: rubocop-lint
|
||||
files: ^packages/ruby/.*\.(rb|rbs)$
|
||||
- id: steep
|
||||
files: ^packages/ruby/.*\.(rb|rbs)$
|
||||
- id: dotnet-format
|
||||
files: ^packages/csharp/.*\.cs$
|
||||
- id: dotnet-format-check
|
||||
files: ^packages/csharp/.*\.cs$
|
||||
- id: cs-xmldoc-lint
|
||||
files: ^packages/csharp/Kreuzberg/.*\.cs$
|
||||
- id: php-cs-fixer
|
||||
files: ^packages/php/.*\.php$
|
||||
- id: phpstan
|
||||
files: ^packages/php/.*\.php$
|
||||
- id: phpdoc-lint
|
||||
files: ^packages/php/src/.*\.php$
|
||||
- id: mix-format
|
||||
files: ^packages/elixir/
|
||||
- id: mix-credo
|
||||
files: ^packages/elixir/
|
||||
- id: roxygen2-check
|
||||
files: ^packages/r/R/.*\.R$
|
||||
- id: air-format
|
||||
files: ^packages/r/.*\.[Rr]$
|
||||
- id: air-check
|
||||
files: ^packages/r/.*\.[Rr]$
|
||||
- id: lintr
|
||||
files: ^packages/r/.*\.[Rr]$
|
||||
- id: ktfmt
|
||||
args:
|
||||
- --kotlinlang-style
|
||||
files: ^packages/kotlin-android/.*\.kts?$
|
||||
- id: detekt
|
||||
args:
|
||||
- --build-upon-default-config
|
||||
files: ^packages/kotlin-android/.*\.kts?$
|
||||
- id: ktlint
|
||||
files: ^packages/kotlin-android/.*\.kts?$
|
||||
- id: swift-format
|
||||
files: ^packages/swift/.*\.swift$
|
||||
- id: swiftlint
|
||||
files: ^packages/swift/.*\.swift$
|
||||
- id: dart-format
|
||||
files: ^packages/dart/.*\.dart$
|
||||
- id: dart-analyze
|
||||
files: ^packages/dart/.*\.dart$
|
||||
- id: dart-doc-lint
|
||||
files: ^packages/dart/lib/.*\.dart$
|
||||
exclude: ^packages/dart/lib/src/rust/
|
||||
- id: zig-fmt
|
||||
files: ^packages/zig/.*\.zig$
|
||||
- id: zig-build-check
|
||||
files: ^packages/zig/.*\.zig$
|
||||
- id: helm-lint
|
||||
files: ^charts/.*/(Chart\.yaml|templates/.+\.ya?ml)$
|
||||
- id: kubeconform
|
||||
args:
|
||||
- -strict
|
||||
- -summary
|
||||
files: ^charts/.*/templates/.+\.ya?ml$
|
||||
exclude: ^charts/.*/(values|Chart)\.ya?ml$
|
||||
- id: textlint
|
||||
files: ^docs/.*\.md$
|
||||
exclude: ^docs/(reference/|api-|snippets/|migration/)
|
||||
args:
|
||||
- --fix
|
||||
- --config
|
||||
- .textlintrc.json
|
||||
- id: oxlint
|
||||
- id: oxfmt
|
||||
- id: cppcheck
|
||||
- id: rumdl-fmt
|
||||
exclude: ^templates/
|
||||
- id: cpd
|
||||
# - id: alef-verify # TEMP DISABLED — Step 0 lockdown active
|
||||
# - id: alef-sync-versions # TEMP DISABLED — Step 0 lockdown active
|
||||
- id: actionlint
|
||||
- id: typos
|
||||
args:
|
||||
- --force-exclude
|
||||
Reference in New Issue
Block a user