arch_lint_ts/lib.rs
1//! # arch-lint-ts
2//!
3//! Tree-sitter based cross-language architecture linter.
4//!
5//! This crate extends arch-lint with Tree-sitter powered analysis for
6//! non-Rust languages (Kotlin, and more to come). It reuses
7//! `arch-lint-core` types (`Violation`, `Severity`, `Location`) and adds:
8//!
9//! - [`LanguageExtractor`] trait for pluggable language support
10//! - [`KotlinExtractor`] for Kotlin import/class extraction
11//! - [`LayerResolver`] for package-to-layer mapping
12//! - [`ArchRuleEngine`] for layer dependency and pattern constraint checks
13//! - [`ArchConfig`] for TOML-based layer/dependency/constraint definitions
14
15#![forbid(unsafe_code)]
16#![warn(missing_docs)]
17
18pub mod config;
19pub mod engine;
20pub mod extractor;
21pub mod kotlin;
22pub mod layer;
23
24pub use config::ArchConfig;
25pub use engine::ArchRuleEngine;
26pub use extractor::{FileAnalysis, LanguageExtractor};
27pub use kotlin::KotlinExtractor;
28pub use layer::LayerResolver;