use commands::{BundleCommand, CliApp, DoctorCommandArgs, InfoCommandArgs, InitCommand as InitCommandArgs, ProfileCommand, ProjectTemplateArg, ReplCommand, RunCommand, SubCommand, TestCommand, UpgradeCommand};
use doctor_command::{CheckStatus, DiagnosticCheck, DoctorCommand};
use info_command::{InfoCommand, SystemInfo};
use init_command::{InitCommand, InitConfig, ProjectTemplate};
use repl_completer::{CompletionCandidate, CompletionContext, CompletionKind, ReplCompleter};
use repl_enhanced::{EnhancedRepl, EnhancedReplConfig, EnhancedReplResult, EnhancedReplStats};
use repl_highlighter::{HighlightTheme, HighlightedToken, ReplHighlighter, TokenType};
use std::collections::{BTreeMap, HashMap};
pub mod file_watcher;
pub mod repl;
pub mod package_json;
pub mod enhanced_cli;
pub mod commands;
pub mod script_executor;
pub mod wasm_commands;
pub mod module_resolver;
pub mod output_formatter;
pub mod init_command;
pub mod info_command;
pub mod doctor_command;
pub mod repl_completer;
pub mod repl_highlighter;
pub mod repl_enhanced;
pub mod template_system;
pub mod repl_simple;
pub use script_executor::{
FileType, ModuleSystem, ExecutionContext, ExecutorConfig, ScriptExecutor,
detect_file_type, shebang, args,
};
pub use template_system::{
TemplateEngine, TemplateRegistry, TemplateInstantiator, TemplateInstantiationConfig,
DirectoryGenerator, DirectoryStructure, FileEntry, DependencyInstaller, PackageManager,
ProjectTemplate as TemplateDefinition,
};
pub use repl_simple::{SimpleRepl, SimpleReplConfig};