//! Type-safe SQL query builder with AST-native design.
//!
//! Build queries as typed AST, not strings. Zero SQL injection risk.
//!
//! ```ignore
//! use qail_core::ast::{Qail, Operator};
//! let cmd = Qail::get("users").column("name").filter("active", Operator::Eq, true);
//! ```

pub mod analyzer;
pub mod ast;
pub mod error;
pub mod fmt;
pub mod migrate;
pub mod parser;
pub mod schema;
pub mod transformer;
pub mod transpiler;
pub mod validator;

pub use parser::parse;

/// Ergonomic alias for Qail - the primary query builder type.
pub type Qail = ast::Qail;

pub mod prelude {
    pub use crate::ast::*;
    pub use crate::error::*;
    pub use crate::parser::parse;
    pub use crate::transpiler::ToSql;
    pub use crate::Qail;
}
