vtcode 0.88.0

A Rust-based terminal coding agent with modular architecture supporting multiple LLM providers
# Clippy configuration for vtcode
# Based on best practices from https://rust-lang.github.io/rust-clippy/master/index.html

# Minimum supported Rust version
msrv = "1.88"

# Cognitive complexity threshold for functions
cognitive-complexity-threshold = 75

# Too many arguments threshold for functions
too-many-arguments-threshold = 9

# Disallow specific methods that should be avoided
disallowed-methods = [
    { path = "std::panic::panic_any", reason = "Use anyhow/thiserror for error handling instead" },
]

# Allow absolute paths from specific crates (for project structure)
absolute-paths-allowed-crates = [
    "vtcode",
    "vtcode-core",
    "vtcode-commons",
    "vtcode-config",
    "vtcode-tui",
    "vtcode-llm",
    "vtcode-lmstudio",
    "vtcode-markdown-store",
    "vtcode-indexer",
    "vtcode-tools",
    "vtcode-bash-runner",
    "vtcode-exec-events",
    "vtcode-file-search",
    "vtcode-acp-client",
    "vtcode-process-hardening",
]

# Suppress arithmetic checks for specific types where overflow is expected
arithmetic-side-effects-allowed = [
    "u8", "u16", "u32", "u64", "u128", "usize",
    "i8", "i16", "i32", "i64", "i128", "isize",
]

# Allow specific types that may have interior mutability
ignore-interior-mutability = [
    "std::sync::atomic::AtomicBool",
    "std::sync::atomic::AtomicUsize",
    "std::cell::RefCell",
    "std::cell::Cell",
    "parking_lot::Mutex",
    "parking_lot::RwLock",
    "tokio::sync::Mutex",
    "tokio::sync::RwLock",
]