Initial upload with CI/CD workflow
Some checks failed
CI / test (push) Has been cancelled
CI / build (push) Has been cancelled

This commit is contained in:
2026-02-03 09:41:14 +00:00
parent 9df414b47a
commit 9f305c589e

53
app/src/main.rs Normal file
View File

@@ -0,0 +1,53 @@
mod cli;
mod parser;
mod tui;
mod config;
mod generator;
use anyhow::Result;
use cli::{Cli, Commands};
use config::Config;
use tui::TuiApp;
#[tokio::main]
async fn main() -> Result<()> {
let cli = Cli::parse();
let config = Config::load_or_default()?;
match &cli.command {
Commands::Generate { command, output } => {
let parsed = parser::HelpParser::parse_command(command).await?;
if let Some(path) = output {
config::ConfigManager::export_config(&parsed, path)?;
}
println!("Successfully parsed command: {}", command);
}
Commands::Interactive { command } => {
let parsed = if let Some(cmd) = command {
parser::HelpParser::parse_command(cmd).await?
} else {
parser::HelpParser::parse_default_commands().await?
};
let mut app = TuiApp::new(parsed, config);
app.run().await?;
}
Commands::Export { command, output } => {
let parsed = parser::HelpParser::parse_command(command).await?;
config::ConfigManager::export_config(&parsed, output)?;
}
Commands::List => {
let commands = config::ConfigManager::list_saved_configs()?;
for cmd in commands {
println!("- {}", cmd);
}
}
Commands::Run { name } => {
if let Some(parsed) = config::ConfigManager::load_config(name)? {
let mut app = TuiApp::new(parsed, config);
app.run().await?;
}
}
}
Ok(())
}