alef 0.34.9

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" }

[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",
    "D",
    "F401",
    "INP001",
    "N806",
    "PLR0912",
    "PLR0915",
    "Q001",
    "RET504",
    "RUF100",
    "S",
    "T201",
]
"scripts/**/*.py" = [
    "ANN",
    "ASYNC",
    "B007",
    "C901",
    "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"] }