crates/mehen-cli | CLI binary — entry point, command routing, exit codes. |
crates/mehen-engine | Pipeline orchestration — run_diff, run_top_offenders, registry. |
crates/mehen-core | Parser-neutral domain types and the LanguageAnalyzer trait. |
crates/mehen-metrics | Shared metric formulas, accumulators, finalizers. |
crates/mehen-python | Python analyzer (Ruff). |
crates/mehen-typescript | TypeScript / JavaScript / TSX / JSX analyzer (Oxc). |
crates/mehen-php | PHP analyzer (Mago). |
crates/mehen-ruby | Ruby analyzer (Prism). |
crates/mehen-rust | Rust analyzer (ra_ap_syntax). |
crates/mehen-kotlin | Kotlin analyzer (ANTLR — official Kotlin spec grammar). |
crates/mehen-java | Java analyzer (ANTLR — grammars-v4 Java grammar). |
crates/mehen-sql | SQL analyzer (sqruff) — publishes the dedicated sql.* metric family. |
crates/mehen-go, mehen-c, mehen-powershell | Tree-sitter-backed analyzers. |
crates/mehen-markdown | Markdown analyzer (pulldown-cmark) with embedded-code dispatch via LanguageDispatcher. |
crates/mehen-tree-sitter | Shared tree-sitter wrapper and CST traversal helpers. |
crates/mehen-antlr | Shared ANTLR-runtime support (span conversion, diagnostics, comment LOC) for ANTLR-backed analyzers. |
crates/mehen-git | Git operations. |
crates/mehen-report | JSON, YAML, TOML, and GitHub-Markdown rendering. |
xtask | Developer-only commands (kind-enum codegen, AST dumps, audits). |