[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/**",
"schema/basemind-config-v1.schema.json",
]
[lint.markdown.rumdl]
disable = ["MD013", "MD024", "MD033", "MD036", "MD041"]
[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]
"pip-package/**" = ["B007", "B904", "I001"]
[hooks]
stages = ["pre-commit"]
[hooks.builtin]
polylint = { exclude = [
"**/*.lock",
"**/Cargo.lock",
"**/go.sum",
"**/package-lock.json",
"**/pnpm-lock.yaml",
"**/uv.lock",
".basemind/**",
"dist/**",
"node_modules/**",
"target/**",
"vendor/**",
] }
polyfmt = { 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",
] }
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/**",
] }
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"