Skip to main content

mecha10_cli/types/
mod.rs

1//! Shared type definitions for the CLI
2//!
3//! This module contains type definitions that are shared across multiple
4//! layers of the CLI (commands, handlers, services).
5//!
6//! # Organization
7//!
8//! - **cli**: CLI command types (Clap Args, Commands enum)
9//! - **credentials**: Authentication credentials types
10//! - **project**: Project configuration types (mecha10.json)
11//! - **simulation**: Simulation configuration types (runtime and project-level)
12//!
13//! # Design Principles
14//!
15//! - **Domain-focused**: Types represent domain concepts, not CLI concerns
16//! - **Shared**: Only types used in multiple places belong here
17//! - **Serializable**: Most types derive Serialize/Deserialize
18//! - **Well-documented**: All public types have rustdoc comments
19
20pub mod cli;
21pub mod credentials;
22pub mod project;
23pub mod simulation;
24
25pub use cli::{Cli, Commands};
26#[allow(unused_imports)]
27pub use credentials::{AuthError, Credentials, DeviceCodeResponse, DeviceCodeStatus};
28#[allow(unused_imports)]
29pub use project::{load_project_config, LoggingConfig, NodeSource, NodeSpec, NodesConfig, ProjectConfig};
30pub use project::{turn_config, TurnConfig};
31#[allow(unused_imports)]
32pub use project::{EnvironmentConfig, EnvironmentsConfig};