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