alef 0.48.10

Opinionated polyglot binding generator for Rust libraries
Documentation
[discovery]
exclude = [
  "**/*.jinja",
  "**/*.lock",
  "**/Cargo.lock",
  "**/package-lock.json",
  "**/pnpm-lock.yaml",
  "**/uv.lock",
  ".alef/**",
  ".basemind/**",
  "crates/**",
  "node_modules/**",
  "schemas/**",
  "target/**",
  "templates/**",
  "**/templates/**",
  "tests/snapshots/**",
  "crates/*-ffi/include/*.h",
  "packages/go/include/*.h",
]

[lint.typos]
extend_words = { Prelease = "Prelease", wrkspace = "wrkspace", abl = "abl", unparseable = "unparseable", tring = "tring", ser = "ser", arange = "arange", delocate = "delocate", flate = "flate", CPY = "CPY" }

[lint.markdown.rumdl]
disable = ["MD012", "MD013", "MD024", "MD033", "MD036", "MD041", "MD046", "MD051", "MD076"]


[lint.uncomment]
enabled = true
remove_todos = false
remove_fixme = false
remove_docs = false
use_default_ignores = true
preserve_patterns = ["SAFETY", "HACK", "WORKAROUND", "NOTE"]
[fmt.markdown.rumdl]
disable = ["MD012", "MD013", "MD024", "MD033", "MD036", "MD041", "MD046", "MD051", "MD076"]

[lint.python.ruff]
select = ["ALL"]
ignore = [
  "ANN401",
  "ASYNC109",
  "ASYNC110",
  "BLE001",
  "COM812",
  "D100",
  "D104",
  "D107",
  "D205",
  "E501",
  "EM",
  "FBT",
  "FIX",
  "ISC001",
  "PD011",
  "PGH003",
  "PLR2004",
  "PLW0603",
  "S104",
  "S110",
  "S603",
  "TD",
  "TRY",
]
mccabe_max_complexity = 15
pydocstyle_convention = "google"
pylint_max_args = 10
pylint_max_branches = 15
pylint_max_returns = 10

[per-file-ignores]
"hooks/**/*.py" = [
  "ANN",
  "ASYNC",
  "B007",
  "C901",
  "CPY001",
  "D",
  "F401",
  "INP001",
  "N806",
  "PLR0912",
  "PLR0915",
  "Q001",
  "RET504",
  "RUF100",
  "S",
  "T201",
]
"scripts/**/*.py" = [
  "ANN",
  "ASYNC",
  "B007",
  "C901",
  "CPY001",
  "D",
  "F401",
  "INP001",
  "N806",
  "PLR0912",
  "PLR0915",
  "Q001",
  "RET504",
  "RUF100",
  "S",
  "T201",
]
"e2e/**" = ["comment", "doc-comment"]
"**/e2e/**" = ["comment", "doc-comment"]
"test_apps/**" = ["comment", "doc-comment"]
"**/test_apps/**" = ["comment", "doc-comment"]
"docs/assets/**" = ["comment", "doc-comment"]
"**/generated/**" = ["comment", "doc-comment"]
"**/*.generated.*" = ["comment", "doc-comment"]
"**/*.g.*" = ["comment", "doc-comment"]
"**/*.freezed.*" = ["comment", "doc-comment"]
"crates/*-ffi/include/*.h" = ["comment", "doc-comment"]
"packages/go/include/*.h" = ["comment", "doc-comment"]
"Package.swift" = ["comment", "doc-comment"]

[hooks]
stages = ["pre-commit"]

[hooks.builtin]
lint = { exclude = [
  "**/*.jinja",
  "**/*.lock",
  "**/Cargo.lock",
  "**/package-lock.json",
  "**/pnpm-lock.yaml",
  "**/uv.lock",
  ".alef/**",
  ".basemind/**",
  "crates/**",
  "node_modules/**",
  "schemas/**",
  "target/**",
  "templates/**",
  "**/templates/**",
  "tests/snapshots/**",
  "crates/*-ffi/include/*.h",
  "packages/go/include/*.h",
] }
fmt = { exclude = [
  "**/*.jinja",
  "**/*.lock",
  "**/Cargo.lock",
  "**/package-lock.json",
  "**/pnpm-lock.yaml",
  "**/uv.lock",
  ".alef/**",
  ".basemind/**",
  "crates/**",
  "node_modules/**",
  "schemas/**",
  "target/**",
  "templates/**",
  "**/templates/**",
  "tests/snapshots/**",
  "crates/*-ffi/include/*.h",
  "packages/go/include/*.h",
] }
file_safety = { exclude = [
  "**/*.jinja",
  "**/*.lock",
  "**/Cargo.lock",
  "**/package-lock.json",
  "**/pnpm-lock.yaml",
  "**/uv.lock",
  ".alef/**",
  ".basemind/**",
  "crates/**",
  "node_modules/**",
  "schemas/**",
  "target/**",
  "templates/**",
  "**/templates/**",
  "tests/snapshots/**",
  "crates/*-ffi/include/*.h",
  "packages/go/include/*.h",
] }
cargo = true
commit = { stages = ["commit-msg"] }
[[hooks.sources]]
id = "ai-rulez"
git = "https://github.com/Goldziher/ai-rulez.git"
revision = "v4.9.3"
hooks = ["ai-rulez-validate"]