basemind 0.21.1

Full AI context layer over MCP — tree-sitter code-map, document RAG (PDF/Office/HTML/email + OCR + reranker), shared agent memory, on-demand web crawl, git history + blame + per-symbol diff. 300+ languages, 10+ coding-agent harnesses, content-addressed Fjall + LanceDB.
# Generated by scripts/migrate_to_poly.py from .pre-commit-config.yaml + tool configs. Review before committing.

[defaults]
line_length = 120
line_ending = "lf"
final_newline = true
trim_trailing_whitespace = true

[discovery]
exclude = [
    "**/*.lock",
    "**/*.svg",
    "**/Cargo.lock",
    "**/go.sum",
    "**/package-lock.json",
    "**/pnpm-lock.yaml",
    "**/uv.lock",
    ".basemind/**",
    "dist/**",
    "node_modules/**",
    "target/**",
    "vendor/**",
    "website/dist/**",
    "website/node_modules/**",
    "website/.astro/**",
    "schema/basemind-config-v1.schema.json",
    "crates/*-ffi/include/*.h",
    "packages/go/include/*.h",
]

[lint.markdown.rumdl]
disable = ["MD013", "MD024", "MD033", "MD036", "MD041"]


[lint.uncomment]
enabled = true
remove_todos = false
remove_fixme = false
remove_docs = false
use_default_ignores = true
preserve_patterns = [
    "SAFETY",
    "HACK",
    "WORKAROUND",
    "NOTE",
    "Copyright",
    "Licensed",
    "License",
    "SPDX",
    "Apache",
    "MIT",
    "WITHOUT WARRANTIES",
    "limitations under the License",
    "copyright",
    "licensed",
    "license",
    "apache",
    "you may not use this file except in compliance",
    "You may obtain a copy of the License",
    "you may obtain a copy of the license",
    "http://www.apache.org/licenses/LICENSE-2.0",
    "http://www.apache.org/licenses/license-2.0",
    "Unless required by applicable law",
    "unless required by applicable law",
    "distributed under the License",
    "distributed under the license",
    "AS IS",
    "as is",
    "without warranties",
    "specific language governing permissions",
    "limitations under the license",
]
[fmt.markdown.rumdl]
disable = ["MD013", "MD024", "MD033", "MD036", "MD041"]

[lint.typos]
extend_words = { patern = "patern", pattrn = "pattrn", ser = "ser", certifi = "certifi" }
extend_identifiers = { rela_path = "rela_path" }
extend_exclude = ["tests/fixtures/**"]

[per-file-ignores]
"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 = [
    "**/*.lock",
    "**/Cargo.lock",
    "**/go.sum",
    "**/package-lock.json",
    "**/pnpm-lock.yaml",
    "**/uv.lock",
    ".basemind/**",
    "dist/**",
    "node_modules/**",
    "target/**",
    "vendor/**",
    "crates/*-ffi/include/*.h",
    "packages/go/include/*.h",
] }
fmt = { exclude = [
    "**/*.lock",
    "**/Cargo.lock",
    "**/go.sum",
    "**/package-lock.json",
    "**/pnpm-lock.yaml",
    "**/uv.lock",
    ".basemind/**",
    "dist/**",
    "node_modules/**",
    "target/**",
    "vendor/**",
    "schema/basemind-config-v1.schema.json",
    "crates/*-ffi/include/*.h",
    "packages/go/include/*.h",
] }
commit = { stages = ["commit-msg"] }
file_safety = { exclude = [
    "**/*.lock",
    "**/Cargo.lock",
    "**/go.sum",
    "**/package-lock.json",
    "**/pnpm-lock.yaml",
    "**/uv.lock",
    ".basemind/**",
    "dist/**",
    "node_modules/**",
    "target/**",
    "vendor/**",
    "crates/*-ffi/include/*.h",
    "packages/go/include/*.h",
] }
cargo = true

[tools.shfmt]
enabled = true

[tools.shellcheck]
enabled = true

[hooks.pre-commit.scripts.statusline_smoke]
run = "bash tests/statusline_smoke.sh"

[hooks.pre-commit.scripts.sync_plugin_skills]
run = "bash scripts/sync-plugin-skills.sh"