codemod_core/lib.rs
1//! # codemod-core
2//!
3//! Core engine for codemod-pilot: pattern inference, matching, and transformation.
4//!
5//! This crate provides the fundamental building blocks for:
6//! - Inferring code transformation patterns from before/after examples
7//! - Scanning codebases for pattern matches
8//! - Applying transformations with preview and rollback support
9//! - Managing reusable codemod rules
10//!
11//! ## Architecture
12//!
13//! - [`pattern`]: Pattern inference, matching, and validation
14//! - [`transform`]: Transformation application, conflict detection, and rollback
15//! - [`scanner`]: Codebase scanning with parallel file processing
16//! - [`rule`]: Codemod rule management and serialization
17//! - [`language`]: Language adapter trait for tree-sitter integration
18//! - [`error`]: Error types and result aliases
19
20pub mod error;
21pub mod language;
22pub mod pattern;
23pub mod rule;
24pub mod scanner;
25pub mod transform;
26
27// Re-export core types at crate root for ergonomic access.
28pub use error::{CodemodError, Result};
29pub use language::LanguageAdapter;
30pub use pattern::validator::{PatternValidator, ValidationResult};
31pub use pattern::{Pattern, PatternInferrer, PatternMatcher, PatternVar};
32pub use rule::builtin::BuiltinRules;
33pub use rule::schema::RulePattern;
34pub use rule::{CodemodRule, RuleConfig};
35pub use scanner::{ScanConfig, ScanMatch, ScanResult, Scanner};
36pub use transform::conflict::ConflictResolver;
37pub use transform::rollback::{RollbackEntry, RollbackManager};
38pub use transform::{TransformApplier, TransformResult};