#![cfg_attr(not(test), deny(
clippy::unwrap_used,
clippy::expect_used,
clippy::panic,
clippy::unreachable,
clippy::todo,
clippy::arithmetic_side_effects,
clippy::indexing_slicing,
clippy::string_slice,
clippy::let_underscore_future,
clippy::await_holding_lock,
clippy::await_holding_refcell_ref,
clippy::if_let_mutex,
clippy::large_futures,
clippy::as_underscore,
clippy::cast_lossless,
clippy::cast_possible_truncation,
clippy::cast_sign_loss,
clippy::cast_precision_loss,
clippy::cast_possible_wrap,
clippy::unused_result_ok,
clippy::let_underscore_must_use,
clippy::map_err_ignore,
clippy::allow_attributes_without_reason,
clippy::as_conversions,
))]
pub mod analysis;
pub mod commands;
pub mod context;
pub mod corpus_runner;
pub mod detectors;
pub mod error;
pub mod sarif;
pub mod semgrep;
pub mod threat_model;
pub mod trufflehog;
#[cfg(feature = "mcp")]
pub mod mcp;