helix/dna/cmd/
export.rs

1use clap::Args;
2use std::path::PathBuf;
3use crate::mds::export;
4
5#[derive(Args)]
6pub struct ExportArgs {
7    /// Export format: json, yaml, toml, docker, k8s
8    #[arg(short, long, default_value = "json")]
9    pub format: String,
10
11    /// Output file path (defaults to stdout if not specified)
12    #[arg(short, long)]
13    pub output: Option<PathBuf>,
14
15    /// Include dependencies in export
16    #[arg(long, default_value_t = false)]
17    pub include_deps: bool,
18
19    /// Enable verbose output
20    #[arg(short, long, default_value_t = false)]
21    pub verbose: bool,
22}
23
24pub fn run(args: ExportArgs) -> anyhow::Result<()> {
25    export::export_project(
26        args.format,
27        args.output,
28        args.include_deps,
29        args.verbose,
30    )
31}