omnicoach 0.2.0

Lightweight, high-signal static analysis and command linter for Python and Rust
Documentation
//! Omni Lint Toolkit library.
//!
//! Exposes linter domains for static file analysis and command safety checks.

#[cfg(test)]
#[macro_use]
extern crate pretty_assertions;

/// Declares the [`crate::architecture::ArchitectureComponent`] that the enclosing source file belongs to.
///
/// Validated at compile time by `rustc` (rejecting unknown variants and duplicate declarations
/// within the same module) and inspected by `tests/architecture_conformance.rs` to enforce the DAG.
#[doc(hidden)]
#[macro_export]
macro_rules! architecture_component {
    ($component:ident) => {
        const _ARCHITECTURE_COMPONENT: $crate::architecture::ArchitectureComponent =
            $crate::architecture::ArchitectureComponent::$component;
    };
}

pub mod architecture;
pub mod code_lint;
pub mod command_lint;
pub mod config;
pub mod diagnostic;
pub(crate) mod diff;
pub mod rule_catalog;
pub mod rule_declaration;
pub mod rule_selection;

#[cfg(test)]
pub mod test_utils;