#![deny(missing_docs)]
mod commands;
mod config;
mod context;
mod discovery;
mod error;
mod executor;
mod files;
mod git;
mod init;
mod manual;
mod output;
mod run;
mod status;
mod validation;
pub use context::{Environment, Worktree, WorktreeOptions};
pub use discovery::InitScriptDiscovery;
pub use error::Error;
pub use executor::{ExecuteOptions, ExecutionReport, Executor};
pub use init::{InitKind, InitOptions, InitReport, init};
pub use manual::{
FileOperationAction, FileOperationCompletionOptions, FileOperationOptions, FileOperationReport,
ManualFileOperationOptions, file_operation_source_candidates, run_file_operation,
};
pub use output::{OutputEvent, Reporter};
pub use run::{RunAction, RunOptions, RunReport, run};
pub use status::{InitScriptStatus, StatusOptions, StatusReport, inspect_status};
pub use validation::{
ActionPlan, ActionPlanOptions, PlanOrigin, PlannedCommand, PlannedFileOperation,
PlannedFileStatus,
};
pub type Result<T> = std::result::Result<T, Error>;
pub use config::{
CommandKind, CommandOperation, Config, ConfigOptions, ConfigReport, ConfigRuntimeOptions,
FileOperation, FileOperationKind, LoadedConfig, RuntimeOptionOverrides, SourceSpan,
SymlinkMode, SyncCompare, inspect_config,
};
pub type Manifest = Config;
pub type ManifestOptions = ConfigOptions;
pub type ManifestReport = LoadedConfig;
pub type FileOperationSpec = FileOperation;
pub type CommandSpec = CommandOperation;
pub type RuntimePolicy = ConfigRuntimeOptions;