baobao_codegen/lib.rs
1//! Shared code generation utilities for Bao CLI generator.
2//!
3//! This crate provides language-agnostic abstractions and utilities
4//! used by language-specific code generators (e.g., `baobao-codegen-rust`).
5//!
6//! # Module Organization
7//!
8//! - [`adapters`] - Framework adapter abstractions (CliAdapter, DatabaseAdapter, etc.)
9//! - [`builder`] - Code generation building blocks (CodeBuilder, CodeFragment, etc.)
10//! - [`schema`] - Schema traversal and info types (CommandTree, ContextFieldInfo, etc.)
11//! - [`generation`] - Output management (HandlerPaths, ImportCollector, etc.)
12//! - [`language`] - Language-specific abstractions (LanguageCodegen, TypeMapper, etc.)
13//! - [`pipeline`] - Compilation pipeline orchestrator
14//! - [`testing`] - Test utilities (feature-gated)
15
16pub mod adapters;
17pub mod builder;
18pub mod generation;
19pub mod language;
20pub mod pipeline;
21pub mod schema;
22
23#[cfg(any(test, feature = "testing"))]
24pub mod testing;
25
26// Re-export AppIR type
27pub use baobao_ir::AppIR;